Page tree
Skip to end of metadata
Go to start of metadata

Defining the Grid and Creating a Mesh

In this section, you will learn about:

  • Tools available for you to specify the properties of the EMPro grid.
  • How to set localized grid properties, right down to individual objects or single cells.
  • How to tell EMPro which objects to include in the mesh and in what order to consider them.
  • How to adjust the way touching objects are meshed.

The EMPro grid provides the main interface between a dimension-based geometry and the finalized FDTD mesh space. EMPro provides a several tools for creating and customizing an effective grid so that accurate results can be retrieved without allocating excessive memory and calculation time. This section details this process.


Refer to Grid Appendix for a thorough discussion of grid theory, concepts, and recommendations within EMPro.

General grid definitions are assigned to the entire grid within the Grid Tools dialog of the Geometry workspace window. Here definitions such as target cell size, bounding parameters, and limits are defined. Customizable grid definitions such as fixed points and grid regions can also be added here.

The Gridding Properties Editor governs grid definitions that are applied to individual objects. This editor is useful for objects whose characteristics are not adequately considered by the general grid definitions set within the Grid Tools editing tabs.

Finally, the Meshing Properties Editor governs how each object within the boundaries of the defined grid will be meshed. By default, every object in the project is meshed with uniform priority, but these settings can be adjusted within this editor so that important objects are meshed more carefully than other less-important objects.

The following sections explain how to enter the grid properties and specify the various grid elements using these editors.

Grid Tools

There are two ways to access the Grid Tools dialog. With the geometry workspace window open, either select Grid Tools from the drop-down menu in the window, or double-click on the FDTD: Grid branch of the Project Tree. Once the dialog is open, press the Edit Grid button to define the grid parameters for the project.

The tabs located within grid tools follow the step-by-step editing process that is used to define the grid. The first tab, Size, specifies general definitions that are applied to the whole grid, whereas the second and third tabs, Fixed Points and Grid Regions, enable the user to customize the grid by manually placing gridlines and changing the cell characteristics of different regions in the mesh.


For a thorough discussion of fixed points and grid regions,refer to Grid Regions vs. Fixed Points.

The fourth tab, Limits, applies constraints to the grid so that memory requirements and adjacent cell size ratios do not exceed a reasonable value. Since grid definitions largely influence the memory requirement of a particular calculation, two bars are always visible in order to monitor how much memory the intended grid definitions will utilize. The Current bar shows how much memory the last applied mesh required, while the New bar shows how much memory a new mesh requires before changes are applied to the project. The Limits tab also enables you to specify the smallest desired cell size. If a grid definition requires a cell smaller than the smallest desired size, the grid becomes invalid and a warning message will appear.

The fifth tab, Info, provides data about both the current and the proposed grid. (The two sets of values will be the same if any proposed changes have been applied.) The grid's dimensions, upper and lower boundaries, cell counts, and minimum and maximum edge lengths are shown. A value is shown for each axis, X, Y and Z.

Size Tab

The Size tab enables users to define the cell size and the placement of the grid at the boundaries of the project. There are two options for defining the outer boundaries. The first option is to specify the padding around the project's lower and upper boundaries in terms of discrete numbers of cells. The second option is to specifying a grid bounding box by its physical coordinates, independent of the geometry. Each option is detailed below.

Specify Padding

The next figure displays the available options for specifying the padding of the outer boundaries of an EMPro cell.

Defining a project's boundaries by cell padding within the Size tab

Selecting Specify Padding enables you to add fixed points for the bounds of a geometry. The actual padding cells will begin at those fixed points and proceed outward. Within the geometry, the area between the fixed points will be divided into grid cells. If there are no manual grid regions, manual fixed points, part grid regions, or part-associated automatic fixed points in the project, the area between the fixed points bounding the geometry will be divided into cells with even spacing. Each evenly-spaced cell will have an edge length no greater than the target cell size.


To have EMPro select the "fixed points" automatically, choose Use Automatic Fixed Points, which is found in Project Tree under the Parts section of a geometry, in the Gridding Properties Editor.

The Base Cell Sizes dialog allows entry of the target cell size when generating the EMPro mesh in areas that are not part of a grid region. Note that this is the target cell size, and may not reflect the actual cell size in the mesh. The actual cell size may be slightly lower depending on the constraints placed on the mesh, but it will never be higher, ensuring that the desired level of detail is not compromised. When there are two fixed points or grid region bounds of any type, the region between them will be divided into a number of cells. The number of cells that is required depends upon the target cell size. No cells larger than the target will be generated. The target cell size may not divide evenly into the distance between the fixed points or grid region bounds, The gridding process prefers to generate cells of a constant size. First the minimum number of cells required to span the distance is calculated and then a cell size, less than or equal to the target size, is calculated so that the distance is spanned exactly.


For more details and for exceptions to the general rules, refer to the Grid Appendix.

The Free Space Padding (In Cells) dialog enables users to define the extent of the padding space around the geometry. The extent is specified as a number of cells, each of which is taken to be the target cell size. In simple projects this means that the number of cells specified will be added as freespace around the geometry. In more complex projects, grid regions close to the boundary may cause transition regions containing smaller cells to intrude into the freespace padding. The freespace padding's extent will remain the same, whether it is made up of the specified number of cells each exactly the target cell size, or whether the padding extent contains some number of smaller-sized transition region cells.

There are also two checkboxes available in the Size Options drop-down list: Include Unmeshed Objects and Include Circuit Components. Selecting either of these options will ensure that any unmeshed object and/or circuit component is included within the padded region. Otherwise, only meshed objects will be used to determine the size of the padded region. These options may also affect the size of the region bounded by free space padding.

Specify Bounds

The following figure displays the available options for defining the outer bounding box.

Defining a project's boundaries by a bounding box within the Size tab

The Base Cell Sizes dialog box is analogous to the Base Cell Sizes definition under Specify Padding.

There are some instances when defining a Grid Bounding Box rather than a padding of free space cells may be advantageous in placing the outer limits of the grid. The grid bounding box, unlike cell padding, is independent of the geometry, so it is possible to define a grid bounding box that does not include the entire geometry.

Fixed Points Tab

Fixed points are essentially gridlines placed at discrete locations in the mesh, and therefore control the placement of cell boundaries in the mesh. They are used to ensure that important parts of the geometry are considered at cell edges which cannot be controlled by uniform meshing. For example, it may be useful to place a fixed point at the edge of a Parts object in the geometry so that its edge does not fall between cell edges.

The Fixed Points tab stores the definitions associated with the placement of fixed points in the geometry. To add a fixed point to the mesh, select the Add button and define the Fixed Point Properties by typing in the physical coordinates of interest. Note that any of the three principle directions may be checked or unchecked (in the Fixed checkbox) depending on how many points are to be defined. For example, if only the X-coordinate is defined, a fixed point will be added that intersects at that location on the X-axis, which defines a plane in YZ. Defining fixed points in all three principle directions will result in three fixed points, intersecting at the defined point.

The figure below displays the dialog associated with defining fixed points. In this instance, only X and Y are checked, so two fixed points spanning the X- and Y-planes will be added in the X (at X = -0.2 m) and Y (at Y = -0.2 m) plane, respectively.


A fixed point can also be defined by checking the X, Y, and/or Z coordinate check-boxes of interest and clicking on the desired location of the plane in the simulation space with the Selection tool.

Grid Regions Tab

A Grid Region is a bound region in the mesh that is assigned a cell size different from the cell size assigned in the Size tab. Grid regions may be desirable in locations that require finer meshing and thus require smaller cells. It is also advantageous to use them in areas that are not important to the EMPro calculation by defining them with larger cells to save memory and calculation time. Simply define the Region Bounds and the Cell Sizes in each direction of interest, and a region will be placed on the grid.

The figure below displays the dialog associated with defining grid regions. In this example, the cells within the particular grid region are defined to be 0.001 m. Automatic fixed points will be merged to be spaced 60% of this distance as defined in the Merge boxes.


For more information about fixed point merging, refer to Grid Appendix.

Limits Tab

The Limits tab contains several required and several optional limits used to restrict characteristics of the grid.

The Maximum Cell Step Factor definition restricts the rate at which the cell size may increase between two adjacent cells. For example, if a cell is 1 mm long and the maximum cell step factor is set to 2, the next cell cannot exceed 2 mm, because that would cause the cell ratio between these two cells to exceed 2. Therefore, if a grid region has cells of 1 mm, and the default global grid target is 5 mm, additional cells are needed, forming a transition region between the grid region and the Global grid, since 1 mm:5 mm exceeds the 1:2 ratio.


The ratio of 1:2 is used in this example because it is the largest ratio recommended in Chapter 11, Section 2 of the Taflov and Hagness in Bibliography text.

The second required limit, Minimum Cell Size, represents the global minimum cell size allowed in the project. No cell in the project can fall below this limit or the project will not be valid. There are other Minimum Cell Size definitions within the Grid Tools and Gridding Properties Editor, but they must be greater or equal to this global definition to be considered a valid definition.

The two optional limits aid in restricting the size of the EMPro project so that the calculation time and memory requirements do not exceed a defined limit. These limits can be applied to the project by restricting the number of Maximum Cells that are contained within the mesh. If this definition is applied to a project and exceeded, an error message will appear to indicate this.

The following figure displays the Limits tab.

Gridding Properties Editor

The Gridding Properties Editor window is used to define grid regions and fixed points associated with an individual object. To open the Gridding Properties Editor window, right-click on the appropriate object in the Parts branch of the Project Tree and select Gridding Properties as seen below.

The Use Automatic Grid Regions and Use Automatic Fixed Points checkboxes enable either of these definitions when they are selected. The figure below shows the Gridding Properties Editor window with both grid regions and fixed points enabled. The following sections detail the definitions associated with grid regions and fixed points.

Use Automatic Grid Regions

A grid region is a region assigned a specific cell size within a specified lower and upper boundary. A custom cell size can be applied in this region to any or all of the three principal directions. They are desirable in instances in which the Cell Sizes defined to the entire grid under Grid Tools: Grid Regions is not sufficient for a particular object.

Grid regions can be added to the grid within Grid Tools by defining each region's physical bounds, or a grid region can be applied to a single object within this editor. In this case, the grid region will be applied everywhere within the object (plus any extended region defined in the Boundary Extensions definition).


For more information on defining a region's physical bounds, refer to the Grid Regions Tab.

Cell Sizes

The Cell Sizes definition refers to the maximum target cell size that may occur between the lower and upper boundaries. The actual cell size between these boundaries may be slightly lower depending on the location of these boundaries. For instance, if a Cell Size is defined to be 1 m in the X-direction and the upper and lower boundaries are defined at X = 1 m and X = 4.9 m, respectively, the actual cell size would be 0.975 m since the distance between the upper and lower boundaries would not permit four 1 m cells within 3.9 m. The actual cell size will never be adjusted to a value higher than the Cell Sizes definition, however.


For more information on choosing an appropriate cell size, refer to Choosing an Appropriate Cell Size.

Boundary Extensions

The upper and lower boundaries of the grid region usually occur at the edges of the object, but in the case that these bounds are not sufficient, they can be moved inward or outward in any X, Y, and/or Z direction by defining values in the Lower Boundary Extensions and Upper Boundary Extensions dialog boxes. If a positive distance is defined, the boundary will be shifted at that distance away from the object and conversely, if a negative distance is defined, the boundary will be shifted into the object.

Use Automatic Fixed Points

Fixed points are analogous to gridlines whose locations are explicitly defined to control where the edges of meshed cells fall in the geometry. Automatic fixed points are given that name because their positions are automatically determined by examining the geometry of the part with which the automatic fixed points are associated. Cell sizes are adjusted to flow as evenly as possible between the fixed points while never exceeding the target cell size at the location of each fixed point.


For more on the Limits tab Limits Tab.
For a discussion of how fixed planes vary from grid regions, refer to Appendix Grid Regions vs. Fixed Points.

Fixed points can be placed anywhere in the grid by specifying their location within the Fixed Points tab of the Grid Tools dialog, or they can be added within this editor to a particular object based on the object's geometry.


For more on the Fixed Points tab,refer to the Fixed Points Tab section.

The following settings control where fixed planes are placed in reference to the object's geometry.

Lower and Upper Boundaries

Places fixed point(s) at the lower or upper boundary of the object in the direction specified.

Wire Endpoints

Places fixed point(s) at any discontinuity existing in the object. Refer to the following figure for an example of a fixed point placed at an edge.

Edge Corners

Places fixed point(s) anywhere that there is a discontinuity in the derivative of a object's edge (i.e., points that do not have tangents).

The figure below also shows the fixed points placed at wire endpoints (yellow points) and edge corners (green points) that occur within the simple wire body (shown in white).


Notice how the cell sizes vary to accommodate the placement of the four fixed planes (shown in red).

Fixed points placed at wire endpoints and edge corners

Endpoints of axis-aligned wires

Places fixed point(s) along any axis-aligned straight edges that exist in the object geometry.

Below, fixed planes (in red) are placed at axis-aligned straight edges.


Notice that straight edges that are not axis-aligned do not have fixed planes.

Fixed points placed at axis-aligned straight edges

Edge Loops Bounding Box

Places fixed point(s) at the edges of loops or closed circuit of edges. Any loop that smaller than the Minimum Size will be ignored. Thus, to consider all loops that exist in the object's geometry, simply define the Minimum Size as 0.

In the figure below 12 fixed points placed at the edges of loop boundaries.


Notice that the Minimum Size has been set to 0 so all loops are considered. If the minimum size was larger than one or more loops, no fixed points would be placed at its edges.

Fixed points placed at edges of loops (minimum size = 0)

Open Ellipse Center Points

Places fixed point(s) at the center of open ellipses.

The figure below shows four fixed planes placed at the center of four filleted edges, which are treated as open ellipses.

Fixed points placed at the center of open ellipses

Closed Ellipse Center Points

Places fixed point(s) at the center of closed ellipses.

Meshing Properties Editor

The Meshing Properties Editor is used to adjust the properties of the mesh for individual objects. This gives the user greater control over the meshing process, when necessary, in order to create a more accurate mesh. In most cases, the default settings are suffcient. A mesh is generated automatically when calculation files are written, or when grid definitions are applied within the Grid Tools dialog and the project is viewed with the Mesh View button in the View Tools menu.

The meshing properties editor displays different setting configurations depending on the type of part being modified. The following figure shows the Meshing Properties Editor for a model part, with the menu of meshing modes displayed.

To open the Meshing Properties Editor window, right-click on the Parts: Modelname branch of the Project Tree and select Meshing Properties.


When editing the grid, a preview of the grid is created in the Mesh View mode, but it is not actually meshed until the grid definitions have been applied.

When Automatic Remeshing is turned on, the mesh will be updated automatically, so that the cutplanes visible within Mesh View will be current. If this feature is not turned on, the icon will indicate the mesh is out-of-date. In this case, press the Automatic Remeshing button and select Remesh Now to generate the current version of the mesh.

The meshing properties editor displays different setting configurations depending on the type of part being modified. The figure below shows the Meshing Properties Editor for a model part, with the menu of meshing modes displayed.

To open the Meshing Properties Editor window, right-click on the Parts: Modelname branch of the Project Tree and select Meshing Properties.

Meshing Modes

There are five available meshing modes in EMPro. Each is described below. These can be specified in the Meshing Properties Editor or in the Project Tree by right-clicking on the object, as seen below.

Assigning meshing modes within the Project Tree

  • Meshing Disabled: Select Meshing Disabled to disable meshing for objects that do not need to be considered during meshing operations. Selecting this option will reduce memory usage.
  • Electrical Meshing: Select Electrical Meshing to include the object in the electric mesh only.
  • Magnetic Meshing: Select Magnetic Meshing to include the object in the magnetic mesh only.
  • Dual Meshing: Select Dual Meshing to force the object to be included in both electrical and magnetic meshes.
  • Automatic Meshing: The Automatic Meshing mode is selected by default. It enables EMPro to automatically determine which parts are included/excluded from the electric and magnetic meshes. This determination is based on the electric and magnetic properties of the material assigned to the part. When Automatic Meshing is selected:
    • Parts with electric material, other than free space, are included in the mesh.
    • Parts with magnetic material, other than free space, are included in the mesh.
    • Parts made entirely of free space material are not included in the mesh.

The following table displays the various meshing modes available in EMPro:

Mesh Mode

In Electric Mesh

In Magnetic Mesh


All parts with non-free space electric material properties

All parts with non-free space magnetic material properties













To include a part in the mesh where both the Electric and Magnetic material types are set to Free Space, select either the Electric Mesh mode or the Dual Mesh mode. To select a different mesh mode, right-click an object in the Project Tree and select Meshing Properties or Mesh Type. A window containing the available mesh modes appears. Under most circumstances, it is best to keep the default mode because it enables the software to automatically apply the most memory-efficient meshing option.

Meshing Order

The Meshing Order setting specifies the level of priority that each object has. If objects overlap in a particular region of space, the object with a higher meshing priority will overwrite the other objects. Each object is assigned a default priority of 50. This should be changed to a higher or lower value depending on whether the object should be given more or less consideration, respectively, when meshed. Choosing Set Priority prompts the user to enter a numerical priority definition.

Additionally, where numerical priority values are equal, priority can be specified within the Project Tree, as displayed below. Moving the selected Parts object priority UP or DOWN, increases or decreases its importance in the meshing calculation, respectively. Likewise, selecting Move To Top assigns that object the highest priority of all of the objects in the project; Move To Bottom will assign it the lowest priority.

Assigning meshing priority in the Project Tree

Include in Mesh

The Include in Mesh setting specifies whether the selected part is considered while calculating the mesh. This setting does not affect the mesh mode or mesh order of the part. It enables you to remove an object from the mesh or add it back in without resetting the mesh mode or order associated with the part each time they make a change. This option can be set by right-clicking a part and selecting the Gridding/Meshing>Include in Mesh, or by selecting the Meshing Properties Editor. To add or remove multiple parts from the mesh, right-click the selected parts and select Include in Mesh or Exclude from Mesh.

Solid Meshing Options

Under most circumstances, the solid meshing options are not necessary. These options may be advantageous in projects that have small features that are not adequately considered by default meshing operations. The following figure shows the solid meshing options in the Meshing Properties Editor.

The Meshing Properties Editor for a solid model part

Only Mesh Object Surface

The Only Mesh Object Surface option meshes the shell of the physical object rather than its entire volume.

Invert The Direction Of Surface Rounding

If the edge of an object falls in the center of a cell rather than at a cell edge, the default behavior of EMPro is to round the object away from the center of the object. Selecting Invert The Direction Of Surface Rounding will invert this behavior and round the edge inward, towards the center of the object. This usually is not necessary but may be useful in cases where an object is very close to another. In this instance, rounding a surface outward can cause the objects' edges to touch and result in a short circuit that may cause inconsistent results.

Aggressive Surface Meshing

Aggressive Surface Meshing should only be enabled for an object that is very small compared to the projects' cell size. This option will create a more detailed mesh around smaller features to ensure that they are surrounded with cell edges. This would be necessary for small feature whose electrical conductivity may be compromised without detailed meshing.

Volume Meshing Options

Several additional settings are available when assigning mesh properties for volumetric parts, such as voxels. The figure below the volume meshing options in the Meshing Properties Editor are shown.

Volume Meshing Method

There are two Volume Meshing Method algorithms available for converting the volumetric data to cell edge data. Both methods use an intersection method to determine how much of a given volume is contained inside of a cell edge. Therefore, it is applied to every volume that intersects the cell edge. The data is combined to measure the percentage that each material fills in each cell edge. These percentage fill values are in increments of a half of a percentage point. This information is then used based on which algorithm is selected.

  • The first method, referred to as the Dominate Material meshing algorithm, evaluates the list of percentage fill values, and then chooses the material that has the largest percent fill to apply as the final material for that cell edge.
  • The second method, referred to as the Averaged Material meshing algorithm, uses the percent fill values for each cell edge to generate an "averaged material." These averaged materials are maintained in a separate list from the original materials of the geometry.

Degradation Level

The Degradation Level is available in the Averaged volume meshing method. It dictates how non-averaged materials intersecting the volume of the cell edge are to be grouped and considered for averaging, by defining the size of a set of bins that represent a percentage of the total cell edge volume. For example, a degradation level of 4 subdivides the total volume (100%) by 4, meaning each bin represents 25% of the volume. Therefore, for consideration in the averaged material, a non-averaged material must fill at least half of the bin, or 12.5% of the total volume. By defining a course resolution for material consideration we are able to condense the number of averaged materials, keeping memory and calculation speed reasonable while providing a user-defined level of accuracy.

Volume Calculation Method

The Volume Calculation Method determines the accuracy of the rendered volume. It directly relates to the Degradation Level, as it determines the amount of material volume that fills a cell. Approximate is sufficient for most calculations, and runs most efficiently. Exact is a better choice when it's important to resolve structures that are changing rapidly within the size of a cell. By definition, it is more accurate but also requires more memory.

Touching Objects

The FDTD mesh is a discretization of a continuous 3-D space into cells of user-specified size. The process of transferring these geometric representations into this discretized space (meshing) can lead to unintended artifacts. One common situation that arises is that two objects in the geometry that are
very close together, but not touching, end up intersecting in the mesh. Such an artifact can lead to inaccurate results due to a short-circuiting effect in the calculation. The user traditionally has two options in this case. The first is to move the two objects further apart, which may not be possible given the design of the geometry. The other is to create cells small enough in that region to resolve
the separation between the objects, which may lead to an extremely large number of cells and a dramatic increase of computation resources required to run the simulation.

EMPro provides a third option to alleviate the work required by the user. This is the role of the Touching Objects functionality. There are two tools available for the user to identify and correct any unintended artifacts caused by meshing or geometric positioning.

  • The first, Test Objects in CAD Space, tests two objects for a CAD space intersection. It will report to the user if two objects are actually touching in non-discretized space.
  • The second, Separate Objects in Mesh, enable you to create a relationship between two objects that will ensure they are separated in the final mesh by a user-defined number of cells.

These tools enable the user to maintain a separation while not sacrificing computational complexity or geometric design.

Test Objects in CAD Space

In order to find out whether two objects are actually touching, EMPro provides the Test Objects in CAD Space function to test the selected objects. This can be done by holding |Ctrl| and selecting two objects in either the Geometry workspace window or under the Parts branch of the Project Tree. Then test the objects by selecting Touching Objects > Test Objects in CAD Space, as shown in the following figure.

A dialogue will appear with the results. The user will also have the option of ensuring that the objects are separated in the mesh, as seen in the following figure. If Yes is selected, the Separate Objects in Mesh dialog will appear, as described in the following section.

Separate Objects in Mesh

Defining a separation operation between two objects ensures that a gap of user-defined size is maintained despite discretization or geometric positioning. To perform this operation, select two objects and navigate to Touching Objects > Separate Objects in Mesh, (seen in the figure above). The dialog shown in the following figure will appear.

  • The Primary Model is separated from the Secondary Model. Ensure they are identified appropriately. Pressing Swap Inputs will reverse their labels.
  • Define the Separation Distance (cells) between the two objects. This is the number of cells that is "taken away" from the Secondary Model in the meshing operation.
  • Specify the Fill Material to use, if any. If no material is specified then the material existing in the mesh under the removed object will be used.


This is a very powerful concept, as it means that any complex configuration of materials may exist in the gap between two objects, and that information is not lost by performing the operation.

To illustrate this concept, consider the case of two touching cubes made of different materials. A mesh separation of 2 cells and a different (red) material is applied, with the smaller (purple) cube as the Primary Model and the larger (blue) cube as the Secondary Model. Though the geometry is unaffected, the mesh separation is visible when viewing the geometry in Mesh View, as seen in
the following figure.

Touching objects geometry (left) and mesh view (right) with a 2-cell mesh separation applied

Once this relationship is specified it will be maintained and updated appropriately in the mesh and nothing further is required by the user. If the user decides to delete one of the operands, the operation will be automatically removed; and if the user re-orients or changes materials on the operands, the operation will reflect that appropriately. The mesh separation is managed from the FDTD > Mesh branch of the Project Tree.

  • No labels