Every antenna simulation follows the same basic workflow, as shown in the image.
- Project properties: set the frequency range and display units.
- Geometry: import 3-D CAD files, import PCB databases, create geometry in XF, or modify existing geometry.
- Materials: specify electromagnetic properties of parts.
- Excitation: add voltage sources or modal field distributions.
- Outer boundary: apply perfectly absorbing boundaries on all sides, add a PEC ground plane, or use infinitely periodic boundaries.
- Grid: discretize the 3-D CAD space into cells.
- Mesh: associate a material with each cell edge and apply accuracy enhancements.
- Sensors: request results.
- Simulation: create and run a finite-difference time-domain (FDTD) simulation.
- Results: view output.
- Post-processing: analyze matching networks and apply weights with superposition for beamforming.
- Parameters: parameterize the project and perform parametric analysis.
- Scripts: customize the application by automating repetitive tasks or generating new output.
This discussion utilizes a microstrip patch antenna to illustrate the various steps.
Project setup begins in the project properties editor, where the specified settings apply to the entire project and affect aspects such as geometry creation, cell size, waveforms, and output graphs. For antenna simulation, it is recommended that users set both the frequency range of interest and display units.
The frequency range of interest determines the minimum and maximum values that define the range over which users expect to retreive valid or relevant simulation results. This is typically specified as the range over which users want to analyze broadband S-parameter data, however, users can enter a single frequency if desired. Because XF utilizes the FDTD method, a single simulation produces broadband results over the entire frequency range. Specific discrete frequencies that require steady-state output are specified when creating the FDTD simulation in subsequent steps.
The settings under the display units tab define the default units shown throughout XF. This attribute offers convenient access to user preferences, such as inches versus centimeters. XF stores all data internally in backend units; these settings specify only how it appears in the user interface.
By default, the project properties editor appears immediately when opening a new project, but users can access it any time using one of the following three methods:
- In the upper-left corner of XF, click Edit and select Project Properties.
- Right-click on Project at the top of the Project Tree and select Properties.
- Double-click on Project at the top of the Project Tree.
This patch example applies the following settings:
- Frequency range: 1.5 to 3 GHz
- Display units: frequency is set to GHz.
Each project requires geometry that represents the device being simulated, but the level of detail depends on the antenna design stage. Early stages that identify major metals and investigate resonances require less detail than later stages that must include all relevant geometry for an antenna and its surroundings. For example, a solid PEC cuboid can sufficiently represent a ground plane during an early design iteration, but a fully-detailed multi-layer PCB becomes necessary as the stages advance.
Users can add geometry by choosing one of the following methods:
- In the upper-left corner of XF, click File and select Import, then choose the desired file to import.
- In the Project Tree, right-click on either the Parts node or an existing assembly, then select Create New and choose the type of part to create.
- At the top of the Geometry window, choose the type of part to create from the Create New menu.
Users can modify existing geometry by choosing one of the following methods:
- Right-click on the desired part in the Project Tree and choose from the available options in the Modify, Edit Feature, or Boolean menus.
- At the top of the Geometry window, choose from the available operations in the Modify or Boolean menus.
- In the Project Tree, double-click on the desired part to open the last applied edit.
- In the Project Tree, expand the desired part and double-click on a Modeling Sequence feature to edit either the base part or a modification.
This patch example's geometry is created using tools provided in XF:
- The microstrip and patch each utilize a sheet body.
- The substrate utilizes a cuboid.
- The ground plane utilizes a sheet body.
A material definition must be associated with each part in order to define its appearance and electromagnetic properties, so the necessary materials are first added to the project and then assigned to the desired part. The project tree's materials node allows users to define a set of electromagnetic properties once and use it in multiple places.
The most commonly used material for antenna design applications is an electric, isotropic, nondispersive type. In the material editor, relative permittivity and conductivity values are entered for dielectrics and metals. For metals, users should select the surface conductivity correction option and enter an evaluation frequency value, which is typically the center of the band.
There are two options for addressing wideband applications with material properties that are not constant for the frequency range. The first option is using a nondispersive type, however, the material properties change for low-, mid-, and high-band simulations. The second option is switching to a dispersive Debye-Drude definition with a complex permittivity that varies as a function of frequency. The dispersive material calculator assists with determining the material settings for a desired frequency response.
Users can create a material definition by choosing one of the following methods:
- In the Project Tree, right-click on the Materials node and select New Material Definition.
- Click and drag a material from XF's Libraries window and drop it in the Materials node of the Project Tree.
Users can assign a material to a part by choosing one of the following methods:
- In the Project Tree, click and drag a material from the Definitions branch and drop it onto the target part in the Parts branch.
- Select one or more parts in either the Project Tree or Parts List, then right-click and choose Material ❯ Assign Material.
This patch example uses two nondispersive material definitions:
- Copper is assigned to the microstrip, patch, and ground plane.
- Conductivity of 5.98e+07 S/m.
- Surface conducivity correction is enabled with an evaluation frequency of 2 GHz.
- Dielectric is assigned to the substrate.
- Relative permittivity of 2.2.
- Conductivity of 0.002 S/m.
An excitation introduces energy into the simulation space and consists of three elements: location, electromagnetic properties, and waveform. There are two primary forms of input excitation—circuit components and waveguides—for antenna design applications, and the most appropriate choice depends on the desired field distribution at the source.
A circuit component excitation is a discrete source that is commonly used to connect a transmission line or antenna terminal to ground. Circuit components are either lumped with the excitation applied to a single FDTD cell edge, or distributed with the excitation spread across the area between the transmission line and ground. A distributed component is typically more accurate than its lumped counterpart.
A circuit component excitation consists of three distinct elements in the project tree:
- Circuit Component: defines the specific excitation location that is considered the port for which results are collected.
- Circuit Component Definition: specifies the electromagnetic properties—voltage or current source with internal resistance—associated with one or more circuit components.
- Waveform Definition: specifies the time-domain waveform and associated frequency-domain content applied to the circuit component.
The waveguide excitation—either modal or nodal—excites a transmission line's cross-sectional area with a field distribution, or mode. This provides support for additional transmission line types, such as a stripline, whose field distribution is not adequately modeled by a circuit component. A modal waveguide excitation applies a perfectly matched source at the excitation plane, and a nodal waveguide excitation introduces a mismatch during post-processing. The location and field distribution are specified in the modal and nodal waveguide editors, and a waveform is used in a manner similar to the circuit component excitation.
Waveguide excitations utilize a 2-D eigensolver to compute the field distribution, which is a process that depends on both the grid and mesh. If XF is unable to compute a mode, the gridding and meshing steps may need to be completed first.
Users can add excitation elements by choosing one of the following methods:
- In the Project Tree, right-click on the Circuit Components node and select New Circuit Component With ❯ New Feed Definition.
- In the Project Tree, right-click on the Waveguide Interfaces node and choose the desired waveguide type.
- In the Project Tree, right-click on the Circuit Component Definitions node and select New Circuit Component Definition.
- In the Project Tree, right-click on the Waveforms node and select New Waveform Definition.
This patch example's excitation consists of the following elements:
- Distributed circuit component located between the microstrip and ground.
- Feed circuit component definition specified as a voltage source with 50 Ω source resistance.
- XF-generated waveform definition spanning the project's frequency range of interest.
The outer boundary determines how the fields on the outermost cell edges of the finite simulation space are treated. Many antennas are simulated in free space, such as those against either a human head or phantom, but users can specify either an infininte PEC ground plane or infinitely periodic boundaries.
The following boundary conditions are relevant to antenna simulation:
- Six absorbing boundaries: simulates an antenna in free space. This common configuration is the default selection.
- Five absorbing boundaries with one PEC boundary: simulates an infinite PEC ground plane.
- Two absorbing boundaries with four periodic boundaries: simulates one unit cell of an infinitely periodic array.
Users can edit the outer boundary conditions by choosing one of the following methods:
- Double-click on the Outer Boundary node in the Project Tree.
- In the Project Tree, right-click on the Outer Boundary node and select Properties.
This patch example's outer boundaries are set to absorbing on all six sides.
The grid discretizes the 3-D CAD space into Yee cells. Grid creation is a consequential step that impacts accuracy, run time, and RAM requirements, so XF utilizes the PrOGrid Project Optimized Gridding algorithm to achieve efficiency while allowing users to refine the grid in volumes of interest.
The grid depends on the project's frequency range of interest, geometric features, and material definitions. For antenna simulation, there are three primary aspects: small cell sizes that resolve volumes of interest, exact alignment between grid lines and the geometry of interest, and larger cell sizes elsewhere.
A simulation's accuracy is primarily driven by the use of small cell sizes for resolving important geometric features and capturing strong fields. Cells must be small enough to resolve design characteristics, such as a slot in an antenna or a small gap between conductors, in order to avoid an unintended electrical connection. The use of fixed points aligns the grid with geometry for proper resolution. Similarily, cells must be small enough to accurately capture high field variation around antennas and copper traces. Grid regions and boundary refinement assist with this as well.
Grid visualization tools assist in setting up and verifying an efficient grid.
Users can edit the grid by choosing one of the following methods:
- To edit the main grid, double-click on the Grid node in the Project Tree.
- To edit part-level gridding properties, right-click on a selected part and choose Gridding/Meshing ❯ Gridding Properties.
This patch example's grid is defined by the following settings:
- Main grid editor settings:
- Minimum cells per wavelength: 35.
- Good conductor minimum feature size of 0.92 mm and 4 cells across to resolve the smallest microstrip width.
- Poor conductor minimum feature size of 1.2 mm and 5 cells across to resolve the subsrate thickness.
- Automatic fixed points are used for the microstrip, patch, and substrate.
The mesh assigns a material to each cell edge in the grid. Built-in meshing order rules distinguish overlapping and coincident parts. Together, the grid and mesh comprise the geometric information passed to the calculation engine, so it's imperative that they accurately represent the 3-D CAD geometry.
Further, mesh properties for an individal part enable accuracy enhancements over traditional staircased meshes.
- Dielectric volume averaging (DVA) modifies the update equations at the interface between dielectric parts.
- Singularity correction captures highly varying field gradients at conductor edges.
- XACT Accurate Cell Technology® is a conformal, subcellular technique that splits the traditional Yee cell into multiple regions.
For antenna simulation, checking the mesh helps determine whether or not the correct electromagnetic properties are assigned to each part. Enabling DVA is recommended for dielectrics near the antenna, such as substrates and plastic housing. Enabling singularity correction and XACT is recommended for conductors connected to or near to the source, such as transmission lines and radiating elements.
Users can interact with the mesh by choosing one of the following methods:
- To view the mesh, double-click on the Mesh node in the Project Tree.
- To edit the part-level meshing properties, right-click on a selected part and choose Gridding / Meshing ❯ Meshing Properties.
This patch example's mesh is defined by the following settings:
Sensors are objects that request results, and the sensor type determines which data is saved. Users should note that the list of frequencies for steady-state frequency requests is specified during simulation creation.
For antenna simulation, an array of sensors is specified according to the desired analysis:
- Port sensors are associated with circuit components or waveguides and return results that include input power and S-parameters.
- Near-field sensors collect data on points, planes, surfaces, or volumes in the simulation space.
- Far zone sensors utilize a near- to far-field transform to compute radiation patterns.
- Specific absorption rate (SAR) and SAR averaging sensors compute metrics for human exposure in compliance with IEC/IEEE international standards.
- System sensors are included in any simulation that collects steady-state data. It provides data that includes net available power, total dissipated power, and system efficiency.
Users can add a sensor by choosing one of the following methods:
- In the Sensors branch of the Project Tree, right-click on the desired sensor type and choose from the available options to open the associated editor.
- Use the default Geometry Tools drop-down arrow at the top of the Geometry window to select Sensor Tools, then use the adjacent Create New drop-down arrow to choose the desired sensor type.
Users can edit an existing sensor by choosing one of the following methods:
- To edit a sensor, double-click on the desired sensor in the Sensors branch of the Project Tree.
- To edit a sensor definition, double-click on the desired sensor definition in the Sensor Data Definitions node of the Project Tree.
This patch example included the following sensors:
- A port sensor associated with the voltage source collecting S-parameters.
- A planar sensor on the patch's surface collecting steady-state electric field data.
- A 3-D far zone sensor collecting a steady-state antenna radiation pattern.
- A system sensor collecting net input power and radiation efficiency.
Once a completed project is saved, users can set up and run a calculation by creating an FDTD simulation. When creating a simulation, XF provides options for creating a parameter sweep, collecting S-parameters, and specifying the steady-state frequencies at which data is saved.
Users can create an FDTD simulation by choosing one of the following methods:
- Click the Simulations button on the right side of XF, then choose FDTD as the Create Simulation option.
- In the upper-left corner of XF, click View and select Simulations, then choose FDTD as the Create Simulation option.
This patch example utilizes the following simulation settings:
- S-parameters are computed for a single port.
- Steady-state data is collected at 2.38 GHz.
Once the simulation is complete, the data collected by the sensors during the calculation is available to view through the results browser. Results are primarily viewed on graphs, as field displays in the geometry view, or in tables.
Users can access the results browser by choosing one of the following methods:
- Click the Results button on the right side of XF.
- In the upper-left corner of XF, click View and select Results.
Users can view output by choosing one of the following methods:
- In the Results browser, double-click on a result to generate that data's default graph.
- In the Results browser, right-click on a result and choose Create Line Graph to access non-default views.
- Re-open a viewed graph by double-clicking on the desired graph in the Graphs branch of the Project Tree.
This patch example includes the following generated output:
- S-parameters computed for 1.5 to 3 GHz.
- System efficiency and a 3-D radiation pattern at 2.38 GHz.
XF's post-processing options enable further array and matching network analyses using the results of a completed FDTD simulation. The superposition simulation and array optimization options perform varius types of antenna array analysis by applying the electromagnetic principle of superposition. Together, they support numerous antenna designs, including phased arrays, multi-arrays, dual-polarized arrays, and subarrays. Scripts are also available for analyzing codebooks and computing incident power density.
For matching network analysis, XF provides a schematic editor and frequency-domain circuit solver where an FDTD block is analyzed with RLC components. Once the topology and component values are determined, the circuit simulation feature combines a schematic and FDTD simulation in order to view all steady-state full-wave results with the schematic applied.
FDTD results are also exported from XF for post-processing in other programs, such as Matlab, ADS, or OptenniLab.
Users can access the post-processing options by choosing one of the following methods:
- Click the Simulations button on the right side of XF and use the Create Simulation drop-down arrow to select Post Processing, then choose the desired option.
- In the upper-left corner of XF, click View and select Simulations, then use the Create Simulation drop-down arrow to select Post Processing, then choose the desired option.
- In the Schematics branch of the Project Tree, right-click to create a new schematic.
- In the Results browser, right-click on a result and use the Export submenu to export the disired file type.
This patch example does not utilize any post-processing options.
A parameter is a user-defined variable or equation that can be utilized in several steps throughout the workflow. Once a parameter is added in the parameters window, it can be entered into any editable field and applied to multiple objects—imported CAD parts, geometry modifications, material definitions, and grid. Any defined parameter listed in the parameters window is available for use when performing a parameter sweep when setting up a simulation.
For antenna simulation, parameters are commonly used to parameterize a variety of geometry dimensions and run parameter sweeps.
Users can access the parameters window by choosing one of the following methods:
- Click the Parameters button on the right side of XF.
- In the upper-left corner of XF, click View and select Parameters.
This patch example does not utilize parameters.
A script performs a specified task that could otherwise be done through the user-interface, and is often used to automate tedius or complicated tasks for improved efficiency. This customizable functionality can be utilized in several steps throughout the workflow and allows users to quickly perform repetitive tasks, reference external files, employ a series of modeling operations, or generate custom output.
Users can access the scripting window by choosing one of the following methods:
- Click the Scripting button on the right side of XF.
- In the upper-left corner of XF, click View and select Scripting.
- In the Project Tree, select Scripts ❯ New Macro Script.
Users can make commonly used scripts available to all XF projects by registering them with the Macros Menu.
This patch example does not utilize scripting.