EM.Tempo

Revision as of 17:46, 1 August 2015 by Kazem Sabet (Talk | contribs)

Splash-fdtd.jpg

An EM.Tempo Primer

EM.Tempo in a Nutshell

EM.Tempo is a powerful time-domain electromagnetic simulator for full-wave modeling of 3D radiation, scattering and propagation problems. It features a highly efficient Finite Difference Time Domain (FDTD) simulation engine that has been optimized for speed and memory usage. EM.Tempo brings to your desktop the ultimate in computational power. Its FDTD solver has been parallelized to take full advantage of multi-core processor architectures. With a large variety of geometrical, material and excitation features including open-boundary and periodic structures, you can use EM.Tempo as a general purpose 3D field simulator for most of your electromagnetic modeling needs. EM.Tempo's new advanced simulation capabilities are your key to understanding of wave interaction in complex media such as anisotropic composites, metamaterials or biological environments.

Attention icon.png EM.Tempo is a general-purpose EM simulator than can handle most types of electromagnetic modeling problems involving arbitrary geometries and complex material variations in both time and frequency domains. It also serves as the full-wave FDTD Module of EM.Cube, a comprehensive, integrated, modular electromagnetic modeling environment. EM.Tempo shares the visual interface, 3D parametric CAD modeler, data visualization tools, and many more utilities and features collectively known as CubeCAD with all of EM.Cube's other computational modules.

Info icon.png Click here to learn more about EM.Cube Modeling Environment.

Info icon.png Click here to learn more about the basic functionality of CubeCAD.

An Overview of FDTD Modeling

Geometry of an imported aircraft CAD model...
...and its Yee mesh.

In the Finite Difference Time Domain (FDTD) method, a discretized form of Maxwell’s equations is solved numerically and simultaneously in both the 3D space and time. During this process, the electric and magnetic fields are computed everywhere in the computational domain and as a function of time starting at t = 0. From knowledge of the primary fields in space and time, one can compute other secondary quantities including frequency domain characteristics like scattering parameters, input impedance, far field radiation patterns, radar cross section, etc.

Info icon.png Click here to learn more about the Differential Form of Maxwell's Equations & the Yee Cell.

Since FDTD is a finite domain numerical technique, the computational domain of the problem must be truncated. At the boundaries of the computational domain, proper boundary conditions must be enforced. In a shielded structure, all objects are enclosed within a perfect electric (or magnetic) conductor box. In an open boundary problem like an antenna, some kind of absorbing boundary conditions such as a perfectly matched layer (PML) must be used to emulate the free space. The absorbing boundaries should act such that the field propagates through them without any back reflection. The FDTD simulation time depends directly on the size of the computational domain and on how close you can place the PML walls to the enclosed objects.

Info icon.png Click here to learn more about EM.Tempo's Perfectly Matched Layer Termination.

The FDTD computational domain must be discretized using an appropriate meshing scheme. EM.Tempo uses a non-uniform, variable, staircase (pixelated) Yee mesh with a mesh density that you can customize. A fixed-cell mesh generator is also available, where you can set constant cell dimensions along the three principal axes for the entire computational domain. The variable mesh density is specified in terms of the effective wavelength inside material media. As a result, the mesh resolution and average mesh cell size differ in regions that are filled with different types of material. EM.Cube's non-uniform mesher generates more cells in the areas that are occupied by dielectric materials, fewer cells in the free space regions and no cells inside (impenetrable) PEC regions. FDTD Module's default "adaptive" mesh generator also refines the mesh around curved segments of lines, surface or solids to produce a far more accurate representation of your geometry. The example on the right illustrates a metal ellipsoid and a 3D view of its Yee mesh.

The FDTD method provides a wideband simulation of your physical structure. In order to produce sufficient spectral information, an appropriate wideband temporal waveform is needed to excite the physical structure. The choice of the waveform, its bandwidth and time delay all affect the convergence behavior of the FDTD time marching loop. By default, EM.Tempo uses a modulated Gaussian waveform with optimal parameters. Another issue of concern is the numerical stability of the time marching scheme. You might expect to get better and more accurate results if you keep increasing the FDTD mesh resolution. However, in order to satisfy the Courant-Friedrichs-Levy (CFL) stability condition, the time step must be inversely proportional to the maximum grid cell size . A high resolution mesh requires a smaller time step. To let the fields in the computational domain fully evolve over time, a smaller time step will require a larger number of time steps to converge. EM.Cube automatically chooses a time step that satisfies the CFL condition.

Info icon.png For more detailed information about the stability of the FDTD algorithm, see Waveform, Bandwidth, Stability.

Advantages & Limitations of FDTD Simulation

A time domain simulation like FDTD offers several advantages over a frequency domain simulation. In certain applications, the time domain signature or behavior of a system, e.g. the transient response of a circuit or an antenna, is sought. In other applications, you may need to determine the wideband frequency response of a system. In such cases, using a frequency domain technique, you have to run the simulation engine many times to adequately sample the specified frequency range. In contrast, using the FDTD method requires a single-run simulation. The temporal field data are transformed into the Fourier domain to obtain the wideband frequency response of the simulated system. Among other advantages of the FDTD method are its versatility in handling complex material compositions as well as its superb numerical stability. It is worth noting that unlike frequency domain methods like the finite element method (FEM) or method of moments (MoM), the FDTD technique does not involve numerical solution of large ill-conditioned matrix equations that are often very sensitive to the mesh quality.

Like every numerical technique, the FDTD method has disadvantages, too. Adding the fourth dimension, time, to the computations increases the size of the numerical problem significantly. Unfortunately, this translates to both larger memory usage and longer computation times. Note that the field data are generated in both the 3D space and time. EM.Tempo uses a staircase "Yee" mesh to discretize the physical structure. This works perfectly fine for rectangular objects that are oriented along the three principal axes. In the case of highly curved structures or slanted surfaces and lines, however, this may compromise the geometrical fidelity of your structure. EM.Tempo provides a default adaptive FDTD mesher that can capture the fine details of geometric contours, slanted thin layers, surfaces, etc. to arbitrary precision. However, with smaller mesh cells, the stability criterion leads to smaller time steps; hence, longer computation times. Another disadvantage of the FDTD technique compared to naturally open-boundary methods like MoM is its finite-extent computational domain. This means that to model open boundary problems like radiation or scattering, absorbing boundary conditions are needed to dissipate the incident waves at the walls of the computational domain and prevent them from reflecting back into the domain. The accuracy of the FDTD simulation results depends on the quality of these absorbers and their distance from the actual physical structure. EM.Tempo provides high quality perfectly match layer (PML) terminations at the boundaries which can be placed fairly close your physical structure.

Building the Physical Structure

FDTD Module's Navigation Tree.

In EM.Tempo, a physical structure consists of sets of objects that are grouped together and identified by their material types. All the objects belonging to the same material group share the same color and same material properties. Materials are divided into seven categories that are listed under the Physical Structure node at the top of the navigation tree:

  • Perfect Electric Conductor (PEC) Objects
  • Perfect Magnetic Conductor (PMC) Planes
  • Dielectric Materials
  • Anisotropic Materials
  • Dispersive Materials
  • Inhomogeneous Materials
  • Thin Wires

Under each material node, you can create new material groups of the same type/category but with different properties (color, texture, or electric and magnetic constitutive parameters). These material groups are used to organize the CAD objects you draw in the project workspace or import from external model files. When you create a new geometrical object such as a Box or a Sphere, it is inserted under the currently active material type. There is only one material group that is active at any time. It is recommended that you first create material groups, and then draw new objects under the active material group. However, if you start a new EM.Tempo project from scratch, and start drawing a new object without having previously defined any material groups, a new default PEC group is created and added to the navigation tree to hold your new CAD object.

Info icon.png Click here to learn more about the various FDTD Material Types.

Defining a New Material Group

To define a new material group, follow these steps:

  • Right click on the name of the desired material in the navigation tree and select Insert New Material... from the contextual menu. A material dialog opens up.
  • Specify a Label and Color (and optional Texture) for the material group being created.
  • Either accept the default values of the available material parameters or enter new values.
  • Click the OK button of the dialog to accept the changes and close it.

Once a new material node has been created on the navigation tree, it becomes the "Active" material group of the project workspace, which is always listed in bold letters. Then you can start drawing new objects under that node. Any material can be made active by right clicking on its name in the Navigation Tree and selecting the Activate item of the contextual menu.

Moving Objects among Material Groups

Moving objects from one FDTD material group to another.

You can move one or more selected objects at a time among different material groups. The objects can be selected either in the project workspace, or their names can be selected from the navigation tree. Right click on the highlighted selection and select Move To > FDTD > from the contextual menu. This opens up another sub-menu with a list of all the available material groups already defined in your EM.Tempo project. Select the desired material node, and all the selected objects will move to that material group. In the case of a multiple selection from the navigation tree using the keyboard's Shift key or Ctrl key , make sure that you continue to hold the keyboard's Shift key or Ctrl key down while selecting the destination material group's name from the contextual menu.

In a similar way, you can move one or more objects from an FDTD material group to one of EM.Cube's other modules. In this case, the sub-menus of the Move To > item of the contextual menu will indicate all the EM.Cube modules that have valid groups for transfer of the selected objects. You can also move one or more objects from EM.Cube's other modules to a material group in EM.Tempo.

Attention icon.png You can import external objects only to CubeCAD. You need to move the imported objects form CubeCAD to EM.Tempo as described above.

Geometrical Rules & Material Hierarchy

Geometric construction of a dielectric-coated metallic cylinder.

The following rules apply to the definition of materials and objects in EM.Tempo:

  • Under the PEC category, you can define all types of solid, and surface and curve objects.
  • Under the PMC category, you can define only define rectangle strip objects parallel to the principal planes.
  • Under the Dielectric, Anisotropic and Dispersive material categories, you can define only solid objects.
  • Under the Inhomogeneous Material category, you can only import a Cartesian ".CAR" data file.
  • Under the Thin Wire category, you can only define line objects parallel to the principal axes.

EM.Tempo allows overlapping objects, although it is generally recommended that object overlaps be avoided in favor of clearly defined geometries and object boundaries. If two or more objects of the same material type and group overlap, they are merged using the Boolean union operation during the mesh generation process. If two overlapping objects belong to two different material categories, then the material properties of the FDTD cells in the overlap region will follow the EM.Tempo's material hierarchy rule. In that case, the overlap area cells will always be regarded as having the material type of the higher priority. According to this rule, the material types are ordered from the highest priority to the lowest in the following manner:

  1. PEC
  2. PMC
  3. Dispersive
  4. General Anisotropic
  5. Uniaxial Anisotropic
  6. Dielectric

If planned carefully, taking advantage of EM.Tempo's material hierarchy rule would make the construction of complex objects easier. For example, a dielectric coated metallic cylinder can be modeled by two concentric cylinders: an inner PEC of smaller radius and an outer dielectric of larger radius as shown in the illustration below. The portion of the dielectric cylinder that overlaps the inner PEC cylinder is ignored by the FDTD engine because the PEC cylinder takes precedence over the dielectric in the material hierarchy. Alternatively, you can model the same structure by an inner solid PEC cylinder enclosed by an outer hollow pipe-shaped dielectric cylinder.

Setting Computational Domain & Boundary Conditions

The FDTD Solution Domain

The FDTD method requires a finite-extent solution domain. This is rather straightforward for shielded structures, where a typical PEC enclosure box defines the computational domain. For open-boundary structures like antennas and scatterers, the computational domain must be truncated using appropriate termination boundary conditions. The objective of termination boundary conditions is to eliminate the reflections from the walls of the domain box back to the computational domain.

In EM.Tempo, you can define two types of domain box. A "Default" type domain is a box that is placed at a specified offset distance from the largest extents of your physical structure (global bounding box). The offset is specified in free-space wavelengths. A "Custom" type domain, on the other hand, is defined as a fixed-size and fixed-location box in the World Coordinate System (WCS). In this case, you have to specify the coordinates of the lower left front corner (Corner 1) and upper right back corner (Corner 2) of the domain box.

When you start a new project in EM.Tempo, a default-type domain is automatically created with a default offset value set equal to a quarter free-space wavelength (0.25λ0). As soon as you draw your first object, a blue domain box shows up in the project workspace and encloses your object. As you add more objects and increase the overall size of your structure, the domain box grows accordingly to encompass your entire physical structure. When you delete objects from the project workspace, the domain box also shrinks accordingly.

FDTD Module's Domain Settings dialog.

Changing the Domain Settings

To set the solution domain of your FDTD project, follow these steps:

  • Click the Domain Domain icon.png button of the Simulate Toolbar or select Menu > Simulate > Computational Domain > Domain Settings... or right click on the FDTD Domain item of the Navigation Tree and select Domain Settings... from the contextual menu, or use the keyboard shortcut Ctrl+A. The Domain Settings Dialog opens up, showing the current domain type selection.
  • Select one of the two options for Domain Type: Default or Custom.
  • If you select the "Default" domain type, the domain box is defined in terms of the offsets along the X, Y and Z directions from the largest extents of your physical structure. Select one of the two options for Offset Units: Grid and Wavelength. In the section titled "Domain Size", enter the amount of domain extension beyond the largest extents of the structure along the ±X, ±Y and ±Z directions. Note that in the case of a default-type domain box, the offset values based on your current project settings (frequency and units).
  • When the Wavelength option is selected for Offset Units, additional free space is added around the structure by the specified ±X, ±Y and ±Z offsets in free space wavelengths. Note that the free space wavelength for this purpose is calculated at the center frequency of the project. The default value of the offset in this case is a quarter free space wavelength. Note that with this option, the number of the additional cells and their cell size is not fixed; they vary from structure to structure.
  • When the Grid option is selected for Offset Units, the six offset values represent the number of additional free-space mesh cells that are placed in each direction beyond the largest bounding box around the physical structure. The default value of the offset in this case is eight grid cells along the ±X, ±Y and ±Z directions.
  • If you select the "Custom" domain type instead, you need to enter values for the coordinates of the lower-left-front corner, Corner 1, and the upper-right-back corner, Corner 2, of the domain box.
  • After you change values or settings, click the Apply button to make the changes effective. To recover the default values, click the Defaults button of the dialog. Click OK to save the settings and close the dialog.

By default, the domain box is shown as a wireframe box with blue lines. You can change the color of the domain box or hide it.

Settings the Domain Boundary Conditions

FDTD Module's Boundary Conditions dialog

EM.Tempo supports four types of domain boundary conditions: PEC, PMC, Convolutional Perfectly Matched Layers (CPML) and Periodic Boundary Conditions (PBC). By default, all the six sides of the computational domain box are set to CPML, representing a completely open-boundary structure. Different boundary conditions can be assigned to each of the six walls of the domain box. The periodic boundary conditions are special ones that are assigned through EM.Tempo's Periodicity Dialog and will be discussed later under modeling of periodic structures. The current release of EM.Cube allows periodic boundary conditions only on the side walls of the computational domain, and not on the top or bottom walls.

To define the boundary conditions of the solution domain, follow these steps:

  • Select Menu > Simulate > Computational Domain > Boundary Conditions or right click on the Boundary Conditions item in the Computational Domain section of the Navigation Tree and select Boundary Conditions... from the contextual menu. The Boundary Conditions Dialog opens.
  • You need to assign the type of boundary condition on each of the six domain boundaries: ±X, ±Y and ±Z. For each face, choose one of the three options available: PEC, PMC or PML.

The PEC and PMC boundary conditions are the most straightforward to set up and use. Assigning the PEC boundary to one of the bounding walls of the solution domain simply forces the tangential component of the electric field to vanish at all points along that wall. Similarly, assigning the PMC boundary to one of the bounding walls of the solution domain forces the tangential component of the magnetic field to vanish at all points along that wall. For planar structures with a conductor-backed substrate, you can use the PEC boundary condition to designate the bottom of the substrate (the -Z Domain Wall) as a PEC ground. For shielded waveguide structures, you can designate all the lateral walls as PEC. Similarly to model shielded cavity resonators, you designate all the six walls as PEC.

Advanced CMPL Setup

In many electromagnetic modeling problems you need a boundary condition that simply absorbs all the incoming radiation. For problems of this nature, an absorbing boundary condition (ABC) is often chosen that effectively minimizes wave reflections at the boundary. EM.Tempo uses Convolutional Perfectly Matched Layers (CPML) for absorbing boundary conditions. Usually two or more ABC layers must be placed at the boundaries of the physical structure to maximize wave absorption. The boundary CPML cells in the project workspace are transparent to the user. But, in effect, multiple rows of CPML cells are placed on the exterior side of each face of the visible domain box.

You can set the number of CPML layers as well as their order. This is done through the CPML Settings Dialog, which can be accessed by right clicking on the CPML item in the Computational Domain section of the navigation tree and selecting CPML Settings... from the contextual menu. By default, four CPML layers of the third order are placed outside the FDTD problem domain. It is recommended that you always try a four-layer CPML first to assess the computational efficiency. The number of CPML layers may be increased only if a very low reflection is required (<-40dB).

Attention icon.png EM.Tempo's default quarter wavelength offset for the domain box is a very conservative choice and can be reduced further in many cases. A offset equal to eight free-space grid cells beyond the largest bounding box usually give a more compact, but still valid, domain box.

Info icon.png Click here to learn more about the theory of Perfectly Matched Layer Termination.

The boundary ABC cells placed outside the visible domain box.
CPML Settings dialog.

Modeling Planar Structures of Infinite Extents

You can use EM.Tempo to model planar structures of infinite extents. A planar substrate usually consists of one or more dielectric layers, possibly with a PEC ground plane at its bottom. To model a laterally infinite dielectric substrate, you must assign a PML boundary condition to the four lateral sides of the domain box and set the lateral domain offset values along the ±X and ±Y directions all equal to zero. If the planar structure ends in an infinite dielectric half-space from the bottom, you must assign a PML boundary condition to the bottom side of the domain box and set the -Z offset equal to zero. This leaves only the +Z offset with a nonzero value.

Attention icon.png The current release of EM.Tempo does not support anisotropic or dispersive layers of laterally infinite extents. In other words, your anisotropic or dispersive material objects must not touch the CPML domain boundaries.
The domain box of a patch antenna with a finite-sized substrate.
The domain box of a laterally infinite patch antenna with a PEC ground and zero ±X and ±Y and -Z domain offsets.

Generating the FDTD Mesh

EM.Tempo's Mesh Settings dialog

EM.Tempo generates a brick volume mesh for FDTD simulation. The FDTD mesh is a rectangular Yee mesh that extends to the entire computational domain. It is primarily constructed from three mesh grid profiles along the XY, YZ and ZX principal planes. These projections together create a 3D mesh space consisting of a large number of cubic cells (voxels) carefully assembled in a way that approximates the shape of the original structure.

In EM.Tempo, you can choose one of the three FDTD mesh types:

  • Adaptive Mesh
  • Regular Mesh
  • Fixed-Cell Mesh

Info icon.png Click here to learn more about Working with Mesh Generator .

EM.Tempo's default mesh generator creates an adaptive brick volume mesh that uses a variable staircase profile, where the grid line spacings vary with the curvature (derivative) of the edge or face. As a result, a higher mesh resolution is produced at "curved" areas to better capture the geometrical details. The resolution of the adaptive FDTD mesh is driven by the Mesh Density, expressed in cells per effective wavelength. Since FDTD is a time-domain method and the excitation waveform may have a wideband spectral content, the effective wavelength is calculated based on the highest frequency of the project: fmax = f0 + Δf/2, where f0 is your project's center frequency and Δf (or BW) is its specified bandwidth. In other words, the effective wavelength in the free space is λ0,eff = c / fmax, c being the speed of light in the free space. The effective wavelength in a dielectric material with relative permittivity er and permeability µr is given by λd,eff = λ0,eff / √εrμr.

Info icon.png Click here to learn more about EM.Tempo's Adaptive Brick Mesh Generator.

EM.Tempo also offers a uniform, frequency-independent, fixed-cell FDTD mesh generator. The fixed-cell mesh consists of three uniform grids along the XY, YZ and ZX principal planes. In that case, the fixed-cell mesh generator tries to fit your physical structure to the mesh grid rather than adapting the mesh to your physical structure.

Info icon.png Click here to learn more about The Fixed-Cell Brick Mesh Generator .

Occasionally, you may opt for a more regularized FDTD mesh with almost equal grid line spacings everywhere, but still with a frequency-dependent cell size. For that purpose, EM.Tempo offers the Regular FDTD mesh generator, which is a simplified version of its adaptive mesh generator. The regular FDTD mesh enforces only two criteria: Minimum Mesh Density and Absolute Minimum Grid Spacing. The grid cell sizes in this mesh are almost I=uniform in objects of the same material composition or in free-space regions.

Attention icon.png When choosing a mesh type for your FDTD simulation, keep in mind that adaptive and regular mesh types are frequency-dependent and their density varies with the highest frequency of your specified bandwidth, while the uniform mesh type is always fixed and independent of your project's frequency settings.
A human head model and a cellular phone handset on its side.
The FDTD mesh of the human head model and the cellular phone handset.

Setting Up an Excitation Source

Before you can run an FDTD simulation, you have to define a source to excite your project’s physical structure. EM.Tempo offers a variety of excitation mechanisms for your physical structure depending on your particular type of modeling problem or application:

  1. Lumped Source: An ideal source that must be place on a wire (a PEC line object).
  2. Distributed Source: A source with a prescribed impressed field component that is defined on a rectangular region of space parallel to a principal plane.
  3. Waveguide Source: A distributed source that must be placed across a hollow PEC box object.
  4. Plane Wave Source: A distributed source with a plane wave profile defined using a virtual box object enclosing the entire physical structure.
  5. Gaussian Beam Source: A distributed source with a complex-valued focused Gaussian beam profile defined using a virtual box object enclosing the entire physical structure.

A lumped source is the most commonly used way of exciting a structure in EM.Tempo. A lumped source is an ideal source that must be placed on a line object that is parallel to one of the three principal axes and shows up as a small red arrow on the host line. Lumped sources are typically used to define ports and compute the port characteristics like S/Y/Z parameters. Waveguide source is used to excite the dominant TE10 mode of a hollow rectangular waveguide. Waveguide sources typically provide more accurate results for scattering parameters of waveguide structures compared to lumped sources as they represent the actual dominant propagating modes at the transmission line ports. A plane wave source is another popular excitation method that is used for calculation of the radar cross section of targets or reflection and transmission characteristics of periodic surfaces.

Attention icon.png In order to create a lumped source, you must have at least one line object or line array in the project workspace.
Attention icon.png In order to define a waveguide source, you must have at least one hollow box object with no caps or only one end cap or a hollow box array in your project.

Info icon.png Click here to learn more about the various FDTD Source Types.

Defining a New Source

To create a new source, follow these steps:

  • Right click on the name of the source type in the Sources section of the navigation tree and select Insert New Source... from the contextual menu. This opens up the respective Source Dialog.
  • You can change the default name of the source as well as its color.
  • Change the location of the source, if necessary, by the changing the values of the supplied coordinate fields.
  • Change the polarization of the source, if necessary.
  • In the Source Properties section, you can specify the Source Amplitude in Volts and the Phase in Degrees.
  • To change the amplitude and/or phase of a source, click the button labeled Excitation Waveform to open the Waveform Dialog.
  • From the waveform dialog, you can also change the waveform type, if necessary.

Once you define a source, you can always changes its parameters later from its property dialog, which can be accessed from its right-click contextual menu. You can also delete sources.

Excitation Waveform & Frequency Domain Computations

When an FDTD simulation starts, your project's source starts pumping energy into the computational domain at t > 0. Maxwell's equations are solved in all cells at every time step until the solution converges, or the maximum number of time steps is reached. A physical source has a zero value at t = 0, but it rises from zero at t > 0 according to a specified waveform. EM.Tempo currently offers four types of temporal waveform:

  1. Sinusoidal
  2. Gaussian Pulse
  3. Modulated Gaussian Pulse
  4. Arbitrary User-Defined Function

A sinusoidal waveform is single-tone and periodic. Its spectrum is concentrated around a single frequency, which is equal to your project's center frequency. A Gaussian pulse decays exponentially as t → ∞, but it has a lowpass frequency spectrum which is concentrated around f = 0. A modulated Gaussian pulse decays exponentially as t → ∞, and it has a bandpass frequency spectrum concentrated around your project's center frequency. For most practical problems, a modulated Gaussian pulse waveform with EM.Tempo's default parameters provides an adequate performance.

The accuracy of the FDTD simulation results depends on the right choice of temporal waveform. EM.Tempo's default waveform choice is a modulated Gaussian pulse. At the end of an FDTD simulation, the time domain field data are transformed into the frequency domain at your specified frequency or bandwidth to produce the desired observables.

Attention icon.png All of EM.Tempo's excitation sources have a default modulated Gaussian pulse waveform unless you change them.

Info icon.png Click here to learn more about EM.Tempo's Standard & Custom Waveforms and Discrete Fourier Transforms.

Defining Ports

EM.Tempo's Port Definition dialog.
Reassigning sources to ports and defining coupled ports in EM.Tempo.

Ports are used to order and index sources for circuit parameter calculations like S/Y/Z parameters. That is why they are defined in the Observables section of Navigation Tree. In EM.Tempo, you can define ports at the location of Lumped Sources, Waveguide Sources and Distributed Sources. In other words, ideal sources or other types of sources cannot be used to define ports or calculate port characteristics.

Ports are defined in the Observables section of the Navigation Tree. Right click on the Port Definition item of the Navigation Tree and select Insert New Port Definition... from the contextual menu. The Port Definition Dialog opens up, showing the default port assignments. If you have N sources in your physical structure, then N default ports are defined, with one port assigned to each source according to their order on the Navigation Tree.

You can define any number of ports equal to or less than the total number of sources in your project. The Port List of the dialog shows a list of all the ports in ascending order, with their associated sources and the port's characteristic impedance, which is 50O by default. You can delete any port by selecting it from the Port List and clicking the Delete button of the dialog. Keep in mind that after deleting a port, you will have a source in your project without any port assignment. Make sure that is what you intend. When you delete one or more ports in your project, their associated sources become free and "available" for either defining new ports or reassignment to the other ports. To define a new port, click the Add button of the Port Definition dialog to open the "Add Port" dialog. On the left side of this dialog, you will see a table containing all the available sources. Select one or more ports and use the right arrow (--->) button to move them to the table on the right side, labeled "Associated". These ports are now associated with the new port being defined. You can move sources from the "Associated" table back to the "Available" table on the left using the left arrow (<---) button of the dialog. You can associate more than one source with the same port. In that case, you will have coupled sources, collectively representing a coupled port.

Attention icon.png In order to obtain correct results, the port impedance must equal the characteristic impedance of the transmission line on which the port is established. This is not done automatically in EM.Cube.

You can change the characteristic impedance of a port by selecting it from the Port List and clicking the Edit button of the dialog. This opens up the Edit Port dialog, where you can enter a new value in the box labeled Impedance.

Modeling Feeds in Practical Applications

Using simple lumped sources, you can simulate a variety of transmission line structures in EM.Tempo including filters, couplers or antenna feeds and you can calculate their scattering parameters. This approach may become less accurate at very high frequencies when the details of the feed structures become important and can no longer be modeled with highly localized lumped ports. In such cases, it is recommended to use “Distributed Sources”, which utilize accurate modal field distributions at the ports for calculation of the incident and reflected waves.

Info icon.png Click here to learn more about Using Lumped Sources to Model Transmission Line Feeds.

Info icon.png Click here to learn more about Using Source Arrays in Antenna Arrays.

EM.Tempo's Lumped Load dialog.

Defining Lumped Loads

In EM.Tempo you can define four types of lumped loads:

  1. Resistor
  2. Capacitor
  3. Inductor
  4. Nonlinear Diode

Although lumped loads are not sources and do not excite a structure, their properties are similar to lumped sources. Lumped Loads are incorporated into the FDTD grid across two adjacent nodes in a similar manner to lumped sources. Likewise, lumped loads are defined on Line objects.

Info icon.png Click here to learn more about Defining Lumped Loads in EM.Tempo.

Info icon.png Click here for a general discussion of Linear Passive & Nonlinear Active Devices.

Attention icon.png Small values of inductance may result in the divergence of the FDTD numerical scheme. To avoid this problem, you need to increase the mesh resolution and adopt a higher mesh density. This, of course, may lead to a much longer computation time.

Running FDTD Simulations

Strategy for an Accurate & Efficient FDTD Simulation

The FDTD method is one of the most versatile numerical techniques for solving electromagnetic modeling problems. Choosing the right settings and optimal values for certain numerical parameters will have a significant impact on both accuracy and computational efficiency of an FDTD simulation. Below are a number of steps that you should typically follow by order when planning your FDTD simulation:

  • Identify material types and proper domain boundary conditions.
  • Identify the source type and excitation mechanism.
  • Define the project observables.
  • Mesh the physical structure and examine the quality of the generated mesh and it geometric fidelity.
  • Determine the proper temporal waveform.
  • Select the simulation mode and run the FDTD engine.

For certain problems, more than one combination or choice of settings and parameters may still give acceptable results. In most cases, EM.Cube tries to make these choices convenient for you by suggesting default settings or default parameter values. For example, EM.Cube by default generated am "adaptive" type mesh with a default density of 20 cells per effective wavelength. The default computational domain features CPML walls placed a quarter free-space wavelength away from the large bounding box of the entire physical structure. A modulated Gaussian waveform with certain optimal parameters is used to drive the project's excitation source by default. You can change most of these settings arbitrarily. For example, you can set up your own computational domain with different types of boundary conditions, customize the FDTD mesh by modifying a large number of mesh settings and use other types of excitation waveforms.

Attention icon.png Keep in mind that you are always responsible for the choice of excitation source and the project observables. In other words, EM.Cube does not automatically provide a default excitation source or does not suggest default observables.
EM.Tempo's Run dialog.
EM.Tempo's Simulation Engine Settings dialog
EM.Tempo's output window.

Running a Wideband FDTD Simulation

Once you build your physical structure in the project workspace and define an excitation source, you are ready to run an FDTD simulation. The simulation engine will run even if you have not defined any observables. Obviously, no simulation data will be generated in that case. EM.Tempo currently offers several different simulation modes as follows:

  1. Wideband Analysis
  2. Parametric Sweep
  3. Dispersion Sweep
  4. Optimization
  5. HDMR

Analysis is EM.Tempo's simplest and most straightforward simulation mode. It runs the FDTD time marching loop once. At the end of the simulation, the time-domain field data are transformed into the frequency domain using a discrete Fourier transform (DFT). As a result, you can generate wideband frequency data from a single time-domain simulation run. The other simulation modes will be explained later in this manual.

To open the Simulation Run Dialog, click the Run Run icon.png button of the Simulate Toolbar or select Menu > Simulate > Run... from the menu bar or use the keyboard shortcut Ctrl+R.

To start the FDTD simulation, click the Run button at the bottom of this dialog. Once the simulation starts, the "Output Window" pops up and reports messages during the different stages of the FDTD simulation. During the FDTD time marching loop, after every 10th time step, the output window updates the values of the time step, elapsed time, the engine performance in Mega-cells per seconds, and the value of the convergence ratio Un/Umax in dB. An EM.Cube FDTD simulation is terminated when the ratio Un/Umax falls below the specified power threshold or when the maximum number of time steps is reached. You can, however, terminate the FDTD engine earlier by clicking the Abort Simulation button.

The FDTD Simulation Engine Settings

An FDTD simulation involves a number of numerical parameters that can be accessed and modified from the FDTD Engine Settings Dialog. To open this dialog, select Menu > Simulate > Simulation Engine Settings... or open the Run Dialog, and click the Settings button next to the engine dropdown list.

In the " Convergence " section of the dialog, you can set the Termination Criterion for the FDTD time loop. The time loop must stop after a certain point in time. If you use a decaying waveform like a Gaussian pulse or a Modulated Gaussian pulse, after certain number of time steps, the total energy of the computational domain drops to very negligible values, and continuing the time loop thereafter would not generate any new information about your physical structure. By contrast, a sinusoidal waveform will keep pumping energy into the computational domain forever, and you have to force the simulation engine to exit the time loop. EM.Cube's FDTD Module provides two mechanism to terminated the time loop. In the first approach, an energy-like quantity defined as Un = Σ [ ε0|Ei,n|2 + μ0|Hi,n|2 ].ΔVi is calculated and recorded at a large random set of points in the computational domain. Here i is the space index and n is the time index. The quantity Un has a zero value at t = 0 (i.e. n = 0), and its value starts to build up over time. With a Gaussian or Modulated Gaussian pulse waveform, Un reach a maximum value Umax at some time step and starts to decline thereafter. The ratio 10.log( Un/ Umax) expressed in dB is used as the convergence criterion. When its value drops below certain Power Threshold, the time loop is exited. The default value of Power Threshold is -30dB, meaning that the FDTD engine will exit the time loop if the quantity Un drops to 1/1000 of its maximum value ever. The second termination criterion is simply reaching a Maximum Number of Time Steps , whose default value set to 10,000. A third option, which is EM.Cube's default setting (labeled "Both"), terminates the simulation as soon as either of the first two criteria is met first.

Attention icon.png Keep in mind that for highly resonant structures, you may have to increase the maximum number of time steps to very large values above 20,000.

The "Acceleration" section of the FDTD Simulation Engine Settings dialog give three options for the FDTD kernel:

  1. Serial CPU Solver
  2. Multi-Core CPU Solver
  3. GPU Solver

The serial CPU solver is EM.Cube's basic FDTD kernel that run the time marching loop on a single central processing unit (CPU) of your computer. The default option is the multi-core CPU solver. This is a highly parallelized version of the FDTD kernel based on the Open-MP framework. It takes full advantage of a multi-core, multi-CPU architecture, if your computer does have one. The GPU solver is a hardware-accelerated FDTD kernel optimized for CUDA-enabled graphical processing unit (GPU) cards. If your computer has a fast NVIDIA GPU card with enough onboard RAM, the GPU kernel can speed up your FDTD simulations up to 50 times or more over the single CPU solver.

For structures excited with a plane wave source, there are two standard FDTD formulations: Scattered Field (SF) formulation and Total Field - Scattered Field (TF-SF) formulation. EM.Tempo offers both formulations. The TF-SF solver is the default choice and is typically much faster than the SF solver for most problems. In two cases, when the structure has periodic boundary conditions or infinite CPML boundary conditions (zero domain offsets), only the SF solver is available.

Working with FDTD Simulation Data

Understanding the FDTD Observable Types

In EM.Tempo, project observables are the simulation data that are generated by the simulation engine at the end of each simulation run. EM.Tempo's FDTD simulation engine calculates all the six electric and magnetic field components (Ex, Ey, Ez, Hx, Hy and Hz) at every mesh grid node at all time steps from t = 0 until the end of the time loop. However, in order to save memory usage, the engine discards the temporal field data from each time step to the next. Storage, manipulation and visualization of 3D data can become overwhelming for complex structures and larger computational domains. Furthermore, calculation of some field characteristics such as radiation patterns or radar cross section (RCS) can be sizable, time-consuming, post-processing tasks. That is why EM.Cube asks you to define project observables to instruct why types of simulation data you seek in each simulation effort.

EM.Tempo offers the following types of observable:

  • Field Probe for monitoring E- and H-field components at a fixed location in both time and frequency domains.
  • Field Sensor for monitoring E- and H-field components on a cross section of the computational domain in both time and frequency domains.
  • Far-Field Radiation Pattern for monitoring the radiation behavior of your structure.
  • Far-Field RCS for monitoring the scattering behavior of your structure.
  • Port Definition for calculating the S/Y/Z parameters and voltage standing wave ratio (VSWR).
  • Periodic Characteristics for calculating the reflection and transmission coefficients when your periodic structure is excited by a plane wave source.
  • Domain Energy for calculating the total electric and magnetic energy in the computational domain.
  • Huygens Surface for collecting tangential field data on a box.

Of EM.Tempo's frequency domain observables, the near fields, far fields and all of their associated parameters like directivity, RCS, etc., are calculated at a certain single frequency that is specified as part of the definition of the observable. To compute those frequency domain data at several frequencies, you need to define multiple observables, one for each frequency. On the other hand, port characteristics like S/Y/Z parameters, VSWR and periodic characteristics like reflection and transmission coefficients, are calculated over the entire specified bandwidth of your project.

Info icon.png Click here to learn more about the various FDTD Observable Types.

Info icon.png Click here to learn more about Data Visualization and Processing in EM.Cube.

Defining a New Observable

To create a new observable, follow these steps:

  • Right click on the name of the observable type in the Observables section of the navigation tree and select Insert New Observable... from the contextual menu. This opens up the respective Observable Dialog.
  • You can change the default name of the observable as well as its color.
  • Change the location of the observable, if necessary, by the changing the values of the supplied coordinate fields.
  • Change the orientation of the observable, if necessary.
  • In the case of frequency domain observables, change the observed frequency or frequency range, if necessary.

Once you define an observable, you can always changes its parameters later from its property dialog, which can be accessed from its right-click contextual menu. You can also delete observables.

Computing Port Characteristics in FDTD

Of EM.Tempo's source types, lumped sources, waveguide sources and distributed sources let you define one or more ports for your physical structure and compute its port characteristics. To do so, first you need a "Port Definition" observable in the navigation tree. One of EM.Tempo's real advantages over frequency-domain solvers is its ability of generate wideband S/Z/Y parameter data in a single simulation run.

Info icon.png Click here to learn more about Exciting Multiport_Structures Using Linear Superposition .

Info icon.png Click here to learn more about Graphing Port Characteristics.

Time-domain evolution of the electric field at a given point.

Examining the Near Fields in Time and Frequency Domains

EM.Tempo's FDTD time marching loop computes all the six electric and magnetic field components at every Yee cell of your structure's mesh at every time step. This amounts to a formidable amount of data that is computationally very inefficient to store. Instead, you can instruct EM.Tempo to save a small potion of these data for visualization and plotting purposes. Using a Field Probe at a specified point, you can record the a time-domain field component over the entire FDTD loop. The time-domain results are also transformed to the frequency domain within the specified bandwidth using a discrete Fourier transform (DFT).

Info icon.png Click here to learn more about Field Probes.

In EM.Tempo, you can visualize the near fields at a specific frequency in a specific plane of the computational domain. To do so, you need to define a Field Sensor observable. EM.Tempo's field sensor defines a plane across the entire computational domain parallel to one of the three principal planes. The magnitude and phase of all the six components of the electric and magnetic fields on the mesh grid points on the sensor plane are computed and displayed.

Info icon.png Click here to learn more about Visualizing 3D Near Field Maps.

Info icon.png Click here to learn more about Animating Time-Domain Field Evolution.

EM.Tempo's Field Sensor dialog.
A field sensor plane defined above a PEC plate illuminated by a plane wave source.
Electric field distribution above the PEC plate.
Magnetic field distribution above the PEC plate.

Computing Far-Field Characteristics in FDTD

Far fields are the asymptotic form the fields when r → ∞ or k0r >> 1. Under these assumptions, the fields propagate outward as transverse electromagnetic (TEM) waves:

[math] \mathbf{H^{ff}(r)} = \frac{1}{\eta_0} \mathbf{ \hat{k} \times E^{ff}(r)} [/math]

Far fields are typically computed in the spherical coordinate system as functions of the elevation and azimuth observation angles θ and φ. Only far-zone electric fields are normally considered. When your physical structure is excited using a lumped source, a waveguide source, a distributed source, a short dipole source, or an array of such sources, the far fields represent the radiation pattern of your source(s) in the far zone. When your physical structure is illuminated by a plane wave source or a Gaussian beam source, the far fields represent the scattered fields. In the case of a plane source, you can compute the radar cross section (RCS) of your target structure.

Info icon.png Click here to learn more about Computing the Far Fields & Radiation Characteristics.

Info icon.png Click here to learn more about Visualizing 3D Radiation Patterns.

Info icon.png Click here to learn more about Visualizing 3D RCS.

Info icon.png Click here to learn more about Plotting 2D Radiation & RCS Graphs.

Far Field Background Medium dialog.

Info icon.png Click here to learn more about the theory of Using Array Factors to Model Antenna Arrays .

Radiation Pattern Above a Half-Space Medium

In EM.Tempo, you can use CPML boundary conditions with zero offsets to model a structure with infinite lateral extents. At the end of the FDTD simulation, the far fields are calculated using the near-field-to-far-field transformation. This calculation requires the dyadic Green's function of the background structure. By default, the FDTD engine uses the free space dyadic Green's function for the far field calculation. In general, the FDTD Module features dyadic Green's functions for four scenarios:

  1. Free space background
  2. Free space background terminated in an infinite PEC ground plane at the bottom
  3. Free space background terminated in an infinite PMC ground plane at the bottom
  4. Free space background terminated in an infinite dielectric half-space medium

In other words, EM.Cube's FDTD Module can calculate the far field radiation pattern of a structure in the presence of any of the above four background structure types. In the case of an infinite PEC or PMC ground plane at the bottom of the domain with a zero -Z offset, it is assumed that the PEC or PMC planes extend laterally to the infinity even though your structure has a finite domain. In this case, EM.Cube automatically uses the correct dyadic Green's function and calculates the radiation pattern of a half-space structure. The far fields for observation in the lower half-space (0 ≤ θ ≤ 90°) are set equal to zero. In the fourth case, i.e. an infinite half-space ground (or a dielectric medium in general), your computational domain must end in a dielectric layer with a CPML -Z boundary. The -Z domain offset must be set equal to zero. You also have to make sure that the lateral domain offset values along the ±X and ±Y directions are set equal to zero, too. In addition, you have to specify the permittivity εr and electric conductivity σ of the terminating medium. You can set these parameters from FDTD Module's Far Field Background Medium dialog. To access this dialog, open the radiation pattern dialog and click the button labeled Background... From this dialog, you can also set the Z-coordinate of the top of the terminating half-space medium. When the bottom of your computational domain is terminated by an infinite PEC or PMC plane, the Z-coordinates of the ground plane and the bottom face of the computational domain are identical. However, when your domain is terminated in a dielectric medium, you will typically have a dielectric layer beneath your physical structure. In that case, you may want to set the Z-coordinate of the top of that dielectric layer as the position of the interface between the free space and the lower dielectric half-space.

Note that the current version of EM.Cube's FDTD Module does not calculate the far-field Green's function of a laterally infinite, conductor-backed, dielectric substrate with a finite layer thickness. For problems of this type, you should use EM.Cube's Planar Module. In FDTD, either your PEC/PMC ground can be infinite or you can assume a dielectric half-space ground. Also, note that when infinite lateral dimensions are not required, like in the case of patch antennas with a finite substrate and finite ground, FDTD is the method of choice, as the planar MoM method cannot handle such cases.

Radiation pattern of a vertical dipole above PEC ground.
Radiation pattern of a vertical dipole above PMC ground.
Radiation pattern of a horizontal dipole above PEC ground.
Radiation pattern of a horizontal dipole above PEC ground.

 

Top icon.png Back to the Top of the Page

Back icon.png Back to EM.Cube Main Page


Fdtd-ico tn.png More Articles Related To: EM.Tempo

Mathematical Details: Differential Form of Maxwell's Equations - Waveform, Bandwidth, Stability - Perfectly Matched Layer Termination - Time Domain Simulation of Periodic Structures - Farfield Calculations in EM.Tempo - Waveforms and Discrete Fourier Transforms

Advanced Simulation Options: Advanced CPML Setup - Radiation Pattern Above A Half Space Medium - Advanced Meshing in EM.Tempo - EM.Tempo Acceleration

Tutorials: FDTDLesson1 - FDTDLesson2 - FDTDLesson3 - FDTDLesson4

Last modified on 1 August 2015, at 17:46