3D Component Finite Array
Objective
• The 3D Component Finite Array workflow is a new and efficient iterative domain-decomposition-based finite
element technique introduced in ANSYS HFSS 2019 R3 for modeling finite periodic structures with non-
identical unit cells. This new simulation technique enables faster simulation times with memory usage
reduction and it can leverage distributed computing resources with shared memory.
• This tutorial will demonstrate the new 3D Component Finite Array workflow by setting up and analyzing the
array shown below consisting of three non-identical unit cells
Unit cell of bare substrate with ground
plane surrounding sub-arrays
Unit cell of patch antenna oriented
for horizontal polarization
Unit cell of patch antenna
oriented for vertical polarization
2
Background
• To utilize the new 3D Component Finite Array workflow with non-identical unit cells, the unit cells have to
meet the following requirements:
‒ Unit cells are defined as 3D Components
‒ Dimensions of unit cells’ bounding boxes are identical
‒ Master and slave boundaries are defined on surfaces of unit cells
• During the solution process, HFSS creates non-conformal mesh interfaces between the unit cells, which
reduces the memory footprint and improves the simulation performance
3D Component
Finite Array
Adaptive meshing comparison on 32 cores:
3D Component Array: 2.7 minutes, 3.1 GB RAM
Explicit array: 20.9 minutes, 10.5 GB RAM
Explicit array
3
Unit Cells for Finite Array
• Open the project unit_cells.aedt
• The project contains three designs:
patch_horizontal patch_vertical blank
• On the next slides, we will explore how each of these designs is setup and we will create 3D Components for
each unit cell to be used in the finite array.
4
Patch for Horizontal Polarization
• Open the design patch_horizontal
• Explore the design
‒ Unit cell design:
▪ Probe fed patch with ground plane
▪ Airbox contains master and slave boundaries on the sides and radiation boundaries on top and bottom
▪ Note: Master1 and Slave1 pair is along the x-direction, Master2 and Slave2 pair is along the y-direction
▪ The unit cell footprint is 6 mm x 6 mm
‒ Run simulation
▪ S-parameters show patch in infinite array
(due to master and slave boundaries)
resonates at 28 GHz
▪ Radiation pattern shows horizontal polarized
antenna: radiation of GainTheta is dominant
compared to GainPhi
5
Create 3D Component for Horizontal Patch
• Select all objects in the model by clicking Edit > Select All
• In Model ribbon, click on Create 3D Component
‒ Specify the name of the 3D Component (make sure it does not
contain spaces) as patch_horizontal
‒ Click OK to save the 3D Component as patch_horizontal.a3dcomp
6
Patch for Vertical Polarization
• Open the design patch_vertical
• Explore the design
‒ Unit cell design:
▪ Probe fed patch with ground plane
▪ Airbox contains master and slave boundaries on the sides and radiation boundaries on top and bottom
▪ Note: Master1 and Slave1 pair is along the x-direction, Master2 and Slave2 pair is along the y-direction
▪ The unit cell footprint is 6 mm x 6 mm
‒ Run simulation
▪ S-parameters show patch in infinite array
(due to master and slave boundaries)
resonates at 28 GHz
▪ Radiation pattern shows vertical polarized
antenna: radiation of GainPhi is dominant
compared to GainTheta
7
Create 3D Component for Vertical Patch
• Select all objects in the model by clicking Edit > Select All
• In Model ribbon, click on Create 3D Component
‒ Specify the name of the 3D Component (make sure it does not
contain spaces) as patch_vertical
‒ Click OK to save the 3D Component as patch_vertical.a3dcomp
8
Unit Cell for Edges of Array
• Open the design blank
• Explore the design
‒ Unit cell design:
▪ Design is similar to the unit cells for the patches, but it only contains the
substrate and ground plane
▪ Airbox contains master and slave boundaries on the sides and radiation
boundaries on top and bottom
▪ Note: Master1 and Slave1 pair is along the x-direction, Master2 and Slave2
pair is along the y-direction
▪ The unit cell footprint is 6 mm x 6 mm
9
Create 3D Component for Blank Element
• Select all objects in the model by clicking Edit > Select All
• In Model ribbon, click on Create 3D Component
‒ Specify the name of the 3D Component (make sure it does not
contain spaces) as blank
‒ Click OK to save the 3D Component as blank.a3dcomp
10
Create a Project for Array Simulation
• Create a new Project by clicking on New in the Desktop ribbon
• Insert a HFSS design by clicking on HFSS > HFSS in the Desktop ribbon
• Save the project as [Link]
11
Array Layout
Unit cell: Unit cell: Unit cell:
Blank horizontal_patch vertical_patch
• We want to create an array consisting of two subarrays:
‒ 3x3 array of horizontal polarized patches,
‒ 3x3 array of vertical polarized patches,
‒ Each subarray is surrounded by cells containing only
the substrate and ground plane
6 mm
6 mm
• 3D Components are placed on a target coordinate system
• On the next slides, we will create relative coordinate systems for each of the three unit cells and insert them
into the model
12
Relative Coordinate Systems: Horizontal Patch
• For the horizontally polarized patch antenna, create a relative
coordinate system by clicking on Relative CS in the Draw ribbon
• Place the new coordinate system anywhere in the modeler window,
then edit the properties of Relative CS1:
‒ Change its name to Horizontal
‒ Place its origin at 1*6 mm, 1*6 mm, 0 mm
• Set the Global coordinate system as the working coordinate system by
clicking on Global in the Coordinate Systems branch in the modeler tree
13
Relative Coordinate Systems: Vertical Patch
• For the horizontally polarized patch antenna, create a relative
coordinate system by clicking on Relative CS in the Draw ribbon
• Place the new coordinate system anywhere in the modeler window,
then edit the properties of Relative CS1:
‒ Change its name to Vertical
‒ Place its origin at 1*6 mm, 5*6 mm, 0 mm
• Set the Global coordinate system as the working coordinate system by
clicking on Global in the Coordinate Systems branch in the modeler tree
14
Insert 3D Component: Blank
• In the Model ribbon, click on Browse 3D Components
• Browse to and open the previously created 3D Component blank.a3dcomp
• Ensure that Target Coordinate System is set to Global
15
Insert 3D Component: Horizontal Patch
• In the Model ribbon, click on Browse 3D Components
• Browse to and open the previously created 3D Component
patch_horizontal.a3dcomp
• Ensure that Target Coordinate System is set to Horizontal
16
Insert 3D Component: Horizontal Patch
• In the Model ribbon, click on Browse 3D Components
• Browse to and open the previously created 3D Component
patch_vertical.a3dcomp
• Ensure that Target Coordinate System is set to Vertical
17
Create the 3D Component Array
• In the project manager, right-click on Model and select
Create 3D Component Array…
• On the General tab, specify the layout of the array
‒ Enable visible
‒ The array should consist of 5 elements in the x-direction
and 9 elements in the y-direction
▪ Set A vector to blank1_Master1 (along x-direction, defined by
unit cell boundary setup) with 5 cells
▪ Set B vector to blank1_Master2 (along y-direction, defined by
unit cell boundary setup) with 9 cells
‒ Set Padding Cells to 1
▪ This setting defines how many empty cells surround the array,
i.e. how much airspace surrounds the array
18
Create the 3D Component Array, cont.
• On Unit Cells tab, specify the content of each array element
‒ Select component blank1 and click on the cells surrounding the
sub-arrays:
▪ Note, clicking on the number indicating the row or column will
fill the entire row or column with the selected component
‒ Fill in the areas of the sub-arrays with the component
patch_horizontal1 and patch_vertical1
‒ Click Apply to visualize the array
• Click Close
19
Create the 3D Component Array, cont.
• The arrayed unit cells are visualized by showing the edges of the contained objects
• These objects cannot be selected, only objects of the inserted 3D Components
Trimetric view Top view
20
Solution Setup
• In the Simulation ribbon, click on Setup > Advanced
‒ On the General tab, set
▪ Solution frequency to 28 GHz,
▪ Maximum number of passes to 20
▪ Maximum Delta S to 0.02
‒ On Options tab, ensure that
Skip 3D Component Array Solve During Adaptive Passes is enabled
▪ This option will adapt the mesh for each 3D Component
without spending the time to solve the entire array
‒ Click OK to accept settings
• Click Cancel for the frequency sweep dialog that pops up
‒ For this tutorial, we are only interested in the array performance at 28 GHz
21
Verify HPC Configuration
• Before running the simulation, verify the HPC configuration
• On the Simulation ribbon, click on Analysis Configuration
‒ Ensure that you are using as many cores as available on your
computer and are enabled by your HPC license configuration
‒ Ensure that Use Automatic Settings is enabled
22
Analyze the 3D Component Finite Array
• Validate and run the simulation
‒ On the Simulation ribbon, validate the simulation by
clicking Validate
‒ If no errors are indicated, run the simulation by clicking
Analyze All
• Once the simulation is completed, save the project
23
Edit Sources
• The radiation pattern is dependent on how each of the array elements is excited
• Open the edit sources dialog by right-clicking on Excitations in the Project
Manager and selecting Edit Sources
• For broadside excitation of the horizontal elements, set all
9 sources that contain horizontal in their name to
‒ Magnitude = 1 W,
‒ Phase = 0 deg
• All other sources should be set to 0 W
• This can be done manually, or by clicking on Load From File…
and browsing to and selecting [Link]
• Click OK
24
Radiation Pattern
• Before creating a radiation pattern, we have to define an infinite sphere setup to specify at what angles we
want to observe the far-field quantities
• In the Project Manager, right-click on Radiation and select
Insert Far Field Setup > Infinite Sphere
‒ Name: elevation
‒ Phi start: 0 deg
‒ Phi stop: 0 deg
‒ Phi step size: 0 deg
‒ Theta start: -180 deg
‒ Theta stop: 180 deg
‒ Theta step size: 2 deg
25
Radiation Pattern, cont.
• Create a radiation pattern by clicking on Far Fields Report > Mag/Ang Polar
in the Results ribbon
• In the report creation dialog, select:
‒ Category: Realized Gain
‒ Quantity: RealaizedGainTheta
‒ Function: dB
‒ Click New Report
‒ Category: Realized Gain
‒ Quantity: RealaizedGainPhi
‒ Function: dB
‒ Click Add Trace
• Note: The radiation pattern shows that the Theta polarization is dominant
26
Edit Sources
• The radiation pattern of the vertically polarized sub-array can be visualized by turning on only the sources of
those patches
• Open the edit sources dialog by right-clicking on Excitations in the Project
Manager and selecting Edit Sources
• For broadside excitation of the vertical patch elements, set all
9 sources that contain vertical in their name to
‒ Magnitude = 1 W,
‒ Phase = 0 deg
• All other sources should be set to 0 W
• This can be done manually, or by clicking on Load From File…
and browsing to and selecting [Link]
• Click OK
27
Radiation Pattern of Vertical Patch Sub-Array
• By changing the sources in the Edit Sources dialog, the
radiation pattern will update
• The radiation patterns shows that the sub-array is
polarized in Phi
28
Field Overlay
• A field overlay plot can quickly show what elements in the array are excited and which ones are not
• Fields can be plotted and animated on non-model cut planes, as well as on selected model object faces
• To create a non-model cut plane, define a new relative coordinate system
‒ In the Draw ribbon click on Relative CS
‒ Place it anywhere in the modeler window and edit its properties
▪ Name: fields
▪ Origin: 0 mm, 0 mm, 3.5 mm
29
Field Overlay, cont.
• From the modeler tree, select the XY-plane of the fields coordinate system: fields:XY
• Right-click in the modeler window and select Plot Fields > E > Mag_E
• In the Create Field Plot dialog you can limit in what subset of
volumes the fields will be plotted
‒ Select AllObjects
• Accept settings by clicking Done
• The field overlay plot clearly
shows that only the vertical
subarray is active
Note: Fields are shown in all
cells defined by the 3D
Component Finite Array
setup including the padding
cells surrounding the array
30