Changes

EM.Tempo

10,836 bytes added, 14:07, 7 August 2019
[[Image:Splash-fdtd.jpg|right|720px]]<strong><font color="#961717" size="4">Fast Multicore & GPU-Accelerated FDTD Solvers for Simulating the Most Complex Electromagnetic Modeling Problems</font></strong><table><tr><td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:prop-ico.png | link=An EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td><tr></table>[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Tempo_Documentation | EM.Tempo Primer Tutorial Gateway]]''' [[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''==Product Overview==
=== 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 the key to a thorough understanding of wave the interaction in of electromagnetic waves with complex media such as anisotropic composites, metamaterials or biological environmentsor with passive and active devices and nonlinear circuits.
=== Pros and Cons EM.Tempo has undergone several evolutionary development cycles since its inception in 2004. The original simulation engine utilized an FDTD formulation based on the uniaxial perfectly matched layer (UPML) boundary termination. Subsequently, a more advanced boundary termination based on the convolutional perfectly matched layer (CPML) was implemented with a far superior performance for all oblique wave incidences in different types of media. EM.Tempo now has the ability to model laterally infinite layered structures using CPML walls that touch material media. A novel formulation of periodic boundary conditions was implemented based on the constant transverse wavenumber method (or direct spectral FDTD Simulation ===). In 2013 we introduced an Open-MP optimized multi-core version of the FDTD engine as well as a hardware-accelerated solver that runs on CUDA-enabled graphical processing unit (GPU) platforms. Both of these fast solvers are now a standard part of the EM.Tempo Pro package.
A time domain simulation like FDTD offers several advantages over a frequency domain simulation[[Image:Info_icon. In certain applications, the time domain signature or behavior png|30px]] Click here for an overview of a system, e.g. the transient response '''[[Basic Principles 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 Finite Difference Time Domain Method | Basic 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 qualityTheory]]'''.
Like every numerical technique, the FDTD method has disadvantages, too<table><tr><td>[[Image:ART GOLF Fig title. 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 png|thumb|left|400px| The 3D far-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 radiation pattern 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 openvehicle-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 mounted antenna structure. simulated by EM.Tempo provides high quality perfectly match layer (PML) terminations at the boundaries which can be placed fairly close your physical structure.]]</td></tr></table>
=== An Overview of EM.Tempo as the FDTD Modeling Module of EM.Cube ===
EM.Tempo is a general-purpose EM simulator than can solve most types of electromagnetic modeling problems involving arbitrary geometries and complex material variations in both time and frequency domains. It has also been integrated within the [[Image:FDTD93.png|thumb|300px|A metal ellipsoid object..EM.Cube]][[Image:FDTD94simulation environment as its full-wave "FDTD Module".png|thumb|300px|EM...and its Yee mesh.]]In Tempo shares the Finite Difference Time Domain (FDTD) methodvisual interface, a discretized form of Maxwell’s equations is solved numerically and simultaneously in both the 3D space and time. During this processparametric CAD modeler, data visualization tools, the electric and magnetic fields are computed everywhere in the computational domain many more utilities and features collectively known as a function [[Building Geometrical Constructions in CubeCAD | CubeCAD]] with all 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 [[parametersEM.Cube]], input impedance, far field radiation patterns, radar cross section, etc's other computational modules.
[[Image:Info_icon.png|30px]] Click here to learn more about the '''[[Differential Form of Maxwell's EquationsGetting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.
Since FDTD is a finite domain numerical technique, the computational domain === The Advantages & Limitations of the problem must be truncatedEM. 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 Tempo's 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. Simulator ===
Click here A time domain simulation like FDTD offers several advantages over frequency domain simulations. 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 learn more about EMdetermine the wideband frequency response of a system.Tempo's [[Perfectly Matched Layer Termination]]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 most frequency domain methods, the FDTD technique does not involve numerical solution of large ill-conditioned matrix equations that are often very sensitive to the mesh quality.
The Like every numerical technique, the FDTD computational domain must be discretized using an appropriate meshing schememethod 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 non-uniform, variable, staircase (pixelated) "Yee " mesh with a mesh density that you can customizeto discretize the physical structure. A fixed-cell mesh generator is also available, where you can set constant cell dimensions This works perfectly fine for rectangular objects that are oriented along the three principal axes for the entire computational domain. The variable mesh density is specified in terms In the case of the effective wavelength inside material media. As a resulthighly curved structures or slanted surfaces and lines, however, this may compromise the mesh resolution and average mesh cell size differ in regions that are filled with different types geometrical fidelity of materialyour structure. [[EM.Cube]]'s non-uniform Tempo provides a default adaptive FDTD mesher generates more cells in the areas that are occupied by dielectric materialscan capture the fine details of geometric contours, fewer slanted thin layers, surfaces, etc. to arbitrary precision. However, with smaller mesh cells in , the free space regions and no cells inside (impenetrable) PEC regionsstability criterion leads to smaller time steps; hence, longer computation times. [[Another disadvantage of the FDTD Module]]'s default "adaptive" mesh generator also refines technique compared to naturally open-boundary methods like the mesh around curved segments method of lines, surface moments (MoM) is its finite-extent computational domain. This means that to model open boundary problems like radiation or solids scattering, absorbing boundary conditions are needed to produce a far more accurate representation dissipate the incident waves at the walls of your geometrythe computational domain and prevent them from reflecting back into the domain. The example accuracy of the FDTD simulation results depends on the right illustrates a metal ellipsoid quality of these absorbers and a 3D view their distance from the actual physical structure. EM.Tempo provides high quality perfectly matched layer (PML) terminations at the boundaries, which can be placed fairly close to your physical structure to reduce the total size of its Yee meshthe computational domain.
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 <table><tr><td>[[parameters]]Image:Airplane Mesh. 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 png|thumb|left|480px|The Yee 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 convergean imported aircraft CAD model. [[EM.Cube]] automatically chooses a time step that satisfies the CFL condition.</td></tr></table>
For more detailed information, see [[Waveform, Bandwidth, Stability]]== EM.Tempo Features at a Glance ==
==Building the = Physical StructureDefinition ===
[[Image:FDTD1.png|thumb|200px|[[FDTD Module]]'s Navigation Tree.]]<ul>In [[EM.Tempo]] <li> PEC, a physical structure consists PMC and dielectric materials and thin wires</li> <li> Uniaxial and fully anisotropic materials with four complete constitutive tensors</li> <li> Dispersive materials of sets of objects that are grouped together Debye, Drude and identified by their material Lorentz types. All the objects belonging to the same material group share the same color with arbitrary number of poles</li> <li> Generalized uniaxial and same material properties. Materials are divided into seven categories that are listed under the '''Physical Structure''' node at the top doubly negative refractive index metamaterials with arbitrary numbers of the navigation treeboth electric and magnetic poles</li> <li> Two types of gyrotropic materials:ferrites and magnetoplasmas</li> <li> PEC, PMC and convolutional perfectly match layer (CPML) boundary conditions</li> <li> Doubly periodic structures</li></ul>
* [[#Perfect Conductors|Perfect Electric Conductor (PEC) Objects]]* [[#Perfect Conductors|Perfect Magnetic Conductor (PMC) Planes]]* [[#Dielectric Materials|Dielectric Materials]]* [[#Anisotropic Materials|Anisotropic Materials]]* [[#Dispersive Materials|Dispersive Materials]]* Inhomogeneous Materials* Thin Wires=== Sources, Ports & Devices ===
Under each material node<ul> <li> Lumped voltage sources with internal resistance placed on a PEC line or thin wire object with an arbitrary orientation</li> <li> Distributed sources with uniform, you can create new material groups of sinusoidal and edge-singular profiles</li> <li> Microstrip, coplanar Waveguide (CPW) and coaxial ports</li> <li> Waveguide sources with the same typedominant TE<sub>10</category but sub> modal profile</li> <li> Multi-port and coupled port definitions</li> <li> Two types of filamentary current sources: Hertzian short dipole radiators with different properties (color, texturearbitrary orientation and long wire current sources aligned along one of the principal axes with a uniform, triangular or electric sinusoidal current distribution profile</li> <li> Plane wave excitation with linear and magnetic constitutive circular polarizations</li> <li> Multi-ray excitation capability (ray data imported from [[parametersEM.Terrano]]). 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)</li> <li> Gaussian beam excitation</li> <li> Huygens sources</li> <li> Source arrays with weight distribution &amp; phase progression</li> <li> Periodic sources with user defined beam scan angles</li> <li> Standard excitation waveforms (Gaussian pulse, modulated Gaussian and then draw new objects as part of the active material group. Howeversinusoidal) for optimal frequency&nbsp;domain computations&nbsp;</li> <li> Arbitrary user-defined temporal excitation waveforms using mathematical expressions and Python functions</li> <li> Passive lumped devices: R, if you start a new EM.Tempo project from scratchL, and start drawing a new object without having previously defined any material groupsC, a new default PEC group is created series RL and added to parallel RC and nonlinear diode device</li> <li> Active lumped one-port and two-port devices placed on PEC lines aligned along one of the navigation tree to hold your new CAD object.principal axes with arbitrary Netlist definitions</li> <li> Active distributed one-port and two-port devices placed under microstrip lines with arbitrary Netlist definitions</li></ul>
===Defining a New Material GroupMesh Generation ===
To define a new material group<ul> <li> Fast generation of Yee grid mesh of solids, follow these steps:surfaces and curves</li> <li> Geometry-aware and material-aware adaptive mesh generator with gradual grid transitions</li> <li> Fixed-cell uniform mesh generator with three unequal cell dimensions</li> <li> Mesh view with three principal grid profilers</li> <li> Manual control of mesh parameters and fixed grid points</li></ul>
* 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.=== 3D FDTD Simulation ===
Once <ul> <li> Wideband full-wave simulation of 3D structures</li> <li> Transient analysis with arbitrary user defined excitation waveforms</li> <li> Multi-frequency computation of frequency domain quantities in a new material node has been created single FDTD simulation run</li> <li> OpenMP-parallelized multi-core and multi-thread FDTD simulation engine</li> <li> GPU-accelerated FDTD simulation engine based on NVIDIA CUDA platforms</li> <li> Total-field-scattered-field analysis of plane wave and Gaussian beam excitation</li> <li> Full-wave analysis of periodic structures with arbitrary plane wave incidence angles using the navigation tree, it becomes the "Active" Direct Spectral FDTD method</li> <li> Infinite material group half-space Green&#39;s functions for calculation of the project workspace, which is always listed far fields in bold letters. Then you can start drawing new objects under that node. Any material can be made active by right clicking presence of a lossy ground</li> <li> Accelerated computation of S-parameters of resonant structures based on its name in the Navigation Tree and selecting the Prony'''Activate''' item s method of the contextual menu.exponential interpolation</li> <li> Parametric sweeps of variable object properties or source parameters including frequency and angular sweeps</li> <li> Multi-variable and multi-goal optimization of structures</li> <li> Automated generation of compact reduced order surrogate models from full-wave simulation data</li></ul>
===Moving Objects among Material GroupsData Generation &amp; Visualization ===
[[Image:FDTD21<ul> <li> Near-field intensity (1colorgrid).png|thumb|325px|Moving objects from one FDTD material group to another.]], contour and surface plots (vectorial - amplitude &amp; phase)</li>You can move one or more selected objects at a time among different material groups. The objects can be selected either <li> Near-field probes for monitoring field components in the project workspace, or their names can be selected from the navigation tree. Right click on the highlighted selection both time &amp; frequency domains</li> <li> Far-field radiation patterns: 3D pattern visualization and select '''Move To 2D polar and Cartesian graphs</li> FDTD <li>''' from the contextual menu. This opens up another sub Far-menu with a list field characteristics such as directivity, beam width, axial ratio, side lobe levels and null parameters, etc.</li> <li> Radiation pattern of arbitrary array configurations of all the available material groups already defined FDTD structure or periodic unit cell</li> <li> Bistatic and monostatic radar cross section</li> <li> Huygens surface data generation for use in your other [[EM.Tempo project. Select the desired material nodeCube]] modules</li> <li> Periodic reflection/transmission coefficients and k-&beta; diagrams</li> <li> Port characteristics: S/Y/Z parameters, VSWR and all the selected objects will move Smith chart</li> <li> Time and frequency domain port voltages, currents and powers</li> <li> Touchstone-style S-parameter text files for direct export to that material group[[RF. In the case Spice A/D]]</li> <li> Interanl node voltages and currents of a multiple selection from the navigation tree using the keyboard's '''Shift Key''' or '''Ctrl Key'''Netlist-based one-port and two-port networks</li> <li> Computation of electric, make sure that you continue to hold the keyboard's '''Shift Key''' magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes</li> <li> Animation of temporal evolution of fields</li> <li> Custom output parameters defined as mathematical expressions or '''Ctrl Key''' down while selecting the destination material group's name from the contextual menu.Python functions of standard outputs</li></ul>
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, == Building 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 Physical Structure in EM.Tempo. ==
{{Note|You can import external objects only to '''[[CubeCAD]]'''. You need to move the imported objects form [[CubeCAD]] to === Material Variety in EM.Tempo as described above.}}===
====Perfect Conductors====Your physical structure in EM.Tempo offers two types can be made up of perfect conductorsseveral geometric objects with different material compositions. In other words, the geometric objects you draw or import from external files are grouped together based on a common material composition. EM.Tempo's material types are divided into seven categories:
{| class="wikitable"|-! scope="col"| Icon! scope="col"| Material Type! scope="col"| Applications! scope="col"| Geometric Object Types Allowed|-| style="width:30px;" | [[File:pec_group_icon.png]]| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types# '''Perfect Electric Conductor (PEC) Objects:''' The tangential electric field on the surface of this type of perfect conductor is zero. The electric and magnetic fields are assumed to vanish inside the volume of a PEC object. A PEC material is characterized by an infinite electric conductivity |Perfect Electric Conductor (&sigmaPEC)]]| style="width:300px; " | Modeling perfect metals| style= &infin"width:250px;). You can draw solid" | Solid, surface and curve objects|-| style="width:30px;" | [[Curve ObjectsFile:thin_group_icon.png]]|curve objectsstyle="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Thin Wire |Thin Wire]] as part | style="width:300px;" | Modeling wire radiators| style="width:250px;" | Lines parallel to one of a PEC groupthe three principal axes|-| style="width:30px;" | [[File:pmc_group_icon.png]]| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types# '''Perfect Magnetic Conductor (PMC) Planes|Perfect Magnetic Conductor (PMC)]]| style="width:''' The tangential magnetic field on the surface of this type of 300px;" | Modeling perfect conductor is zero. The electric and magnetic fields are assumed sheets | style="width:250px;" | Rectangle strips parallel to vanish inside the volume one of a PMC objectthe three principal planes|-| style="width:30px;" | [[File:diel_group_icon. A PMC png]]| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Dielectric Material |Dielectric Material]]| style="width:300px;" | Modeling any homogeneous material is characterized by an infinite magnetic conductivity (&sigma| style="width:250px;<sub>m</sub> " | Solid objects|-| style= &infin"width:30px;)" | [[File:aniso_group_icon. EMpng]]| style="width:150px;" | [[Glossary_of_EM.Tempo currently allows only PMC plates (rectangle strips Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Anisotropic Material |Anisotropic Material]]| style="width:300px;" | Modeling unaxial or generalized anisotriopic materials| style="width:250px;" | Solid objects) parallel to one |-| style="width:30px;" | [[File:disp_group_icon.png]]| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Dispersive Material |Dispersive Material]]| style="width:300px;" | Modeling Debye, Drude and Lorentz materials and generalized metamaterials | style="width:250px;" | Solid objects|-| style="width:30px;" | [[File:voxel_group_icon.png]]| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Gyrotropic_Material |Gyrotropic Material]]| style="width:300px;" | Modeling ferrites and magnetoplasmas| style="width:250px;" | Solid objects|-| style="width:30px;" | [[File:Virt_group_icon.png]]| style="width:150px;" | [[Glossary of the three principal axesEM.Cube's Materials, Sources, Devices & Other Physical Object Types#Virtual_Object_Group | Virtual Object]]| style="width:300px;" | Used for representing non-physical items | style="width:250px;" | All types of objects|}
PEC and PMC materials do not have any constitutive material properties that you can modify except for their color or textureClick on each category to learn more details about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]].
===Dielectric MaterialsOrganizing the Physical Structure by Material Groups ===[[Image:FDTD5.png|thumb|450px|[[EM.Cube]]'s material list]]In [[EM.Tempo]], a dielectric material represents a general isotropic, homogeneous material with both electric and magnetic properties. The constitutive [[parameters]] of a dielectric material include permittivity (&epsilon;), permeability (&mu;), electric conductivity (&sigma;) and magnetic conductivity (&sigma;<sub>m</sub>):
:<math> \mathbf{D} = \epsilon \mathbf{E}EM.Tempo groups your geometric objects in the project workspace based on their material type. All the objects belonging to the same material group share the same color and same material properties. Under each material node in the navigation tree, \quad \quad \mathbf{J} = \sigma \mathbf{E} </math>you can create new material groups of the same type but with different properties such as color, texture, or electric and magnetic constitutive parameters.
:<math> \mathbf{B} = \epsilon \mathbf{H}Once a new material node has been created on the navigation tree, \quad \quad \mathbf{M} = \sigma_m \mathbf{H} </math>it becomes the "Active" material group of the project workspace, which is always listed in bold letters. When you draw a new geometric object such as a box or a sphere, its name is added under the currently active material type. There is only one material group that is active at any time. 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. 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 object.
where '''E''' and '''H''' are the electric and magnetic fields, respectively, '''D''' is the electric flux density, also known as the electric displacement vector, '''B''' is the magnetic flux density, also known as the magnetic induction vector, and '''J '''and '''M '''are the electric and magnetic current densities, respectively{{Note|You can import external objects only to CubeCAD. For example, an imperfect metal You can be represented by a dielectric material that has a large, finite, electric conductivitythen move the imported objects form CubeCAD to EM. PEC and PMC, therefore, are the limiting cases of an isotropic dielectric material when &sigma; &rarr; &infin; or &sigma;<sub>m</sub> &rarr; &infin;, respectivelyTempo.}}
You may also choose from [[EMImage:Info_icon.Cubepng|30px]]'s list of preloaded material types. Click here to access the button labeled '''Material''' to open [[Glossary of EM.Cube]]'s Material List dialog. Select the desired material from the list or type the first letter of a material to find it. For exampleMaterials, typing Sources, Devices & Other Physical Object Types]]'''V''' selects '''Vacuum '''in the list. Once you close the dialog by clicking '''OK''', the selected material properties fill the parameter fields automatically.
=== Anisotropic Materials ===<table><tr><td> [[Image:Tempo NavTree.png|thumb|left|400px|EM.Tempo's navigation tree.]]</td></tr></table>
[[=== Material Hierarchy in EM.Tempo]] allows you to define a general anisotropic material, whose constitutive [[parameters]], i.e. permittivity ('''&epsilon;'''), permeability ('''&mu;'''), electrical conductivity ('''&sigma;''') and magnetic conductivity ('''&sigma;<sub>m</sub>'''), are all tensorial in nature. Each constitutive parameter in this case is represented by a 3×3 matrix:===
[[File:FDTD16EM.png|600pxTempo]]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:
A "'''# PEC# PMC# Dispersive# Gyrotropic# General Anisotropic# Uniaxial'''" material is a special case of an anisotropic material whose constitutive [[parameters]] are all diagonal matrices. Specifying an anisotropic material as <u>'''Uniaxial'''</u> in the [[FDTD Module]] has a very important computational implication. There are six field update equations for uniaxial materials at each time steps: three for the electric field and three for the magnetic field. In this respect, a uniaxial material is similar to an isotropic dielectric material. On the other hand, a fully anisotropic material with non-zero off-diagonal constitutive matrix elements requires twelve update equations at each time step: three equations for the three components of each of the four vector fields '''E''', '''D''', '''H''' and '''B'''. As a result, the time loop for fully anisotropic materials takes much longer time than uniaxial materials.Anisotropic# Dielectric
===Dispersive Materials===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.
<table><tr><td> [[FileImage:FDTD7FDTD_MAN2.png|thumb|250pxleft|Debye Add Pole Dialog]][[#Perfect Conductors|PEC]], [[#Perfect Conductors|PMC]], [[#Dielectric Materials360px|The geometric construction of a dielectric]] and [[#Anisotropic Materials|anisotropic]] materials are non-dispersive. In other words, their constitutive [[parameters]] do not vary coated metallic cylinder with frequencya conformal foil. Most of the materials used in the design of RF and microwave circuits, antennas and systems fall into this frequency-independent category. However, there are other types of materials whose constitutive [[parameters]] exhibit frequency-dependent behaviors. [[EM.Cube]]'s [[FDTD Module]] currently offers four types of dispersive material:</td></tr></table>
# Debye === Moving Objects Among Different Material# Drude Material (Unmagnetized Plasma)# Lorentz Material# Left-handed Metamaterial Groups or EM.Cube Modules ===
The FDTD simulation engine uses the Auxiliary Differential Equation (ADE) method You can move any geometric object or a selection of objects from one material group to model dispersive materialsanother. You can also transfer objects among [[EM.Cube]] allows 's different modules. For example, you often need to define an arbitrary number of poles for each of the above dispersive material typesmove imported CAD models from CubeCAD to [[EM. Keep Tempo]]. To transfer objects, first select them in mind that all the objects belonging to project workspace or select their names in the same dispersive navigation tree. Then right-click on them and select <b>Move To &rarr; Module Name &rarr; Object Group</b> from the contextual menu. For example, if you want to move a selected object to a material group called "Dielectric_1" in [[EM.Tempo]], then you have to select the same dispersion propertiesmenu item '''Move To &rarr; [[EM.Tempo]] &rarr; Dielectric_1''' as shown in the figure below. Note that you can transfer several objects altogether using the keyboards's {{key|Ctrl}} or {{key|Shift}} keys to make multiple selections.
The complex permittivity of a Debye material with N poles is given by<table><tr><td>[[Image:Tempo_L11_Fig2.png|thumb|left|720px|Moving an imported object from CubeCAD to EM.Tempo.]]</td></tr></table>
:<math> \varepsilon (\omega) = \varepsilon_\infty + \sum_{p=1}^N \dfrac{\Delta \varepsilon_p}{1 + j\omega \tau_p}, \quad \Delta \varepsilon_p = \varepsilon_{sp} - \varepsilon_\infty </math><!--[[Image:FDTD18(2)EM.png]]-->Tempo's Computational Domain & Boundary Conditions ==
where <math>\varepsilon_{\infty}</math> is the value of the permittivity at infinite frequency, <math>\tau_p</math> is the relaxation time corresponding to the p''th'' pole having the unit of seconds, and <math>\varepsilon_{sp}</math> is the value of the static permittivity (at DC) corresponding to the p''th'' pole. <math>\Delta \varepsilon_p = \varepsilon_{sp} - \varepsilon_{\infty}</math> represents the change in permittivity due to the p''th'' pole.==The FDTD Solution Domain===
Unmagnetized plasmas are typically modeled as Drude materialsThe 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 complex permittivity objective of a Drude material with N poles termination boundary conditions is given by:to eliminate the reflections from the walls of the domain box back to the computational domain.
:<math> \varepsilonIn [[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 (\omegaglobal bounding box) = \varepsilon_{\infty} . The offset is specified in free- \sum_{p=1}^N \dfrac{{\omega_p}^2}{\omega^2 space wavelengths. A '''Custom'''- j\omega \nu_p} </math><!type domain, on the other hand, is defined as a fixed-size and fixed-[[Image:FDTD19location 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.png]]-->
where 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&lambda;<mathsub>\omega_p0</mathsub> and <math>\nu_p</math> are ). As soon as you draw your first object, a blue domain box shows up in the angular plasma frequency project workspace and angular collision frequency corresponding to encloses your object. As you add more objects and increase the p''th'' poleoverall size of your structure, respectively, and both are expressed in rad/sthe domain box grows accordingly to encompass your entire physical structure. For an unmagnetized plasmaWhen you delete objects from the project workspace, <math>\varepsilon_{\infty} = 1</math>the domain box also shrinks accordingly.
The complex permittivity of a Lorentz material with N poles is given by:===Changing the Domain Settings===
:<math> \varepsilon(\omega) = \varepsilon_{\infty} - \sum_{p=1}^N \dfrac{\Delta \varepsilon_p {\omega_p}^2}{\omega^2 - 2j\omega \delta_p - {\omega_p}^2}To set the solution domain of your FDTD project, \quad \Delta \varepsilon_p = \varepsilon_{sp} - \varepsilon_{\infty} </math><!--[[Imagefollow these steps:FDTD20.png]]-->
where <math>\omega _p</math> * Click the '''Domain''' [[Image:domain_icon.png]] button of the '''Simulate ''' Toolbar or select the menu item '''Simulate &rarr; Computational Domain &rarr; 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'''<mathnowiki>\delta_p: </mathnowiki> are '''Default''' or '''Custom'''.* If you select the angular resonant frequency "Default" domain type, the domain box is defined in terms of the offsets along the X, Y and angular damping 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 corresponding to and units).* When the p''th'Wavelength''' option is selected for '''Offset Units''' pole, respectivelyadditional free space is added around the structure by the specified ±X, ±Y and both ±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 expressed placed in rad/seach direction beyond the largest bounding box around the physical structure. Similar 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 a Debye materialenter values for the coordinates of the lower-left-front corner, <math>\Delta \varepsilon_p = \varepsilon_{sp} ''' Corner 1''', and the upper- \varepsilon_{\infty}</math> represents right-back corner, '''Corner 2''', of the domain box.* After you change in permittivity due values or settings, click the '''Apply''' button to make the changes effective. To recover the default values, click the p''th'Defaults' pole'' button of the dialog. Click '''OK''' to save the settings and close the dialog.
=== Inhomogeneous Materials ===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.
Coming soon[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Domain_Settings | Domain Settings]]'''.
<table><tr><td> [[Image:FDTD14.png|thumb|left|480px|EM.Tempo's domain settings dialog.]]</td></tr></table> === Thin Wires Settings the Domain Boundary Conditions=== [[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 the menu item '''Simulate &rarr; Computational Domain &rarr; 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. <table><tr><td> [[Image:FDTD13.png|thumb|left|480px|EM.Tempo's boundary conditions dialog.]]</td></tr></table> === Advanced CPML Setup === In open-boundary 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 not visible 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, eight 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 if a very low reflection is required (<-40dB).  {{Note|[[EM.Tempo]]'s default quarter wavelength offset for the domain box and its 8-layer CPML walls are very conservative choices and can be relaxed in many cases. An offset equal to eight free-space grid cells beyond the largest bounding box usually gives a more compact, but still valid, domain box.}} [[Image:Info_icon.png|30px]] Click here to learn more about the theory of '''[[Basic_Principles_of_The_Finite_Difference_Time_Domain_Method#CPML_vs._PML | Perfectly Matched Layer Termination]]'''. <table><tr><td> [[Image:FDTD MAN10.png|thumb|left|360px|The boundary CPML cells placed outside the visible domain box.]] </td><td> [[Image:FDTD15.png|thumb|left|400px|CPML Settings dialog.]] </td></tr></table> === Using CPML to Model 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. When a domain boundary wall is designated as CPML and its has a zero domain offset, meaning it touches a material block, the CPML cells outside the domain wall are reflected back inside the computational domain. In other words, the effective number of CPML layers will be twice the one specified in the CPML Settings dialog. This will effectively extend the material block infinitely beyond the boundary wall and will create an open boundary effect in the specified direction. It goes without saying that only "substrate" objects are supposed to touch the boundary walls in such a scenario. Because of the rolled-back CPML cells inside the domain, it is very important to make sure that other finite-sized parts and objects stay clear from the domain walls as well as from the invisible "interior" CPML cells.  {{Note|The current release of EM.Tempo does not support full-anisotropic or dispersive or gyrotropic layers of laterally infinite extents. In other words, your anisotropic or dispersive or gyrotropic material objects must not touch the CPML domain boundaries.}} <table><tr><td> [[Image:FDTD MAN8.png|thumb|left|360px|The domain box of a patch antenna with a finite-sized substrate and ground.]] </td><td> [[Image:FDTD MAN9.png|thumb|left|360px|The domain box of a laterally infinite patch antenna with zero ±X, ±Y and -Z domain offsets. Note that the bottom PEC plate can be replaced with a PEC boundary condition at the -Z domain wall.]] </td></tr></table> == EM.Tempo's Excitation Sources == === Source Variety in EM.Tempo ===
Coming soon.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:
{| borderclass="0wikitable"
|-
| valign! scope="topcol"|Icon[[Image:FDTD2.png! scope="col"|thumb|250px|EM.Tempo's PEC Dialog]]Source Type| valign! scope="topcol"|Applications[[Image:FDTD3.png|thumb|250px|EM.Tempo's PMC Dialog]]| valign! scope="topcol"|Host Object[[Image:FDTD4.png|thumb|250px|Dielectric Material dialog]]| valign! scope="topcol"|Spatial Domain[[Image:FDTD6.png|thumb|250px|[[FDTD Module]]'s Anisotropic Material dialog]]| valign! scope="topcol"|[[Image:FDTD8.png|thumb|250px|Debye Material Dialog]]Restrictions / Additional Requirements
|-
| style="width:30px;" | [[File:lumped_src_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Lumped Source |Lumped Source]]
| style="width:250px;" | General-purpose point voltage source
| style="width:200px;" | PEC or thin wire line parallel to a principal axis
| style="width:200px;" | A single point
| style="width:200px;" | None
|-
| style="width:30px;" | [[File:distrb_src_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Distributed Source |Distributed Source]]
| style="width:250px;" | General-purpose distributed planar source with a uniform, edge-singular or sinusoidal impressed field profile
| style="width:200px;" | Virtual rectangle strip parallel to a principal plane
| style="width:200px;" | A rectangular area
| style="width:200px;" | None
|-
| style="width:30px;" | [[File:mstrip_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Microstrip Port |Microstrip Port Source]]
| style="width:250px;" | Used for S-parameter computations in microstrip-type structures
| style="width:200px;" | PEC rectangle strip parallel to a principal plane
| style="width:200px;" | A vertical rectangular area underneath the host strip
| style="width:200px;" | Requires a PEC ground plane strip underneath the host strip
|-
| style="width:30px;" | [[File:cpw_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Coplanar Waveguide (CPW) Port |Coplanar Waveguide (CPW) Port Source]]
| style="width:250px;" | Used for S-parameter computations in CPW-type structures
| style="width:200px;" | PEC rectangle strip parallel to a principal plane
| style="width:200px;" | Two parallel horizontal rectangular areas attached to the opposite lateral edges the host center strip
| style="width:200px;" | Requires two parallel PEC ground strips on the two sides of the host center strip
|-
| style="width:30px;" | [[File:coax_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Coaxial Port |Coaxial Port Source]]
| style="width:250px;" | Used for S-parameter computations in coaxial-type structures
| style="width:200px;" | PEC Cylinder oriented along a principal axis
| style="width:200px;" | A circular ring area enveloping the host inner conductor cylinder
| style="width:200px;" | Requires a concentric hollow outer conductor cylinder
|-
| style="width:30px;" | [[File:wg_src_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Waveguide Port |Waveguide Port Source]]
| style="width:250px;" | Used for S-parameter computations in waveguide structures
| style="width:200px;" | Hollow PEC box oriented along a principal axis
| style="width:200px;" | A rectangular area at the cross section of the host hollow box
| style="width:200px;" | The host box object can have one capped end at most.
|-
| style="width:30px;" | [[File:hertz_src_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Filamentary_Current_Source |Filamentary Current Source]]
| style="width:250px;" | General-purpose wire current source of two types: Hertzian short dipole radiator and long wire current source with a uniform, triangular or sinusoidal current distribution profile
| style="width:200px;" | None (stand-alone source)
| style="width:200px;" | A line
| style="width:200px;" | Hertzian short dipole radiators can have an arbitrary orientation, but long wire current sources must be aligned along one of the principal axes
|-
| style="width:30px;" | [[File:plane_wave_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Plane Wave |Plane Wave Source]]
| style="width:250px;" | Used for modeling electromagnetic scattering & computation of reflection/transmission characteristics of periodic surfaces
| style="width:200px;" | None (stand-alone source)
| style="width:200px;" | Surface of a cube enclosing the physical structure
| style="width:200px;" | None
|-
| style="width:30px;" | [[File:gauss_icon.png]]
| style="width:150px;" | [[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Gaussian Beam |Gaussian Beam Source]]
| style="width:250px;" | Used for modeling focused beams
| style="width:200px;" | None (stand-alone source)
| style="width:200px;" | Surface of a cube enclosing the physical structure
| style="width:200px;" | None
|-
| style="width:30px;" | [[File:huyg_src_icon.png]]
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Huygens Source |Huygens Source]]
| style="width:250px;" | Used for modeling equivalent sources imported from other [[EM.Cube]] modules
| style="width:200px;" | None (stand-alone source)
| style="width:200px;" | Surface of a cube
| style="width:200px;" | Imported from a Huygens surface data file
|}
===Geometrical Rules & Material Hierarchy===
[[Image:fdtd14_tn.png|thumb|400px|Geometric construction of a dielectric-coated metallic cylinder.]]The following rules apply Click on each category to the definition of materials learn more details about each source type and objects in [[EMhow to define one.Tempo]]:
* Under the [[#Perfect ConductorsImage:Info_icon.png|PEC30px]] category, you can define More information about all the source types of solid, and surface and [[Curve Objects|curve objects]].* Under can be found in the '''[[#Perfect Conductors|PMC]] category, you can define only define rectangle strip objects parallel to the principal planesGlossary of EM. * Under the [[#Dielectric Cube's Materials|Dielectric]], [[#Anisotropic Materials|Anisotropic]] and [[#Dispersive Materials|Dispersive]] material categoriesSources, you can define only [[Solid Objects|solid objectsDevices & Other Physical Object Types]]'''.* 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 objectsIn the most general sense, although it is generally recommended that object overlaps be avoided in favor one can consider two fundamental types of clearly defined geometries excitation sources for an FDTD simulation: a lumped source and object boundariesa distributed source. If two or more objects of A lumped sources is localized at a single mesh point in the same material type and group overlapcomputational domain, they are merged using the Boolean union operation during the while a distributed source is spread over several mesh generation processcells. If two overlapping objects belong to two different material categories, then Among the material properties source types of the FDTD cells in above list, the overlap region will follow the EM.Tempo's material hierarchy rule. In that casemicrostrip port, CPW port, coaxial port, waveguide port, the overlap area cells will always be regarded as having the material type plane wave and Gaussian beam sources are indeed special cases of the higher prioritya distributed source for specific applications. According to this rule, the material types are ordered from the highest priority to the lowest in the following manner:
# [[#Perfect Conductors|A lumped source is the most commonly used way of exciting a structure in EM.Tempo. A lumped source is a voltage source with a series internal resistor that must be placed on a PEC]]# [[#Perfect Conductors|PMC]]# [[#Dispersive Materials|Dispersive]]# General [[#Anisotropic Materials|Anisotropic]]# Uniaxial [[#Anisotropic Materials|Anisotropic]]# [[#Dielectric Materials|Dielectric]]or thin wire line object that is parallel to one of the three principal axes. A lumped source is displayed 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. Using simple lumped sources, you can simulate a variety of transmission line structures including filters, couplers or antenna feeds. This approach may become less accurate at higher frequencies when the details of the feed structure 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. Waveguide source is used to excite the dominant TE<sub>10</sub> mode of a hollow rectangular waveguide. Other special types of distributed sources are microstrip port, CPW port and coaxial ports that can be used effectively to excite their respective transmission line structures.
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: When you create an inner PEC array of smaller radius and an outer dielectric object type that can host one 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. Alternativelyabove source types, you can model the same structure by an inner solid PEC cylinder enclosed by an outer hollow pipe-shaped dielectric cylinderalso associate a source array with that array object.
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Modeling_Finite-Sized_Source_Arrays | Modeling Finite-Sized Source Arrays]]'''.
A plane wave source is a popular excitation method that is used for calculation of the radar cross section of targets or reflection and transmission characteristics of periodic surfaces. A Gaussian beam source is another source type that is highly localized as opposed to the uniform plane wave. For both plane wave and Gaussian beam sources,[EM.Tempo requires a finite incidence surface to calculate the excitation. When you create either of these sources, a plane wave box or a Gaussian beam box is created as part of their definition. A trident symbol on the box shows the propagation vector as well as the E-field and H-field polarization vectors. The time domain plane wave or Gaussian beam excitation is calculated on the surface of this box and injected into the computational domain. The plane wave box is displayed in the project workspace as a purple wireframe box enclosing the structure, while the Gaussian beam box appears as a green wireframe box. Both boxes have an initial default size with an offset of 0.2&lambda;<sub>0</sub> from the largest bounding box enclosing your entire physical structure. In both source dialogs, the radio button '''Size: Default''' is selected by default. The radio button '''Size: Custom''' allows you to set the excitation box manually. The values for the coordinates of '''Corner 1''' and '''Corner 2''' can now be changed. Corner 1 is the front lower left corner and Corner 2 is the rear upper right corner of the box. The corner coordinates are defined in the world coordinate system (WCS). <table><tr><td> [[Image:FDTD MAN11.png|thumb|360px|A plane wave box enclosing a PEC cylinder at oblique incidence: &theta; =105&deg; and &phi; =Setting Computational Domain 315& Boundary Conditionsdeg;.]] </td><td> [[Image:FDTD MAN12.png|thumb|360px|A Gaussian beam box enclosing a PEC cylinder at oblique incidence: &theta; =105&deg; and &phi; =315&deg;. The concentric circles represent the beam's focus point and radius.]] </td></tr></table>
===The FDTD Solution DomainSimulating a Multiport Structure in EM.Tempo ===
The FDTD method requires a finite-extent solution domain. This is rather straightforward Ports are used to order and index sources for shielded structures, where a typical PEC enclosure box defines the computational domaincircuit parameter calculations like S/Y/Z parameters. For open-boundary structures like antennas and scatterersIn EM.Tempo, you can define ports at the computational domain must be truncated using appropriate termination boundary conditions. The objective location of termination boundary conditions is to eliminate the reflections from the walls following types of the domain box back to the computational domain. sources:
In *[[Glossary of EM.TempoCube's Materials, you can define two types Sources, Devices & Other Physical Object Types#Lumped Source |Lumped sources]]*[[Glossary of domain boxEM. A "Cube's Materials, Sources, Devices & Other Physical Object Types#Distributed Source |Distributed sources]]*[[Glossary of EM.Cube''Default'''" type domain is a box that is placed at a specified offset distance from the largest extents s Materials, Sources, Devices & Other Physical Object Types#Microstrip Port |Microstrip port sources]]*[[Glossary of your physical structure (global bounding box)EM. The offset is specified in free-space wavelengths. A "'Cube''Custom'''" type domains Materials, on the other handSources, is defined as a fixed-size and fixed-location box in the World Coordinate System Devices & Other Physical Object Types#Coplanar Waveguide (WCSCPW)Port |CPW port sources]]*[[Glossary of EM. In this caseCube's Materials, you have to specify the coordinates Sources, Devices & Other Physical Object Types#Coaxial Port |Coaxial port sources]]*[[Glossary of the lower left front corner (Corner 1) and upper right back corner (Corner 2) of the domain boxEM. Cube's Materials, Sources, Devices & Other Physical Object Types#Waveguide Port |Waveguide port sources]]
When Every time you start create a new project in EM.Temposource with one of the above types, the program asks if you want to initiate a default-type domain is automatically new port and associate it with the newly created with a default offset value set equal to a quarter free-space wavelength (0source.25&lambda;<sub>0</sub>). As soon as you draw If the physical structure of your first objectproject workspace has N sources, then N default ports are defined, a blue domain box shows up with one port assigned to each source according to their order in the project workspace and encloses your objectnavigation tree. As you add more objects and increase You can define any number of ports equal to or less than the overall size total number of sources in 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.
[[Image:FDTD14If your physical structure has two or more sources, but you have not defined any ports, all the sources will excite the structure simultaneously during the simulation.png|thumb|300px|[[However, when you assign N ports to the sources, then you have a multiport structure that is characterized by an N×N scattering matrix, an N×N impedance matrix, and an N×N admittance matrix. To calculate these matrices, EM.Tempo uses a binary excitation scheme in conjunction with the principle of linear superposition. In this binary scheme, the structure is analyzed a total of N times. Each time one of the N port-assigned sources is excited, and all the other port-assigned sources are turned off. In other words, the FDTD Module]]'s Domain Settings dialogsolver runs a "port sweep" internally.]]===Changing When the Domain Settings===''j''th port is excited, all the S<sub>ij</sub> parameters are calculated together based on the following definition:
To set the solution domain of your FDTD project, follow these steps:<math> S_{ij} = \sqrt{\frac{Re(Z_i)}{Re(Z_j)}} \cdot \frac{V_j - Z_j^*I_j}{V_i+Z_i I_i} </math>
* Click the '''Domain''' [[Image:domain_icon.png]] button of the '''Simulate ''' Toolbar or select '''Menu where V<sub> Simulate i</sub> Computational Domain > Domain Settings...''' or right click on the '''FDTD Domain''' item of the Navigation Tree and select '''Domain Settings...''' from is the contextual menuvoltage across Port i, 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'''I<nowikisub>: i</nowikisub>'''Default''' or '''Custom'''.* If you select the "Default" domain type, the domain box is defined in terms of the offsets along the X, Y current flowing into Port i 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 <sub>i</sub> is calculated at the center frequency characteristic impedance of the projectPort i. 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 sweep loop then moves 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 dialognext port until all ports have been excited.
By defaultIn summary, to analyze an N-port structure, EM.Tempo runs N separate FDTD time marching loops. The S/Z/Y parameters are frequency-domain quantities. The port voltages and currents are Fourier-transformed to the frequency domain box over the frequency range [fc-bw/2, fc+bw/2], where fc is shown as a wireframe box with blue linesthe center frequency and bw is the bandwidth of your project. You can change reduce the color frequency range of the domain box or hide itFourier transform by settings new values for '''Start''' and '''End''' frequencies in the "Port Definition" dialog as long as these are within the range [fc-bw/2, fc+bw/2]. By default, 200 frequency samples are taken over the specified frequency range. This number can be modified from the FDTD simulation engine settings dialog.
===Settings {{Note|In order to obtain correct results, the Domain Boundary Conditions===port impedance must equal the characteristic impedance of the transmission line on which the port is established. This is not automatically taken care of by EM.Tempo.}}
[[Image:FDTD13Info_icon.png|thumb|300px|[[FDTD Module30px]]Click here to learn more about the 's Boundary Conditions dialog''[[Glossary_of_EM.Cube%27s_Simulation_Observables_%26_Graph_Types#Port_Definition_Observable | Port Definition Observable]]EM'''.Tempo supports four types of domain boundary conditions:
* PEC* PMC* Convolutional Perfectly Matched Layers (CPML)* Periodic Boundary Conditions (PBC)[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Modeling_Coupled_Sources_.26_Ports | Modeling Coupled Sources & Ports]]'''.
By default, all the six sides of the computational domain box are set to CPML, representing a completely open<table><tr><td> [[Image:FDTD MAN15.png|thumb|left|640px|A two-boundary structureport CWP transmission line segment. Different boundary conditions can be assigned to each of the six walls of the domain box]] </td></tr><tr><td> [[Image:FDTD MAN16. The periodic boundary conditions are special ones that are assigned through png|thumb|left|480px|EM.Tempo's Periodicity Dialog and will be discussed later under modeling of periodic structuresport definition dialog. 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.</td></tr></table>
To define the boundary conditions of the solution domain, follow these steps:=== Excitation Waveform & Frequency Domain Computations ===
* Select When an FDTD simulation starts, your project'''Menu s source starts pumping energy into the computational domain at t > Simulate > Computational Domain > Boundary Conditions''0. Maxwell' s equations are solved in all cells at every time step until the solution converges, or right click on the '''Boundary Conditions''' item in the '''Computational Domain''' section maximum number of the Navigation Tree and select '''Boundary Conditionstime steps is reached...''' A physical source has a zero value at t = 0, but it rises from the contextual menuzero at t > 0 according to a specified waveform. The Boundary Conditions Dialog opensEM.* You need to assign the type Tempo currently offers four types of boundary condition on each of the six domain boundariestemporal waveform: ±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# Sinusoidal# Gaussian Pulse# Modulated Gaussian Pulse# Arbitrary User-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.Defined Function
In many electromagnetic modeling problems you need A sinusoidal waveform is single-tone and periodic. Its spectrum is concentrated around a boundary condition that simply absorbs all the incoming radiationsingle frequency, which is equal to your project's center frequency. For problems of this natureA Gaussian pulse decays exponentially as t &rarr; &infin;, an absorbing boundary condition (ABC) but it has a lowpass frequency spectrum which is often chosen that effectively minimizes wave reflections at the boundaryconcentrated around f = 0. EM.Tempo uses Convolutional Perfectly Matched Layers (CPML) for absorbing boundary conditions. The boundary CPML cells in the A modulated Gaussian pulse decays exponentially as t &rarr; &infin;, and it has a bandpass frequency spectrum concentrated around your project workspace are transparent to the user's center frequency. ButFor most practical problems, in effect, multiple rows of CPML cells are placed on the exterior side of each face of the visible domain boxa modulated Gaussian pulse waveform with EM.Tempo's default parameters provides an adequate performance.
Click here to learn more about The accuracy of the theory FDTD simulation results depends on the right choice of [[Perfectly Matched Layer Termination]]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.
Click here to learn more about [[Advanced CPML Setup]]{{Note|All of EM.Tempo's excitation sources have a default modulated Gaussian pulse waveform unless you change them.}}
===Modeling Planar Structures of Infinite Extents===[[Image:Info_icon.png|30px]] Click here to learn more about EM.Tempo's '''[[Basic_Principles_of_The_Finite_Difference_Time_Domain_Method#The_Relationship_Between_Excitation_Waveform_and_Frequency-Domain_Characteristics | Standard & Custom Waveforms and Discrete Fourier Transforms]]'''.
You can use === Defining Custom Waveforms in EM.Tempo === In some time-domain applications, you may want to model planar structures simulate the propagation of infinite extents. A planar substrate usually consists a certain kind of one or more dielectric layers, possibly with waveform in a PEC ground plane at its bottomcircuit or structure. To model a laterally infinite dielectric substrateIn addition to the default waveforms, EM.Tempo allows you must assign a PML boundary condition to define custom waveforms by either time or frequency specifications for each individual source in your project. If you open up the four lateral sides property dialog of any source type in EM.Tempo, you will see an {{key|Excitation Waveform...}} button located in the domain box and set the lateral domain offset values along "Source Properties" section of the ±X dialog. Clicking this button opens up EM.Tempo's Excitation Waveform dialog. From this dialog, you can override EM.Tempo's default waveform and ±Y directions all equal to zerocustomize your own temporal waveform. If The Excitation Waveform dialog offers three different options for defining the planar structure ends in an infinite dielectric half-space from waveform: * Automatically Generate Optimal Waveform* Use Custom Frequency Domain Specifications* Use Custom Time Domain Specifications The first option, which is also the bottomdefault option, constructs an optimal modulated Gaussian pulse waveform based on your project's specified center frequency and bandwidth. This optimal waveform guarantees the most accurate frequency domain computations for your simulation. The second option gives you must assign a PML boundary condition to the bottom side choice of the three standard waveforms and lets you define their waveform parameters in terms of frequency domain box characteristics like center frequency and set the -Z offset equal to zerobandwidth and spectral contents. This leaves only the +Z offset with The third option lets you define a nonzero valuecompletely arbitrary temporal waveform for your source.
{{Note|The current release Select the third option of waveform definition and then choose the '''Custom''' option from the '''Waveform Type''' dropdown list. Enter a mathematical expression for your custom waveform a function of the time variable "T" or "t" in the box labeled '''Expression'''. You can use arithmetic operations, standard and library functions as well as user-defined Python functions. [[EMImage:Info_icon.Tempopng|30px]] does not support anisotropic or dispersive layers of laterally infinite extents. In other wordsClick here to learn more about '''[[Using Python to Create Functions, your anisotropic or dispersive material objects must not touch the CPML domain boundariesModels & Scripts#Creating Custom Python Functions | Creating Custom Python Functions]]'''.}}
<table>
<tr>
<td> [[Image:FDTD22(1)FDTD MAN13.png|thumb|300pxleft|The computational domain box of a metallic sphere with nonzero offset in all directions720px|EM.Tempo's excitation waveform dialog showing the default standard modulated Gaussian pulse temporal waveform.]] </td><td> [[Image:FDTD24.png|thumb|400px|The computational domain box of a laterally infinite planar structure with a PEC ground and zero ±X and ±Y and -Z domain offsets.]] </td>
</tr>
</table>
When you define a custom waveform in the Excitation Waveform dialog, make sure to click the {{key|Accept}} button of the dialog to make your changes effective. A graph of your custom waveform is plotted in the right panel of the dialog for your review. It is important to keep in mind that typical time scales in the FDTD simulation of RF structures are on the order of nanosecond or smaller. Using the variable "fc" in the expression of your waveform definition usually takes care of this required scaling. Otherwise, you need to use scaling factors like 1e-9 explicitly in your expression.
For example, in the figure below, we have defined a modulated Bessel waveform in the form of "sp.j0(t/2e-9)*sin(2*pi*fc*t)", where sp.j0(x) denotes the zeroth-order Bessel function of the first kind burrowed from Python's special functions module.
== Generating the FDTD Mesh ==[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Glossary of EM.Cube's Python Functions#Standard Python Functions | Python's Standard & Advanced Mathematical Functions]]'''.
=== The {{Note| If you define a custom excitation waveform for your source, none of the standard frequency domain output data and parameters will be computed at the end of your FDTD Mesh Types ===simulation.}}
<table><tr><td> [[Image:FDTD28.png|thumb|350px|The adaptive FDTD meshes of a metallic sphere.]][[Image:FDTD34MAN14.png|thumb|350pxleft|A human head model and a cellular phone handset on its side.]][[Image:FDTD33.png720px|thumb|350px|The FDTD mesh of the human head model and the cellular phone handset.]][[EM.Tempo]]'s FDTD mesh is excitation waveform dialog showing a rectangular Yee mesh that extends to custom modulated Bessel temporal waveform defined using the entire computational domainPython function sp. It is primarily constructed from three mesh grid profiles along the XY, YZ and ZX principal planes. These projections together create a 3D rectangular j0(voxelx) mesh space. Straight lines, boxes and rectangular plates whose edges are aligned with the three principal axes are the simplest objects to mesh in EM.Tempo. Such objects preserve their exact shapes after discretization. All the objects with curved edges and curved surfaces or objects with straight edges and flat faces that are not parallel to the principal axes or principal planes (such as oblique lines and slanted lateral faces of a pyramid) are discretized using a staircase (Yee) profile.]]</td></tr></table>
== EM.Tempo's adaptive mesh generator uses a variable staircase profile, where the cell sizes of grid line spacing vary with the curvature (derivative) of the edge or face. As a result, a higher mesh resolution is achieved at "more curvy" areas to better capture the geometrical details.Active & Passive Devices ==
You have the option to choose one of the three FDTD mesh types:=== Defining Lumped Devices ===
* Adaptive Mesh* Regular Mesh* Fixed-Cell MeshIn [[EM.Tempo]], you can define eigth types of lumped devices:
The default choice is the adaptive mesh, which is a quite sophisticated mesh. The resolution # '''[[Glossary of the adaptive FDTD mesh is driven by the EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Resistor | Resistor]]''Mesh Density'# '', expressed in cells per effective wavelength'[[Glossary of EM. Since FDTD is a time-domain method and the excitation waveform may have a wideband spectral contentCube's Materials, the effective wavelength is calculated based on the highest frequency Sources, Devices & Other Physical Object Types#Inductor | Inductor]]'''# '''[[Glossary of the project: f<sub>max</sub> = f<sub>0</sub> + EM.Cube's Materials, Sources, Devices &Delta;f/2Other Physical Object Types#Capacitor | Capacitor]]''' # '''[[Glossary of EM.Cube's Materials, where f<sub>0</sub> is your projectSources, Devices & Other Physical Object Types#Series_RL_Device | Series RL Device]]''' # '''[[Glossary of EM.Cube's center frequency and Materials, Sources, Devices &Delta;f (or BW) is its specified bandwidthOther Physical Object Types#Parallel_RC_Device | Parallel RC Device]]''' # '''[[Glossary of EM. In other wordsCube's Materials, the effective wavelength in the free space is Sources, Devices &lambda;<sub>0Other Physical Object Types#Diode | Nonlinear Diode]]''' # '''[[Glossary of EM.Cube's Materials,eff</sub> = c / f<sub>max</sub>Sources, c being the speed Devices & Other Physical Object Types#Active_Lumped_One-Port_Device | Active Lumped One-Port Device]]''' # '''[[Glossary of light in the free spaceEM. Cube's Materials, Sources, Devices & Other Physical Object Types#Active_Lumped_Two-Port_Device | Active Lumped Two-Port Device]]'''
The adaptive Lumped devices are connected between two adjacent FDTD mesh, however, produces different grid cell sizes in the free space regions and inside dielectric regionsnodes. The effective wavelength in a dielectric material with relative permittivity e<sub>r</sub> Although lumped devices are not sources and permeability µ<sub>r</sub> is given by &lambda;<sub>d,eff</sub> = &lambda;<sub>0,eff</sub> / &radic;&epsilon;<sub>r</sub>&mu;<sub>r</sub>. Therefore, the average ratio of the cell size in passive types do not excite a dielectric region structure, their properties are similar to the cell size in the free space lumped sources. That is 1/&radic;(&epsilon;<sub>r</sub>&mu;<sub>r</sub>). The adaptive FDTD mesh generator also takes note of why they are listed under the geometrical features '''Sources''' section of the objects it discretizesnavigation tree. This is more visible in the case of curved solids, curves surfaces and curved wires or obliquely oriented planes and lines which need A lumped device has to be approximated using associated with a staircase profile. The mesh resolution varies with the slope of the geometrical shapes and tries PEC line object that is parallel to capture the curved segments in the best way. Another important feature one of the adaptive FDTD mesher is generation of gradual grid transitions between low-density and high-density mesh regionsthree principal axes. For exampleSimilar to lumped sources, this often happens around lumped devices have an '''Offset''' parameter that is equal to the interface distance between their location on the free space host line and high permittivity dielectric objects. Gradual mesh transitions provide better accuracy especially in the case of highly resonant structuresits start point.
According to the Courant-Friedrichs-Levy (CFL) stability criterion, the FDTD time step A lumped device is determined characterized by the smallest cell size in your FDTD mesh. Occasionally, [[FDTD Module]]'s adaptive mesh generator may create extremely tiny grid cells that would result in extremely small time steps. This would then translate into a very long computation time. [[EM.Cube]] offers the "Regular" FDTD mesh generator, which is a simplified version v-i equation of the adaptive mesh generator. In a regular FDTD mesh, the grid cell sizes stay rather the same in objects of the same material composition. The mesh resolution increases in materials of higher permittivity and/or permeability based on the effective wavelength in exactly the same way as the adaptive mesh. Finally, [[EM.Cube]]'s FDTD Modules offers a "Uniform" FDTD mesh generator. The uniform mesh consists of three uniform grids along the XY, YZ and ZX principal planes. In other words, the grid cell sizes &Delta;x, &Delta;y and &Delta;z are fixed throughout the entire computational domain. In this case, the uniform mesh generator has to fit your physical structure to the fixed mesh, rather than adapting the mesh to your physical structure. form:
:<math>i(t) = L \{{Note|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.}v(t) \}</math>
===Viewing where V(t) is the voltage across the device, i(t) is the current flowing through it and ''L'' is an operator function, which may involve differential or integral operators. Lumped devices are incorporated into the FDTD Mesh===grid across two adjacent nodes in a similar manner to lumped sources. At the location of a lumped device, the FDTD solver enforces the device's governing equation by relating the device voltage and current to the electric and magnetic field components and updating the fields accordingly at every time step. [[Image:Info_icon.png|30px]] Click here for a general discussion of '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#A_Review_of_Linear_.26_Nonlinear_Passive_.26_Active_Devices | Linear & Nonlinear Passive & Active Devices]]'''.
Because a full 3D FDTD mesh is difficult to visualize everywhere {{Note|Small values of inductance may result in the computational domain, only divergence of the discretized objects are displayed in [[EM.Cube]]'s "'''Mesh View'''" modeFDTD numerical scheme. In particular, only the outer boundary cells on the surface of [[Solid Objects|solid objects]] are shown. HoweverTo avoid this problem, you can view need to increase the mesh grid planes across the domain. You can even step these planes back resolution and forth inside the domain and view different adopt a higher mesh profiles density. This, of your physical structurecourse, may lead to a much longer computation time.}}
To generate an <table><tr><td> [[Image:FDTD mesh and view it the project workspace, follow these stepsMAN17.png|thumb|left|480px|EM.Tempo's lumped device dialog for nonlinear diode.]] </td></tr><tr><td> [[Image:FDTD MAN17A.png|thumb|left|480px|EM.Tempo's lumped device dialog for active lumped two-port device.]] </td></tr></table>
* First, click the '''Mesh Settings''' [[Image:mesh_settings.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Discretization > Mesh Settings...''', or right click on the '''Yee Mesh''' item of the Navigation Tree and select '''Mesh Settings...''' from the contextual menu, or use the keyboard shortcut '''Ctrl+G'''. The Mesh Settings Dialog opens up, where you can set the values of the various mesh [[parameters]] including the '''Mesh Density'''.* After specifying the desired mesh density, you can examine the mesh grid plane. The XY, YZ, and ZX mesh grid planes can be displayed through '''Menu > Simulate > Discretization > Grid Planes > XY Plane''', '''YZ Plane''' or '''ZX Plane''' or by right clicking on one of the three '''XY Plane''', '''YZ Plane''' or '''ZX Plane''' items in the '''Discretization''' section of the Navigation Tree and selecting '''Show''' from the contextual menu. The mesh grid planes give you a good idea of what the mesh will look like once it is generated and its resolution along different planes. To remove a mesh grid plane from the project workspace, select '''Menu > Simulate > Discretization > Grid Planes >''' one more time and remove the check mark in front of the name of the currently displayed mesh grid plane, or right click on the name of the currently displayed mesh grid plane in the Navigation Tree and select '''Hide''' from the contextual menu.* To display the FDTD mesh, click the '''Show Mesh''' [[Image:mesh_tool.png]] button of the '''Simulate''' '''Toolbar '''or select '''Menu > Simulate > Discretization > Show Mesh''' or use the keyboard shortcut '''Ctrl+M'''. This takes [[EM.Cube]] into its "Mesh View" mode, and the Yee mesh of the whole structure is displayed in the project workspace. While the mesh view is enabled, the '''Show Mesh''' [[Image:mesh_tool.png]] button remains depressed. To get back to [[EM.Cube]]'s "Normal View" mode, click this button one more time, or deselect '''Menu > Simulate > Discretization > Show Mesh''' to remove its check mark or simply hit the '''Esc Key''' of the keyboard.=== Defining Active Distributed Multiport Networks ===
In [[EM.Cube]]'s "Mesh View" mode, you can rotate or pan the view Tempo also provides two types of the project workspace, but you cannot edit the objects. '''"Show Mesh"''' generates a new mesh and displays it if there is none in the memory, or it simply displays an existing mesh in the memory. This is a useful feature because generating an FDTD mesh may take a long time depending on the complexity of structure and the total size of the computational domain. If you change the structure or alter the mesh settings, a new mesh is always generated. You can ignore any mesh in the memory and force [[EM.Cube]] to generate a fresh FDTD mesh from the ground up by selecting '''Menu > Simulate >Discretization > Regenerate Mesh''' or by right clicking on the '''Yee Mesh''' item of the Navigation Tree and selecting '''Regenerate''' from the contextual menu.active distributed multiport network devices:
=== Changing the FDTD Mesh Settings ===# '''[[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Active_Distributed_One-Port_Device | Active Distributed One-Port Device/Circuit]]''' # '''[[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Active_Distributed_Two-Port_Device | Active Distributed Two-Port Device/Circuit]]'''
[[Image:FDTD80Unlike the active lumped devices, these devices are rather distributed and their behavior is similar to a microstrip port source.png|thumb|600px|EMIn other words, the active distributed one-port device requires a rectangle strip object as a host, while the active distributed two-port device requires two rectangle strip objects for its definition. You can choose one of the edges of the strip object for establishing the circuit port. In the case of a two-port device, you need two parallel and end-to-end aligned strip objects.Tempo's Mesh Settings dialog]]
[[EM.Cube]]'s [[FDTD Module|FDTD module]] discretizes objects using what The circuit behavior of these devices is often referred to as the “staircase approximation”defined by a Netlist file. In this mesh generation scheme, the structure is recreated using a large number of cubic cells carefully assembled in Their property dialog provides a way that approximates text editor for simply writing the shape Netlist description of the original structuredevice. By default, You can also import an existing external Netlist file with a carefully calculated, "<u>'''Adaptive'''</u>.CIR" or " mesh of your physical structure is generated in order to satisfy .TXT" file extension using the following criteria:button labeled {{key|Load Netlist}}..
* Optimize the number of mesh cells in each dimension{{Note|[[RF. The product of the number of cells in each dimension determines the total mesh size. The larger the mesh size, the longer the simulation time, especially with the CPU version of the FDTD engine. Also, a very large mesh size requires more RAM, which may exceed your GPU memory capacity. Set the '''Minimum Mesh Density''' to a moderately low value to keep the mesh size manageable, but be careful not to set it too low (see the next item below).* Ensure simulation accuracy by requiring an acceptable minimum number of cells per wavelength through each object and in the empty (free) space between them and the computational domain boundaries. An effective wavelength is defined for each material at the highest frequency of the project's specified spectrum. We recommend a '''Minimum Mesh Density '''of at least 15-20 cellsSpice A/ wavelength. But for some resonant structures, 25 or even 30 cells per wavelength may be required to achieve acceptable accuracy. As you reduce the mesh density, the simulation accuracy decreases.* Accurately represent and approximate the boundaries of edges or surfaces that are not grid-aligned by closely adhering to their geometric contours. This is controlled by the '''Minimum Grid Spacing Over Geometric Contours''', which D]] can be specified either as generate a fraction of the free space grid spacing or as Netlist file corresponding to an absolute length value in existing circuit project units.* Maximize the minimum grid spacing in any dimension inside the computational domain and thus maximize the simulation time step. The time step size is dictated by the CFL stability criterion and is driven by the smallest grid spacing in each dimension. The smaller the time step, the larger the number of time steps required for convergence. This is controlled using the '''Absolute Minimum Grid Spacing''', which can then be specified either as a fraction of the free space grid spacing or as an absolute value. It is critical saved to accurately represent and precisely maintain the object edge/surface boundaries in certain structures like resonant antennas and filters, as the phase of the reflected fields/waves is affected by the object boundary positions. When object boundaries are very close to each other, the mesh needs to represent them by two separate, but very closely spaced, grid lines. To control the minimum allowed grid spacing, use the '''Absolute Minimum Grid Spacing '''settings,* Maintain a smooth grid text file with no abrupt jumps from low-density to high-density regionsa ". This feature is enabled with the '''Create Gradual Grid Transitions '''check box (always checked by default)TXT" file extension.}}
Occasionally, you may prefer a more regular FDTD mesh with almost equal grid line spacing everywhere, but still with a frequency-dependent cell size. In that case, you can select the "<utable>'''Regular'''</utr>" option of the <td> [[Image:ActiveOnePort.png|thumb|left|480px|EM.Tempo'''Mesh Type '''dropdown list in the FDTD Mesh Settings s active one-port device/circuit dialog. The regular FDTD mesh enforces only two of the above [[parameters]]: '''Minimum Mesh Density''' and '''Absolute Minimum Grid Spacing'''. Or you may opt for an absolutely "<u/td>'''Uniform'''</utr></table>" mesh type, for which you need to specify the '''Cell Size '''along the X, Y, Z directions in project units.
Click here to learn more about <table><tr><td> [[Advanced Meshing in Image:ActiveTwoPort.png|thumb|left|720px|EM.Tempo's active two-port device/circuit dialog.]]. </td></tr></table>
==Setting Up an Excitation Source= A Note on Using Active Devices ===
Before you can run an FDTD simulation, you have to define a source to excite When your project’s physical structure. contains an active device, EM.Tempo offers performs an EM-circuit co-simulation that involves both the full-wave FDTD EM solver and the SPICE circuit solver. In a variety global self-consistent co-simulation, at each time step of excitation mechanisms for your physical structure depending on your particular type the FDTD time marching loop, the electric and magnetic fields at the location of modeling problem or application:the device ports are used to compute the port voltages and currents. These quantities are then used in the SPCIE circuit solver to update all the voltages and currents at the internal nodes of the active device. The updated port voltages and currents are finally used to update the electric and magnetic fields in the physical mesh cells and the time marching loop proceeds to the next time step.
# '''Ideal Source''': A standEM.Tempo can handle several active one-ports and two-alone localized voltage source with an internal resistanceports simultaneously.# '''Lumped Source''': An ideal source In that must be place on case, all the devices are automatically compiled into a wire (a PEC line object).# '''Distributed Source''': A source with a prescribed impressed field component single Netlist that is defined on a rectangular region serves as the input of space parallel the SPICE solver. The individual internal nodes of each device need to a principal plane.# '''Waveguide Source''': A distributed source that must be placed across a hollow PEC box objectrenamed for the global Netlist.# '''Plane Wave Source''': A distributed source with a plane wave profile defined using a virtual box object enclosing Besides the main circuit, the entire physical structureNetlist of each device may contain several "subcircuits". # '''Gaussian Beam Source''': A distributed source with a complexNote that the subcircuit nodes are not re-valued focused Gaussian beam profile defined using a virtual box object enclosing indexed for the entire physical structure. # '''Huygens Source''': A distributed source defined based on know tangential electric and magnetic field components on the surface of a virtual box objectglobal Netlist as is expected.
===Defining {{Note|If you want to use a New Source===B-type nonlinear dependent source in the Netlist definition of an active one-port or two-port, it must be contained in a subcircuit definition rather than in the main circuit.}}
To create The figure below shows the geometry of a new source, follow these stepstwo-port amplifier device with microstrip input and output transmission lines. The Netlist of the two-port device is given below:
* 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. C1 1 0 1p
===Ideal Source===R1 1 0 50
An ideal source acts as a voltage source in series with an internal resistance that can be placed between any two adjacent mesh grid nodes anywhere in the computational domain. The ideal source is displayed as a small orange arrow in the project workspace. By default, [[EM.Tempo]] creates a +Z-directed ideal source located at the origin of coordinates (E1 2 0, 1 0, 0). You can change the direction of the ideal source to ±X, ±Y or ±Z.20
===Lumped Source===RS 2 3 10
A lumped source is the most commonly used way of exciting a structure in [[EM.Tempo]]. A lumped source is indeed 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]]. Lumped sources can also be place on line arrays. The property dialog of a lumped source has a drop-down list that contains the name of all the legitimate line objects (i.e. lines that are parallel to one of the principal axes) and line arrays. The '''Offset''' parameter of a lumped source is its distance from the start point of the host line. A lumped source by default is placed at the center of its host line. In other words, the default offset value is equal to half the length of the host line object.R2 3 0 50
{{Note|In order to create a lumped source, you must have at least one line object or line array in the project workspace.}}C2 3 0 1p
===Waveguide Source===----
A real waveguide structure is usually excited using some type of strategically located probe mechanism. EM.Tempo also provides the '''Waveguide Source'''In this case, a special type of linear voltage-controlled voltage source that excites (E1) with a prescribed TE<sub>10</sub> modal field distribution in a hollow rectangular waveguide structurevoltage gain of 20 has been used. The scattering [[parameters]] input and output nodes are calculated from knowledge of incident 1 and reflected fields at designated waveguide ports. Waveguide sources typically provide more accurate results for scattering [[parameters]] compared to lumped ports as they represent the actual dominant propagating modes at the transmission line ports3, respectively.
{{Note<table><tr><td> [[Image:Amp circ.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 thumb|left|420px|The schematic of the amplifier circuit in your projectRF.Spice A/D.}}]] </td></tr></table>
A waveguide source must The same Netlist can be placed across written using a rectangular waveguide which is oriented along one of the three principal axes. In other words, the plane of the waveguide source must be parallel to one of the principal (XY, YZ or ZX) coordinate planes. The property dialog of the waveguide source provides a dropB-down list containing the name of all the legitimate box objects or box arrays. The waveguide type nonlinear dependent source is displayed as an orange rectangle with a cross and a perpendicular small orange arrow across the host box object. The '''Offset''' parameter of a waveguide source is its distance from the base of the host box. A waveguide source by default is placed at the center of its host box. In other words, the default offset value is equal to half the longitudinal dimension of the host box object.follows:
=== Distributed Source===----
Waveguide sources are a special case of distributed sources in [[EM.Tempo]]. A Distributed Source is defined in a rectangular plane of finite extents, parallel to one of the three principal coordinate planes. An impressed electric field component is assumed across the specified rectangular area, which pumps energy into the computational domain. The current version of [[EM.Tempo]] provides three spatial field profiles for a distributed source:C1 1 0 1p
# Uniform# Sinusoidal# Edge-SingularX1 1 0 2 0 amp_dev
The sinusoidal type has the functional form cos(py/w), and the edge-singular type has the functional form .subckt amp_dev 1/v(1-(2y/w)^2), where y is the coordinate along the direction of field variation measured from the center of the rectangular area and w is its total width.3 4
[[Image:fdtd_src7_tn.png|thumb|250px|A distributed source placed between two horizontal rectangular strips.]]R1 1 2 50
In the '''Excitation Plane''' section of the dialogB1 3 4 v = 20*v(1, first you have to select the orientation of the source plane. The dropdown list labeled '''Direction''' gives three options: '''X, Y''' and '''Z''', which create planes parallel to the YZ, ZX and XY principal planes, respectively. Depending on the choice of the plane orientation, another dropdown list labeled '''Field Dir''' gives four options for the direction of the source field component. For example, the default plane orientation is X (parallel to the YZ-Plane2) and the available field directions are +Y, -Y, +Z and -Z. Next, you have to enter the coordinates of two opposite corners of the source plane: the lower left and upper right corners. You can type in values for the X, Y, Z coordinates or you can use the spin buttons to slide the default source planes in the project workspace.
===Lumped Load===.ends
In [[EM.Tempo]] you can define four lumped load types:RS 2 3 10
# '''Resistor''' with a Resistance value (R) in Ohms.# '''Capacitor''' with a Capacitance value (C) in pF.# '''Inductor''' with an Inductance value (L) in nH. # '''Nonlinear Diode''' with a Saturation Current (I<sub>s</sub>)in fA, ambient temperature (T) in degree Kelvin, and a dimensionless ideality factor (n). The default values of these [[parameters]] are 100fA, 300&deg;K and 1, respectively. R2 3 0 50
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. In order to create a lumped load, you must have at least one line object in your project. Lumped loads show up as small yellow arrows on their host line object. Similar to lumped a source, a lumped load has an offset parameter that determines its location on the host line. C2 3 0 1p
{{Note|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.}}----
{{Note| borderYou can use active one-ports to define custom voltage or current sources for your entire physical structure rather than using one of the physical excitation source types of the navigation tree.}} <table><tr><td> [[Image:Amp ex.png|thumb|left|550px|The geometry of a microstrip-based amplifier with an active two-port device.]] </td></tr></table> == EM.Tempo's Observables & Simulation Data Types== === Understanding the FDTD Observable Types === EM.Tempo's FDTD simulation engine calculates all the six electric and magnetic field components (E<sub>x</sub>, E<sub>y</sub>, E<sub>z</sub>, H<sub>x</sub>, H<sub>y</sub> and H<sub>z</sub>) at every mesh grid node at all time steps from t ="0until the end of the time marching 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.Tempo asks you to define project observables to instruct what types of output data you want in each simulation process. EM.Tempo offers the following types of output simulation data:  {| class="wikitable"|-! scope="col"| Icon! scope="col"| Simulation Data Type! scope="col"| Associated Observable Type! scope="col"| Applications! scope="col"| Restrictions|-| style="width:30px;" | [[File:fieldprobe_icon.png]]| style="width:150px;" | Temporal Waveforms| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Temporal_Field_Probe_Observable |Temporal Field Probe]]| style="width:300px;" | Computing electric and magnetic field components at a fixed location in the time domain| style="width:250px;" | None|-| style="width:30px;" | [[File:fieldprobe_icon.png]]| style="width:150px;" | Point Fields| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Temporal_Field_Probe_Observable |Temporal Field Probe]]| style="width:300px;" | Computing the amplitude and phase of electric and magnetic field components at a fixed location in the frequency domain| style="width:250px;" | None|-| style="width:30px;" | [[File:fieldsensor_icon.png]]| style="width:150px;" | Near-Field Distribution Maps| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field_Sensor_Observable |Near-Field Sensor]] | style="width:300px;" | Computing the amplitude and phase of electric and magnetic field components on a planar cross section of the computational domain in the frequency domain| style="width:250px;" | None|-| style="width:30px;" | [[File:fieldsensor_icon.png]]| style="width:150px;" | Time-Domain Near-Field Animation| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field_Sensor_Observable |Near-Field Sensor]] | style="width:300px;" | Computing either total electric or total magnetic field distribution on a planar cross section of the computational domain in the time domain| style="width:250px;" | The field maps are generated at certain specified time intervals|-| style="width:30px;" | [[File:farfield_icon.png]]| style="width:150px;" | Far-Field Radiation Patterns| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field_Radiation_Pattern_Observable |Far-Field Radiation Pattern]]| style="width:300px;" | Computing the 3D radiation pattern in spherical coordinates | style="width:250px;" | Requires one of these source types: lumped, distributed, microstrip, CPW, coaxial or waveguide port|-| style="width:30px;" | [[File:farfield_icon.png]]| style="width:150px;" | Far-Field Radiation Characteristics| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field_Radiation_Pattern_Observable |Far-Field Radiation Pattern]]| style="width:300px;" | Computing additional radiation characteristics such as directivity, axial ratio, side lobe levels, etc. | style="width:250px;" | Requires one of these source types: lumped, distributed, microstrip, CPW, coaxial or waveguide port|-| style="width:30px;" | [[File:farfield_icon.png]]| style="width:150px;" | Far-Field Scattering Patterns| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field_Radiation_Pattern_Observable |Far-Field Radiation Pattern]]| style="width:300px;" | Computing the 3D scattering pattern in spherical coordinates | style="width:250px;" | Requires a plane wave or Gaussian beam source|-| style="width:30px;" | [[File:rcs_icon.png]]| style="width:150px;" | Radar Cross Section| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Radar_Cross_Section_(RCS)_Observable | RCS]] | style="width:300px;" | Computing the bistatic and monostatic RCS of a target| style="width:250px;" | Requires a plane wave source|-| style="width:30px;" | [[File:rcs_icon.png]]| style="width:150px;" | Polarimetric Scattering Matrix Data| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Radar_Cross_Section_(RCS)_Observable | RCS]] | style="width:300px;" | Computing the scattering matrix of a target for various plane wave source incident angles| style="width:250px;" | Requires a plane wave source|-| style="width:30px;" | [[File:port_icon.png]]| style="width:150px;" | Port Characteristics| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Port_Definition_Observable |Port Definition]] | style="width:300px;" | Computing the S/Y/Z parameters and voltage standing wave ratio (VSWR)| style="width:250px;" | Requires one of these source types: lumped, distributed, microstrip, CPW, coaxial or waveguide port|-| style="width:30px;" | [[File:port_icon.png]]| style="width:150px;" | Port Voltages, Currents & Powers| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Port_Definition_Observable |Port Definition]] | style="width:300px;" | Computing the port voltages, port currents and total port powers in both time and frequency domains| style="width:250px;" | Requires one of these source types: lumped, distributed, microstrip, CPW, coaxial or waveguide port|-| style="width:30px;" | [[File:period_icon.png]]| style="width:150px;" | Periodic Reflection & Transmission Coefficients| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Periodic Characteristics |Periodic Characteristics]] (No observable definition required) | style="width:300px;" | Computing the reflection and transmission coefficients of a periodic surface| style="width:250px;" | Requires a plane wave source and periodic boundary conditions |-| style="width:30px;" | [[File:energy_icon.png]]| style="width:150px;" | Electric and Magnetic Energy| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Energy-Power_Observable | Energy-Power]]| style="width:300px;" | Computing the electric, magnetic and total energy inside the entire computational domain in the time domain| style="width:250px;" | None|-| style="width:30px;" | [[File:energy_icon.png]]| style="width:150px;" | Dissipated Power| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Energy-Power_Observable | Energy-Power]]| style="width:300px;" | Computing the total dissipated power inside the entire computational domain in the time domain| style="width:250px;" | None|-| style="width:30px;" | [[File:energy_icon.png]]| style="width:150px;" | Electric and Magnetic Energy Density| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Energy-Power_Observable | Energy-Power]]| style="width:300px;" | Computing the electric, magnetic and total energy density on a field sensor plane in the frequency domain| style="width:250px;" | Requires at least one field sensor observable|-| style="width:30px;" | [[File:energy_icon.png]]| style="width:150px;" | Dissipated Power (Ohmic Loss) Density and Specific Absorption Rate (SAR) Density| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Energy-Power_Observable | Energy-Power]]| style="width:300px;" | Computing the dissipated power density and SAR density on a field sensor plane in the frequency domain| style="width:250px;" | Requires at least one field sensor observable|-| style="width:30px;" | [[File:energy_icon.png]]| style="width:150px;" | Poynting Vector| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Energy-Power_Observable | Energy-Power]]| style="width:300px;" | Computing the complex Poynting vector on a field sensor plane in the frequency domain| style="width:250px;" | Requires at least one field sensor observable
|-
| valignstyle="topwidth:30px;"|[[ImageFile:FDTD42huyg_surf_icon.png|thumb|250px|EM.Tempo's Ideal Source dialog]]| valignstyle="topwidth:150px;"|[[Image:FDTD43.png|thumb|250px| EM.Tempo's Lumped Source dialog]]Equivalent Electric and Magnetic Surface Currents| valignstyle="topwidth:150px;"|[[Image:FDTD44.png|thumb|250px| Glossary of EM.TempoCube's Waveguide Source dialog.Simulation Observables & Graph Types#Huygens_Surface_Observable |Huygens Surface]]| valignstyle="topwidth:300px;"|Collecting tangential field data on a box to be used later as a Huygens source in other [[Image:FDTD45.png|thumb|250px| EM.Tempo's Distributed Source dialogCube]]modules| valignstyle="top"|[[Filewidth:FDTD56.png|thumb|250px;" |EM.Tempo's Lumped Load dialog.]]None
|-
| style="width:30px;" | [[File:CartData_icon.png]]
| style="width:150px;" | Generic 3D Cartesian Spatial Data
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#3D_Cartesian_Data_Observable | 3D Cartesian Data]]
| style="width:300px;" | Visualizing the contents of generic 3D Cartesian spatial data files overlaid on the project workspace
| style="width:250px;" | Requires import of an existing ".CAR" data file
|}
===Defining Ports===Click on each category to learn more details about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]].
[[Image:FDTD48Of 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 and VSWR are calculated over the entire specified bandwidth of your project. 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. 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.png|thumb|250px|The Port Definition dialog]]
Ports are used to order and index sources for circuit parameter calculations like S/Y/Z [[parameters]]. That is why they are defined === Examining the Near Fields in the '''Observables''' section of Navigation Tree. In [[EM.Cube]]'s [[FDTD Module]], you can define ports at the location of '''Lumped Sources''', '''Waveguide Sources''' Time and '''Distributed Sources'''. In other words, ideal sources or other types of sources cannot be used to define ports or calculate port characteristics.Frequency Domains ===
Ports are defined in EM.Tempo's FDTD time marching loop computes all the six electric and magnetic field components at every Yee cell of your structure'''Observables''' section s mesh at every time step. This amounts to a formidable amount of the Navigation Treedata that is computationally very inefficient to store. Right click on the '''Port Definition''' item Instead, you can instruct EM.Tempo to save a small potion of the Navigation Tree these data for visualization and select plotting purposes. Using a '''Insert New Port Definition...Field Probe''' from at a specified point, you can record the a time-domain field component over the contextual menuentire FDTD loop. The Port Definition Dialog opens up, showing time-domain results are also transformed to the default port assignmentsfrequency domain within the specified bandwidth using a discrete Fourier transform (DFT). 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 <table><tr><td> [[Image:FDTD77.png|thumb|left|480px|Time-domain evolution of the Navigation Treeelectric field at a given point.]]</td></tr></table>
[[Image:FDTD49In EM.png|thumb|350px|Reassigning sources 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 ports 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 defining coupled portsdisplayed.]]
You can define any number of ports equal to or less than the total number of sources in your project<table><tr><td> [[Image:FDTD_FS2. The Port List of the dialog shows a list of all the ports in ascending order, with their associated sources and the portpng|thumb|left|420px|EM.Tempo'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 Field Sensor dialog. Keep in mind that after deleting ]] </td></tr><tr><td> [[Image:FDTD_FS1_new.png|thumb|left|480px|Three field sensor planes defined around a port, you will have PEC ellipsoid illuminated by a plane wave 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 ]] </td></tr></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"><tr><td> [[Image:FDTD_FS3_new. These ports are now associated with png|thumb|left|360px|Electric field distribution above the new port being definedPEC plate. You can move sources from the "Associated" table back to the "Available" table on the left using the left arrow (''']] <---''') button of the dialog/td><td> [[Image:FDTD_FS4_new. You can associate more than one source with png|thumb|left|360px|Magnetic field distribution above the same port. In that case, you will have coupled sources, collectively representing a coupled portPEC plate.]] </td></tr></table>
{{Note|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 === Computing Far-Field Characteristics in [[EM.Cube]].}}FDTD ===
You can change Far fields are the characteristic impedance of a port by selecting it from asymptotic form the Port List and clicking the '''Edit '''button of the dialogfields when r &rarr; &infin; or k<sub>0</sub>r >> 1. This opens up the Edit Port dialogUnder these assumptions, where you can enter a new value in the box labeled '''Impedance'''.fields propagate outward as transverse electromagnetic (TEM) waves:
<math> \mathbf{H^{ff}(r)} ===Modeling Feeds in Practical Applications===\frac{1}{\eta_0} \mathbf{ \hat{k} \times E^{ff}(r)} </math>
Using simple Far fields are typically computed in the spherical coordinate system as functions of the elevation and azimuth observation angles &theta; and &phi;. Only far-zone electric fields are normally considered. When your physical structure is excited using a lumped sourcessource, you can simulate a variety waveguide source, a distributed source, a short dipole source, or an array of transmission line structures such sources, the far fields represent the radiation pattern of your source(s) in [[EMthe far zone.Tempo]] including filtersIn that case, couplers you need to define a '''Radiation Pattern - Far Field Observable''' for your project. When your physical structure is illuminated by a plane wave source or antenna feeds and a Gaussian beam source, the far fields represent the scattered fields. In the case of a plane source, you can calculate their scattering [[parameters]]compute the radar cross section (RCS) of your target structure. This approach may become less accurate at very high frequencies when In that case, you need to define an '''RCS - Far Field Observable''' for your project. In the details FDTD method, the far fields are calculated using a near-field-to-far-field transformation of the feed structures become important and field quantities on a given closed surface. EM.Tempo uses rectangular boxes to define these closed surfaces. You can no longer be modeled with highly localized lumped portsuse EM.Tempo's default radiation box or define your own custom box. Normally, the radiation box must enclose the entire FDTD structure. In such casesthis case, it is recommended the calculated radiation pattern corresponds to use “Distributed Sources”, which utilize accurate modal field distributions at the ports for calculation entire radiating structure. Alternatively, you can define a custom radiation box that may contain only parts of the incident and reflected wavesa structure, which results in a partial radiation pattern.
Click here to learn more about <table><tr><td> [[Using Lumped Sources to Model Transmission Line FeedsImage:FDTD_FF1.png|thumb|left|720px|EM.Tempo's Radiation Pattern dialog.]]</td></tr><tr><td> [[Image:FDTD_FF3.png|thumb|left|600px|EM.Tempo's Radar Cross Section dialog.]] </td></tr></table>
Click here to learn more about [[Using Sources The default radiation box is placed at an offset of 0.1& Loads in Antenna Arrays]]lambda;<sub>0</sub> from the largest bounding box of your physical structure. You can change the offset value from the "Far Field Acceleration" dialog, which can be accessed by clicking the {{key|Acceleration...}} button of EM.Tempo's Radiation Pattern dialog. Calculation of far-field characteristics at high angular resolutions can be a very time consuming computational task. You can accelerate this process by setting a lower '''Max. Far Field Sampling Rate''' from the same dialog. The default sampling rate is 30 samples per wavelength. A low sampling rate will under-sample the mesh grid points on the radiation box.
===Plane Wave Source===<table><tr><td> [[Image:FDTD_FF2.png|thumb|left|480px|EM.Tempo's far field acceleration dialog.]] </td></tr></table>
In [[EM.Tempo]], you can excite === Radiation Pattern Above a structure with an arbitrary incident plane wave and compute its scattering pattern or biHalf-static radar cross section. A plane wave excitation is defined by its propagation vector indicating the direction of incidence and its polarization. [[EM.Tempo]] provides the following polarization options:Space Medium ===
* TMz* TEz* Custom Linear* LCPz* RCPzIn EM.Tempo, you can use CPML boundary conditions with zero offsets to model a structure with infinite lateral extents. The calculation of the far fields using the near-field-to-far-field transformation 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 EM.Tempo provides the dyadic Green's functions for four scenarios:
The direction of incidence is defined through the &theta; and &phi; angles of the unit propagation vector # Free space background# Free space background terminated in the spherical coordinate system. The values of these angles are set in degrees in the boxes labeled '''Theta''' and '''Phi'''. The default incidence angles are &theta; = 180° and &phi; = 0° representing a normally incident an infinite PEC ground plane wave propagating along at the -Z direction with a +X-polarized E-vector. In the TM<sub>z</sub> and TE<sub>z</sub> polarization cases, the magnetic and electric fields are parallel to the XY plane, respectively. The components of the unit propagation vector and normalized E- and H-field vectors are displayed bottom# Free space background terminated in the source dialog. This way of defining a an infinite PMC ground plane wave source is more convenient when the structure is laid out along the XY plane and Z-axis such as layered and periodic structures. In the more general case of custom linear polarization, besides the incidence angles, you have to enter the components of the unit electric '''Field Vector'''. However, two requirements must be satisfied: '''ê . ê''' = 1 and '''ê × k''' = 0 . This can be enforced using the '''Validate''' button at the bottom of the dialog. If these conditions are not met, # Free space background terminated in an error message is generated. The left-hand (LCP) and rightinfinite dielectric half-hand (RCP) circular polarization cases are restricted to normal incidences only (&theta; = 180°).space medium
<table><tr><td> [[Image:FDTD133.png|thumb|left|480px|EM.Tempo requires a finite plane wave incidence surface to calculate the excitation. When you create a plane wave source, a plane wave box is created as part of its definition. A trident symbol on the box shows the propagation vector as well as the E-'s far field and H-field polarization vectors. The time domain plane wave excitation is calculated on the surface of this box and injected into the computational domain. The plane wave box is displayed in the project workspace as a purple wireframe box enclosing the structure. Initially, the radio button '''Size: Default''' is selected. With this option, the boundaries of the excitation box always have a distance of three cells from the bounding box of the geometry and cannot be changed. The radio button '''Size: Custom''' allows you to set the excitation box manually. The values for the coordinates of '''Corner 1''' and '''Corner 2''' can now be changed. Corner 1 is the front lower left corner and Corner 2 is the rear upper right corner of the box. The box has to be defined in the world coordinate system (WCS)background medium dialog.]] </td></tr></table>
===Gaussian Beam Source===In other words, EM.Tempo lets you calculate the far field radiation pattern of a structure in the presence of any of the above four background structure types. You can set these choices in EM.Tempo's "Far Field Background Medium" dialog. To access this dialog, open the Radiation Pattern dialog and click the button labeled {{key|Background...}}. From this dialog, you can also set the Z-coordinate of the top of the terminating half-space medium. If you set the -Z boundary condition of your computational domain to PEC or PMC types, the cases of infinite PEC or PMC ground planes from the above list are automatically selected, respectively, and the Z-coordinates of the ground plane and the bottom face of the computational domain will be identical.
[[EM.Cube]] gives you an option to illuminate objects The fourth case applies when your computational domain ends from the bottom in a dielectric layer with a focused beam instead of CPML -Z boundary along with a uniform plane wave-Z domain offset equal to zero. The focused beam is a Gaussian beam, which is a solution of If you set the paraxial approximation lateral domain offset values along the ±X and ±Y directions equal to the Helmholtz equation. The fundamental Gaussian beam zero, too, , then your structure is rotationally-symmetric about its propagation axis, and its transverse field distribution follows a Gaussian function profilein effect, terminated at an infinite half-space dielectric medium. The critical parameter is In that case, you have to specify the beam radius wpermittivity &epsilon;<sub>0r</sub>and electric conductivity &sigma; it is of the point where terminating medium in the field drops by 1/e from its value at Background Medium dialog. You may additionally want to set the Z-coordinate of the top of that dielectric layer as the centerposition of the interface between the free space and the lower dielectric half-space. The beam opens up into a cone along Note that the current version of EM.Tempo does not calculate the propagation directionfar-field Green's function of a conductor-backed, dielectric substrate with a cone angle finite layer thickness. To use the background medium feature of tan &theta; = &lambda;<sub>0</sub>/(&pi;EM.&omega;<sub>0<Tempo, your structure can have either an infinite PEC/sub>) (&lambda;<sub>0</sub> is the freePMC ground or a dielectric half-space wavelength)termination.
Similar to the plane wave source, a Gaussian beam is define by spherical angles of incidence Theta and Phi in degrees<table><tr><td> [[Image:fdtd_out36_tn. You can also set the '''Polarization''' png|thumb|left|360px|Radiation pattern of the Gaussian Beam and choose from the three optionsa vertical dipole above PEC ground.]] </td><td> [[Image: '''TMfdtd_out37_tn.png|thumb|left|360px|Radiation pattern of a vertical dipole above PMC ground.]] <sub/td>z</subtr>''', '''TE<subtr>z</subtd>''' and '''User Defined'''[[Image:fdtd_out38_tn. A default Excitation Box three cells away from the bounding box png|thumb|left|360px|Radiation pattern of the geometry is initially suggested, i.ea horizontal dipole above PEC ground. the radio button '''Size]] </td><td> [[Image: Default''' is selected by defaultfdtd_out39_tn. The radio button '''Size: Custom''' allows you to set the excitation box manually by modifying the coordinates of '''Corner 1''' (front lower png|thumb|left) and '''Corner 2''' (back upper right) |360px|Radiation pattern of the box in the world coordinate system (WCS). The Gaussian beam box is displayed in the project workspace as a green wireframe box enclosing the structure. A translucent green circle normal to the direction propagation shows the footprint of Gaussian beam at its focal (waist) pointhorizontal dipole above PMC ground.]] </td></tr></table>
Unlike plane waves, a Gaussian beam is a localized field. Therefore, you need to specify the '''Beam Properties'''. This includes the coordinates of the beam's '''Focus''', which is the beam's waist center in the world coordinate system as well as the beam's '''Radius''' in project units.=== Generating and Working with Multi-Frequency Simulation Data ===
{{note|One of the primary advantages of the FDTD method is its ability to run wideband EM simulations. The beam radius has frequency domain data are computed by transforming the time-domain data to be at least &lambda;<sub>0<the Fourier domain. This is done automatically when EM.Tempo computes the port characteristics such as S/sub>Z/&pi;; otherwise, strong fields appear outside the excitation box}}Y parameters. The following frequency-domain observables are defined at a single frequency:
===* Near-Field Sensor* Far-field Radiation Pattern* RCS* Huygens Source===Surface
Coming soonThe default computation frequency of the above observables is the project's center frequency (fc).You can change the observable frequency from the observable's property dialog and enter any frequency in Hz.The reason these types of simulation data are computed at a single frequency is their typically very large size.However, you can define as many instances of these observables and set different frequency values for each one. In the case of radiation pattern and RCS, there are two dialogs that can be accessed from the navigation tree. Right-click on the "Fer-Field Radiation Patterns" or "Radar Cross Sections" items of the navigation tree and select '''Insert Multi-Frequency Radiation Pattern...''' or '''Insert Multi-Frequency RCS...''' from the contextual menu.
{| border="0"<table>|-| valign="top"|<tr><td> [[Image:FDTD46RadPattern multi.png|thumb|250pxleft|[[FDTD Module]]360px|EM.Tempo's Plane Wave Multi-frequency Radiation Pattern dialog.]]</td>| valign="top"|<td> [[Image:FDTD47RCS multi.png|thumb|250pxleft|[[FDTD Module]]360px|EM.Tempo's Gaussian Beam Multi-frequency Radar Cross Section dialog.]]</td>|-</tr>|}</table>
==Running FDTD Simulations==Using the multi-frequency dialogs, you can set the value of Start Frequency, Stop Frequency and Step Frequency in Hz. You can also set the values of Theta Angle Increment and Phi Angle Increment in degrees. The default values of both quantities are 5&deg;. In the case of RCS, you have choose one of the two options: '''Bistatic RCS''' or '''Monostatic RCS'''.
===Strategy For An Accurate & Efficient FDTD Simulation===To facilitate the process of all the defining multi-frequency observables in EM.Tempo, you can also use the following Python functions at the command line:
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.emag_field_sensor_multi_freq(f1,f2,df,dir_coordinate,x0,y0,z0)
For certain problemsemag_farfield_multi_freq(f1, more than one combination or choice of settings and [[parameters]] may still give acceptable results. In most casesf2, [[EM.Cube]] tries to make these choices convenient for you by suggesting default settings or default parameter values. For exampledf, [[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 exampletheta_incr, 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.phi_incr)
{{Note|Keep in mind that you are always responsible for the choice of excitation source and the project observables. In other wordsemag_rcs_bistatic_multi_freq(f1, [[EM.Cube]] does not automatically provide a default excitation source or does not suggest default observables.}}f2,df,theta_incr,phi_incr)
[[Image:FDTD57.png|thumb|350px|EM.Tempo's Run dialog.]][[Image:FDTD58.png|thumb|500px|EM.Tempo's Simulation Engine Settings dialog]][[Image:FDTD66.png|thumb|420px|EM.Tempo's output window.]]===Running A Wideband FDTD Simulation===emag_rcs_monostatic_multi_freq(f1,f2,df,theta_incr,phi_incr)
Once you build your physical structure in the project workspace and define an excitation sourceemag_huygens_surface_multi_freq(f1, you are ready to run an FDTD simulation. The simulation engine will run even if you have not defined any observables. Obviouslyf2, no simulation data will be generated in that case. [[EM.Cube]]'s [[FDTD Module]] currently offers several different simulation modes as follows:df,x1,y1,z1,x2,y2,z2)
# Analysis# Frequency Sweep# Parametric Sweep# Angular Sweep# R/T Macromodel# Dispersion Sweep# Huygens Sweep# [[Optimization]]# HDMR----
Analysis is In the simplest above Python functions, f1 and most straightforward simulation mode of f2 are the [[FDTD Module]]. It runs start and stop frequencies, respectively, and df is the FDTD time marching loop oncefrequency increment, all expressed in Hz. At Note that the end of above commands simply create and insert the specified observables in the navigation tree. They do not run perform a simulation, . The created observables have the timesame "base name" with ordered numeric indices. For example, far-domain field data radiation patterns are transformed into the frequency domain using a discrete Fourier transform (DFT). As a resultnames as Multi_FF_1, Multi_FF_2, 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''' [[Image:run_iconEM.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Run...''' from the menu bar or use Tempo also provides some additional Python functions for the keyboard shortcut '''Ctrl+R'''far-field radiation patterns and RCS observables.
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 U<sub>n</sub>/U<sub>max</sub> in dB. An [[EM.Cube]] FDTD simulation is terminated when the ratio U<sub>n</sub>/U<sub>max</sub> 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 ===emag_farfield_consolidate(x1,x2,dx,base_name)
An FDTD simulation involves a number of numerical [[parameters]] that can be accessed and modified from the FDTD Engine Settings Dialog. To open this dialogemag_rcs_consolidate(x1, select '''Menu > Simulate > Simulation Engine Settings... '''or open the '''Run Dialog'''x2, and click the '''Settings''' button next to the engine dropdown list.dx,base_name)
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 U<sub>n</sub> = &Sigma; [ &epsilon;<sub>0</sub>|'''E<sub>i,n</sub>'''|<sup>2</sup> + &mu;<sub>0</sub>|'''H<sub>i,n</sub>'''|<sup>2</sup> ].&Delta;V<sub>i</sub> 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 U<sub>n</sub> has a zero value at t = 0 emag_farfield_explode(i.e. n = 0base_name), and its value starts to build up over time. With a Gaussian or Modulated Gaussian pulse waveform, U<sub>n</sub> reach a maximum value U<sub>max</sub> at some time step and starts to decline thereafter. The ratio 10.log( U<sub>n</sub>/ U<sub>max</sub>) 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 U<sub>n</sub> 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.
{{Note|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.}}emag_rcs_explode(base_name)
The "'''Acceleration'''" section of the FDTD Simulation Engine Settings dialog give three options for the FDTD kernel:emag_farfield_average(n,base_name)
# Serial CPU Solver# Multi-Core CPU Solver# GPU Solveremag_rcs_average(n,base_name)
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 The two standard FDTD formulations: '''Scattered Field '''(SF) formulation and '''Total Field - Scattered Field''' (TF"consolidate" Python functions take the results of multi-SF) formulation. [[EM.Tempo]] offers both formulationsfrequency simulation observables and merge them into a single data file. The TFbase name in the case of far-SF solver field radiation patterns is "Multi_FF" as pointed out earlier. The name of the default choice and resulting consolidated data file is typically much faster than the SF solver for most problemssame as the base name with a "_All" suffix and a ".DAT" file extension. In the case of far-field radiation patterns, it is "Multi_FF_All.DAT". The two cases"explode" Python functions take a consolidated data file names as "base_name_All.DAT" and break it up into several single-frequency ".RAD" or ".RCS" data files. Finally, when the structure has periodic boundary conditions two "average" Python functions take several radiation pattern or infinite CPML boundary conditions (zero domain offsets)RCS files with a common base name in the current project folder, only compute their average and save the SF solver is availableresults to a new data file named "base_name_ave" with a ".RAD" or ".RCS" file extensions, respectively.
=== Excitation Waveform & Frequency Domain Computations =Generating the FDTD Mesh in EM.Tempo ==
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:'s Mesh Types ===
# Sinusoidal# Gaussian Pulse# Modulated Gaussian Pulse# Arbitrary User-Defined FunctionEM.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 in the XY, YZ and ZX principal planes. These projections together create a 3D mesh space consisting of a large number of cubic volume cells (voxels) carefully assembled in a way that approximates the shape of the original structure.
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 &rarr; &infin;, but it has a lowpass frequency spectrum which is concentrated around f = 0. A modulated Gaussian pulse decays exponentially as t &rarr; &infin;, and it has a bandpass frequency spectrum concentrated around your project's center frequency. For most practical problems, a modulated Gaussian pulse waveform with In EM.Tempo's default [[parameters]] provides an adequate performance. , you can choose one of the three FDTD mesh types:
If you use a Gaussian pulse or a modulated Gaussian pulse waveform to drive your FDTD source, after a certain number of time steps, the total energy of the computational domain drops to very negligible levels. At the point, you can consider your solution to have converged. If you drive your FDTD source by a sinusoidal waveform, the total energy of the computational domain will oscillate indefinitely, and you have to force the time loop to terminate after a certain number of time steps assuming a steady state have been reached.* Adaptive Mesh* Regular Mesh* Fixed-Cell Mesh
The accuracy EM.Tempo's default mesh generator produces an adaptive brick mesh of your physical structure, whose mesh resolution varies with the frequency. As the operating frequency of your project increases, the default '''Adaptive''' FDTD simulation results depends on mesh generator creates a larger number of smaller voxels for a given physical structure. The adaptive mesh is optimized in such a way as to capture all the right choice geometric details, curvatures and thin slanted plates or sheets, which often pose a challenge to staircase meshing. It usually provides a reasonably accurate discretization of temporal waveformmost complex structures. [[ 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. In that case, you can use EM.Cube]]Tempo's default waveform choice '''Regular''' FDTD mesh generator, which is indeed a modulated Gaussian pulse. At the end simplified version of an its adaptive mesh generator. The regular FDTD simulation, the time domain field data mesh enforces only two criteria: minimum mesh density and absolute minimum grid spacing. The grid cell sizes in this mesh are transformed into almost uniform in objects of the frequency domain at your specified frequency same material composition or bandwidth to produce the desired observablesin free-space regions.
In addition to EM.Tempo also offers a uniform, frequency-independent, '''Fixed-Cell''' FDTD mesh generator. The fixed-cell mesh consists of three uniform grids in the default waveformsXY, [[EMYZ and ZX principal planes.Cube]] allows However, the ability uniform mesh cell dimensions along the three direction, i.e. &Delta;x, &Delta;y and &Delta;z do not have to define custom waveforms by either time or frequency specifications on a per source basisbe equal. The fixed-cell mesh generator tries to fit your physical structure to the mesh grid rather than adapting the mesh to your physical structure.
{{Note|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.}} [[Image:Info_icon.png|30px]] Click here to learn more about EM.Tempo's ''[[Waveforms and Discrete Fourier TransformsPreparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.27s_Mesh_Generators | Working with Mesh Generator]]'''.
== Working with FDTD Simulation Data ==[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Adaptive_Yee_Mesh | EM.Tempo's Adaptive Brick Mesh Generator]]'''.
===The FDTD Observable Types===[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Fixed-Cell_Brick_Mesh | EM.Tempo's Fixed-Cell Brick Mesh Generator]]'''.
In <table><tr><td> [[EMImage:Tempo L11 Fig5.Cube]], project observables are the simulation data that are generated by the simulation engine at the end of each simulation runpng|thumb|left|550px|A human head model and a cellular phone handset on its side. [[EM.Cube]]'s FDTD simulation engine calculates all the six electric and magnetic field components (E<sub>x</subtd>, E<sub>y</subtr>, E<subtr>z</subtd>, H<sub>x [[Image:Tempo L11 Fig7.png|thumb|left|550px|The FDTD mesh of the human head model and the cellular phone handset.]] </subtd>, H<sub>y</subtr> and H<subtr>z</subtd>) at every [[Image:Tempo L11 Fig8.png|thumb|left|550px|Another view of the FDTD mesh grid node at all time steps from t = 0 until the end of the time loop. However, in order to save memory space, the engine has to destroy the temporal field data from each time step to the next human head model and reuse the memorycellular phone handset. 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.</td></tr></table>
[[EM.Cube]]'s FDTD Modules currently offers === Discretizing the following types of observable:Physical Structure Using the Adaptive Yee Mesh ===
* '''Field Probe''' for monitoring E- and H-field components at a fixed location in both time and frequency domainsEM. * Tempo'''Field Sensor''' for monitoring E- and H-field components on s default mesh generator creates an adaptive brick volume mesh that uses a cross section variable staircase profile, where the grid line spacings vary with the curvature (derivative) of the computational domain in both time and frequency domainsobject edges or faces.* '''Far Field Radiation Pattern''' for monitoring As a result, a higher mesh resolution is produced at "curved" areas to better capture the radiation behavior geometrical details. The resolution of your structure.* the adaptive FDTD mesh is driven by the '''Far Field RCSMesh Density''' for monitoring the scattering behavior of your structure, expressed in cells per effective wavelength.* '''Huygens Surface''' for collecting tangential field data on Since FDTD is a box. * '''Port Definition''' for calculating time-domain method and the Sexcitation waveform may have a wideband spectral content, the effective wavelength is calculated based on the highest frequency of the project: f<sub>max</Ysub> = f<sub>0</Z [[parameters]] sub> + &Delta;f/2, where f<sub>0</sub> (or fc) is your project's center frequency and voltage standing wave ratio &Delta;f (VSWRor bw)is its specified bandwidth. * '''Domain Energy''' for calculating In other words, the total electric and magnetic energy effective wavelength in the computational domainfree space is &lambda;<sub>0,eff</sub> = c / f<sub>max</sub>, c being the speed of light in the free space.* '''Periodic Characteristics''' for calculating the reflection The effective wavelength in a dielectric material with relative permittivity &epsilon;<sub>r</sub> and transmission coefficients when your periodic structure permeability &mu;<sub>r</sub> is excited given by a plane wave source&lambda;<sub>d,eff</sub> = &lambda;<sub>0,eff</sub> / &radic;&epsilon;<sub>r</sub>&mu;<sub>r</sub>.
Of [[EM.Tempo]]'s frequency domain observablesThe adaptive FDTD mesh, the near fieldsby default, far fields produces different grid cell sizes in the free space regions than inside dielectric regions. The effective wavelength in a dielectric material with relative permittivity e<sub>r</sub> and all of their associated [[parameters]] like directivitypermeability µ<sub>r</sub> is given by &lambda;<sub>d, RCSeff</sub> = &lambda;<sub>0, etceff</sub> / &radic;&epsilon;<sub>r</sub>&mu;<sub>r</sub>.Therefore, are calculated at the average ratio of the cell size in a certain single frequency that dielectric region to the cell size in the free space is specified as part 1/&radic;(&epsilon;<sub>r</sub>&mu;<sub>r</sub>). The adaptive FDTD mesh generator also takes note of the definition geometrical features of the observableobjects it discretizes. On This is more visible in the other handcase of curved solids, port characteristics like S/Y/Z [[parameters]], VSWR curves surfaces and periodic characteristics like reflection curved wires or obliquely oriented planes and transmission coefficientslines which need to be approximated using a staircase profile. The mesh resolution varies with the slope of the geometrical shapes and tries to capture the curved segments in the best way. Another important feature of the adaptive FDTD mesher is generation of gradual grid transitions between low-density and high-density mesh regions. For example, are calculated over this often happens around the interface between the free space and high permittivity dielectric objects. Gradual mesh transitions provide better accuracy especially in the entire specified bandwidth case of your projecthighly resonant structures.
===Defining a New Observable===A carefully calculated, "<u>'''Adaptive'''</u>" mesh of your physical structure is generated in order to satisfy the following criteria:
To create * Optimize the number of mesh cells in each dimension. The product of the number of cells in all the three dimension determines the total mesh size. The larger the mesh size, the longer the simulation time, especially with the CPU version of the FDTD engine. Also, a new observablevery large mesh size requires more RAM, follow these which may exceed your GPU memory capacity. Set the '''Minimum Mesh Density''' to a moderately low value to keep the mesh size manageable, but be careful not to set it too low (see the next item below).* Ensure simulation accuracy by requiring an acceptable minimum number of cells per wavelength through each object and in the empty (free) space between them and the computational domain boundaries. An effective wavelength is defined for each material at the highest frequency of the project's specified spectrum. We recommend a '''Minimum Mesh Density '''of at least 15-20 cells/ wavelength. But for some resonant structures, 25 or even 30 cells per wavelength may be required to achieve acceptable accuracy. As you reduce the mesh density, the simulation accuracy decreases.* Accurately represent and approximate the boundaries of edges or surfaces that are not grid-aligned by closely adhering to their geometric contours. This is controlled by the '''Minimum Grid Spacing Over Geometric Contours''', which can be specified either as a fraction of the free space grid spacing or as an absolute length value in project units.* Maximize the minimum grid spacing in any dimension inside the computational domain and thus maximize the simulation time step. The time step size is dictated by the CFL stability criterion and is driven by the smallest grid spacing in each dimension. The smaller the time step, the larger the number of time steps:required for convergence. This is controlled using the '''Absolute Minimum Grid Spacing''', which can be specified either as a fraction of the free space grid spacing or as an absolute value. It is critical to accurately represent and precisely maintain the object edge/surface boundaries in certain structures like resonant antennas and filters, as the phase of the reflected fields/waves is affected by the object boundary positions. When object boundaries are very close to each other, the mesh needs to represent them by two separate, but very closely spaced, grid lines. To control the minimum allowed grid spacing, use the '''Absolute Minimum Grid Spacing '''settings,* Maintain a smooth grid with no abrupt jumps from low-density to high-density regions. This feature is enabled with the '''Create Gradual Grid Transitions '''check box (always checked by default).
* Right click on When [[EM.Cube]] generates an FDTD mesh, a large number of geometrical considerations are taken into account. These include the name bounding box of each object and its corners, the observable type in ends of a line, the '''Observables''' section apex of a cone or pyramid, or the navigation tree locations of lumped sources, field probes and select '''Insert New Observablesensors, vertices of plane wave or far field boxes, to name a few examples.These points are “locked” as fixed grid nodes in the FDTD mesh.[[EM.''' from Cube]] determines these points internally to generate a mesh that best approximates the contextual menuoriginal structure. This opens up the respective Observable Dialog.* You As you saw earlier, you can change use the default name of FDTD mesh settings to control the observable as well as its color.* Change the location shape and resolution of the observablemesh, if necessaryfor example, by around the changing the values curved portions of the supplied coordinate fields. * Change the orientation of the observableyour structure, if necessary. * In the case of frequency domain observables, change the observed frequency or frequency rangeon slanted lines or faces, if necessaryetc. These settings are global and apply to all the objects making up your physical structure.
Once you define an observableYou can control the global mesh more selectively using the Advanced FDTD Mesh Settings Dialog. To open this dialog, click the '''Advanced '''button at the bottom of the FDTD Mesh Settings dialog. For example, you can always changes its [[parameters]] later from its property dialogcontrol the quality of the gradual grid transitions by setting the value of '''Max Adjacent Cell Size Ratio'''. The default value of this parameter is 1.3, which can be accessed from its right-click contextual menumaintains a smooth grid line spacing scheme with no more than 1:1.3 ratio for adjacent cells. By default, grid lines are enforced at all source and observable locations. You can have the option to disable this feature and round up source locations to their closest grid lines. You may also delete observablesuncheck the box labeled "Adapt mesh resolution to material properties". In that case, the same effective wavelength will be used to determine the mesh resolution inside all materials as well as the free-space regions.
===Probing Fields in Time and Frequency Domains===<table><tr><td> [[Image:FDTD80.png|thumb|left|720px|EM.Tempo's mesh settings dialog.]]</td></tr></table>
[[Image:FDTD75.png|thumb|300px|FDTD Field Probe Dialog]]Field probes monitor The figures below compare the field components at a certain point in three types of the computational domain. They record the time-domain field data during the entire time loop and compute their frequency spectrum using FDTD mesh for a discrete Fourier transformdielectric ellipsoid with &epsilon;<sub>r</sub> = 4. By computing Note that the time domain fields at a certain location, you can examine cell size inside the transient response of a system at that location. This dielectric region is also very useful for monitoring half the convergence of FDTD time marching loop. [[EM.Cube]]'s field probes allow you to save the temporal values of a field component at a specified point cell size in the computational domain during the entire time marching loopair region. You can plot the time domain field components as a function of the time step index. You can also plot the spectral contents of those field components, i.e. their Fourier transform, over the project's specified frequency bandwidth. To define a new field probe, follow these steps:
* Right click on the '''Field Probe''' item in the '''Observables''' section of the Navigation Tree and select '''Insert New Observable...'''<table>* You can change the default name of the probe as well as its color<tr><td> [[Image:FDTD MAN21. png|thumb|left|360px|The field probe is displayed as geometry of a small green arrow in the Project Workspacedielectric ellipsoid with &epsilon;<sub>r</sub> = 4.]]</td><td> * By default [[EMImage:FDTD MAN22.Cube]] creates a field probe located at the origin png|thumb|left|360px|The adaptive mesh of coordinates (0,0,0). You can move the probe to any location by changing its X, Y and Z coordinatesdielectric ellipsoid.]]* In the Probe Location section of the dialog, you can also set the '''Direction''' of the probe from a dropdown list that contains ±X, ±Y and ±Z options. The default direction is +Z.</td></tr></table>
<table><tr><td> [[Image:FDTD76FDTD MAN18.png|thumb|300pxleft|An X360px|The top view of the adaptive FDTD mesh of the dielectric ellipsoid.]]</td><td> [[Image:FDTD MAN19.png|thumb|left|360px|The top view of the regular FDTD mesh of the dielectric ellipsoid with the same mesh density.]]</td></tr><tr><td> [[Image:FDTD MAN20A.png|thumb|left|360px|The top view of the fixed-cell FDTD mesh of the dielectric ellipsoid using the larger cell size inside the air region.]]</td><td> [[Image:FDTD MAN20.png|thumb|left|360px|The top view of the fixed-directed probe placed above a PEC plate illuminated by a normally incident plane wavecell FDTD mesh of the dielectric ellipsoid using the smaller cell size inside the dielectric region.]]</td></tr></table>
At The figures below compare the end of an low resolution and high resolution adaptive FDTD simulation, the electric and magnetic field components along the specified probe direction are saved at the probe's location. Both the time domain fields from t = 0 to the last time step and their frequency domain spectrum are recorded. You can plot these data in EM.Grid, which can be accessed from [[EM.Cube]]'s Data Manager. To open data manager, click the '''Data Manager''' [[Image:data_manager_icon.png]] button meshes of the '''Simulate Toolbar''', or select '''Simulate > Data Manager''' from the menu bar, or right click on the '''Data Manager''' item of the Navigation Tree and select Open Data Managera PEC parabolic reflector... from the contextual menu, or use the keyboard shortcut '''Ctrl+D'''. In the Data manager Dialog, you see This structure involves both a list of all the data files available for plotting. These include the time-domain curved surface and frequency-domain probe data files with '''.DAT''' and '''.CPX''' file extensions, respectively. Select any data file by clicking and highlighting its row in the table and then click the '''Plot''' button to plot the graph. The time-domain field probe is plotted on a Cartesian graph showing the selected field component as a function of time step. The frequency-domain probe contains two Cartesian graphs: amplitude and phase of the selected field component over the project's frequency rangevery thin surface.
{{twoimg|FDTD77<table><tr><td> [[Image:FDTD MAN23.png|Time domain component plotted vs. timethumb|FDTD78.pngleft|Probed field plotted vs. frequency450px|The geometry of a PEC parabolic reflector.}}]]</td></tr></table>
===Frequency<table><tr><td> [[Image:FDTD MAN24.png|thumb|left|360px|The low-Domain Near Field Visualization===resolution adaptive mesh of the PEC parabolic reflector.]]</td><td> [[Image:FDTD MAN27.png|thumb|left|360px|The high-resolution adaptive mesh of the PEC parabolic reflector.]]</td></tr><tr><td> [[Image:FDTD MAN26.png|thumb|left|360px|The top (XY) view of the low-resolution adaptive mesh of the PEC parabolic reflector.]]</td><td> [[Image:FDTD MAN25.png|thumb|left|360px|The right (YZ) view of the low-resolution adaptive mesh of the PEC parabolic reflector.]]</td></tr></table>
[[Image:FDTD71(1).png|thumb|300px|[[FDTD Module]]'s Field Sensor dialog]]=== Adding Fixed Grid Points to the Adaptive Yee Mesh ===
In [[EMAdding fixed grid points to an FDTD mesh increases its resolution locally.Cube]] you can visualize Each fixed grid point adds three grid lines along the near fields at a specific frequency in a specific plane of the computational domainthree principal axes passing through that point. At the end of an FDTD simulation, all the time domain electric You can add as many fixed grid points as you desire and magnetic field values are available create dense meshes at all mesh nodescertain regions. These temporal quantities are transformed into Fixed grid points appear as grey points in the frequency domain using discrete Fourier transforms to calculate the electric and magnetic fields on a specified sensor planeproject workspace. To define insert a new Field Sensorfixed grid point, follow these steps:
* Right click on Open the Fixed Grid Points Dialog by selecting '''Field Sensors''' item in the '''Observables''' section of the Navigation Tree and select '''Insert New ObservableMenu > Simulate > Discretization > Fixed Grid Points...'''* The or by right-clicking on the '''LabelFDTD''' box allows you to change the sensor’s name.* Set the '''DirectionMesh''' item of the field sensor. This is specified by the normal vector of the sensor plane. The available options are '''X''', '''Y''' navigation tree and selecting '''ZFixed Grid Points Settings...''', with * Click the last being {{key|Add/Edit}} button to open the default option"Add Fixed Grid Point" dialog.* By default [[EM.Cube]] creates a field sensor plane passing through Enter the origin of coordinates (0X,0Y,0Z) and coinciding with the XY plane. Note that the sensor plane extends across the entire computational domain. You can change the location coordinates of the sensor plane to any new fixed point by typing in new values for the X, Y coordinate boxes and Z coordinatesclick the {{key|OK}} button. Keep in mind that you can move a sensor plane only along * To modify the specified direction coordinates of the sensor. Thereforean existing fixed grid point, only one coordinate can effectively be changed. As you increment or decrement this coordinate, you can observe select it from the sensor plane moving along that direction in table and click the project workspace{{key|Add/Edit}} button.* The frequency at which You can also remove a fix grid point from the field is evaluated has to be specified in FDTD mesh using the box labeled '''Near Field Frequency''' in the project's frequency unit. By default, this is equal to the project's center frequency{{key|Delete}} button.
After closing the Field Sensor Dialog, the a new field sensor item immediately appears under the '''Observables''' section <table><tr><td> [[Image:FDTD36.png|thumb|left|480px|A user-defined fixed grid point in the Navigation Tree and can be right clicked for additional editing. Once an FDTD simulation is finished, a total of 14 plots are added to every Field Sensor node in the Navigation Treemesh. These include the magnitude and phase of all three components of E and H fields and the total electric and magnetic field values at the specified frequency]] </td></tr><tr><td> [[Image:FDTD38. Click on any of these items and png|thumb|left|480px|Adding a color-coded intensity plot of it is visualized new fixed grid point in the project workspaceEM. A legend box appears in the upper right corner of the field plot, which can be dragged around using the left mouse buttonTempo's fixed grid points settings dialog. The values of the magnitude plots are normalized between 0 and 1. The legend box contains the minimum field value corresponding to 0 of the color map, maximum field value corresponding to 1 of the color map, and the unit of the field quantity, which is V]] </m for E-field and Atd></m for H-fieldtr><tr><td> [[Image:FDTD39. png|thumb|left|480px|The values of phase plots are always shown in Radians between -p and p. To display the fields properly, the structure is cut through the field sensor plane, and only part of it is shown. If the structure still blocks your view, you can simply hide or freeze it. You can change the view of the field plot with the available view operations such as rotating, panning, zooming, etc"Add Fixed Grid Point" dialog.]] </td></tr></table>
{{twoimg|FDTD72.png|Field Sensor (EAccording to the Courant-field) |FDTD74.png|Field Sensor (HFriedrichs-fieldLevy (CFL)}}stability criterion, the FDTD time step is determined by the smallest cell size in your FDTD mesh. Occasionally, EM.Tempo's adaptive mesh generator may create extremely tiny grid cells that would result in extremely small time steps. This would then translate into a very long computation time. [[EM.Cube]] offers the "Regular" FDTD mesh generator, which is a simplified version of the adaptive mesh generator. In a regular FDTD mesh, the grid cell sizes stay rather the same in objects of the same material composition. The mesh resolution increases in materials of higher permittivity and/or permeability based on the effective wavelength in exactly the same way as the adaptive mesh.
[[Image:FDTD73.png|thumb|300px|Cartesian graph of total magnetic field vs. Y-index along === Profiling the crosshair in the field senor plane.]]Brick Mesh ===
You can plot frequency domain fields in EM.Grid on 2D Cartesian graphs. Using field probes, you can plot any frequency domain field component as a function of frequency over the specified bandwidth at any point within the computational domain. Using field sensors, you can plot the total frequency domain fields as a function of position (spatial coordinates) across the computational domain. Every field sensor has a crosshair made up of two perpendicular lines parallel to the boundaries of the sensor plane. When you define a field sensor A volumetric brick mesh is overwhelming for the first time, the crosshair passes through the origin of coordinates. You can change the location of the crosshair on the sensor plane using the other two coordinate boxes besides the one that moves the location of the sensor plane. At the end of an FDTD simulation, visualization in addition to the 3D near field mapsspace. For this reason, [[EM.Cube]] also generates 2D Cartesian graphs 's mesh view shows only the outline of the total electric and magnetic fields along cells on exterior surface of the two perpendicular crosshair lines(staircased) meshed objects. A total The mesh grid planes provide a 2D profile of four Cartesian data files are generated, two for total E-field and two for total H-field the mesh cells along the two lines. You can plot these data in EM.Grid, which can be accessed from [[EM.Cube]]'s Data Managerprincipal coordinate planes. To open data managerdisplay a mesh grid plane, click the select '''Data ManagerMenu > Simulate > Discretization > Grid Planes >''' [[Image:data_manager_icon.png]] button and pick one of the three options: '''Simulate ToolbarXY Plane''', '''YZ Plane''' or select '''Simulate > Data ManagerZX Plane''' from the menu bar, or . You may also right click on one of the '''Data ManagerXY Plane''' item of the Navigation Tree and select Open Data Manager... from the contextual menu, or use the keyboard shortcut '''Ctrl+DYZ Plane'''. In the Data Manager dialog, you see a list of all the data files available for plotting including the frequency-domain sensor data files with a or '''.DATZX Plane''' file extension. Select any data file by clicking and highlighting its row items in the table and then click the '''PlotDiscretization''' button to plot the graph. Frequency domain field sensor graphs show the total field as a function of cell index along one section of the principal axes. If the FDTD mesh is uniform in that direction, the position is found by multiplying the cell index by the cell dimension navigation tree and offsetting with respect to lower-front-left corner of select '''Show''' from the computational domaincontextual menu.
===Visualizing Field Evolution While a mesh grid plane is visible, you can move it back and forth between the two boundary planes at the two opposite sides of the computational domain. You can do this in Time Domain===one of the following four ways:
In * Using the course of the FDTD time marching process, a tremendous amount of data are generated that include all the six E/H field components at every Yee cell and at every time step. The temporal field values at a sensor plane are of particular interest. Such plots show the evolution of the fields as a function of time starting from time t = 0, when all the fields are zero everywhere in the computational domain. [[EM.Cube]] can record snapshots of the field sensor data as the time loop marches forward. When you define a field sensor for the first time, by default it displays the frequency domain near field data. In order to record and save the time domain data, you have to open the field sensorkeyboard's property dialog by right clicking on the field sensor's name in the Navigation Tree Page Up {{key|PgUp}} key and Page Down {{key|PgDn}} key.* By selecting '''Properties...Menu > Simulate > Discretization > Grid Planes > Increment Grid'''from the contextual menu. In the section titled or '''Sensor DomainDecrement Grid''', select .* By right clicking on one of the radio button labeled '''Time DomainXY Plane'''. Also, in the section titled "Field Display - Multiple Plots", select one of the two radio buttons labeled '''E-FieldYZ Plane''' or '''H-FieldZX Plane'''. By default, the time domain field data are saved every 100 time steps. To change this setting, right click on items in the '''Field SensorsDiscretization''' item in section of the Navigation Tree navigation tree and select selecting '''Time Domain Settings...Increment Grid''' or ''' Decrement Grid''' from the contextual menu. In * Using the Time Domain Settings Dialog, change the value of the box labeled '''Sampling Interval (in time steps)'''keyboard shortcut {{key|>}} or {{key|<}}.
As you “step through” or profile the mesh grid, you can see how the structure is discretized along internal planes of the computational domain.
Time domain <table><tr><td> [[animation]] is available only for FDTD simulations of "Analysis" typeImage:Tempo L1 Fig11. It cannot be used in conjunction with sweep simulationspng|thumb|left|360px|The XY mesh grid plane. Once the FDTD Analysis is finished, you can click any of the field plots and visualize it in the main window or you can animate them by right clicking on the field sensor's name in the Navigation Tree and selecting '''[[Animation]]''' from the contextual menu. You can change the </td><td> [[animation]] settings from the '''[[Animation]] Controls Dialog'''Image:Tempo L1 Fig12.png|thumb|left|360px|The YZ mesh grid plane. Note that the [[animation]] loop repeats itself indefinitely until you close the [[Animation]] Controls dialog or hit the keyboard’s '''Esc Key'''.</td></tr></table>
{{twoimg|FDTD121.png|Field sensor setup for time-domain output|FDTD126.png|Time interval settings}}=== The FDTD Grid Coordinate System (GCS) ===
When your physical structure is discretized using the brick mesh generator, a second coordinate system becomes available to you. The mesh grid coordinate system allows you to specify any location in the computational domain in terms of node indices on the mesh grid. [[EM.Cube]] displays the total number of mesh grid lines of the simulation domain (N<sub>x</sub> × N<sub>y</sub> × N<sub>z</sub>) along the three principal axes on the '''Status Bar'''. Therefore, the number of cells in each direction is one less than the number of grid lines, i.e. (N<sub>x</sub>-1)× (N<sub>y</sub>-1) × (N<sub>z</sub>-1). The lower left front corner of the domain box (Xmin, Ymin, Zmin) becomes the origin of the mesh grid coordinate system (I =0, J =0, K =Scattering Parameters and Port Characteristics0). The upper right back corner of the domain box (Xmax, Ymax, Zmax) therefore becomes (I =N<sub>x</sub>-1, J =N<sub>y</sub>-1, K =N<sub>z</sub>-1).
If your physical structure is excited by a Lumped Source or a Waveguide Source or a Distributed Source, and one or more ports have been defined, the FDTD engine calculates the scattering (S) [[parametersEM.Cube]]allows you to navigate through the mesh grid and evaluate the grid points individually. Every time you display one of the three mesh grid planes, impedance the "'''Grid Coordinate System (ZGCS) '''" is automatically activated. On the Status Bar, you will see [[parameters]] and admittance (Y) [[parametersImage:statusgrid.png]] instead of the selected ports. The S default [[parametersImage:statusworld.png]] . This means that the current coordinates reported on Status Bar are calculated based now expressed in grid coordinate system. The current grid point is displayed by a small white circle on the port impedances specified in current mesh grid plane, and it always starts from (I = 0, J = 0, K = 0). Using the projectkeyboard's "Port Definition". If more than one port has been defined in '''Arrow Keys''', you can move the projectwhite circle through the mesh grid plane and read the current node's (I, J, K) indices on the FDTD engine runs an internal port sweepstatus bar. Each port is excited separately with all You can switch back to the other ports turned off. When "'''World Coordinate System (WCS)'''" or change to the "''j'Domain Coordinate System'th port ''" by double-clicking the status bar box that shows the current coordinate system and cycling through the three options. The domain coordinate system is excited, all one that establishes its origin at the S<sub>ij</sub> [[parameters]] are calculated together based on lower left front corner of the following definition:computational domain and measure distances in project unit just like the WCS.
:<mathtable> S_{ij} = \sqrt{\frac{Re(Z_i)}{Re(Z_j)}} \cdot \frac{V_j - Z_j^*I_j}{V_i+Z_i I_i} </mathtr><!--td> [[Image:FDTD82FDTD35(1).png|thumb|left|480px|The grid cursor on the XY grid plane and its grid coordinates (I, J, K) displayed on the status bar.]]--</td></tr></table>
where V<sub>i</sub> is the voltage across Port i, I<sub>i</sub> is the current flowing into Port i and Z<sub>i</sub> is the characteristic impedance of Port i. The sweep loop then moves to the next port until all ports have been excited. After the == Running FDTD simulation is finished, the S [[parameters]] are written into output ASCII data files. Since these data are complex, they are stored as '''.CPX''' files. Every file begins with a header starting with "#". Besides the scattering [[parameters]], the admittance (Y) and impedance (Z) [[parameters]] are also calculated and saved Simulations in complex data files with '''.CPX''' file extensionsEM. Tempo ==
Click here for more details on the computation of [[Data_Visualization_and_Processing#Port_Characteristics | Port Characteristics]]=== EM.Tempo's Simulation Modes ===
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. [[Image:FDTD116EM.png|thumb|300px|[[FDTD ModuleTempo]]'s Radiation Pattern dialog]][[Imagecurrently offers several different simulation modes as follows:fdtd_out26_tn.png|thumb|300px|The 3D total radiation pattern of a dipole antenna: polar type.]]===Far Field Calculations in FDTD===
For radiating structures or scatterers, the far field quantities are {| class="wikitable"|-! scope="col"| Simulation Mode! scope="col"| Usage! scope="col"| Number of primary interest. Engine Runs! scope="col"| Frequency ! scope="col"| Restrictions|-| style="width:120px;" | [[EM#Running a Wideband FDTD Analysis | Wideband Analysis]]| style="width:270px;" | Simulates the physical structure "As Is"| style="width:100px;" | Single run| style="width:200px;" | Generates data for many frequency samples| style="width:150px;" | None|-| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.TempoCube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]] computes | style="width:270px;" | Varies the far field radiation patterns value(s) of an antenna one or more project variables| style="width:100px;" | Multiple runs| style="width:200px;" | Runs at the radar cross section center frequency fc| style="width:150px;" | None|-| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Performing_Optimization_in_EM.Cube | Optimization]]| style="width:270px;" | Optimizes the value(RCSs) of one or more project variables to achieve a target. In general, by far fields we mean design goal | style="width:100px;" | Multiple runs | style="width:200px;" | Runs at the electric fields evaluated in the far zone of a physical structure. In the FDTD method, the far fields are calculated using a nearcenter frequency fc| style="width:150px;" | None|-field-to-far-field transformation of the field quantities on a given closed surface. | style="width:120px;" | [[EMParametric_Modeling_%26_Simulation_Modes_in_EM.TempoCube#Generating_Surrogate_Models | HDMR Sweep]] uses rectangular boxes | style="width:270px;" | Varies the value(s) of one or more project variables to define these closed surfaces. You can use generate a compact model| style="width:100px;" | Multiple runs | style="width:200px;" | Runs at the center frequency fc| style="width:150px;" | None|-| style="width:120px;" | [[#Running a Dispersion Sweep in EM.Tempo| Dispersion Sweep]]'s default radiation box or define your own. Normally, | style="width:270px;" | Varies the radiation box should enclose the entire FDTD value of wavenumber in a periodic structure. In this case, the calculated radiation pattern corresponds | style="width:100px;" | Multiple runs | style="width:200px;" | Runs at multiple frequency points corresponding to the entire radiating structure. The radiation box may also contain only parts of constant wavenumber values| style="width:150px;" | Only for periodic structures excited by a structure, which results in partial radiation patterns.plane wave source|}
Click here to learn more about [[Data_Visualization_and_Processing#Computing_Far_Field_Radiation_Patterns | Computing Far Field Radiation Patterns]].=== Running a Wideband FDTD Analysis ===
Click here to learn about [[Advanced Features 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 Radiation Patterns]]simulation. Below are a number of steps that you should typically follow by order when planning your FDTD simulation:
===Defining The Far Field Box===* 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 any far field calculations in Wideband analysis is [[EM.CubeTempo]], first you have to define a far field observable in 's simplest and most straightforward simulation mode. It runs the Navigation TreeFDTD time marching loop once. In [[FDTD Module]]At the end of the simulation, defining a far the time-domain field observable also initiates a far field box in data are transformed into the computational frequency domainusing a discrete Fourier transform (DFT). This box is used to perform the nearAs a result, you can generate wideband frequency data from a single time-to-far-field transformation at the end of an FDTD domain simulationrun. The other simulation modes will be explained later in this manual. To insert a new far field box, follow these steps:
* Right To open the Simulation Run Dialog, click on the '''Far FieldsRun''' item in [[Image:run_icon.png]] button of the '''ObservablesSimulate Toolbar''' section of or select the Navigation Tree and select menu item '''Insert New Radiation PatternSimulate &rarr; Run...''' to open the Radiation Pattern Dialog.* Use the '''Label''' box to change the name of from the far field menu bar or change use the color of the far field box using the '''Color''' buttonkeyboard shortcut {{key|Ctrl+R}}.* The frequency of radiation pattern calculation can be specified in To start the box labeled '''Far Field Frequency'''. By defaultFDTD simulation, this is equal to click the center frequency of the project. However, you can calculate the far field data {{key|Run}} button at any other frequency within the project's frequency range.* The resolution bottom of far field calculations is specified by '''Angle Increment''' expressed in degreesthis dialog. By defaultOnce the simulation starts, the &theta; "Output Message Window" pops up and &phi; angles are incremented by 5 degrees.* Define reports messages during the desired box for far field calculations in the '''Radiation Box''' section different stages of the dialogFDTD simulation. As in During the case of plane waves and Gaussian beamsFDTD time marching loop, there are two options availableafter every 10th time step, a default radiation box (radio button '''Size: Default''') or a user defined radiation box (radio buttons '''Size: Custom'''). If you check '''Size: Default''', no radiation box corner coordinates need to be specified. The radiation box will always be 0.1 free space wavelength away from the bounding box of output window updates the entire structure. Select '''Size: Custom''' to set the far field box manually. The values for the coordinates of '''Corner 1''' and '''Corner 2''' can now be changed. '''Corner 1''' is the lowertime step, elapsed time, the engine performance in Mega-front-left corner cells per seconds, and '''Corner 2''' is the upper-rear-right corner value of the radiation box. The dimensions are specified convergence ratio U<sub>n</sub>/U<sub>max</sub> in the world coordinate system (WCS)dB.* At the end of an FDTD An [[EM.Tempo]] simulation, besides calculating is terminated when the radiation data over ratio U<sub>n</sub>/U<sub>max</sub> falls below the entire (spherical) 3D space, a specified power threshold or when the maximum number of 2D pattern graphs are also generated. These are indeed pattern cuts at certain planes, which include the three principal XY, YZ and ZX planes plus one additional constant f-cut. This latter cut time steps is at &phi; = 45° by defaultreached. You can assign another phi angle in degrees in the box labeled '''Non-Principal Phi Plane'''. Also, however, terminate the 2D radiation pattern graphs are normalized FDTD engine earlier by default. You can instruct [[EM.Cube]] to plot the 2D pattern graphs un-normalized (as calculated) by removing the check mark from clicking the box labeled '''Normalize 2D PatternsAbort Simulation'''button.
After closing the Far Field Dialog, a far field entry immediately appears with its given name under the '''Far Fields''' item of the '''Observables''' section in the Navigation Tree<table><tr><td> [[Image:Tempo L1 Fig13. A far field box shows up as a light blue wireframe box in the project workspacepng|thumb|left|480px|EM. You can right click on the far field itemTempo's name in the navigation tree and select '''Propertiessimulation run dialog.]]</td></tr><tr><td> [[Image:Tempo L1 Fig15.png|thumb|left|550px|EM.Tempo''' to open up the radiation pattern dialog for further editing. Bear in mind that a full 3D radiation pattern calculation with a high angular resolution might be very time-consumings output message window.]]</td></tr></table>
Once an FDTD simulation is finished, three far field items are added to the Far Field section of the Navigation Tree. These are the far-zone E-field component along &phi; direction, the far-zone E-field component along &phi; direction and the total far-zone E-field.=== The 3D plots can be viewed in the project workspace by clicking on each item. FDTD Simulation Engine Settings ===
The view An FDTD simulation involves a number of the 3D far field plot numerical parameters that can be changed with the available view operations such as rotate, pan accessed and zoom. A legend box appears in modified from the upper right corner of the 3D radiation pattern plot, which can be dragged around with the left mouse buttonFDTD Engine Settings Dialog. If the structure blocks the view of the radiation patternTo open this dialog, you can simply hide or freeze the entire physical structure or parts of itselect '''Menu > Simulate > Simulation Engine Settings.. Note that 3D radiation patterns are always positioned at the origin (0,0,0) of the spherical world coordinate system even though the radiation center of the structure may not be located at that point. The (maximum) '''Directivityor open the ''' of Run Dialog''', and click the radiating structure is displayed at {{key|Settings}} button next to the bottom of the legend box and is calculated using the definition:engine dropdown list.
At In the end " '''Convergence''' " section of an the dialog, you can set the '''Termination Criterion''' for the FDTD simulationtime 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 radiation pattern data Etotal 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.Tempo]] provides two mechanism to terminated the time loop. In the first approach, an energy-like quantity defined as U<sub>n</sub> = &thetaSigma;[ &epsilon;<sub>0</sub>, |'''E<sub>i,n</sub>'''|<sup>2</sup> + &phimu;<sub>0</sub> and E|'''H<sub>toti,n</sub> '''|<sup>2</sup> ].&Delta;V<sub>i</sub> is calculated and recorded at a large random set of points in the three principal XYcomputational domain. Here i is the space index and n is the time index. The quantity U<sub>n</sub> has a zero value at t = 0 (i.e. n = 0), YZ and ZX planes plus one additional user defined phi plane cut are available for plotting on 2D graphs its value starts to build up over time. With a Gaussian or Modulated Gaussian pulse waveform, U<sub>n</sub> reach a maximum value U<sub>max</sub> at some time step and starts to decline thereafter. The ratio 10.log( U<sub>n</sub>/ U<sub>max</sub>) expressed in dB is used as the convergence criterion. When its value drops below certain '''EM.GridPower Threshold''', the time loop is exited. There are The default value of Power Threshold is -30dB, meaning that the FDTD engine will exit the time loop if the quantity U<sub>n</sub> drops to 1/1000 of its maximum value ever. The second termination criterion is simply reaching a total '''Maximum Number of eight 2D pattern graphs in Time Steps''' , whose default value set to 10,000. A third option, which is [[EM.Tempo]]'s default setting (labeled "'''Both'''"), terminates the data manager: 4 polar graphs and 4 Cartesian graphs simulation as soon as either of the same pattern datafirst two criteria is met first.
At the end of an FDTD sweep simulation, other radiation characteristics are also computed as a function of the sweep variable (frequency, angle, or any other user defined variable). These include the '''Directivity (D0)''', '''Total Radiated Power (PRAD)''' and '''Directive Gain (DG)''' as a function of the &theta; and &phi; angles. Another radiation characteristic of interest especially {{Note|Keep in circularly polarized scenarios is the Axial Ratio. In [[EM.Cube]], the axial ratio is always defined in the LCP<sub>z</sub> or RCP<sub>z</sub> sense based on the X- and Y-components of the electric field. In order to calculate the directive gain or axial ratiomind that for highly resonant structures, you may have to check increase the boxes labeled '''Axial Ratio (AR)''' or '''Directive Gain (DG)''' in the "Additional Radiation Characteristics" section maximum number of the '''Radiation Pattern Dialog'''. Four 2D Cartesian graphs of the axial ratio as functions of the theta angle are generated in the three principal XY, YZ and ZX planes as well as the additional user defined phi plane cut. At the end of an FDTD sweep simulation, the directive gain and axial ratio can also be plotted as functions of the sweep variable. In that case, either quantity needs time steps to be computed at a fixed pair of &theta; and &phi; angles. These angles are specified in degrees as '''User Defined Azimuth & Elevation''' in the "Output Settings" section of the '''Radiation Pattern Dialog'''. The default very large values of the user defined azimuth and elevation are both zero corresponding to the zenithabove 20,000.}}
[[Image:FDTD131.png|thumb|300px|EM.TempoThe "'s RCS ''Acceleration'''" section of the FDTD Simulation Engine Settings dialog]]===Radar Cross Section===give three options for the FDTD kernel:
When the physical structure is illuminated by a plane wave source, the calculated far field data indeed represent the scattered fields. In that case, the incident and scattered fields can be separated. To compute the RCS of your physical structure, you must define an RCS observable instead of a radiation pattern. Follow these steps:# Serial CPU Solver# Multi-Core CPU Solver# GPU Solver
* Right click on the '''Far Fields''' item in the '''Observables''' section of the Navigation Tree and select '''Insert New RCS..The serial CPU solver is [[EM.Tempo]]''' to open s basic FDTD kernel that run the Radar Cross Section Dialog.* Use the '''Label''' box to change the name time marching loop on a single central processing unit (CPU) of the far field or change the color of the far field box using the '''Color''' buttonyour computer.* The frequency of RCS calculation can be specified in the box labeled '''Far Field Frequency'''. By default, this option is equal to the center frequency of the projectmulti-core CPU solver. However, you can calculate the far field data at any other frequency within the project's frequency range.* The resolution This is a highly parallelized version of RCS calculation is specified by '''Angle Increment''' expressed in degrees. By default, the &theta; and &phi; angles are incremented by 5 degrees.* Define FDTD kernel based on the desired box for far field calculations in the '''Scattering Box''' section of the dialogOpen-MP framework. As in the case It takes full advantage of radiation patterna multi-core, there are two options availablemulti-CPU architecture, a default radiation box (radio button '''Size: Default''') or a user defined radiation box (radio buttons '''Size: Custom'''). If you check '''Size: Default''', no radiation box corner coordinates need to be specifiedif your computer does have one. The radiation box will always be 0.1 free space wavelength away from the bounding box of the entire physical structure. Select '''Size: Custom''' to set the far field box manually. The values for the coordinates of '''Corner 1''' and '''Corner 2''' can now be changed. '''Corner 1''' GPU solver is the lowera hardware-frontaccelerated FDTD kernel optimized for CUDA-left corner and '''Corner 2''' is the upper-rear-right corner of the radiation box. The dimensions are entered in world coordinate system enabled graphical processing unit (WCSGPU)cards.* At the end of an FDTD simulation, besides calculating the RCS data over the entire (spherical) 3D space, If your computer has a number of 2D RCS graphs are also generated. These are indeed RCS cuts at certain planesfast NVIDIA GPU card with enough onboard RAM, which include the three principal XY, YZ and ZX planes plus one additional constant &phi;-cut. This latter cut is at &phi; = 45° by default. You GPU kernel can assign another &phi; angle in degrees in speed up your FDTD simulations up to 50 times or more over the box labeled '''Non-Principal Phi Plane'''single CPU solver.
At the end of an FDTD simulationFor structures excited with a plane wave source, in the far field section of the Navigation Tree, you will have the &theta; and &phi; components of RCS as well as the total radar cross sectionthere are two standard FDTD formulations: &sigma;<sub>&theta;</sub>, &sigma;<sub>&phi;</sub>, and &sigma;<sub>tot</sub>. The RCS values '''Scattered Field '''(&sigma;SF) are expressed in m<sup>2</sup>. The 3D plots are normalized to the maximum RCS value, which is displayed in the legend box. The 2D RCS graphs can be plotted in formulation and '''EM.Grid Total Field - Scattered Field'''exactly in the same way that you plot 2D radiation pattern graphs(TF-SF) formulation. A total of eight 2D RCS graphs are available: 4 polar and 4 Cartesian graphs for the XY, YZ, ZX and user defined plane cuts. at the end of a sweep simulation, [[EM.CubeTempo]] calculates some other quantities including the backscatter RCS (BRCS), forwardoffers both formulations. The TF-scatter RCS (FRCS) SF solver is the default choice and is typically much faster than the maximum RCS (MRCS) as functions of the sweep variableSF solver for most problems. In this casetwo cases, when the RCS needs to be computed at a fixed pair of &phi; and &theta; anglesstructure has periodic boundary conditions or infinite CPML boundary conditions (zero domain offsets), only the SF solver is available. These angles are specified in degrees as '''User Defined Azimuth & Elevation''' in the "Output Settings" section of the '''Radar Cross Section Dialog'' <table><tr><td> [[Image:FDTD58.png|thumb|left|720px|EM.Tempo's simulation engine settings dialog. The default values of the user defined azimuth and elevation are both zero corresponding to the bore sight.]]</td></tr></table>
==Modeling 3D Periodic Structures in EM.Tempo==
[[EM.Tempo ]] allows you to simulate doubly periodic structures with periodicities along the X and Y directions. Many interesting structures such as frequency selective surfaces (FSS), electromagnetic band-gap (EBG) structures and metamaterial structures can be modeled using periodic geometries. In the case of an infinitely extended periodic structure, it is sufficient to analyze only a unit cell. In the FDTD method, this is accomplished by applying periodic boundary conditions (PBC) at the side walls of the computational domain.
{{Note| [[EM.Tempo]] can only handle regular, non-skewed periodic lattices with no secondary offsets.}} [[Image:Info_icon.png|30px]] Click here to learn more about the theory of '''[[Basic_Principles_of_The_Finite_Difference_Time_Domain_Method#Time_Domain_Simulation_of_Periodic_Structures | Time Domain Simulation of Periodic Structures]]'''.
[[Image:FDTD134.png|thumb|320px|EM.Tempo's Periodicity Settings dialog]]===Setting Up A Defining a Periodic Unit CellStructure in EM.Tempo===
A periodic structure is one that repeats itself infinitely along one, two or three directions. In this release of [[EM.Tempo]], the periodicity is limited to the X-Y plane. In other words, the periodic structure repeats itself along the X- and Y-axes, but not along the Z-axis. By default, your physical structure in the project workspace is not periodic, and you have to instruct [[EM.CubeTempo]] to turn it into a periodic structure through [[FDTD Module]]'s using its Periodicity Dialog. By designating a structure as periodic, you enforce periodic boundary conditions (PBC) on the side walls of its computational domain. Your structure in the project workspace then turns into a periodic unit cell. The periodic side walls are displayed with dashed blues lines. [[Image:FDTD140(1).png|thumb|320px|Setting a custom plane wave source plane.]]
To define a periodic structure, follow these steps:
* Periodic boundary conditions (PBC) are established on the ±X and ±Y faces of the domain box. You still have to designate the boundary conditions on the ±Z faces of the computational domain. These are CPML by default. But you can change them to PEC or PMC.
<table><tr><td> [[Image:FDTD139FDTD134.png|thumb|320px360px|Placing a field probe above a periodic structure excited by an obliquely incident plane wave sourceEM.Tempo's periodicity settings dialog.]]===Exciting Periodic Structures===</td></tr></table>
In [[===Exciting Periodic Structures as Radiators in EM.Tempo]], a periodic structure can be excited using various source types. Exciting the unit cell structure using a lumped source, a waveguide source, an ideal source or a distributed source, you can model an infinite periodic antenna array. For most practical antenna types, you will excite your periodic structure with a lumped source or waveguide source. In this case, you can define a port for the lumped source or waveguide source and calculate the S<sub>11</sub> parameter or input impedance of the periodic antenna array. You can also compute the near-field and far-field data.===
Click here In [[EM.Tempo]], a periodic structure can be excited using various source types. Exciting the unit cell structure using a lumped source, a waveguide source, or a distributed source, you can model an infinite periodic antenna array. For most practical antenna types, you excite your periodic structure with a lumped source or waveguide source. In this case, you can define a port for the lumped source or waveguide source and calculate the S<sub>11</sub> parameter or input impedance of the periodic antenna array. You can also compute the near-field and far-field data. [[EM.Tempo]]'s periodic FDTD simulator uses periodic boundary conditions (PBC) to learn model an infinite periodic array. All the periodic replicas of the unit cell structure are excited. In this case, you can impose a phase progression across the infinite array to steer its beam. You can do this from the property dialog of the lumped source or waveguide source. At the bottom of the '''Lumped Source Dialog''' or '''Waveguide Source Dialog''', there is a section titled '''Periodic Beam Scan Angles'''. This section is grayed out when the project structure is not periodic. You can enter desired beam scan angle values for both '''Theta''' and '''Phi''' in degrees. To visualize the radiation pattern of the beam-steered array, you have to define a finite-sized array factor. You do this in the "Impose Array Factor" section of the '''Radiation Pattern Dialog'''.  {{Note|For large &theta; scan angles, the periodic FDTD time marching loop may take far more about time steps to converge.}} <table><tr><td> [[Modeling Infinite Phased ArraysImage:Period1.png|thumb|350px|Setting periodic scan angles in EM.Tempo's Lumped Source dialog.]]</td></tr></tr></table> <table><tr><tr><td> [[Image:Period2.png|thumb|720px|Setting the array factor in EM.Tempo's Radiation Pattern dialog.]] </td></tr></table> <table><tr><td> [[Image:Period3.png|thumb|360px|Radiation pattern of an 8×8 finite-sized periodic wire dipole array with 0&deg; phi and theta scan angles.]] </td><td> [[Image:Period4.png|thumb|360px|Radiation pattern of a beam-steered 8×8 finite-sized periodic wire dipole array with 45&deg; phi and theta scan angles.]] </td></tr></table> ===Exciting Periodic Structures Using Plane Waves in EM.Tempo=== Using a plane wave source to excite a periodic structure in [[EM.Tempo]], you can model frequency selective surfaces, electromagnetic band-gap (EBG) structures, metamaterials, etc. Exciting periodic structures with plane wave sources requires careful attention. [[EM.Tempo]]'s FDTD simulation engine uses the direct spectral domain FDTD or constant transverse wavenumber method for analyzing periodic structures. In this technique, instead of a plane wave box, one defines a plane wave surface parallel to the X-Y plane. At the end of the FDTD simulation of a periodic structure with plane wave excitation, the reflection and transmission coefficients of the structure are calculated and saved into ASCII data files. <table><tr><td> [[Image:Period11.png|thumb|380px|Geometry of a periodic printed strip FSS in EM.Tempo.]] </td><td> [[Image:Period12.png|thumb|340px|Define a custom periodic plane wave box in EM.Tempo.]] </td></tr></table>
Using a plane wave source to excite a periodic structure in [[EM.Tempo]], you can model frequency selective surfaces, electromagnetic band-gap (EBG) structures, metamaterials, etc. Exciting periodic structures with plane wave sources requires careful attention. [[EM.Tempo]]'s FDTD simulation engine uses the direct spectral domain FDTD or constant transverse wavenumber method for analyzing periodic structures. In this technique, instead of a plane wave box, one defines a plane wave surface parallel to the X-Y plane. If the plane wave source illuminates the periodic unit cell from the top (90&deg; < &theta; < 180&deg;), the excitation surface is placed above the structure's bounding box. If the plane wave source illuminates the periodic unit cell from the bottom up (0&deg; < &theta; < 90&deg;), the excitation surface is placed below the structure's bounding box. In either case, the plane wave must intercept the excitation surface before hitting the unit cell's physical structure. It is highly recommended that you accept [[EM.Tempo]]'s default settings for the plane wave box of periodic structures. Nevertheless, you can change the location of the excitation surface if you wish. To do so, you have to open the '''Plane Wave Dialog'''. In the Excitation Box section of the dialog, select the '''Size: Custom''' option. Only the '''Z Coordinate''' of '''Corner 1''' is available for editing. The rest of the coordinates are enforced by the periodic domain. You can enter the incidence angles '''Theta''' and '''Phi''' in degrees. For periodic structures, only the '''TM<sub>z</sub>''' and '''TE<sub>z</sub>''' polarization options are available.
One of the pitfalls of the direct spectral FDTD method is the possibility of horizontal resonances, which may lead to indefinite oscillation or even divergence of field values during the time marching loop. This happens in the case of oblique plane wave incidence when &theta; > 0&deg;. [[EM.Cube]]'s FDTD engine automatically detects such cases and avoids those resonances by shifting the modulation frequency of the modulated Gaussian pulse waveform away from the resonant frequency. However, in some cases, the size of oscillations may still remain large after a large number of time steps. Occasionally, a late-time diverging behavior may appear. To avoid situations like these, it is highly recommended that you place a time-domain field probe above your structure and monitor the temporal field behavior during the time marching loop as shown in the figure below.
===Reflection {{Note|It is very important to keep in mind that only in the case of normal incidence does [[EM.Cube]] compute the reflection and transmission coefficients over the entire specified bandwidth of the project. At oblique incidences when & Transmission Characteristics===theta; > 0, the computed R/T coefficients after the discrete Fourier transformation are valid only at the center frequency of the project for the given value of the incident &theta;<sub>0</sub> angle. In other words, the computed R/T coefficients at all the other frequencies away from the center frequency correspond to different values of the incident &theta; angle. As a result, [[EM.Cube]] only saves the reflection and transmission coefficients at the center frequency into the output data files "reflection_coefficient.CPX" and "transmission_coefficient.CPX".}}
At the end of the FDTD simulation of === Running a periodic structure with plane wave excitation, the reflection and transmission coefficients of the structure are calculated and saved into two complex data files with '''.CPX''' file extensions. These coefficients behave like the S<sub>11</sub> and S<sub>21</sub> [[parameters]] of a two-port network. You can think of the upper half-space as Port 1 and the lower half-space as Port 2 of this network. The reflection and transmission (R/T) coefficients can be plotted on 2D graphs Dispersion Sweep in '''EM.Grid '''similar to the scattering [[parameters]]. You can plot them from the Navigation Tree. To do so, right click on the '''Periodic Characteristics''' item in the '''Observables''' section of the Navigation Tree and select '''Plot Reflection Coefficients''' or '''Plot Transmission Coefficients'''. The complex data files are also listed in [[EM.Cube]]'s data manager. To open data manager, click the '''Data Manager''' [[Image:data_manager_icon.png]] button of the '''Simulate Toolbar''' or select '''Simulate > Data Manager''' from the menu bar or right click on the '''Data Manager''' item of the Navigation Tree and select Open Data Manager... from the contextual menu or use the keyboard shortcut '''Ctrl+D'''. Select any data file by selecting its row in the table and then click the '''Plot''' button to plot the graph in EM.Grid.Tempo ===
{{Note|It is very important to keep in mind that only in The '''Dispersion Sweep '''option of the case Simulation Mode drop-down list performs a sweep of normal incidence does constant k<sub>l</sub> wavenumber values. This is a specialized sweep for the constant transverse wavenumber method that [[EM.CubeTempo]] compute uses to model periodic structures illuminated by a plane wave source. The real advantage of a dispersion sweep is that through a one-dimensional sweep of k<sub>li</sub>, you can find the reflection and transmission coefficients over the entire specified bandwidth for all combinations of the projectfrequency f<sub>j</sub> and incident angle &theta;<sub>j</sub> such that (2&pi;/c) . f<sub>j</sub>. At oblique incidences when sin &theta; <sub> 0, the computed Rj</T coefficients after the discrete Fourier transformation are valid only at sub> = k<sub>li</sub>. This provides a complete picture of the center frequency dispersion behavior of your periodic structure. The sweep data can be graphed as a wavenumber-frequency intensity plot (also known as beta-k diagram) that projects the project for the given value eigenvalues of the incident &theta;periodic structure. The horizontal axis represents the constant transverse wavenumber k<sub>0l</sub> angle(or beta). The vertical axis represents frequency. In other wordsSometimes, the computed Rfree space wave number k<sub>0</T coefficients at all the other frequencies away from the center frequency correspond to different values of the incident sub> = (2&thetapi; angle/c). As a resultf is used as the vertical axis, hence, the term beta-k diagram. However, [[EM.Cube]] only saves plots frequency vs. wavenumber. Both the reflection horizontal and transmission coefficients at vertical axes start from 0 and extend to f<sub>max</sub> and k<sub>l,max</sub>, respectively, where f<sub>max</sub> = f<sub>0</sub> + &Delta;f/2, and &Delta;f is the center frequency into specified bandwidth of the output data files "reflection_coefficientproject.CPX" and "transmission_coefficientFor this sweep option you have to specify the number of wavenumber samples.CPX"Note that the dispersion sweep is run for a fixed given value of the plane wave incident angle &phi; as specified in [[EM.Tempo]]'s Plane Wave Dialog.}}
===Periodic FDTD Simulation Types===<table><tr><td>[[Image:KBT Settings.png|thumb|360px| [[EM.Tempo]]'s Dispersion Sweep Settings dialog.]]</td></tr></table>
<table><tr><td>[[Image:FDTD143KBT R.png|thumb|250px360px| [[EMA typical reflection coefficient dispersion diagram of a periodic structure.Tempo]]'s R</T Macromodel Settings Dialog.]]td><td>[[Image:FDTD144KBT T.png|thumb|250px360px| [[EM.Tempo]]'s Dispersion Sweep Settings dialog.]]Besides analyzing A typical transmission coefficient dispersion diagram of a periodic structure in a single-run simulation and other standard type sweeps, [[EM.Tempo]] offers a number of specialized sweep simulations for periodic structures. These include '''R</T Macromodel Sweep ''', '''Dispersion Sweep''' and '''Huygens Sweep'''. These options are available from the '''Simulation Mode''' dropdown list of the [[EM.Tempo]]'s '''Run Dialog'''. td></tr></table>
The '''R<br /T Macromodel Sweep''' option of the Simulation Mode dropdown list is only available for periodic structures. It is used to generate a lookup table model for the reflection and transmission coefficients of a periodic surface for both TM and TE polarizations. The results are written into a file named "PW_UserDefinedMacroData.mat". Through the Macromodel Settings dialog you can set the start and end value and number of samples for both the Theta (&theta;) and Phi (&phi;) angles of the incident plane wave. The R/T macormodels can be used by [[EM.Cube]]'s [[Propagation Module]] to calculate the reflection and transmission coefficients of incident rays at the facets of obstructing blocks with "non-standard" periodic surfaces.>
The '''Dispersion Sweep '''option of the Simulation Mode dropdown list performs a sweep of constant k<subhr>l</sub> wavenumber values. This is a specialized sweep for the constant transverse wavenumber method that [[EM.Cube]]'s [[FDTD Module]] uses to model periodic structures illuminated by a plane wave source. The real advantage of a dispersion sweep is that through a one-dimensional sweep of k<sub>li</sub>, you can find the reflection and transmission coefficients for all combinations of frequency f<sub>j</sub> and incident angle &theta;<sub>j</sub> such that (2&pi;/c) . f<sub>j</sub>. sin &theta;<sub>j</sub> = k<sub>li</sub>. This provides a complete picture of the dispersion behavior of your periodic structure. The sweep data can be graphed as a wavenumber-frequency intensity plot (also known as beta-k diagram) that projects the eigenvalues of the periodic structure. The horizontal axis represents the constant transverse wavenumber k<sub>l</sub> (or beta). The vertical axis represents frequency. Sometimes, the free space wave number k<sub>0</sub> = (2&pi;/c).f is used as the vertical axis, hence, the term beta-k diagram. However, [[EM.Cube]] plots frequency vs. wavenumber. Both the horizontal and vertical axes start from 0 and extend to f<sub>max</sub> and k<sub>l,max</sub>, respectively, where f<sub>max</sub> = f<sub>0</sub> + &Delta;f/2, and &Delta;f is the specified bandwidth of the project. For this sweep option you have to specify the number of wavenumber samples. Note that the dispersion sweep is run for a fixed given value of the plane wave incident angle &phi; as specified in [[FDTD Module]]'s Plane Wave Dialog.
{{isoimg|FDTD148[[Image:Top_icon.png|A typical dispersion diagram 30px]] '''[[EM.Tempo#Product_Overview | Back to the Top of a periodic structure}}the Page]]'''
<p>&nbsp;</p>[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube #EM.Tempo_Documentation | Back to EM.Cube Main PageTempo Tutorial Gateway]]'''
{{FDTD Details}}[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
4,622
edits