XF's gridding algorithm determines how the 3-D CAD geometry and surrounding simulation space is discretized into Yee cells. The algorithm allows users to utilize PrOGrid Project Optimized Gridding®, specify the grid manually, or use a combination of both.

Gridding settings are available for the main grid, as well as each part, circuit component, modal waveguide, and nodal waveguide.


From the gridding algorithm's perspective, an XF project consists of a set of objects—such as the main grid, parts, components, waveguides, and manual grid regions—with overlapping bounding boxes, as well as clusters of fixed points. The main grid's bounding box is synonymous with the extent of the simulation space, and the bounding box of any other object is determined by its geometric size. Depending on the object type, local grid settings define how the grid is defined within its bounding box. A fixed point provides a location in space where a grid line should be placed.

Conceptually, the gridding algorithm generates a local grid for each object based on its attributes. After determining the local grids, the algorithm synthesizes and displays the grid for the simulation space. Manual entries for cell sizes, extents, grid regions, and fixed points apply to the object as each setting is defined.

Users can access PrOGrid grid regions through both the main grid editor and a part's gridding properties editor. The main grid editor provides the default values for any part with PrOGrid grid regions enabled, but users can override those default settings for an individual part by entering the desired value in a part's gridding properties editor. Each setting provides the same functionality regardless of which editor is used.

Manual Grid vs. PrOGrid

manual vs progrid diagram

XF 7.0 included a gridding algorithm that discretized the simulation space based on user inputs for base cell size, extents, grid regions, and fixed points. This placed the onus on users to understand best practices and manually enter the correct values.

XF 7.4 introduced PrOGrid, which allowed users to more easily apply best practices and generate an efficient grid that balances the tradeoff between accuracy and run time.

PrOGrid's grid regions incorporate the following best practices:

XF's gridding algorithm allows users to enter the grid manually, use PrOGrid, or specify a combination of the two. Remcom generally recommends beginning with the main grid editor's settings before either adjusting a part's gridding properties or entering manual settings as needed.

PrOGrid Grid Regions

The functionality of each PrOGrid setting for an object fits into one of the following categories:

The main grid defines the bounds of the simulation space and each part has a bounding box. The Min Cells Per Wavelength value in conjunction with the project's highest frequency range of interest determines the base cell size for the given volume. The base cell size sets the volume's largest cell size, while other settings cause cell size reductions in order to account for both geometric features and boundary refinement.

PrOGrid accounts for the wavelength being shorter in a volume containing a dielectric than one containing free space.

Base cell size is computed

\begin{equation} \text{base cell size} = \frac{c}{f_H\delta\sqrt{\epsilon_r}} \end{equation}

where $f_H$ is the project's highest frequency of interest, $\delta$ is the minimum cells per wavelength, and $\epsilon_r$ is the relative permittivity of the object's material.

In the interest of stability, the minimum cells per wavelength must be ten or larger.

A geometry's minimum feature size is resolved through two settings: Min Feature Size and Min Cells Across Feature.

Min Feature Size specifies the size of the smallest geometric feature relevant to resolve. For example, consider a 14 mil thick copper trace. This thickness is relevant in an automotive radar simulation at 81 GHz, but not in a WiFi simulation at 2.4 GHz. Defining this value helps PrOGrid ignore insignificantly small features.

Min Cells Across Feature defines the number of cells used to resolve the smallest relevant geometric feature. PrOGrid applies at least this number of cells across the feature.

In the main grid editor, these settings do not apply to the main grid defining the simulation space. Instead, they serve as default values for parts with PrOGrid enabled. Good conductor versus poor conductor settings are applied to each part based on its material definition.

Number of Cells Padding expands a part's base cell size beyond its bounding box, creating a region of padding. This extends smaller, more accurate cells into a region that is otherwise difficult to identify.

In the main grid editor, this setting does not apply to the main grid that defines the simulation space. Instead, it serves as the default value for each poorly conducting part with PrOGrid enabled.

Boundary refinement determines the reduction of cell sizes at geometry edges and it has no relation to the outer boundary that defines the simulation space. Boundary refinement is particularly important with good conductors where fields are strongest near edges and cells must be smaller in order to resolve the high field variation. Users should note that singularity correction is a related meshing option for resolving this field variation.

Boundary Refinement Ratio sets the cell size applied to geometry edges as a ratio to the part's base cell size. Boundary Refinement Number of Cells specifies the number of cells applied both inside and outside the edge.

In the main grid editor, these settings do not apply to the main grid that defines the simulation space. Instead, they serve as default values for each highly conducting part with PrOGrid enabled.

Grid Regions

Grid regions, also known as manual grid regions in order to distinguish them from PrOGrid grid regions, are defined by a bounding box, target cell size, and minimum cell size. The gridding algorithm attempts to place target cell sizes throughout the bounding box, but reduces the cell sizes to the minimum as needed in order to match the fixed points. Users can define grid regions for either the main grid or an individual part.

When entered in the main grid, the bounding box is defined as an x, y, z coordinate in global space. When entered for a part, the bounding box is defined as that of the part.

Fixed Points

Both manual and automatic fixed points provide a specific location in space where the gridding algorithm places a gridline if possible. The algorithm treats a fixed point on the main grid differently than it does one detected on an individual part.

A fixed point on the main grid, also known as a manual fixed point, is defined as an x, y, z coordinate in global space. The gridding algorithm must place a gridline at each specified fixed point location and produces an error if unable to do so.

A fixed point on a part, also known as an automatic fixed point, is detected based on certain CAD attributes. For example, if the gridding algorithm detects hundreds or thousands of fixed points for a curved surface, it then uses attributes, such as geometric feature size, as clues for determining the best gridline placement.