Changes

EM.Tempo

30,913 bytes removed, 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.Cube]]'s [[FDTD Module]] <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 Material TypesMesh 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|500pxTempo]]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).png]]--> 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. Unmagnetized plasmas are typically modeled as Drude materials. The complex permittivity of a Drude material with N poles is given by: :<math> \varepsilon(\omega) = \varepsilon_{\infty} - \sum_{p=1}^N \dfrac{{\omega_p}^2}{\omega^2 - j\omega \nu_p} </math><!--[[Image:FDTD19(1).png]]--> where <math>\omega_p</math> and <math>\nu_p</math> are the angular plasma frequency and angular collision frequency corresponding to the p''th'' pole, respectively, and both are expressed in rad/s. For an unmagnetized plasma, <math>\varepsilon_{\infty} = 1</math>. The complex permittivity of a Lorentz material with N poles is given by: :<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}, \quad \Delta \varepsilon_p = \varepsilon_{sp} - \varepsilon_{\infty} </math><!--[[Image:FDTD20.png]]--> where <math>\omega _p</math> and <math>\delta_p</math> are the angular resonant frequency and angular damping frequency corresponding to the p''th'' pole, respectively, and both are expressed in rad/s. Similar to a Debye material, <math>\Delta \varepsilon_p = \varepsilon_{sp} - \varepsilon_{\infty}</math> represents the change in permittivity due to the p''th'' pole. {| border="0"|-| valign="top"|[[Image:FDTD2.png|thumb|250px|EM.Tempo's PEC Dialog]]| valign="top"|[[Image:FDTD3.png|thumb|250px|EM.Tempo's PMC Dialog]]| valign="top"|[[Image:FDTD4.png|thumb|250px|Dielectric Material dialog]]| valign="top"|[[Image:FDTD6.png|thumb|250px|[[FDTD Module]]'s Anisotropic Material dialog]]| valign="top"|[[Image:FDTD8.png|thumb|250px|Debye Material Dialog]]|-|} ===Geometrical Rules & Material Hierarchy=== [[Image:fdtd14_tn.png|thumb|400px|Geometric construction of a dielectric-coated metallic cylinder.]]The following rules apply to the definition of materials and objects in [[EM.Tempo]]: * Under the [[#Perfect Conductors|PEC]] category, you can define all types of solid, and surface and [[Curve Objects|curve objects]].* Under the [[#Perfect Conductors|PMC]] category, you can define only define rectangle strip objects parallel to the principal planes. * Under the [[#Dielectric Materials|Dielectric]], [[#Anisotropic Materials|Anisotropic]] and [[#Dispersive Materials|Dispersive]] material categories, you can define only [[Solid Objects|solid objects]].* Under the Inhomogeneous Material category, you can only import a Cartesian ".CAR" data file.* Under the Thin Wire category, you can only define line objects parallel to the principal axes.  [[EM.Tempo]] allows overlapping objects, although it is generally recommended that object overlaps be avoided in favor of clearly defined geometries and object boundaries. If two or more objects of the same material type and group overlap, they are merged using the Boolean union operation during the mesh generation process. If two overlapping objects belong to two different material categories, then the material properties of the FDTD cells in the overlap region will follow the EM.Tempo's material hierarchy rule. In that case, the overlap area cells will always be regarded as having the material type of the higher priority. According to this rule, the material types are ordered from the highest priority to the lowest in the following manner: # [[#Perfect Conductors|PEC]]# [[#Perfect Conductors|PMC]]# [[#Dispersive Materials|Dispersive]]# General [[#Anisotropic Materials|Anisotropic]]# Uniaxial [[#Anisotropic Materials|Anisotropic]]# [[#Dielectric Materials|Dielectric]] If planned carefully, taking advantage of EM.Tempo's material hierarchy rule would make the construction of complex objects easier. For example, a dielectric coated metallic cylinder can be modeled by two concentric cylinders: an inner PEC of smaller radius and an outer dielectric of larger radius as shown in the illustration below. The portion of the dielectric cylinder that overlaps the inner PEC cylinder is ignored by the FDTD engine because the PEC cylinder takes precedence over the dielectric in the material hierarchy. Alternatively, you can model the same structure by an inner solid PEC cylinder enclosed by an outer hollow pipe-shaped dielectric cylinder.   == Setting the Computational Domain & Boundary Conditions==
===The FDTD Solution Domain===
[[Image:FDTD22(1).png|thumb|300px|The computational domain box enclosing a metallic sphere.]]
The FDTD method requires a finite-extent solution domain. This is rather straightforward for shielded structures, where a typical PEC enclosure box defines the computational domain. For open-boundary structures like antennas and scatterers, the computational domain must be truncated using appropriate termination boundary conditions. The objective of termination boundary conditions is to eliminate the reflections from the walls of the domain box back to the computational domain.
In [[EM.Tempo]], you can define two types of domain box. A "'''Default'''" -type domain is a box that is placed at a specified offset distance from the largest extents of your physical structure (global bounding box). The offset is specified in free-space wavelengths. A "'''Custom'''" -type domain, on the other hand, is defined as a fixed-size and fixed-location box in the World Coordinate System (WCS). In this case, you have to specify the coordinates of the lower left front corner (Corner 1) and upper right back corner (Corner 2) of the domain box.
When you start a new project in [[EM.Tempo]], a default-type domain is automatically created with a default offset value set equal to a quarter free-space wavelength (0.25&lambda;<sub>0</sub>). As soon as you draw your first object, a blue domain box shows up in the project workspace and encloses your object. As you add more objects and increase the overall size of your structure, the domain box grows accordingly to encompass your entire physical structure. When you delete objects from the project workspace, the domain box also shrinks accordingly. ===Changing the Domain Settings===
[[Image:FDTD14.png|thumb|300px|[[FDTD Module]]'s Domain Settings dialog.]]
To set the solution domain of your FDTD project, follow these steps:
* Click the '''Domain''' [[Image:domain_icon.png]] button of the '''Simulate ''' Toolbar or select the menu item '''Menu > 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'''<nowiki>: </nowiki>'''Default''' or '''Custom'''.
* If you select the "Default" domain type, the domain box is defined in terms of the offsets along the X, Y and Z directions from the largest extents of your physical structure. Select one of the two options for '''Offset Units: Grid''' and '''Wavelength'''. In the section titled '''"Domain Size"''', enter the amount of domain extension beyond the largest extents of the structure along the ±X, ±Y and ±Z directions. Note that in the case of a default-type domain box, the offset values based on your current project settings (frequency and units).
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.
===[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Domain_Settings | Domain Boundary Conditions===Settings]]'''.
<table><tr><td> [[Image:FDTD13FDTD14.png|thumb|300pxleft|[[FDTD Module]]480px|EM.Tempo's Boundary Conditions domain settings dialog.]]</td></tr></table>
EM.Tempo supports four types of domain boundary conditions:===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 '''Menu > 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.
===A Closer Look At CPML===<table><tr><td> [[Image:FDTD13.png|thumb|left|480px|EM.Tempo's boundary conditions dialog.]]</td></tr></table>
{{mainpage|[[=== Advanced CPML Setup]]}}===
In many 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. The [[EM.Tempo]] uses Convolutional Perfectly Matched Layers (CPML) for absorbing boundary conditions. Usually two or more ABC layers must be placed at the boundaries of the physical structure to maximize wave absorption. The boundary CPML cells in the project workspace are transparent not visible to the user. But, in effect, multiple rows of ABC CPML cells are placed on the exterior side of each face of the visible domain box.
You may occasionally want to use [[EMcan set the number of CPML layers as well as their order.Cube]]This is done through the CPML Settings Dialog, which can be accessed by right clicking on the 's FDTD simulator to model planar structures''CPML''' item in the '''Computational Domain''' section of the navigation tree and selecting '''CPML Settings. Although [[EM.Cube]] provides .''' from the more computationally efficient [[Planar Module]] for this very purpose, there are many cases when an FDTD simulation might prove advantageous over a 2contextual menu.5-D MoM simulation. To model a laterally infinite dielectric substrateBy default, you must assign a PML boundary condition to the four lateral sides eight CPML layers of the domain box and set third order are placed outside the lateral FDTD problem 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, It is recommended that you must assign always try a PML boundary condition four-layer CPML first to assess the bottom side computational efficiency. The number of the domain box and set the CPML layers may be increased if a very low reflection is required (<-Z offset equal to zero40dB).
== Generating {{Note|[[EM.Tempo]]'s default quarter wavelength offset for the FDTD Mesh ==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.}}
== The FDTD Mesh Types ==[[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> [[EM.Tempo]]'s Image:FDTD mesh is a rectangular Yee mesh that extends to MAN10.png|thumb|left|360px|The boundary CPML cells placed outside the entire computational visible domainbox. It is primarily constructed from three mesh grid profiles along the XY, YZ and ZX principal planes]] </td><td> [[Image:FDTD15. These projections together create a 3D rectangular (voxel) mesh spacepng|thumb|left|400px|CPML Settings dialog. You have the option to choose one of the three FDTD mesh types:]] </td></tr></table>
* Adaptive Mesh* Regular Mesh* Fixed-Cell Mesh=== Using CPML to Model Structures of Infinite Extents ===
The default choice is the adaptive mesh, which is a quite sophisticated meshYou can use EM. The resolution Tempo to model planar structures of the adaptive FDTD mesh is driven by the '''Mesh Density''', expressed in cells per effective wavelengthinfinite extents. Since FDTD is a time-domain method and the excitation waveform may have a wideband spectral content, the effective wavelength is calculated based on the highest frequency A planar substrate usually consists of the project: f<sub>max</sub> = f<sub>0</sub> + &Delta;f/2one or more dielectric layers, where f<sub>0</sub> is your project's center frequency and &Delta;f (or BW) is possibly with a PEC ground plane at its specified bandwidthbottom. In other words, the effective wavelength in the free space is &lambda;<sub>0,eff</sub> = c / f<sub>max</sub>, c being the speed of light in the free space. The adaptive FDTD mesh, however, produces different grid cell sizes in the free space regions and inside dielectric regions. The effective wavelength in To model a laterally infinite dielectric material with relative permittivity e<sub>r</sub> and permeability µ<sub>r</sub> is given by &lambda;<sub>dsubstrate,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 you must assign a dielectric region PML boundary condition to the cell size in the free space is 1/&radic;(&epsilon;<sub>r</sub>&mu;<sub>r</sub>). The adaptive FDTD mesh generator also takes note four lateral sides of the geometrical features of domain box and set the objects it discretizes. This is more visible in lateral domain offset values along the case of curved solids, curves surfaces ±X and curved wires or obliquely oriented planes and lines which need ±Y directions all equal to be approximated using a staircase profilezero. The mesh resolution varies with If the slope of planar structure ends in an infinite dielectric half-space from the geometrical shapes and tries bottom, you must assign a PML boundary condition to capture the curved segments in the best way. Another important feature bottom side of the adaptive FDTD mesher is generation of gradual grid transitions between low-density domain box and highset the -density mesh regionsZ offset equal to zero. For example, this often happens around This leaves only the interface between the free space and high permittivity dielectric objects. Gradual mesh transitions provide better accuracy especially in the case of highly resonant structures+Z offset with a nonzero value.
According to the Courant-Friedrichs-Levy (CFL) stability criterion, the FDTD time step When a domain boundary wall is determined by the smallest cell size in your FDTD mesh. Occasionallydesignated as CPML and its has a zero domain offset, [[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 meaning it touches a very long computation time. [[EM.Cube]] offers the "Regular" FDTD mesh generatormaterial block, which is a simplified version of the adaptive mesh generatorCPML cells outside the domain wall are reflected back inside the computational domain. In a regular FDTD meshother words, the grid cell sizes stay rather effective number of CPML layers will be twice the same one specified in objects of the same material compositionCPML Settings dialog. The mesh resolution increases in materials of higher permittivity This will effectively extend the material block infinitely beyond the boundary wall and/or permeability based on the effective wavelength will create an open boundary effect in exactly the same way as the adaptive meshspecified direction. Finally, [[EM.Cube]]'s FDTD Modules offers a It goes without saying that only "Uniformsubstrate" FDTD mesh generatorobjects are supposed to touch the boundary walls in such a scenario. The uniform mesh consists Because of three uniform grids along the XYrolled-back CPML cells inside the domain, YZ and ZX principal planes. In it is very important to make sure that other words, the grid cell sizes &Delta;x, &Delta;y finite-sized parts and &Delta;z are fixed throughout objects stay clear from the entire computational domain. In this case, walls as well as from the uniform mesh generator has to fit your physical structure to the fixed mesh, rather than adapting the mesh to your physical structureinvisible "interior" CPML cells.
{{Note|When choosing a mesh type for your FDTD simulation, keep in mind that adaptive and regular mesh types are frequencyThe current release of EM.Tempo does not support full-dependent and their density varies with the highest frequency anisotropic or dispersive or gyrotropic layers of laterally infinite extents. In other words, your specified bandwidth, while anisotropic or dispersive or gyrotropic material objects must not touch the uniform mesh type is always fixed and independent of your project's frequency settingsCPML domain boundaries.}}
===Viewing the <table><tr><td> [[Image:FDTD Mesh===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>
Because a full 3D FDTD mesh is difficult to visualize everywhere in the computational domain, only the discretized objects are displayed in [[== EM.Cube]]Tempo's "'''Mesh View'''" mode. In particular, only the outer boundary cells on the surface of [[Solid Objects|solid objects]] are shown. However, you can view the mesh grid planes across the domain. You can even step these planes back and forth inside the domain and view different mesh profiles of your physical structure.Excitation Sources ==
To generate an FDTD mesh and view it the project workspace, follow these steps:=== Source Variety in EM.Tempo ===
* 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 Before you can set the values of the various mesh [[parameters]] including the '''Mesh Density'''.* After specifying the desired mesh densityrun an FDTD simulation, you can examine the mesh grid planehave to define a source to excite your project’s physical structure. 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 menuEM. The mesh grid planes give you Tempo offers a good idea variety 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 excitation mechanisms for your physical structure depending on the name your particular type 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 '''modeling problem 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''' [[Imageapplication: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.
In {| class="wikitable"|-! scope="col"| Icon! scope="col"| Source Type! scope="col"| Applications! scope="col"| Host Object! scope="col"| Spatial Domain! scope="col"| Restrictions / Additional Requirements|-| style="width:30px;" | [[EMFile:lumped_src_icon.Cubepng]]'s | style="Mesh Viewwidth:150px;" mode| [[Glossary_of_EM.Cube%27s_Materials, you can rotate or pan the view of the project workspace_Sources, but you cannot edit the objects_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="Show Meshwidth:150px;"''' generates | [[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 new mesh and displays it if there is none in the memoryuniform, edge-singular or it simply displays an existing mesh 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 memoryhost strip| style="width:200px;" | Requires a PEC ground plane strip underneath the host strip|-| style="width:30px;" | [[File:cpw_icon. This is 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 useful feature because generating an FDTD mesh may take a long time depending 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 complexity two sides of structure and the total size of 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 computational domainhost inner conductor cylinder| style="width:200px;" | Requires a concentric hollow outer conductor cylinder|-| style="width:30px;" | [[File:wg_src_icon. If you change 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 structure or alter cross section of the mesh settingshost 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 new mesh is always generated. You 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 ignore any mesh in have an arbitrary orientation, but long wire current sources must be aligned along one of the memory and force principal axes|-| style="width:30px;" | [[EMFile: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]] to generate | 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 fresh FDTD mesh from cube enclosing the ground up by selecting '''Menu > Simulate >Discretization > Regenerate Mesh''' or by right clicking on the '''Yee Mesh''' item 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 Navigation Tree and selecting '''Regenerate''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 the contextual menuother [[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|}
{{twoimg|FDTD34.png|A human head model and a cellular phone handset Click on its side.|FDTD33.png|The regular FDTD mesh of the human head model each category to learn more details about each source type and the cellular phone handsethow to define one.}}
===Mesh Profiling [[Image:Info_icon.png|30px]] More information about all the source types can be found in the '''[[Glossary of EM.Cube's Materials, Sources, Devices & Grid Coordinate System===Other Physical Object Types]]'''.
A volumetric FDTD mesh is overwhelming for visualization in In the 3D space. For this reasonmost general sense, [[EMone can consider two fundamental types of excitation sources for an FDTD simulation: a lumped source and a distributed source.Cube]]'s A lumped sources is localized at a single mesh view only shows the outline of the (staircased) meshed objects, skipping the outline of all the individual brick cells point in the entire computational domain. The mesh grid planes provide , while a 2D profile of the distributed source is spread over several mesh cells along the principal coordinate planes. Since Among the Yee cells are congruent along the coordinate axes, the three mesh grid planes together provide a complete picture source types of the entire FDTD mesh. To display a mesh grid planesabove list, select '''Menu > Simulate > Discretization > Grid Planes >''' and pick one of the three options: '''XY Plane'''microstrip port, '''YZ Plane''' or '''ZX Plane'''. You may also right click on one of the '''XY Plane'''CPW port, '''YZ Plane''' or '''ZX Plane''' items in the '''Discretization''' section coaxial port, waveguide port, plane wave and Gaussian beam sources are indeed special cases of the Navigation Tree and select '''Show''' from the contextual menua distributed source for specific applications.
While A lumped source is the most commonly used way of exciting a mesh grid plane structure in EM.Tempo. A lumped source is visiblea voltage source with a series internal resistor that must be placed on a PEC 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 move it back and forth between the two boundary planes simulate a variety of transmission line structures including filters, couplers or antenna feeds. This approach may become less accurate at higher frequencies when the two opposite sides details of the computational domain. You feed structure become important and can do this in one 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 following four ways: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.
* Using the keyboard's '''Page Up (PgUp) Key''' and '''Page Down (PgDn) key'''.* By selecting '''Menu > Simulate > Discretization > Grid Planes > Increment Grid''' or ''' Decrement Grid'''.* By right clicking on When you create an array of an object type that can host one of the '''XY Plane'''above source types, '''YZ Plane''' or '''ZX Plane''' items in the '''Discretization''' section of the Navigation Tree and selecting '''Increment Grid''' or ''' Decrement Grid''' from the contextual menu.* Using the [[Keyboard Shortcuts|keyboard shortcuts]] '''">"''' or '''"<"'''you can also associate a source array with that array object.
As you “step through” or profile the mesh grid, you can see how the structure is discretized along internal planes of the computational domain[[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]]'''.
Once A plane wave source is a popular excitation method that is used for calculation of the project structure radar cross section of targets or reflection and transmission characteristics of periodic surfaces. A Gaussian beam source is meshed in [another source type that is highly localized as opposed to the uniform plane wave. For both plane wave and Gaussian beam sources,[EM.Cube]]'s [[FDTD Module]], Tempo requires a second coordinate system becomes available finite incidence surface to calculate the excitation. When youcreate 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 mesh grid coordinate system allows you to specify any location in 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 terms of node indices on the mesh grid. [[EM.Cube]] displays project workspace as a purple wireframe box enclosing the total number of mesh grid lines of structure, while the Gaussian beam box appears as a green wireframe box. Both boxes have an FDTD simulation domain (Ninitial default size with an offset of 0.2&lambda;<sub>x0</sub> × N<sub>y</sub> × N<sub>z</sub>) along from the three principal axes on largest bounding box enclosing your entire physical structure. In both source dialogs, the radio button '''Status BarSize: Default'''is selected by default. Therefore, The radio button '''Size: Custom''' allows you to set the number of cells in each direction is one less than excitation box manually. The values for the number coordinates of grid lines, i'''Corner 1''' and '''Corner 2''' can now be changed.e. (N<sub>x</sub>-Corner 1)× (N<sub>y</sub>-1) × (N<sub>z</sub>-1). The minimum X, Y, and Z coordinates of the FDTD domain in the world coordinate system (Xmin, Ymin, Zmin), which represent is the front lower left front corner of the domain box, become the origin of the mesh grid coordinate system (0,0,0), The maximum domain coordinates, which represent and Corner 2 is the rear upper right back corner of the domain box, . The corner coordinates are therefore defined in the world coordinate system (NWCS). <subtable>x<tr><td> [[Image:FDTD MAN11.png|thumb|360px|A plane wave box enclosing a PEC cylinder at oblique incidence: &theta; = 105&deg; and &phi; = 315&deg;.]] </subtd>-1, N<subtd>y[[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.]] </subtd>-1, N<sub/tr>z</subtable>-1).
[[=== Simulating a Multiport Structure in EM.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, the "'''Grid Coordinate System (GCS)'''" is automatically activated. On the Status Bar, you will see [[Image:statusgrid.png]] instead of the default [[Image:statusworld.png]]. This means that the current coordinates reported on Status Bar are now expressed in grid coordinate system. The current grid point is displayed by a small white circle on the current mesh grid plane, and it always starts from (ITempo = 0, J=0, K=0). Using the keyboard's '''Arrow Keys''', you can move the white circle through the mesh grid plane and read the current node's (I, J, K) indices on the status bar. You can switch back to the "'''World Coordinate System (WCS)'''" or change to the "'''Domain Coordinate System'''" by double-clicking the status bar box that shows the current coordinate system and cycling through the three options. The domain coordinate system is one that establishes its origin at the lower left front corner of the computational domain and measure distances in project unit just like the WCS.
{{isoimg|FDTD35(1)Ports are used to order and index sources for circuit parameter calculations like S/Y/Z parameters.png|The grid cursor on the XY grid plane and its grid coordinates (IIn EM.Tempo, J, K) displayed on you can define ports at the status bar.}}location of the following types of sources:
===Meshing Arbitrary Geometries===*[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Lumped Source |Lumped sources]]*[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Distributed Source |Distributed sources]]*[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Microstrip Port |Microstrip port sources]]*[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Coplanar Waveguide (CPW) Port |CPW port sources]]*[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Coaxial Port |Coaxial port sources]]*[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Waveguide Port |Waveguide port sources]]
Straight lines, boxes and rectangular plates whose edges are aligned Every time you create a new source with one of the three principal axes are above types, the simplest objects program asks if you want to mesh in initiate a new port and associate it with the [[FDTD Module]]newly created source. Such objects preserve their shapes exactly after discretization. All If the objects with curved edges and curved surfaces or objects with straight edges and flat faces that physical structure of your project workspace has N sources, then N default ports are not parallel defined, with one port assigned to each source according to their order in the principal axes or principal planes need navigation tree. You can define any number of ports equal to be discretized using a staircase profileor less than the total number of sources in your project.
In the cases of oblique lines and slanted faces (like lateral faces of a pyramid)If your physical structure has two or more sources, a uniform staircase profile is used by all of [[FDTD Module]]'s three mesh generators. in other wordsbut you have not defined any ports, all the cell sizes or grid line spacing remain sources will excite the same across structure simultaneously during the edge or facesimulation. However, since when you assign N ports to the slope is constant. In the case of curved edges and curved faces or surfaces (like sources, then you have a sphere)multiport structure that is characterized by an N×N scattering matrix, an N×N impedance matrix, the uniform and regular mesh generators use a uniform staircase profilean N×N admittance matrix. HoweverTo calculate these matrices, the adaptive mesh generator EM.Tempo uses a variable staircase profile, where binary excitation scheme in conjunction with the cell sizes principle of grid line spacing vary with linear superposition. In this binary scheme, the curvature (derivative) structure is analyzed a total of N times. Each time one of the edge or faceN port-assigned sources is excited, and all the other port-assigned sources are turned off. As a resultIn other words, the FDTD solver runs a higher mesh resolution is achieved at "more curvyport sweep" areas to better capture the geometrical detailsinternally.When the ''j''th port is excited, all the S<sub>ij</sub> parameters are calculated together based on the following definition:
:<math> S_{ij} = \sqrt{twoimg|FDTD31\frac{Re(1Z_i).png|A pyramidal object with a slanted plate|FDTD32}{Re(2Z_j).png|An adaptive FDTD mesh}} \cdot \frac{{twoimg|FDTD26.png||FDTD25.png|V_j - Z_j^*I_j}} {{twoimg|FDTD27.png||FDTD28.png|V_i+Z_i I_i}}The geometry of a sphere and its regular and adaptive FDTD meshes (top and perspective views). === FDTD Mesh Settings === [[Image:FDTD80.png|thumb|400px|[[FDTD Module]]'s Mesh Settings dialog]] [[EM.Cube]]'s [[FDTD Module|FDTD module]] discretizes objects using what is often referred to as the “staircase approximation”. In this mesh generation scheme, the structure is recreated using a large number of cubic cells carefully assembled in a way that approximates the shape of the original structure. By default, a carefully calculated, "<u>'''Adaptive'''</u>" mesh of your physical structure is generated in order to satisfy the following criteria: * Optimize the number of mesh cells in each dimension. 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 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). 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 "<u>'''Regular'''</u>" option of the '''Mesh Type '''dropdown list in the FDTD Mesh Settings 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>'''Uniform'''</umath>" mesh type, for which you need to specify the '''Cell Size '''along the X, Y, Z directions in project units.
===Global vswhere 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. Local Control Of FDTD Mesh===
{{mainpage|[[Advanced Meshing in In summary, to analyze an N-port structure, EM.Temporuns 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 over the frequency range [fc-bw/2, fc+bw/2], where fc is the center frequency and bw is the bandwidth of your project. You can reduce the frequency range of the Fourier 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.
When [[EM.Cube]] generates an FDTD mesh{{Note|In order to obtain correct results, a large number of geometrical considerations are taken into account. These include the bounding box port impedance must equal the characteristic impedance of each object and its corners, the ends of a transmission line, on which the apex port is established. This is not automatically taken care of a cone or pyramid, or the locations of lumped sources, field probes and sensors, vertices of plane wave or far field boxes, to name a few examplesby EM. These points are “locked” as fixed grid nodes in the FDTD meshTempo. }}
You can control the global mesh [[Image:Info_icon.png|30px]] Click here to learn more selectively using the Advanced FDTD Mesh Settings Dialog. To open this dialog, click about the '''Advanced '''button at the bottom of the FDTD Mesh Settings dialog[[Glossary_of_EM. For example, you can control the quality of the gradual grid transitions by setting the value of '''Max Adjacent Cell Size RatioCube%27s_Simulation_Observables_%26_Graph_Types#Port_Definition_Observable | Port Definition Observable]]'''.
In certain cases, you may wish to exert some level of local mesh control[[Image:Info_icon. For example, you may want png|30px]] Click here to increase the mesh density at a very particular area of your structure. Or you may want to increase or decrease the mesh resolution inside certain types of materials independent of their permittivity and permeability. learn more about '''[[EMPreparing_Physical_Structures_for_Electromagnetic_Simulation#Modeling_Coupled_Sources_.Cube26_Ports | Modeling Coupled Sources & Ports]] provides two additional mechanisms for local control of the FDTD mesh: locking mesh of object groups and user defined fixed grid points'''.
<table>
<tr>
<td> [[Image:FDTD MAN15.png|thumb|left|640px|A two-port CWP transmission line segment.]] </td>
</tr>
<tr>
<td> [[Image:FDTD MAN16.png|thumb|left|480px|EM.Tempo's port definition dialog.]] </td>
</tr>
</table>
===Excitation SourcesWaveform & Frequency Domain Computations ===
Before you can run When an FDTD simulationstarts, you have to define a source to excite your project’s physical structureproject'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:
# Sinusoidal
# Arbitrary User-Defined Function
A sinusoidal waveform is single-tone and periodic. Its spectrum is concentrated around a single frequency, which is equal to your project's center frequency. A sinusoidal source does not have a finite energy and it does not decay as t &rarr; &infin;. 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 does have has a bandpass frequency spectrum concentrated around your project's center frequency. For most practical problems, a modulated Gaussian pulse waveform provides an adequate performance. That is why this type of waveform is chosen by [[with EM.Cube]] as your projectTempo's default waveformparameters provides an adequate performance.
When an The accuracy of the FDTD simulation starts, your project's source starts pumping energy into results depends on the FDTD computational domain at t > 0right choice of temporal waveform. EM. MaxwellTempo's equations are solved in all cells at every time step until the solution converges, or the maximum number of time steps default waveform choice is reached. 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 end of an FDTD source by a sinusoidal waveformsimulation, the total energy of time domain field data are transformed into the computational frequency domain will oscillate indefinitely, and you have at your specified frequency or bandwidth to force produce the time loop to terminate after a certain number of time steps assuming a steady state have been reacheddesired observables.
[[EM.Cube]]'s [[FDTD Module]] provides a number of sources or excitation schemes that have different applications. These source types will be described in the following sections. An [[#Ideal Sources{{Note|Ideal Source]] is the simplest way All of exciting a structure in [[EM.Cube]]Tempo's [[FDTD Module]]. It consists of an ideal voltage source connected between two consecutive nodes of your FDTD mesh. A [[#Lumped Sources|Lumped Source]] is an ideal voltage source in series with a resistor. You excitation sources have to place a lumped source on a line object that is parallel to one of the three principal axes, and default modulated Gaussian pulse waveform unless you can assign a port to it to calculate the circuit characteristics of your structure. A [[#Waveguide Sources|Waveguide Source]] is placed across a rectangular waveguide. In other words, it requires a hollow box object that is aligned along one of the three principal axes and has one or two open ends. A waveguide source can excite a certain TE<sub>mn</sub> or TM<sub>mn</sub> modal profile of the host rectangular waveguide. A [[#Distributed Sources|Distributed Source]] is defined on a finite-sized plane parallel to one of the three principal planes and with a prescribed field distribution profile on that plane. A [[#Plane Waves|Plane Wave Source]] is used to study the scattering characteristics of your structure and compute its radar cross section (RCS). A [[#Focused Gaussian Beams|Gaussian Beam Source]] is similar to a plane wave source but with a focused energy profile in the transverse direction and a beam-diverging profile in the longitudinal directionchange them.}}
===Ideal Sources===[[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]]'''.
[[Image:FDTD42=== Defining Custom Waveforms in EM.png|thumb|250px|[[FDTD Module]]'s Ideal Source dialog]]Tempo ===
An ideal source acts as In some time-domain applications, you may want to simulate the propagation of a voltage source with certain kind of waveform in a zero internal resistance that can be placed between circuit or structure. In addition to the default waveforms, EM.Tempo allows you to define custom waveforms by either time or frequency specifications for each individual source in your project. If you open up the property dialog of any two adjacent mesh grid nodes anywhere source type in EM.Tempo, you will see an {{key|Excitation Waveform...}} button located in the computational domain"Source Properties" section of the dialog. To create a new ideal sourceClicking this button opens up EM.Tempo's Excitation Waveform dialog. From this dialog, follow these stepsyou can override EM.Tempo's default waveform and customize your own temporal waveform. The Excitation Waveform dialog offers three different options for defining the waveform:
* Right click on the '''Ideal Sources''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' to open the Ideal Source Dialog.Automatically Generate Optimal Waveform* You can change the default name of the source as well as its color. The ideal source is displayed as a small orange arrow in the Project Workspace.Use Custom Frequency Domain Specifications* By default, [[EM.Cube]] creates a +Z-directed ideal source located at the origin of coordinates (0, 0, 0). You can change the location of the source by setting new values for the X, Y and Z coordinates. When you use the spin buttons to increment or decrement the source coordinates, you can see the source moving in the project workspace. You can also change the '''Direction''' of the source from a dropdown list in the Source Location section of the dialog that contains ±X, ±Y and ±Z options.* In the '''Source Properties''' section, you can specify the '''Source Amplitude''' in Volts and the '''Phase''' in Degrees.Use Custom Time Domain Specifications
===Lumped Sources===The first option, which is also the default 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 a choice of the three standard waveforms and lets you define their waveform parameters in terms of frequency domain characteristics like center frequency and bandwidth and spectral contents. The third option lets you define a completely arbitrary temporal waveform for your source.
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. [[Image:FDTD43Info_icon.png|thumb|200px|30px]] Click here to learn more about '''[[FDTD Module]]’s Lumped Source dialogUsing Python to Create Functions, Models & Scripts#Creating Custom Python Functions | Creating Custom Python Functions]]'''.
A '''Lumped Source ''' is the most commonly used way of exciting a structure in <table><tr><td> [[Image:FDTD MAN13.png|thumb|left|720px|EM.Cube]]Tempo's [[FDTD Moduleexcitation waveform dialog showing the default standard modulated Gaussian pulse temporal waveform.]]. A lumped source acts as a voltage source in series with an internal resistance that is placed between two adjacent mesh grid nodes on a line object. The line object must be parallel to one of the three principal axes.</td></tr></table>
When you define a custom waveform in the Excitation Waveform dialog, make sure to click the {{Notekey|In order Accept}} button of the dialog to create a lumped sourcemake 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 must need to use scaling factors like 1e-9 explicitly in your expression. For example, in the figure below, we have at least one line object defined a modulated Bessel waveform in the project workspaceform 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.}}
To create a new lumped source, follow these steps[[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]]'''.
* Right click on the '''Lumped Sources''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' to open the Lumped Source Dialog.* In the '''Source Location''' section of the dialog, {{Note| If you will find define a list of all eligible line objects (i.e. lines that are parallel to one of the principal axes). Select the desired line object. The box labeled '''Direction''' shows the direction of the source with respect to the host line object. You have the option to select either the positive or negative direction custom excitation waveform for the your source.* In the box labeled '''Offset''', enter the distance none of the source from the start point of the line. A lumped source by default is placed standard frequency domain output data and parameters will be computed at the center end of the host line. In other words, the default offset value is equal to half the length of the host line object.* In the '''Source Properties''' section, you can specify the source '''Amplitude''' in Volts, '''Phase''' in Degrees and internal '''Resistance''' in Ohmsyour FDTD simulation.}}
===Waveguide Sources===<table><tr><td> [[Image:FDTD MAN14.png|thumb|left|720px|EM.Tempo's excitation waveform dialog showing a custom modulated Bessel temporal waveform defined using the Python function sp.j0(x).]]</td></tr></table>
Waveguide structures have many applications at microwave and millimeter wave frequencies. For example, a rectangular waveguide is used to feed a pyramidal horn antenna. A waveguide structure is usually excited using some type of strategically located probe mechanism. This can be modeled using a lumped source placed on a wire structure made up of line objects. Alternatively, use can use [[== EM.Cube]]Tempo's '''Waveguide Sources''', a special type of source that excites a prescribed modal field distribution in a rectangular waveguide structure. The scattering [[parameters]] are calculated from knowledge of incident 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 ports.Active & Passive Devices ==
[[EM.Cube]] provides special waveguide sources that can excite either the TE<sub>mn</sub> or TM<sub>mn</sub> modes of 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.=== Defining Lumped Devices ===
In [[Image:FDTD44.png|thumb|200px|[[FDTD Module]]'s Waveguide Source dialogEM.Tempo]], you can define eigth types of lumped devices:
{{Note# '''[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Resistor |In order to create a waveguide sourceResistor]]''' # '''[[Glossary of EM.Cube's Materials, you must have at least one "Hollow" Box object with no caps or only one end cap in your projectSources, Devices & Other Physical Object Types#Inductor | Inductor]]'''# '''[[Glossary of EM.}}Cube's Materials, Sources, Devices & Other Physical Object Types#Capacitor | Capacitor]]''' # '''[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Series_RL_Device | Series RL Device]]''' # '''[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Parallel_RC_Device | Parallel RC Device]]''' # '''[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Diode | Nonlinear Diode]]''' # '''[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Active_Lumped_One-Port_Device | Active Lumped One-Port Device]]''' # '''[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Active_Lumped_Two-Port_Device | Active Lumped Two-Port Device]]'''
To create Lumped devices are connected between two adjacent FDTD mesh nodes. Although lumped devices are not sources and the passive types do not excite a new waveguide sourcestructure, follow these steps:their properties are similar to lumped sources. That is why they are listed under the '''Sources''' section of the navigation tree. A lumped device has to be associated with a PEC line object that is parallel to one of the three principal axes. Similar to lumped sources, lumped devices have an '''Offset''' parameter that is equal to the distance between their location on the host line and its start point.
* Right click on the '''Waveguide Sources''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' to open the Waveguide Source Dialog.* In the '''Source Location''' section of the dialog, you will find a list of all the eligible box objects. These are all the hollow boxes in the project workspace whose longitudinal axis A lumped device is parallel to one of the principal axes and have at least one unchecked '''Cap Ends''' box in their property dialog. Select the desired box object. The box labeled '''Direction''' shows the direction of the source with respect to the host box object. You have the option to select either the positive or negative direction for the source.* In the box labeled '''Offset''', enter the distance of the source plane from the base of the box object. A waveguide source characterized by default is placed at the center a v-i equation of the host box. In other words, the default offset value is equal to half the length of the host box object.* The default waveguide more to be excited is TE<sub>10</sub>. You can select '''TE''' or '''TM''' mode types with arbitrary "m" and "n" modal indices.* In the '''Source Properties''' section, you can specify the source '''Amplitude''' in Volts, and the '''Phase''' in Degrees.form:
:<math>i(t) === Distributed Sources ===L \{ v(t) \} </math>
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 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:FDTD45Info_icon.png|thumb|300px|[[FDTD Module30px]]Click here for a general discussion of 's Distributed Source dialog''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#A_Review_of_Linear_.26_Nonlinear_Passive_.26_Active_Devices | Linear & Nonlinear Passive & Active Devices]]'''.
Waveguide sources are a special case {{Note|Small values of distributed sources inductance may result in [[EM.Cube]]'s [[the divergence of the FDTD Module]]numerical scheme. A Distributed Source is defined in a rectangular plane of finite extentsTo avoid this problem, parallel you need to one of increase the three principal coordinate planesmesh resolution and adopt a higher mesh density. An impressed electric field component is assumed across the specified rectangular areaThis, which pumps energy into the computational domain. The current version of [[EM.Cube]] provides three spatial field profiles for course, may lead to a distributed source:much longer computation time.}}
# Uniform<table># Sinusoidal<tr># Edge<td> [[Image:FDTD MAN17.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-Singularport device.]] </td></tr></table>
The sinusoidal type has the functional form cos(py/w), and the edge-singular type has the functional form 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.=== Defining Active Distributed Multiport Networks ===
[[Image:fdtd_src7_tnEM.png|thumb|250px|A Tempo also provides two types of active distributed source placed between two horizontal rectangular strips.]]multiport network devices:
To create a new distributed source# '''[[Glossary_of_EM.Cube%27s_Materials, follow these steps:_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]]'''
* Right click on Unlike the '''Distributed Sources''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' to open the Distributed Source Dialog.* In the '''Excitation Plane''' section of the dialogactive lumped devices, first you have to select the orientation of the source plane. The dropdown list labeled '''Direction''' gives three options: '''X, Y''' these devices are rather distributed and '''Z''', which create planes parallel their behavior is similar 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 a microstrip port source field component. For exampleIn other words, the default plane orientation is X (parallel to the YZactive distributed one-Plane) and the available field directions are +Yport device requires a rectangle strip object as a host, -Y, +Z and -Z. Next, you have to enter while the coordinates of active distributed two opposite corners of the source plane: the lower left and upper right corners-port device requires two rectangle strip objects for its definition. You can type in values for choose one of the X, Y, Z coordinates or you can use edges of the spin buttons to slide strip object for establishing the default source planes in the Project Workspacecircuit port.* In the '''Source Properties''' sectioncase of a two-port device, you can select the '''Profile''' from three options: '''Uniform''', '''Sinusoidal''' need two parallel and '''Edgeend-Singular'''. You can also specify the source '''Amplitude''' in Volts, and '''Phase''' in Degrees and the source's internal '''Resistance '''in Ohms to-end aligned strip objects.
===Defining Ports===The circuit behavior of these devices is defined by a Netlist file. Their property dialog provides a text editor for simply writing the Netlist description of the device. You can also import an existing external Netlist file with a ".CIR" or ".TXT" file extension using the button labeled {{key|Load Netlist}}..
{{Note|[[Image:FDTD48RF.png|thumb|200px|The Port Definition dialogSpice A/D]]can generate a Netlist file corresponding to an existing circuit project, which can then be saved to a text file with a ".TXT" file extension. }}
Ports are used to order and index sources for circuit parameter calculations like S/Y/Z <table><tr><td> [[parameters]]Image:ActiveOnePort. That is why they are defined in the '''Observables''' section of Navigation Tree. In [[png|thumb|left|480px|EM.Cube]]Tempo's [[FDTD Moduleactive one-port device/circuit dialog.]], you can define ports at the location of '''Lumped Sources''', '''Waveguide Sources''' and '''Distributed Sources'''. In other words, ideal sources or other types of sources cannot be used to define ports or calculate port characteristics.</td></tr></table>
Ports are defined in the '''Observables''' section of the Navigation Tree. Right click on the '''Port Definition''' item of the Navigation Tree and select '''Insert New Port Definition.<table><tr><td> [[Image:ActiveTwoPort.png|thumb|left|720px|EM.Tempo''' from the contextual menu. The Port Definition Dialog opens up, showing the default port assignments. If you have N sources in your physical structure, then N default ports are defined, with one s active two-port assigned to each source according to their order on the Navigation Treedevice/circuit dialog.]] </td></tr></table>
[[Image:FDTD49.png|thumb|250px|Reassigning sources to ports and defining coupled ports.]]=== A Note on Using Active Devices ===
You can define any number of ports equal to or less than the total number of sources in When your projectphysical structure contains an active device, EM. The Port List of Tempo performs an EM-circuit co-simulation that involves both the dialog shows full-wave FDTD EM solver and the SPICE circuit solver. In a list global self-consistent co-simulation, at each time step of all the ports in ascending orderFDTD time marching loop, with their associated sources and the port's characteristic impedance, which is 50O by default. You can delete any port by selecting it from the Port List electric and clicking magnetic fields at the '''Delete '''button location of the dialog. Keep in mind that after deleting a port, you will have a source in your project without any port assignment. Make sure that is what you intend. When you delete one or more device ports in your project, their associated sources become free and "available" for either defining new ports or reassignment are used to compute the other ports. To define a new port, click voltages and currents. These quantities are then used in the '''Add '''button of the Port Definition dialog SPCIE circuit solver to open update all the "Add Port" dialog. On voltages and currents at the left side internal nodes of this dialog, you will see a table containing all the available sourcesactive device. Select one or more ports The updated port voltages and use the right arrow ('''--->''') button to move them currents are finally used to update the table on electric and magnetic fields in the right side, labeled "Associated". These ports are now associated with physical mesh cells and the new port being defined. You can move sources from the "Associated" table back time marching loop proceeds to the "Available" table on the left using the left arrow ('''<---''') button of the dialog. You can associate more than one source with the same port. In that case, you will have coupled sources, collectively representing a coupled portnext time step.
{{Note|EM.Tempo can handle several active one-ports and two-ports simultaneously. In order to obtain correct resultsthat case, all the port impedance must equal devices are automatically compiled into a single Netlist that serves as the characteristic impedance input of the transmission line on which SPICE solver. The individual internal nodes of each device need to be renamed for the port is establishedglobal Netlist. This is not done automatically in [[EMBesides the main circuit, the Netlist of each device may contain several "subcircuits".Cube]]Note that the subcircuit nodes are not re-indexed for the global Netlist as is expected.}}
You can change {{Note|If you want to use a B-type nonlinear dependent source in the characteristic impedance Netlist definition of a an active one-port or two-port by selecting , it from the Port List and clicking the '''Edit '''button of the dialog. This opens up the Edit Port dialog, where you can enter must be contained in a new value subcircuit definition rather than in the box labeled '''Impedance'''main circuit.}}
===Modeling Microstrip Line Ports===The figure below shows the geometry of a two-port amplifier device with microstrip input and output transmission lines. The Netlist of the two-port device is given below:
Using simple lumped sources, you can simulate a variety of transmission line structures in [[EM.Cube]]’s [[FDTD Module]] including filters, couplers or antenna feeds and you can calculate their scattering [[parameters]]. This approach may become less accurate at very high frequencies when the details of the feed structures become important and can no longer be modeled with highly localized lumped ports. In such cases, it is recommended to use “Distributed Sources”, which utilize accurate modal field distributions at the ports for calculation of the incident and reflected waves. This and next two sections explain how you can use simple lumped sources to model some popular transmission line feeds.----
Microstrip ports can be modeled with lumped sources placed underneath the microstrip line stretching to the ground plane through the substrate. To build a microstrip port with a lumped source, follow these steps:C1 1 0 1p
* First, draw the PEC microstrip using the '''Rectangle Strip Tool''' and end it at the desired port location.* Then, draw the substrate box and make sure that its extends at least &lambda;<sub>g</sub>/8 beyond than the microstrip line (&lambda;<sub>g</sub> is the guide wavelength).* If the microstrip's ground plane is the bottom of your simulation structure, set a PEC boundary for the bottom face of the computational domain. Otherwise, you do need to draw a PEC rectangle strip to represent a finite ground.* Connect the center of the microstrip’s end to the ground plane with a PEC line using the '''Line Tool'''.* Place a lumped source with 1V amplitude and zero phase on the line pointing towards the line.* In the '''Port Definition''' Dialog, set the number of ports equal to one. Associate the lumped source with Port R1 1. Set the value of '''Port Impedance''' properly equal to the characteristic impedance of the microstrip feed line.0 50
{{Note|If you want to model a microstrip structure with a laterally infinite substrate and a laterally infinite ground plane, make sure to set the domain offsets in the ±X, ±Y and -Z directions equal to zero.}}E1 2 0 1 0 20
{{isoimg|FDTD50.png|A microstrip line port on a substrate terminated from the bottom by a PEC boundary plane.}}RS 2 3 10
===Modeling Coplanar Waveguide Ports===R2 3 0 50
Using lumped sources, you can define coplanar waveguide (CPW) ports either with or without a bottom ground plane. In order to build a CPW port with a lumped source, follow these steps:C2 3 0 1p
* First, draw the PEC center strip of the CPW with its two PEC coplanar ground planes, all using the '''Rectangle Strip Tool''', and end them at the desired port location.* Then, draw the substrate box and make sure that it is at least &lambda;<sub>g</sub>/8 longer than the CPW line.* Connect the two end corners of the center strip to the two side ground planes with two PEC line objects using the '''Line Tool'''.* Place a lumped source with 1V amplitude and zero phase on each line pointing towards the center strip.* In the '''Port Definition''' Dialog, set the number of ports equal to one. Associate both of the lumped sources with Port 1. Set the value of the '''Port Impedance''' properly equal to the characteristic impedance of the CPW feed line.----
[[EM.Cube]] sets the internal resistance of each of the two coupled lumped sources equal to twice the specified port In this case, a linear voltage-controlled voltage source (or lineE1) impedance since the CPW port is with a parallel connection voltage gain of the two individual lumped sources20 has been used. If you want to model a CPW with laterally infinite substrate The input and ground planes, make sure to set the domain offsets in the ±X output nodes are 1 and ±Y directions equal to zero. In the -Z direction3, you need a nonzero offset to push the bottom CPML boundary down away outside the dielectric layer of finite thickness. Alternatively, you can terminate the bottom boundary by PEC and set its domain offset equal to zero to represent a CPW with a bottom PEC groundrespectively.
{{isoimg|FDTD51<table><tr><td> [[Image:Amp circ.png|thumb|left|420px|The schematic of the amplifier circuit in RF.Spice A coplanar waveguide (CPW) port on a dielectric substrate/D.}}]] </td></tr></table>
===Modeling Coaxial Line Ports===The same Netlist can be written using a B-type nonlinear dependent source as follows:
Coaxial line is often used to feed various RF and microwave structures. In order to excite the dominant TEM mode of a coaxial line, it has to be fed symmetrically between its inner and outer conductors. Using lumped sources, you can define symmetrical coaxial line ports. To do so, follow these steps:----
* First, use the '''Cylinder Tool''' to draw a solid PEC inner conductor and end it at the desired port location.* Next, using the '''Cylinder Tool''' again, draw a hollow PEC outer conductor with the '''Cap Ends''' option unchecked, and end it at the desired port location.* Then, draw the dielectric core of the coaxial cable using the '''Cylinder Tool''' under an active dielectric material group and make sure it is at least &lambda;<sub>g</sub>/8 longer than the inner and outer conductors. Note that you only need to draw a solid dielectric cylinder rather than a hollow, pipe-like one. According to [[FDTD Module]]'s material hierarchy, the PEC core takes precedence over its enclosing dielectric cylinder.* Using the '''Line Tool''', connect the ends of the inner and outer conductors with four PEC line objects along the principal coordinate axes pointing from the inner conductor towards the outer conductor.* Place a lumped source with 1V amplitude and zero phase on each line.* In the '''Port Definition''' Dialog, set the number of ports equal to one. Associate all the four lumped sources with Port C1 1. Set the value of the '''Port Impedance''' properly equal to the characteristic impedance of the coaxial feed line.0 1p
{{Note|[[EM.Cube]] will set the internal impedance of each of the four coupled lumped sources equal to four times the specified port (or line) impedance since the coaxial port is a parallel connection of the four individual lumped sources.}}X1 1 0 2 0 amp_dev
{{isoimg|FDTD52.png|A coaxial line port using four symmetric lumped sources.}}subckt amp_dev 1 2 3 4
===Lumped Loads===R1 1 2 50
In [[EM.Cube]]'s [[FDTD Module]] you can define simple lumped elements such as resistorsB1 3 4 v = 20*v(1, inductors, capacitors as well as nonlinear diodes. 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.2)
To create a new lumped load, follow these steps:.ends
* Right click on the '''Lumped Loads''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New Source...''' to open the Lumped Load Dialog.* You can change the name of the lumped load as well as its color using the '''Color''' button of the dialog and selecting the desired color from the color palette.* In the Lumped Element Location section of the dialog, you will find a list of all eligible line objects (i.e. lines that are parallel to one of the principal axes). Select the desired line object. The box labeled '''Direction''' shows the direction of the lumped load with respect to the host line object. Note that for a passive lumped load, the direction does not make any difference. But it matters for the case of a diode.* In the box labeled '''Offset''', enter the distance of the lumped element from the start point of the line. A lumped load by default is placed at the center of the host line. In other words, the default offset value is equal to half the length of the host line object.* In the Lumped Element Properties Section, you can set the type of the load. In the dropdown list you have four options: '''Resistor''', '''Inductor''', '''Capacitor''' and '''Diode'''. The resistance is expressed in Ohms (O), inductance in Nano-Henry (nH) and capacitance in Pico-Farad (pF). In the case of a diode, you have to specify the '''Saturation Current''' in femto-Ampere (fA), the ambient '''Temperature''' in Degree Kelvin and also the diode's '''Ideality Factor''', which is usually a number between 1 and RS 2.3 10
{{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.}}R2 3 0 50
{| border="C2 3 0"|-| valign="top"|[[File:FDTD53.png|thumb|left|250px|]]| valign="top"|[[File:FDTD54.png|thumb|left|250px|]]|-| valign="top"|[[File:FDTD55.png|thumb|left|250px|]]| valign="top"|[[File:FDTD56.png|thumb|left|250px|]]|-|}1p
===Sources & Loads For Antenna Arrays===----
If your project contains an array of line objects, you {{Note|You can also use active one-ports to define an array custom voltage or current sources for your entire physical structure rather than using one of '''Lumped Sources''' to be placed on those lines. If you insert a new lumped source, all line array objects, if any, will be listed in the Lumped Source dialog as eligible objects for lumped physical excitation source placement. A lumped source will be placed on each element of the array. All the lumped sources will have identical direction and offset. However, you can prescribe certain amplitude and/or phase distribution among the array elements. The available '''Weight Distributions''' include '''Uniform''', '''Binomial''', '''Chebyshev''' and '''Data File'''. In the last case, you need to set a value for maximum side lobe level ('''SLL''') in dB. You can also define a '''Phase Progression''' in degrees along each types of the three principal axesnavigation tree.}}
{{isoimg|FDTD59<table><tr><td> [[Image:Amp ex.png|Defining lumped sources with thumb|left|550px|The geometry of a Chebyshev weight distribution on microstrip-based amplifier with an array of line objectsactive two-port device.}}]] </td></tr></table>
Just like lumped sources, you can place == EM.Tempo'''Lumped Loads''' on array of line objects. These loads can be resistors, capacitors, inductors or nonlinear diodes. If you insert a new lumped load, all line array objects, if any, will be listed in the Lumped Load dialog as eligible objects for lumped load placement. A lumped load will be placed on each element of the array. All the lumped load will have identical type, direction, offset and parameter values.s Observables & Simulation Data Types==
If === Understanding the project workspace contains an array of hollow box objects to model a rectangular waveguide array, you can also define an array of '''Waveguide Sources''' to be placed across those waveguides. If you insert a new waveguide source, all hollow box array objects, if any, will be listed as eligible objects for waveguide source placement. A waveguide source will be placed on each element of the array. All the waveguide sources will have identical direction and offset. However, you can prescribe certain amplitude and/or phase distributions. The available '''Weight Functions''' include '''Uniform''', '''Binomial''', '''Chebyshev''' and '''Data File'''. In the last case, you need to set a value for maximum side lobe level ('''SLL''') in dB. You can also define a '''Phase Progression''' in degrees along each of the three principal axes.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 ===Plane Waves===0 until 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.
[[Image:FDTD46EM.png|thumb|300px|[[FDTD Module]]'s Plane Wave dialog]]Tempo offers the following types of output simulation data:
In {| 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;" | [[FDTD ModuleFile: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, you can excite 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 structure with an arbitrary incident 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 compute its 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 pattern 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 biwaveguide port|-static radar cross section| style="width:30px;" | [[File:port_icon. A 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 excitation is defined by its propagation vector indicating 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 direction 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 incidence 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 its polarizationMagnetic 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|-| style="width:30px;" | [[FDTD ModuleFile:huyg_surf_icon.png]] provides | style="width:150px;" | Equivalent Electric and Magnetic Surface Currents| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Huygens_Surface_Observable |Huygens Surface]]| style="width:300px;" | Collecting tangential field data on a box to be used later as a Huygens source in other [[EM.Cube]] modules| style="width:250px;" | 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 following polarization optionscontents of generic 3D Cartesian spatial data files overlaid on the project workspace | style="width:250px;" | Requires import of an existing ".CAR" data file|}
* TMz* TEz* Custom Linear* LCPz* RCPzClick on each category to learn more details about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]].
The direction of incidence is defined through Of EM.Tempo's frequency domain observables, the &theta; near fields, far fields and &phi; angles all of the unit propagation vector in the spherical coordinate systemtheir associated parameters like directivity, RCS, etc. 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 calculated at a normally incident plane wave propagating along certain single frequency that is specified as part of the -Z direction with a +X-polarized E-vector. You select the polarization from the five radio buttons in the "Polarization" section definition of the dialogobservable. In the TM<sub>z</sub> and TE<sub>z</sub> polarization casesTo compute those frequency domain data at several frequencies, the magnetic and electric fields are parallel you need to the XY planedefine multiple observables, respectivelyone for each frequency. The components of On the unit propagation vector other hand, port characteristics like S/Y/Z parameters and normalized E- and H-field vectors VSWR are displayed in calculated over the dialogentire specified bandwidth of your project. This way of defining a plane wave Of EM.Tempo's source is types, lumped sources, waveguide sources and distributed sources let you define one or more convenient when the ports for your physical structure is laid out along the XY plane and Z-axis such as layered and periodic structurescompute its port characteristics. In the more general case One of custom linear polarization, besides the incidence angles, you have to enter the components of the unit electric '''Field Vector'''EM. However, two requirements must be satisfied: Tempo'''ê . ê''' = 1 and '''ê × k''' = 0 . This can be enforced using the '''Validate''' button at the bottom s real advantages over frequency-domain solvers is its ability of the dialog. If these conditions are not met, an error message is generated. The left-hand (LCP) and right-hand (RCP) circular polarization cases are restricted to normal incidences only (&theta; = 180°)generate wideband S/Z/Y parameter data in a single simulation run.
Since === Examining the FDTD technique requires a finite simulation domain, it also needs 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. The time domain plane wave excitation is calculated on the surface of this box Near Fields in Time and injected into the computational domain. The plane wave box is displayed in the project workspace as a purple wireframe box enclosing the structure.Frequency Domains ===
To create EM.Tempo's FDTD time marching loop computes all the six electric and magnetic field components at every Yee cell of your structure's mesh at every time step. This amounts to a new plane wave sourceformidable amount of data that is computationally very inefficient to store. Instead, follow you can instruct EM.Tempo to save a small potion of these stepsdata for visualization and plotting purposes. Using a '''Field Probe''' at a specified point, you can record the a time-domain field component over the entire FDTD loop. The time-domain results are also transformed to the frequency domain within the specified bandwidth using a discrete Fourier transform (DFT). <table><tr><td> [[Image:FDTD77.png|thumb|left|480px|Time-domain evolution of the electric field at a given point.]]</td></tr></table>
* Right click on the '''Plane Waves''' item in the '''Sources''' section of the Navigation Tree and select '''Insert New SourceIn EM...''' The Plane wave Dialog opens up.* InitiallyTempo, you can visualize the radio button '''Size: Default''' is selected. With this option, the boundaries of the excitation box always have near fields at a distance specific frequency in a specific plane of three cells from the bounding box of the geometry and cannot be changedcomputational domain. The radio button '''Size: Custom''' allows To do so, you need to set the excitation box manually. The values for the coordinates of define a '''Corner 1Field Sensor''' and observable. EM.Tempo'''Corner 2''' can now be changed. Corner 1 is s field sensor defines a plane across the front lower left corner and Corner 2 is the rear upper right corner entire computational domain parallel to one of the boxthree principal planes. The box has to be defined in grid coordinate system (GCS).* In the Field Definition section magnitude and phase of all the dialog, you can enter the '''Amplitude''' six components of the incident electric field in V/m and its '''Phase''' in degrees. The default field Amplitude is 1 V/m with a zero Phase.* The direction of magnetic fields on the Plane Wave is determined by the incident '''Theta''' and '''Phi''' angles in degrees. You can also set the '''Polarization''' of mesh grid points on the sensor plane wave are computed and choose from the five options described earlierdisplayed.
A plane wave box placed <table><tr><td> [[Image:FDTD_FS2.png|thumb|left|420px|EM.Tempo's Field Sensor dialog.]] </td></tr><tr><td> [[Image:FDTD_FS1_new.png|thumb|left|480px|Three field sensor planes defined around a PEC sphere objectellipsoid illuminated by a plane wave source. The trident at the corner of ]] </td></tr></table><table><tr><td> [[Image:FDTD_FS3_new.png|thumb|left|360px|Electric field distribution above the box shows the propagation vector as well as the E-PEC plate.]] </td><td> [[Image:FDTD_FS4_new.png|thumb|left|360px|Magnetic field and H-field polarization vectorsdistribution above the PEC plate.]] </td></tr></table>
===Focused Gaussian BeamsComputing Far-Field Characteristics in FDTD ===
[[Image:FDTD47Far fields are the asymptotic form the fields when r &rarr; &infin; or k<sub>0</sub>r >> 1.png|thumb|250px|[[FDTD Module]]'s Gaussian Beam dialog]]Under these assumptions, the fields propagate outward as transverse electromagnetic (TEM) waves:
[[EM.Cube]] gives you an option to illuminate objects with a focused beam instead of a uniform plane wave. The focused beam is a Gaussian beam, which is a solution of the paraxial approximation to the Helmholtz equation. The fundamental Gaussian beam is rotationally-symmetric about its propagation axis, and its transverse field distribution follows a Gaussian function profile. The critical parameter is the beam radius w<submath>0</sub>; it is the point where the field drops by \mathbf{H^{ff}(r)} = \frac{1/e from its value at the center. The beam opens up into a cone along the propagation direction, with a cone angle of tan &theta; = &lambda;<sub>0</sub>/}{\eta_0} \mathbf{ \hat{k} \times E^{ff}(&pi;.&omega;<sub>0</sub>r) (&lambda;<sub>0} </submath> is the free-space wavelength).
{{note|The beam radius has to be at least Far fields are typically computed in the spherical coordinate system as functions of the elevation and azimuth observation angles &lambdatheta;<sub>0</sub>/and &piphi;; otherwise. Only far-zone electric fields are normally considered. When your physical structure is excited using a lumped source, strong a waveguide source, a distributed source, a short dipole source, or an array of such sources, the far fields appear outside represent the excitation radiation pattern of your source(s) in the far zone. In that case, 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 a Gaussian beam source, the far fields represent the scattered fields. In the case of a plane source, you can compute the radar cross section (RCS) of your target structure. In that case, you need to define an '''RCS - Far Field Observable''' for your project. In the FDTD method, the far fields are calculated using a near-field-to-far-field transformation of the field quantities on a given closed surface. EM.Tempo uses rectangular boxes to define these closed surfaces. You can use EM.Tempo's default radiation box}}or define your own custom box. Normally, the radiation box must enclose the entire FDTD structure. In this case, the calculated radiation pattern corresponds to the entire radiating structure. Alternatively, you can define a custom radiation box that may contain only parts of a structure, which results in a partial radiation pattern.
The Gaussian beam box is displayed in the project workspace as a green wireframe box enclosing the structure<table><tr><td> [[Image:FDTD_FF1. To define a new Gaussian Beam source, follow these stepspng|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>
* Right click on the '''Gaussian Beam''' item in the '''Sources''' section The default radiation box is placed at an offset of the Navigation Tree and select '''Insert New Source0...''' This opens up the Gaussian Beam Dialog.* Similar to the plane wave, a default Excitation Box three cells away 1&lambda;<sub>0</sub> from the largest bounding box of the geometry is suggested, i.eyour physical structure. You can change the radio button '''Size: Default''' is selected by default. The radio button '''Size: Custom''' allows you to set the excitation box manually by modifying the coordinates of '''Corner 1''' (front lower left) and '''Corner 2''' (back upper right) of the box in the grid coordinate system (GCS).* In offset value from the "Far Field Definition section of the Acceleration" dialog, you which can enter be accessed by clicking the Amplitude {{key|Acceleration...}} button of incident electric field in V/mEM. The default field Tempo'''Amplitude''' is 1 V/ms Radiation Pattern dialog. Note that you do not specify the phase Calculation of far-field characteristics at high angular resolutions can be a Gaussian beam because the beam focus already contains the phase informationvery time consuming computational task.* The direction of the Gaussian Beam is determined You can accelerate this process by the incident setting a lower '''Theta''' and '''Phi''' angles in degreesMax. You can also set the Far Field Sampling Rate'''Polarization''' of the Gaussian Beam and choose from the three options: '''TM<sub>z</sub>''', '''TE<sub>z</sub>''' and '''User Defined'''same dialog.* Unlike plane waves, a Gaussian beam The default sampling rate is a localized field30 samples per wavelength. Therefore, you need to specify A low sampling rate will under-sample the '''Beam Properties'''. This includes mesh grid points on 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 unitsradiation box.
A Gaussian beam box placed around a horizontal PEC plate<table><tr><td> [[Image:FDTD_FF2. The trident at the corner of the box shows the propagation vector as well as the E-png|thumb|left|480px|EM.Tempo's far field and H-field polarization vectors. The titled transparent green circle shows the footprint of Gaussian beam at its focal (waist) pointacceleration dialog.]] </td></tr></table>
==Running FDTD Simulations= Radiation Pattern Above a Half-Space Medium ===
===Strategy For An Accurate & Efficient In 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 Simulation===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 FDTD method is one of # Free space background# Free space background terminated in an infinite PEC ground plane at the most versatile numerical techniques for solving electromagnetic modeling problems. Choosing bottom# Free space background terminated in an infinite PMC ground plane at the right settings and optimal values for certain numerical [[parameters]] will have a significant impact on both accuracy and computational efficiency of bottom# Free space background terminated in an FDTD simulation. Below are a number of steps that you should typically follow by order when planning your FDTD simulation:infinite dielectric half-space medium
* Identify material types and proper domain boundary conditions.<table>* Identify the source type and excitation mechanism.<tr>* Define the project observables<td> [[Image:FDTD133.* Mesh the physical structure and examine the quality of the generated mesh and it geometric fidelitypng|thumb|left|480px|EM.* Determine the proper temporal waveformTempo's far field background medium dialog.]] </td>* Select the simulation mode and run the FDTD engine.</tr></table>
For certain problems, more than one combination or choice of settings and [[parameters]] may still give acceptable results. In most casesother words, [[EM.Cube]] tries to make these choices convenient for Tempo lets you by suggesting default settings or default parameter values. For example, [[EM.Cube]] by default generated am "adaptive" type mesh with a default density calculate the far field radiation pattern of 20 cells per effective wavelength. The default computational domain features CPML walls placed a quarter free-space wavelength away from structure in the large bounding box presence of any of the entire physical above four background structure. A modulated Gaussian waveform with certain optimal [[parameters]] is used to drive the project's excitation source by defaulttypes. You can change most of set these settings arbitrarilychoices 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...}}. For example From this dialog, you can also set up the Z-coordinate of the top of the terminating half-space medium. If you set the -Z boundary condition of your own computational domain with different to PEC or PMC types , the cases of boundary conditionsinfinite PEC or PMC ground planes from the above list are automatically selected, customize respectively, and the FDTD mesh by modifying a large number Z-coordinates of mesh settings the ground plane and use other types the bottom face of excitation waveformsthe computational domain will be identical.
{{Note|Keep The fourth case applies when your computational domain ends from the bottom in mind a dielectric layer with a CPML -Z boundary along with a -Z domain offset equal to zero. If you set the lateral domain offset values along the ±X and ±Y directions equal to zero, too, , then your structure is, in effect, terminated at an infinite half-space dielectric medium. In that case, you are always responsible for have to specify the choice permittivity &epsilon;<sub>r</sub> and electric conductivity &sigma; of excitation source the terminating medium in the Background Medium dialog. You may additionally want to set the Z-coordinate of the top of that dielectric layer as the position of the interface between the free space and the project observableslower dielectric half-space. In other words, [[Note that the current version of EM.Cube]] Tempo does not automatically provide calculate the far-field Green's function of a default excitation source conductor-backed, dielectric substrate with a finite layer thickness. To use the background medium feature of EM.Tempo, your structure can have either an infinite PEC/PMC ground or does not suggest default observablesa dielectric half-space termination.}}
===FDTD Observable Types===<table><tr><td> [[Image:fdtd_out36_tn.png|thumb|left|360px|Radiation pattern of a vertical dipole above PEC ground.]] </td><td> [[Image:fdtd_out37_tn.png|thumb|left|360px|Radiation pattern of a vertical dipole above PMC ground.]] </td></tr><tr><td> [[Image:fdtd_out38_tn.png|thumb|left|360px|Radiation pattern of a horizontal dipole above PEC ground.]] </td><td> [[Image:fdtd_out39_tn.png|thumb|left|360px|Radiation pattern of a horizontal dipole above PMC ground.]] </td></tr></table>
In [[EM.Cube]], project observables are the simulation data that are generated by the simulation engine at the end of each simulation run. [[EM.Cube]]'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 = 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 == Generating and reuse the memory. 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, timeWorking with Multi-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.Frequency Simulation Data ===
[[One of the primary advantages of the FDTD method is its ability to run wideband EMsimulations.Cube]]'s FDTD Modules currently offers The frequency domain data are computed by transforming the time-domain data to the Fourier domain. This is done automatically when EM.Tempo computes the port characteristics such as S/Z/Y parameters. The following types of observablefrequency-domain observables are defined at a single frequency:
* Near-Field Probes* Field Sensors* Domain EnergySensor* Far Field - field Radiation PatternsPattern* Far Field - RCS* Huygens Surface Data* Port Characteristics (S/Y/Z [[Parameters]] and VSWR)* Reflection and Transmission Coefficients
Field probes monitor The default computation frequency of the field components at a certain point in above observables is the computational domainproject's center frequency (fc). They record You can change the time-domain field data during observable frequency from the entire time loop observable's property dialog and compute their enter any frequency spectrum using a discrete Fourier transformin Hz. Field sensors are primarily intended for observation The reason these types of near field maps on simulation data are computed at a certain cross section of the computational domainsingle frequency is their typically very large size. The field sensor planes are parallel to one of the three principal XYHowever, YZ or ZX planes. When you run a can define as many instances of these observables and set different frequency sweep or parametric sweep, multiple maps are generated values for each sample one. In the case of your sweep variable, radiation pattern and you RCS, there are two dialogs that can animate these mapsbe accessed from the navigation tree. You can also animate Right-click on the evolution "Fer-Field Radiation Patterns" or "Radar Cross Sections" items of the near fields in the time domain over the course of the simulated time loopnavigation tree and select '''Insert Multi-Frequency Radiation Pattern. [[EM.Cube]] can also keep track of the electric, magnetic and total energy of the computational domain as functions of .''' or '''Insert Multi-Frequency RCS...''' from the time stepcontextual menu.
Using asymptotic near-to-far-field transformations, <table><tr><td> [[Image:RadPattern multi.png|thumb|left|360px|EM.CubeTempo's Multi-frequency Radiation Pattern dialog.]] calculates the far fields of your physical structure in the standard spherical coordinate system. The radiation patterns are indeed the spherical electric field components E<sub>&theta;</subtd> and E<subtd>&phi;</sub> expressed as functions of the observation angles &theta; and &phi; over a unit sphere[[Image:RCS multi. The far field data are calculated in the frequency domain at a specified frequency, which is equal to your projectpng|thumb|left|360px|EM.Tempo's center Multi-frequency by default. When your excitation source is a plane wave or a Gaussian beam, the far field data actually represent the scattering behavior of your "target". In the case of a plane wave source, the FDTD simulation engine can also compute the radar cross section of you target. If your structure is periodic, then the reflection and transmission coefficients of the periodic surface are also calculated over the entire bandwidth of your projectRadar Cross Section dialog.]] </td></tr></table>
You Using the multi-frequency dialogs, you can define ports for lumped sources, waveguide sources and distributed sources. In that case, set the FDTD simulation engine calculates the scattering (S) [[parameters]] value of your multiport network over the entire bandwidth specified in your project. From the scattering matrixStart Frequency, [[EM.Cube]] determines the impedance Stop Frequency and admittance matrices of your network over the operational bandwidthStep Frequency in Hz. You can plot also set the S/Y/Z [[parameters]] values of Theta Angle Increment and Phi Angle Increment in EMdegrees.Grid. If your project has more than one port, the FDTD time loop will be run as many times as the number The default values of ports, N. In each time loop run j (j = 1, 2, ..., N), the source(s) associated with the jth port is (are) excited with a unit amplitude and all the other sources both quantities are turned off5&deg;. In this run, all the S<sub>ij</sub> parameters (i = 1case of RCS, 2, ..., N) are calculated. At the end you have choose one of the Nth run, the entire S matrix is completedtwo options: '''Bistatic RCS''' or '''Monostatic RCS'''.
=== The FDTD Simulation Engine Settings ===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:
[[Image:FDTD58.png|thumb|300px|[[FDTD Module]]'s Engine Settings dialog]]----
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_field_sensor_multi_freq(f1, select '''Menu > Simulate > Simulation Engine Settings... '''or open the '''Run Dialog'''f2, and click the '''Settings''' button next to the engine dropdown list.df,dir_coordinate,x0,y0,z0)
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_multi_freq(i.e. n = 0)f1, and its value starts to build up over time. With a Gaussian or Modulated Gaussian pulse waveformf2, 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'''df, the time loop is exited. The default value of Power Threshold is -30dBtheta_incr, 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'''"phi_incr), terminates the simulation as soon as either of the first two criteria is met first.
{{Note|Keep in mind that for highly resonant structuresemag_rcs_bistatic_multi_freq(f1, you may have to increase the maximum number of time steps to very large values above 20f2,000.}}df,theta_incr,phi_incr)
The "'''Acceleration'''" section of the FDTD Simulation Engine Settings dialog give three options for the FDTD kernel:emag_rcs_monostatic_multi_freq(f1,f2,df,theta_incr,phi_incr)
# Serial CPU Solver# Multi-Core CPU Solver# GPU Solveremag_huygens_surface_multi_freq(f1,f2,df,x1,y1,z1,x2,y2,z2)
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 sourceIn the above Python functions, there are two standard FDTD formulations: '''Scattered Field '''(SF) formulation f1 and '''Total Field - Scattered Field''' (TF-SF) formulation. [[EM.Cube]]'s [[FDTD Module|FDTD module]] offers both formulations. The TF-SF solver is f2 are the default choice start and stop frequencies, respectively, and df is typically much faster than the SF solver for most problems. In two casesfrequency increment, when all expressed in Hz. Note that the structure has periodic boundary conditions or infinite CPML boundary conditions (zero domain offsets), only above commands simply create and insert the SF solver is availablespecified observables in the navigation tree. They do not run perform a simulation. The other sections of created observables have the FDTD Simulation Engine Settings dialog will be described next in the context of [[Waveforms and Discrete Fourier Transforms]]same "base name" with ordered numeric indices. For example, far-field radiation patterns are names as Multi_FF_1, Multi_FF_2, ...
===Running A Wideband FDTD Simulation===EM.Tempo also provides some additional Python functions for the far-field radiation patterns and RCS observables.
Once you build your physical structure in the project workspace and define an excitation source, you are ready to run an FDTD simulation. The simulation engine will run even if you have not defined any observables. Obviously, no simulation data will be generated in that case. [[EM.Cube]]'s [[FDTD Module]] currently offers several different simulation modes as follows:----
# Analysis# Frequency Sweep# Parametric Sweep# Angular Sweep# R/T Macromodel# Dispersion Sweep# Huygens Sweep# [[Optimization]]# HDMRemag_farfield_consolidate(x1,x2,dx,base_name)
[[Image:FDTD57.png|thumb|250px|Figure 1: [[EM.Cube]]'s FDTD Simulation dialog.]]emag_rcs_consolidate(x1,x2,dx,base_name)
Analysis is the simplest and most straightforward simulation mode of the [[FDTD Module]]. It runs the FDTD time marching loop once. At the end of the simulation, the time-domain field data are transformed into the frequency domain using a discrete Fourier transform emag_farfield_explode(DFTbase_name). As a result, you can generate wideband frequency data from a single time-domain simulation run. The other simulation modes will be explained later in this manual.
To open the Simulation Run Dialog, click the '''Run''' [[Image:run_icon.png]] button of the '''Simulate Toolbar''' or select '''Menu > Simulate > Run...''' from the menu bar or use the keyboard shortcut '''Ctrl+R'''.emag_rcs_explode(base_name)
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>emag_farfield_average(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.base_name)
{{isoimg|FDTD66.png|[[FDTD Module]]'s output window.}}emag_rcs_average(n,base_name)
===Waveforms & Discrete Fourier Transforms===----
{{mainpage|[[Waveforms The two "consolidate" Python functions take the results of multi-frequency simulation observables and Discrete Fourier Transforms]]}}merge them into a single data file. The base name in the case of far-field radiation patterns is "Multi_FF" as pointed out earlier. The name of the resulting consolidated data file is the same 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 "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, the two "average" Python functions take several radiation pattern or RCS files with a common base name in the current project folder, compute their average and save the results to a new data file named "base_name_ave" with a ".RAD" or ".RCS" file extensions, respectively.
The accuracy of == Generating the FDTD simulation results depends on the right choice of temporal waveform. [[Mesh in EM.Cube]]'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. Tempo ==
In addition to the default waveforms, [[=== EM.Cube|EM.CUBE]] allows the ability to define custom waveforms by either time or frequency specifications on a per source basis.Tempo's Mesh Types ===
Of [[EM.Tempo generates a brick volume mesh for FDTD Module]]'s observables, the near fields, far fields and all of their associated [[parameters]] like directivity, RCS, etcsimulation., are calculated at The FDTD mesh is a certain frequency rectangular Yee mesh that is specified as part of extends to the definition of the observableentire computational domain. On It is primarily constructed from three mesh grid profiles in the other handXY, port characteristics like S/Y/Z [[parameters]], VSWR YZ and periodic characteristics like reflection and transmission coefficients, are calculated over 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 entire specified bandwidth shape of your projectthe original structure.
===Probing Fields in Time and Frequency Domains===In EM.Tempo, you can choose one of the three FDTD mesh types:
[[Image:FDTD75.png|thumb|300px|FDTD Field Probe Dialog]]* Adaptive MeshBy computing the time domain fields at a certain location, you can examine the transient response of a system at that location. This is also very useful for monitoring 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 in the computational domain during the entire time marching loop. 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:* Regular Mesh* Fixed-Cell Mesh
* Right click on the EM.Tempo'''Field Probe''' item in s default mesh generator produces an adaptive brick mesh of your physical structure, whose mesh resolution varies with the '''Observables''' section frequency. As the operating frequency of your project increases, the Navigation Tree and select default '''Insert New Observable...Adaptive'''* You can change the default name FDTD mesh generator creates a larger number of the probe as well as its colorsmaller voxels for a given physical structure. The field probe adaptive mesh is displayed optimized in such a way as to capture all the geometric details, curvatures and thin slanted plates or sheets, which often pose a small green arrow in the Project Workspacechallenge to staircase meshing.* By default [[EM.Cube]] creates It usually provides a field probe located at the origin reasonably accurate discretization of coordinates (0most complex structures. Occasionally,0you may opt for a more regularized FDTD mesh with almost equal grid line spacings everywhere,0)but still with a frequency-dependent cell size. You can move the probe to any location by changing its X, Y and Z coordinates.* In the Probe Location section of the dialogthat case, you can also set the use EM.Tempo's ''Direction'Regular'' ' FDTD mesh generator, which is indeed a simplified version of the probe from a dropdown list that contains ±X, ±Y its adaptive mesh generator. The regular FDTD mesh enforces only two criteria: minimum mesh density and ±Z optionsabsolute minimum grid spacing. The default direction is +Zgrid cell sizes in this mesh are almost uniform in objects of the same material composition or in free-space regions.
[[Image:FDTD76EM.png|thumb|300px|An X-directed probe placed above Tempo also offers a PEC plate illuminated by a normally incident plane waveuniform, frequency-independent, '''Fixed-Cell''' FDTD mesh generator. The fixed-cell mesh consists of three uniform grids in the XY, YZ and ZX principal planes. However, the uniform mesh cell dimensions along the three direction, i.e. &Delta;x, &Delta;y and &Delta;z do not have to be 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.]]
At the end of an {{Note|When choosing a mesh type for your FDTD simulation, the electric keep in mind that adaptive and magnetic field components along the specified probe direction regular mesh types are saved at the probe's location. Both the time domain fields from t = 0 to the last time step frequency-dependent and their density varies with the highest frequency domain spectrum are recorded. You can plot these data in EM.Gridof your specified bandwidth, which can be accessed from [[EM.Cube]]while the uniform mesh type is always fixed and independent of your project's Data Managerfrequency settings. To open data manager, click the '''Data Manager''' }} [[Image:data_manager_iconInfo_icon.png|30px]] button of the Click here to learn more about '''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[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.. from the contextual menu, or use the keyboard shortcut '''Ctrl+D'''. In the Data manager Dialog, you see a list of all the data files available for plotting. These include the time-domain and frequency-domain probe data files 27s_Mesh_Generators | Working with Mesh Generator]]'''.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 range.
{{twoimg|FDTD77[[Image:Info_icon.png|Time domain component plotted vs30px]] Click here to learn more about the properties of '''[[Glossary_of_EM. time|FDTD78.pngCube%27s_Simulation-Related_Operations#Adaptive_Yee_Mesh |Probed field plotted vsEM. frequencyTempo's Adaptive Brick Mesh Generator]]'''.}}
===Frequency[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Domain Near Field Visualization===Related_Operations#Fixed-Cell_Brick_Mesh | EM.Tempo's Fixed-Cell Brick Mesh Generator]]'''.
<table><tr><td> [[Image:FDTD71(1)Tempo L11 Fig5.png|thumb|300pxleft|550px|A human head model and a cellular phone handset on its side.]] </td></tr><tr><td> [[Image:Tempo L11 Fig7.png|thumb|left|550px|The FDTD Modulemesh of the human head model and the cellular phone handset.]]'s Field Sensor dialog</td></tr><tr><td> [[Image:Tempo L11 Fig8.png|thumb|left|550px|Another view of the FDTD mesh of the human head model and the cellular phone handset.]]</td></tr></table>
In [[EM.Cube]] you can visualize === Discretizing the near fields at a specific frequency in a specific plane of Physical Structure Using the computational domain. At the end of an FDTD simulation, all the time domain electric and magnetic field values are available at all mesh nodes. These temporal quantities are transformed into the frequency domain using discrete Fourier transforms to calculate the electric and magnetic fields on a specified sensor plane. To define a new Field Sensor, follow these steps:Adaptive Yee Mesh ===
EM.Tempo's default mesh generator creates an adaptive brick volume mesh that uses a variable staircase profile, where the grid line spacings vary with the curvature (derivative) of the object edges or faces. As a result, a higher mesh resolution is produced at "curved" areas to better capture the geometrical details. The resolution of the adaptive FDTD mesh is driven by the '''Mesh Density''', expressed in cells per effective wavelength. Since FDTD is a time-domain method and the excitation waveform may have a wideband spectral content, the effective wavelength is calculated based on the highest frequency of the project: f<sub>max</sub> = f<sub>0</sub> + &Delta;f/2, where f<sub>0</sub> (or fc) is your project's center frequency and &Delta;f (or bw) is its specified bandwidth. In other words, the effective wavelength in the free space is &lambda;<sub>0,eff</sub> = c / f<sub>max</sub>, c being the speed of light in the free space. The effective wavelength in a dielectric material with relative permittivity &epsilon;<sub>r</sub> and permeability &mu;<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>.
* Right click on The adaptive FDTD mesh, by default, produces different grid cell sizes in the '''Field Sensors''' item free space regions than inside dielectric regions. The effective wavelength in a dielectric material with relative permittivity e<sub>r</sub> 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 '''Observables''' section average ratio of the Navigation Tree and select '''Insert New Observable...'''* The '''Label''' box allows you cell size in a dielectric region to change the sensor’s namecell size in the free space is 1/&radic;(&epsilon;<sub>r</sub>&mu;<sub>r</sub>).* Set The adaptive FDTD mesh generator also takes note of the '''Direction''' geometrical features of the field sensorobjects it discretizes. This is specified by more visible in the normal vector case of the sensor plane. The available options are '''X'''curved solids, '''Y''' curves surfaces and '''Z''', with the last being the default optioncurved wires or obliquely oriented planes and lines which need to be approximated using a staircase profile.* By default [[EM.Cube]] creates a field sensor plane passing through the origin of coordinates (0,0,0) and coinciding The mesh resolution varies with the XY plane. Note that the sensor plane extends across the entire computational domain. You can change the location slope of the sensor plane geometrical shapes and tries to any point by typing capture the curved segments in new values for the X, Y and Z coordinatesbest way. Keep in mind that you can move a sensor plane only along Another important feature of the specified direction adaptive FDTD mesher is generation of the sensorgradual grid transitions between low-density and high-density mesh regions. ThereforeFor example, only one coordinate can effectively be changed. As you increment or decrement this coordinate, you can observe often happens around the sensor plane moving along that direction in interface between the project workspacefree space and high permittivity dielectric objects.* The frequency at which the field is evaluated has to be specified Gradual mesh transitions provide better accuracy especially in the box labeled '''Near Field Frequency''' in the project's frequency unit. By default, this is equal to the project's center frequencycase of highly resonant structures.
After closing the Field Sensor DialogA carefully calculated, the a new field sensor item immediately appears under the "<u>'''ObservablesAdaptive''' section in the Navigation Tree and can be right clicked for additional editing. Once an FDTD simulation is finished, a total </u>" mesh of 14 plots are added to every Field Sensor node in the Navigation Tree. 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. Click on any of these items and a color-coded intensity plot of it your physical structure is visualized generated in the project workspace. A legend box appears in the upper right corner of the field plot, which can be dragged around using the left mouse button. The values of the magnitude plots are normalized between 0 and 1. The legend box contains the minimum field value corresponding order to 0 of satisfy 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 A/m for H-field. 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.following criteria:
{{twoimg|FDTD72* Optimize the number of mesh cells in each dimension.png|Field Sensor 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 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 (E-fieldsee the next item below) |FDTD74.png|Field Sensor * Ensure simulation accuracy by requiring an acceptable minimum number of cells per wavelength through each object and in the empty (Hfree) 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-field20 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)}}.
When [[Image:FDTD73EM.png|thumb|300px|Cartesian graph Cube]] generates an FDTD mesh, a large number of total magnetic field vsgeometrical considerations are taken into account. Y-index along These include the crosshair in bounding box of each object and its corners, the ends of a line, the apex of a cone or pyramid, or the locations of lumped sources, field senor probes and sensors, vertices of planewave or far field boxes, to name a few examples.These points are “locked” as fixed grid nodes in the FDTD mesh. [[EM.Cube]]determines these points internally to generate a mesh that best approximates the original structure. As you saw earlier, you can use the FDTD mesh settings to control the shape and resolution of the mesh, for example, around the curved portions of your structure, or on slanted lines or faces, etc. These settings are global and apply to all the objects making up your physical structure.
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 control 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 for the first time, the crosshair passes through the origin of coordinates. You can change the location of the crosshair on the sensor plane global mesh more selectively using the other two coordinate boxes besides the one that moves the location of the sensor plane. At the end of an Advanced FDTD simulation, in addition to the 3D near field maps, [[EM.Cube]] also generates 2D Cartesian graphs of the total electric and magnetic fields along the two perpendicular crosshair lines. A total of four Cartesian data files are generated, two for total E-field and two for total H-field along the two lines. You can plot these data in EM.Grid, which can be accessed from [[EM.Cube]]'s Data ManagerMesh Settings Dialog. To open data managerthis dialog, click the '''Data ManagerAdvanced ''' [[Image:data_manager_icon.png]] button at the bottom of the '''Simulate Toolbar'''FDTD Mesh Settings dialog. For example, or select '''Simulate > Data Manager''' from you can control the menu bar, or right click on the '''Data Manager''' item quality of the Navigation Tree and select Open Data Manager... from gradual grid transitions by setting the contextual menu, or use the keyboard shortcut value of '''Ctrl+DMax Adjacent Cell Size Ratio'''. In the Data Manager dialogThe default value of this parameter is 1.3, you see which maintains a list of all the data files available for plotting including the frequency-domain sensor data files smooth grid line spacing scheme with a '''no more than 1:1.DAT''' file extension3 ratio for adjacent cells. Select any data file by clicking By default, grid lines are enforced at all source and highlighting its row in observable locations. You have the table option to disable this feature and then click the '''Plot''' button round up source locations to plot the graphtheir closest grid lines. Frequency domain field sensor graphs show You may also uncheck the total field as a function of cell index along one of the principal axesbox labeled "Adapt mesh resolution to material properties". If the FDTD mesh is uniform in In that directioncase, the position is found by multiplying same effective wavelength will be used to determine the cell index by mesh resolution inside all materials as well as the cell dimension and offsetting with respect to lowerfree-front-left corner of the computational domainspace regions.
===Visualizing Field Evolution in Time Domain===<table><tr><td> [[Image:FDTD80.png|thumb|left|720px|EM.Tempo's mesh settings dialog.]]</td></tr></table>
In The figures below compare the course three types of the FDTD time marching process, mesh for a tremendous amount of data are generated that include all the six Edielectric ellipsoid with &epsilon;<sub>r</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 sub> = 0, when all the fields are zero everywhere in the computational domain4. [[EM.Cube]] can record snapshots of Note that the field sensor data as cell size inside the time loop marches forward. When you define a field sensor for dielectric region is half 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 sensor's property dialog by right clicking on the field sensor's name cell size in the Navigation Tree and selecting '''Properties...'''from the contextual menu. In the section titled '''Sensor Domain''', select the radio button labeled '''Time Domain'''. Also, in the section titled "Field Display - Multiple Plots", select one of the two radio buttons labeled '''E-Field''' or '''H-Field'''. By default, the time domain field data are saved every 100 time steps. To change this setting, right click on the '''Field Sensors''' item in the Navigation Tree and select '''Time Domain Settings...''' from the contextual menu. In the Time Domain Settings Dialog, change the value of the box labeled '''Sampling Interval (in time steps)'''air region.
<table>
<tr>
<td>
[[Image:FDTD MAN21.png|thumb|left|360px|The geometry of a dielectric ellipsoid with &epsilon;<sub>r</sub> = 4.]]
</td>
<td>
[[Image:FDTD MAN22.png|thumb|left|360px|The adaptive mesh of the dielectric ellipsoid.]]
</td>
</tr>
</table>
Time domain <table><tr><td> [[animation]] is available only for Image:FDTD simulations of "Analysis" typeMAN18. It cannot be used in conjunction with sweep simulations. Once png|thumb|left|360px|The top view of the adaptive FDTD Analysis is finished, you can click any mesh 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 '''[[Animationdielectric ellipsoid.]]''' from the contextual menu. You can change the </td><td> [[animationImage:FDTD MAN19.png|thumb|left|360px|The top view of the regular FDTD mesh of the dielectric ellipsoid with the same mesh density.]] settings from the '''</td></tr><tr><td> [[Animation]] Controls Dialog'''Image:FDTD MAN20A. Note that png|thumb|left|360px|The top view of the [[animationfixed-cell FDTD mesh of the dielectric ellipsoid using the larger cell size inside the air region.]] loop repeats itself indefinitely until you close the </td><td> [[Animation]] Controls dialog or hit Image:FDTD MAN20.png|thumb|left|360px|The top view of the keyboard’s '''Esc Key'''fixed-cell FDTD mesh of the dielectric ellipsoid using the smaller cell size inside the dielectric region.]]</td></tr></table>
{{twoimg|FDTD121The figures below compare the low resolution and high resolution adaptive FDTD meshes of a PEC parabolic reflector.png|Field sensor setup for time-domain output|FDTD126This structure involves both a curved surface and a very thin surface.png|Time interval settings}}
===Scattering Parameters and Port Characteristics===<table><tr><td> [[Image:FDTD MAN23.png|thumb|left|450px|The geometry of a PEC parabolic reflector.]]</td></tr></table>
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) <table><tr><td> [[parametersImage:FDTD MAN24.png|thumb|left|360px|The low-resolution adaptive mesh of the PEC parabolic reflector.]], impedance (Z) </td><td> [[parametersImage:FDTD MAN27.png|thumb|left|360px|The high-resolution adaptive mesh of the PEC parabolic reflector.]] and admittance (Y) </td></tr><tr><td> [[parameters]] of the selected portsImage:FDTD MAN26. png|thumb|left|360px|The S [[parameters]] are calculated based on top (XY) view of the port impedances specified in low-resolution adaptive mesh of the project's "Port Definition"PEC parabolic reflector. If more than one port has been defined in the project, the ]]</td><td> [[Image:FDTD engine runs an internal port sweepMAN25. Each port is excited separately with all png|thumb|left|360px|The right (YZ) view of the other ports turned off. When low-resolution adaptive mesh of the ''j''th port is excited, all the SPEC parabolic reflector.]]<sub/td>ij</subtr></table> [[parameters]] are calculated together based on the following definition:
:<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><!--[[Image:FDTD82(1).png]]-->== Adding Fixed Grid Points to the Adaptive Yee Mesh ===
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 Adding fixed grid points to the next port until all ports have been excitedan FDTD mesh increases its resolution locally. After Each fixed grid point adds three grid lines along the FDTD simulation is finished, the S [[parameters]] are written into output ASCII data filesthree principal axes passing through that point. Since these data are complex, they are stored You can add as '''many fixed grid points as you desire and create dense meshes at certain regions.CPX''' filesFixed grid points appear as grey points in the project workspace. Every file begins with To insert a header starting with "#". Besides the scattering [[parameters]]new fixed grid point, the admittance (Y) and impedance (Z) [[parameters]] are also calculated and saved in complex data files with '''.CPX''' file extensions. The following relationships are usedfollow these steps:
:<math* Open the Fixed Grid Points Dialog by selecting '''Menu >\mathbfSimulate > Discretization > Fixed Grid Points...''' or by right-clicking on the '''FDTD''' '''Mesh''' item of the navigation tree and selecting '''Fixed Grid Points Settings...'''* Click the { [Z] = [\sqrt{Z_0key|Add/Edit}}] \cdot button to open the "Add Fixed Grid Point" dialog.* Enter the ([U]+[S]X, Y, Z) \cdot ([U]-[S])^coordinates of the new fixed point in the coordinate boxes and click the {-1} \cdot [\sqrt{Z_0key|OK}] }<button.* To modify the coordinates of an existing fixed grid point, select it from the table and click the {{key|Add/math>Edit}} button.* You can also remove a fix grid point from the FDTD mesh using the {{key|Delete}} button.
:<mathtable><tr><td> \mathbf{ [Y[Image:FDTD36.png|thumb|left|480px|A user-defined fixed grid point in an FDTD mesh.] = ] </td></tr><tr><td> [Z[Image:FDTD38.png|thumb|left|480px|Adding a new fixed grid point in EM.Tempo's fixed grid points settings dialog.]]^{-1} } </mathtd><!--/tr><tr><td> [[Image:FDTD83FDTD39.png|thumb|left|480px|The "Add Fixed Grid Point" dialog.]]--</td></tr></table>
where <math>\mathbf{According to the Courant-Friedrichs-Levy (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. [U[EM.Cube]}</math> is ] offers the identity matrix of order N"Regular" FDTD mesh generator, and <math>\mathbf{\sqrt{Z_0}}</math> which is a diagonal matrix whose diagonal elements are simplified version of the adaptive mesh generator. In a regular FDTD mesh, the grid cell sizes stay rather the square roots same in objects of port characteristic impedancesthe same material composition. The voltage standing wave ratio (VSWR) mesh resolution increases in materials of higher permittivity and/or permeability based on the structure at effective wavelength in exactly the first port is also computed and saved to a real data '''same way as the adaptive mesh.DAT''' file. The following definition is used:
:<math> \text{VSWR} = \frac{|V_{max}|}{|V_{min}|} = \frac{1+|S_{11}|}{1-|S_{11}|} </math><!--[[Image:FDTD84.png]]-->= Profiling the Brick Mesh ===
You can plot A volumetric brick mesh is overwhelming for visualization in the port characteristics from 3D space. For this reason, [[EM.Cube]]'s mesh view shows only the outline of the Navigation Tree. Right click cells on exterior surface of the '''Port Definition''' item in (staircased) meshed objects. The mesh grid planes provide a 2D profile of the mesh cells along the principal coordinate planes. To display a mesh grid plane, select '''ObservablesMenu > Simulate > Discretization > Grid Planes >''' section of the Navigation Tree and select pick one of the itemsthree options: '''Plot S [[Parameters]]XY Plane''', '''Plot Y [[Parameters]]YZ Plane''', '''Plot Z [[Parameters]]''', or '''Plot VSWRZX Plane'''. In the first three cases, another sub-menu gives a list of individual port [[parameters]]. Keep in mind that in multi-port structures, each individual port parameter has its own graph. You can may also see a list right click on one of all the port characteristics data files in [[EM.Cube]]'s data manager. To open data manager, click the ''XY Plane'Data Manager'', ' [[Image:data_manager_icon.png]] button of the '''Simulate ToolbarYZ Plane''' or select '''Simulate > Data ManagerZX Plane''' from the menu bar or right click on items in the '''Data ManagerDiscretization''' item section of the Navigation Tree navigation tree and select Open Data Manager... from the contextual menu or use the keyboard shortcut '''Ctrl+DShow'''. Select any data file by clicking and highlighting its row in from the table and then click the '''Plot''' button to plot the graph in '''EMcontextual menu.Grid'''. By default, the S [[parameters]] are plotted as dual magnitude-phase graphs, while the Y and Z [[parameters]] are plotted as dual real-imaginary part graphs. The VSWR data are plotted on a Cartesian graph. You change the format of complex data plots. In general complex data can be plotted in three forms:
# Magnitude While a mesh grid plane is visible, you can move it back and Phase# Real and Imaginary Parts# Smith Chartforth between the two boundary planes at the two opposite sides of the computational domain. You can do this in one of the following four ways:
In particular, it may be useful to plot * Using the S<subkeyboard's Page Up {{key|PgUp}} key and Page Down {{key|PgDn}} key.* By selecting '''Menu >ii</subSimulate > [[parameters]] on a Smith chartDiscretization > Grid Planes > Increment Grid''' or ''' Decrement Grid'''. To change the format * By right clicking on one of a data plotthe '''XY Plane''', select it and click '''YZ Plane''' or '''ZX Plane''' items in the '''Edit Discretization'''button section of Data Manager the navigation tree and select one of selecting '''Increment Grid''' or ''' Decrement Grid''' from the available graph type optionscontextual menu.<br /* Using the keyboard shortcut {{key|>}} or {{key|<}}.
{{twoimg|FDTD114.png|[[EM.Cube]]'s data manager showing a list As you “step through” or profile the mesh grid, you can see how the structure is discretized along internal planes of complex data files available for plotting in EM.Grid.|FDTD115.png|Plot of S<sub>21</sub> of a filter in EM.Gridthe computational domain.}}
===Far Field Calculations in FDTD===<table><tr><td> [[Image:Tempo L1 Fig11.png|thumb|left|360px|The XY mesh grid plane.]] </td><td> [[Image:Tempo L1 Fig12.png|thumb|left|360px|The YZ mesh grid plane.]] </td></tr></table>
{{mainpage|[[Farfield Calculations in EM.Tempo]]}}=== The FDTD Grid Coordinate System (GCS) ===
For radiating structures or scatterersWhen 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 far field quantities are computational domain in terms of primary interestnode indices on the mesh grid. [[EM.Cube]]'s [[FDTD Module]] can calculate displays the far field radiation patterns total number of mesh grid lines of an antenna or the radar cross section simulation domain (RCSN<sub>x</sub> × N<sub>y</sub> × N<sub>z</sub>) of a targetalong the three principal axes on the '''Status Bar'''. In generalTherefore, by far fields we mean the electric fields evaluated number of cells in each direction is one less than the far zone number of a physical structuregrid lines, which satisfies i.e. (N<sub>x</sub>-1)× (N<sub>y</sub>-1) × (N<sub>z</sub>-1). The lower left front corner of the following condition:domain box (Xmin, Ymin, Zmin) becomes the origin of the mesh grid coordinate system (I = 0, J = 0, K = 0). 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).
In [[EM.Cube]] allows you to navigate through the FDTD method, mesh grid and evaluate the far fields are calculated using a near-field-to-far-field transformation grid points individually. Every time you display one of the field quantities on a given closed surfacethree mesh grid planes, the "'''Grid Coordinate System (GCS)'''" is automatically activated. On the Status Bar, you will see [[EMImage:statusgrid.Cubepng]] uses rectangular boxes to define these closed surfaces. You can use instead of the default [[EMImage:statusworld.Cubepng]]. This means that the current coordinates reported on Status Bar are now expressed in grid coordinate system. The current grid point is displayed by a small white circle on the current mesh grid plane, and it always starts from (I = 0, J = 0, K = 0). Using the keyboard's default radiation box or define your own. Normally'''Arrow Keys''', you can move the radiation box should enclose white circle through the entire FDTD structure. In this casemesh grid plane and read the current node's (I, J, K) indices on the calculated radiation pattern corresponds status bar. You can switch back to the entire radiating structure"'''World Coordinate System (WCS)'''" or change to the "'''Domain Coordinate System'''" by double-clicking the status bar box that shows the current coordinate system and cycling through the three options. The radiation box may also contain only parts domain coordinate system is one that establishes its origin at the lower left front corner of a structure, which results the computational domain and measure distances in partial radiation patternsproject unit just like the WCS.
===Defining <table><tr><td> [[Image:FDTD35(1).png|thumb|left|480px|The Far Field Box===grid cursor on the XY grid plane and its grid coordinates (I, J, K) displayed on the status bar.]]</td></tr></table>
[[Image:FDTD116.png|thumb|250px|[[== Running FDTD Module]]'s Radiation Pattern dialog]]Simulations in EM.Tempo ==
For any far field calculations in [[=== EM.Cube]], first you have to define a far field observable in the Navigation Tree. In [[FDTD Module]], defining a far field observable also initiates a far field box in the computational domain. This box is used to perform the near-to-far-field transformation at the end of an FDTD simulation. To insert a new far field box, follow these steps:Tempo's Simulation Modes ===
* Right click on the '''Far Fields''' item Once you build your physical structure in the '''Observables''' section of the Navigation Tree project workspace and select '''Insert New Radiation Pattern...''' define an excitation source, you are ready to open the Radiation Pattern Dialog.* Use the '''Label''' box to change the name of the far field or change the color of the far field box using the '''Color''' buttonrun an FDTD simulation.* The frequency of radiation pattern calculation can be specified in the box labeled '''Far Field Frequency'''. By default, this is equal to the center frequency of the project. However, simulation engine will run even if you can calculate the far field data at have not defined any other frequency within the project's frequency rangeobservables.* The resolution of far field calculations is specified by '''Angle Increment''' expressed in degrees. By default, the &theta; and &phi; angles are incremented by 5 degrees.* Define the desired box for far field calculations in the '''Radiation Box''' section of the dialog. As in the case of plane waves and Gaussian beams, there are two options available, a default radiation box (radio button '''Size: Default''') or a user defined radiation box (radio buttons '''Size: Custom'''). If you check '''Size: Default'''Obviously, no radiation box corner coordinates need to be specified. The radiation box simulation data will always be 0.1 free space wavelength away from the bounding box of 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 lower-front-left corner and '''Corner 2''' is the upper-rear-right corner of the radiation box. The dimensions are specified in the world coordinate system (WCS).* At the end of an FDTD simulation, besides calculating the radiation data over the entire (spherical) 3D space, a 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 is at &phi; = 45° by default. You can assign another phi angle in degrees in the box labeled '''Non-Principal Phi Plane'''. Also, the 2D radiation pattern graphs are normalized by defaultthat case. You can instruct [[EM.CubeTempo]] to plot the 2D pattern graphs un-normalized (currently offers several different simulation modes as calculated) by removing the check mark from the box labeled '''Normalize 2D Patterns'''.follows:
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. A far field box shows up as a light blue wireframe box in the project workspace. You can right click on the far field item's name in the navigation tree and select '''Properties...''' 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-consuming. ===Visualizing 3D Radiation Patterns=== 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 defined as: :<math>|\mathbf{E_{ff,tot}}| = \sqrt{| E_{\theta}|^2 + |E_{\phi}|^2 }</math><!--[[Image:FDTD129.png]]--> The 3D plots can be viewed in the project workspace by clicking on each item. The view of the 3D far field plot can be changed with the available view operations such as rotate, pan and zoom. A legend box appears in the upper right corner of the 3D radiation pattern plot, which can be dragged around with the left mouse button. The (maximum) '''Directivity''' of the radiating structure is displayed at the bottom of the legend box and is calculated using the definition: :<math> D_0 = \frac{4\pi [S(\theta,\phi)]_{max}}{P_{rad}} = \frac{ 4\pi \big| \mathbf{E^{ff}}(\theta,\phi) \big|^2 |_{max} } { \int\limits_0^{2\pi} \int\limits_0^{\pi} \big| \mathbf{E^{ff}}(\theta,\phi) \big|^2 \sin\theta \,d\theta \,d\phi } </math><!--[[Image:FDTD113.png]]--> You can change the type of the 3D radiation pattern plot through the '''Radiation Pattern Dialog'''. In the '''3D Display Type''' section of this dialog you can choose from three options: '''3D Polar''', which is the default choice, '''Spherical Map''' and '''Cone'''. In the case of cone type, you can also set the size of the cones that are used for a vectorial visualization of the far field data. If the structure blocks the view of the radiation pattern, you can simply hide or freeze the entire physical structure or parts of it. 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. Sometimes, it might be a good idea to hide the physical structure when you are viewing the 3D radiation patterns to avoid any confusion. In a 3D radiation pattern visualization, the fields are always normalized to the maximum of the total far field. For this reason, sometimes the cross-polarization component might get lost compared to the co-polarization component and you have to zoom in to make it visible. You can also change the properties of the 3D radiation pattern plot by selecting the '''Properties...''' item in the right click menu of the plot's name in the Navigation Tree or by double-clicking the legend box. This opens up the '''Output Plot Settings Dialog'''. In general, there are two scale options: Linear (which is the default option) and dB. In the case of a linear plot, the plot range varies between 0 and 1. In the case of a dB plot, the range is fixed from -50 to 0dB. You can change the '''Color Map''' option as well the foreground and background colors of the legend box. {{twoimg|fdtd_out26_tn.png|The 3D total radiation pattern of a dipole antenna: polar type.|fdtd_out28_tn.png|The 3D total radiation pattern of a dipole antenna: cone type. }} ===2D Radiation Graphs=== At the end of an FDTD simulation, the radiation pattern data E<sub>&theta;</sub>, E<sub>&phi;</sub> and E<sub>tot</sub> in the three principal XY, YZ and ZX planes plus one additional user defined phi plane cut are available for plotting on 2D graphs in '''EM.Grid'''. There are a total of eight 2D pattern graphs in the data manager: 4 polar graphs and 4 Cartesian graphs of the same pattern data. 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'''. In the Data manager Dialog, you will see a list of all the data files available for plotting. These include the four polar pattern data files with a '''.ANG''' file extension and the four Cartesian pattern data file with a '''.DAT''' file extension. Select any data file by highlighting its row in the table and then click the '''Plot''' button to plot the graph. 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 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 ratio, you have to check the boxes labeled '''Axial Ratio (AR)''' or '''Directive Gain (DG)''' in the "Additional Radiation Characteristics" section 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 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 values of the user defined azimuth and elevation are both zero corresponding to the zenith. {| borderclass="0wikitable"
|-
! scope="col"| valignSimulation Mode! scope="topcol"|Usage[[File:FDTD119.png|thumb|left|250px! scope="col"|[[EM.Cube]]'s Data Manager dialog showing a list Number of 2D polar and Cartesian radiation pattern graphs.]]Engine Runs| valign! scope="topcol"|Frequency [[File:FDTD118.png|thumb|left|250px|A 2D Cartesian radiation pattern in the ZX plane cut.]]| valign! scope="topcol"|[[File:FDTD117.png|thumb|left|250px|A 2D Cartesian radiation pattern in the ZY plane cut.]]Restrictions
|-
| style="width:120px;" | [[#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.Cube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]]
| style="width:270px;" | Varies the value(s) of one or more project variables
| style="width:100px;" | Multiple runs
| style="width:200px;" | Runs at the 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(s) of one or more project variables to achieve a design goal
| style="width:100px;" | Multiple runs
| style="width:200px;" | Runs at the center frequency fc
| style="width:150px;" | None
|-
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Generating_Surrogate_Models | HDMR Sweep]]
| style="width:270px;" | Varies the value(s) of one or more project variables to 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]]
| style="width:270px;" | Varies the value of wavenumber in a periodic structure
| style="width:100px;" | Multiple runs
| style="width:200px;" | Runs at multiple frequency points corresponding to constant wavenumber values
| style="width:150px;" | Only for periodic structures excited by a plane wave source
|}
===Radiation Pattern Above A Half-Space MediumRunning a Wideband FDTD Analysis ===
{{mainpage|[[Radiation Pattern Above A Half Space Medium]]}}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:
As mentioned earlier when discussing boundary conditions * Identify material types and computational proper domain, you can use CPML boundary conditions with zero offsets to model a structure with infinite lateral extents. At * Identify the end of source type and excitation mechanism.* Define the FDTD simulation, project observables.* Mesh the far fields are calculated using physical structure and examine the near-field-to-far-field transformation. This calculation requires the dyadic Green's function quality of the background structuregenerated mesh and it geometric fidelity.* Determine the proper temporal waveform. By default, * Select the simulation mode and run the FDTD engine uses the free space dyadic Green's function for the far field calculation. In general, the [[FDTD Module]] features dyadic Green's functions for four scenarios:
# Free space background# Free space background terminated in an infinite PEC ground plane at Wideband analysis is [[EM.Tempo]]'s simplest and most straightforward simulation mode. It runs the bottom# Free space background terminated in an infinite PMC ground plane at FDTD time marching loop once. At the bottom# Free space background terminated in an infinite dielectric halfend of the simulation, the time-space mediumdomain field data are transformed into the frequency domain using a discrete Fourier transform (DFT). As a result, you can generate wideband frequency data from a single time-domain simulation run. The other simulation modes will be explained later in this manual.
===Radar Cross Section===To open the Simulation Run Dialog, click the '''Run''' [[Image:run_icon.png]] button of the '''Simulate Toolbar''' or select the menu item '''Simulate &rarr; Run...''' from the menu bar or use the keyboard shortcut {{key|Ctrl+R}}. To start the FDTD simulation, click the {{key|Run}} button at the bottom of this dialog. Once the simulation starts, the "Output Message 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.Tempo]] 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.
<table><tr><td> [[Image:FDTD131Tempo L1 Fig13.png|thumb|300pxleft|[[FDTD Module480px|EM.Tempo's simulation run dialog.]]</td></tr><tr><td> [[Image:Tempo L1 Fig15.png|thumb|left|550px|EM.Tempo's RCS dialogoutput message window.]]</td></tr></table>
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. [[EM.Cube]] can calculate the radar cross section (RCS) of a target defined as:=== The FDTD Simulation Engine Settings ===
:<mathAn FDTD simulation involves a number of numerical parameters that can be accessed and modified from the FDTD Engine Settings Dialog. To open this dialog, select '''Menu >\sigma_{\theta} = 4\pi r^2 \dfrac{ \big| \mathbf{E}_{\theta}^{scat} \big| ^2} {\big| \mathbf{E}^{inc} \big|^2}Simulate > Simulation Engine Settings... '''or open the '''Run Dialog''', \quad \sigma_and click the {\phi} = 4\pi r^2 \dfrac{ \bigkey| \mathbf{ESettings}_{\phi}^{scat} \big| ^2} {\big| \mathbf{E}^{inc} \big|^2}, \quad \sigma = \sigma_{\theta} + \sigma_{\phi} = 4\pi r^2 \dfrac{ \big| \mathbf{E}_{tot}^{scat} \big| ^2} {\big| \mathbf{E}^{inc} \big|^2}</math><!--[[Image:FDTD130button next to the engine dropdown list.png]]-->
To compute In the RCS " '''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 must define 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 RCS observable instead 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 radiation patternzero value at t = 0 (i.e. n = 0), and its value starts to build up over time. With a Gaussian or Modulated Gaussian pulse waveform, 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.Tempo]]'s default setting (labeled "'''Both'''"), terminates the simulation as soon as either of the first two criteria is met first. Follow these steps:
* Right click on the '''Far Fields''' item {{Note|Keep in the '''Observables''' section of the Navigation Tree and select '''Insert New RCS...''' to open the Radar Cross Section Dialog.* Use the '''Label''' box to change the name of the far field or change the color of the far field box using the '''Color''' button.* The frequency of RCS calculation can be specified in the box labeled '''Far Field Frequency'''. By default, this is equal to the center frequency of the project. However, you can calculate the far field data at any other frequency within the project's frequency range.* The resolution of RCS calculation is specified by '''Angle Increment''' expressed in degrees. By default, the &theta; and &phi; angles are incremented by 5 degrees.* Define the desired box mind that for far field calculations in the '''Scattering Box''' section of the dialog. As in the case of radiation patternhighly resonant structures, there are two options available, 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 may have to be specified. The radiation box will always be 0.1 free space wavelength away from increase the bounding box maximum number of the entire physical structure. Select '''Size: Custom''' time steps to set the far field box manually. The very large values for the coordinates of '''Corner 1''' and '''Corner 2''' can now be changed. '''Corner 1''' is the lower-front-left corner and '''Corner 2''' is the upper-rear-right corner of the radiation box. The dimensions are entered in world coordinate system (WCS).* At the end of an FDTD simulationabove 20, besides calculating the RCS data over the entire (spherical) 3D space, a number of 2D RCS graphs are also generated. These are indeed RCS cuts at certain planes, 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 can assign another &phi; angle in degrees in the box labeled '''Non-Principal Phi Plane'''000.}}
The "'''Acceleration'''" section of the FDTD Simulation Engine Settings dialog give three options for the FDTD kernel:
[[Image:FDTD132.png|thumb|300px|An example of the 3D radar cross section of a PEC plate.]]# Serial CPU Solver# Multi-Core CPU Solver# GPU Solver
At the end of an The serial CPU solver is [[EM.Tempo]]'s basic FDTD simulation, in kernel that run 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 section: &sigma;<sub>&theta;</sub>, &sigma;<sub>&phi;</sub>, and &sigma;<sub>tot</sub>. You can view time marching loop on a 3D visualization of these quantities by clicking on their entries in the Navigation Tree. The RCS values single central processing unit (&sigma;CPU) are expressed in m<sup>2</sup>of your computer. The 3D plots are normalized to the maximum RCS value, which default option is displayed in the legend boxmulti-core CPU solver. The 2D RCS graphs can be plotted in '''EM.Grid '''exactly in This is a highly parallelized version of the same way that you plot 2D radiation pattern graphsFDTD kernel based on the Open-MP framework. A total It takes full advantage of eight 2D RCS graphs are available: 4 polar and 4 Cartesian graphs for the XYa multi-core, YZmulti-CPU architecture, ZX and user defined plane cutsif your computer does have one. at the end of The GPU solver is a sweep simulation, [[EM.Cube]] calculates some other quantities including the backscatter RCS (BRCS), forwardhardware-scatter RCS accelerated FDTD kernel optimized for CUDA-enabled graphical processing unit (FRCS) and the maximum RCS (MRCS) as functions of the sweep variable (frequency, angle, or any user defined variableGPU)cards. In this caseIf your computer has a fast NVIDIA GPU card with enough onboard RAM, the RCS needs to be computed at a fixed pair of &phi; and &theta; angles. These angles are specified in degrees as '''User Defined Azimuth & Elevation''' in the "Output Settings" section of the '''Radar Cross Section Dialog'''. The default values of the user defined azimuth and elevation are both zero corresponding GPU kernel can speed up your FDTD simulations up to 50 times or more over the zenithsingle CPU solver.
{{Note|Unlike For structures excited with a plane wave source, there are two standard FDTD formulations: '''Scattered Field '''(SF) formulation and '''Total Field - Scattered Field''' (TF-SF) formulation. [[EM.CubeTempo]]'s Planar, MoM3D and Physical Optics Modules, the [[FDTD Module]] currently does not support 3D monooffers both formulations. The TF-static RCS calculation due to SF solver is the enormous amount of computational work neededdefault choice and is typically much faster than the SF solver for most problems. Only In two cases, when the bi-static RCS structure has periodic boundary conditions or infinite CPML boundary conditions (zero domain offsets), only the SF solver is calculated for a given plane wave sourceavailable.}}
===Angular Sweeps===<table>If your FDTD project has a plane wave excitation, then you can also run an angular sweep<tr><td> [[Image:FDTD58. In this sweep, the values of the incidence angles &theta; and &phi; are varied at each sweep runpng|thumb|left|720px|EM. To run an angular sweep, open the FDTD Tempo'''Run Dialog''' and from the '''Simulation Mode '''dropdown list select the '''Angular Sweep''' option. Click the '''Settings''' button next to this dropdown list to open up the Angle Settings Dialog. In an angular sweep, only one of the two angles, &theta; and &phi;, can be varied at a time. Choose the radio button corresponding to the angle that you want to sweep. Then, set the values of the '''Start Angle''' and '''End Angle''' as well as the '''Number of Samples'''. Under normal circumstances, you would sweep &theta; from 180°to 90° backward and sweep &phi; from zero to 360° forwards simulation engine settings dialog.]]</td></tr><br /table>
{{isoimg|FDTD128==Modeling 3D Periodic Structures in EM.png|[[FDTD Module]]'s Angle Settings dialog.}}Tempo==
===Defining Custom Output Parameters===[[EM.Tempo]] allows you to simulate doubly periodic structures with periodicities along the X and Y directions. In the FDTD method, this is accomplished by applying periodic boundary conditions (PBC) at the side walls of the computational domain.
{{mainpageNote|Custom Output[[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]]'''.
At the end of an FDTD simulation, ===Defining a number of computed quantities are designated as "Standard Output" [[parameters]] and can be used for various post-processing data operations. For example, you can define design objectives based on them, which you need for [[optimization]]. The table below gives a list of all the currently available standard output [[parameters]] Periodic Structure in [[EM.Cube]]'s [[FDTD Module]]:Tempo===
{| class="wikitable"!scope="col"| Standard Output Name / Syntax!scope="col"| Description|-| SijM| Magnitude of (iBy default,j)-th Scattering Parameter|-| SijP| Phase of (i,j)-th Scattering Parameter (in radians)|-| SijR| Real Part of (i,j)-th Scattering Parameter|-| SijI| Imaginary Part of (i,j)-th Scattering Parameter|-| ZijM| Magnitude of (i,j)-th Impedance Parameter|-| ZijP| Phase of (i,j)-th Impedance Parameter (in radians)|-| ZijR| Real Part of (i,j)-th Impedance Parameter|-| ZijI| Imaginary Part of (i,j)-th Impedance Parameter|-| YijM| Magnitude of (i,j)-th Admittance Parameter|-| YijP| Phase of (i,j)-th Admittance Parameter (in radians)|-| YijR| Real Part of (i,j)-th Admittance Parameter|-| YijI| Imaginary Part of (i,j)-th Admittance Parameter|-| VSWR| Voltage Standing Wave Ratio|-| D0| Directivity|-| PRAD| Total Radiated Power|-| THM| Main Beam Theta|-| PHM| Main Beam Phi|-| DGU| Directive Gain along User Defined Direction|-| ARU| Axial Ratio along User Defined Direction|-| FBR| Front-to-Back Ratio|-| HPBWXY| Half Power Beam Width in XY Plane|-| HPBWYZ| Half Power Beam Width in YZ Plane|-| HPBWZX| Half Power Beam Width in ZX Plane|-| HPBWU| Half Power Beam Width in User Defined Plane|-| SLLXY| Maximum Side Lobe Level in XY Plane|-| SLLYZ| Maximum Side Lobe Level in YZ Plane|-| SLLZX| Maximum Side Lobe Level in ZX Plane|-| SLLU| Maximum Side Lobe Level in User Defined Plane|-| FNBXY| First Null Beam Width in XY Plane|-| FNBYZ| First Null Beam Width in YZ Plane|-| FNBZX| First Null Beam Width in ZX Plane|-| FNBU| First Null Beam Width in User Defined Plane|-| FNLXY| First Null Level in XY Plane|-| FNLYZ| First Null Level in YZ Plane|-| FNLZX| First Null Level in ZX Plane|-| FNLU| First Null Level in User Defined Plane|-| BRCS| Back-Scatter RCS|-| FRCS| Forward-Scatter RCS along User Defined Incident Direction|-| MRCS| Maximum Bi-static RCS|-| RCM| Magnitude of Reflection Coefficient|-| RCI| Phase of Reflection Coefficient (in radians)|-| RCR| Real Part of Reflection Coefficient|-| RCI| Imaginary Part of Reflection Coefficient|-| TCM| Magnitude of Transmission Coefficient|-| TCP| Phase of Transmission Coefficient (in radians)|-| TCR| Real Part of Transmission Coefficient|-| TCI| Imaginary Part of Transmission Coefficient|} All the radiation- and scattering-related standard outputs are available only if you have defined a radiation pattern far field observable or an RCS far field observable, respectively. The standard output [[parameters]] DGU and ARU are the directive gain and axial ratio calculated at the certain user defined direction with spherical observation angles (&theta;, &phi;). These angles are specified in degrees as '''User Defined Azimuth & Elevation''' in the "Output Settings" section of the '''Radiation Pattern Dialog'''. The standard output [[parameters]] HPBWU, SLLU, FNBU and FNLU are determined at a user defined f-plane cut. This azimuth angle is specified in degrees as '''Non-Principal Phi Plane''' in the "Output Settings" section of the '''Radiation Pattern Dialog''', and its default value is 45°. The standard output [[parameters]] BRCS and MRCS are the total back-scatter RCS and the maximum total RCS of your planar physical structure when it is excited by an incident plane wave source at the specified &theta;<sub>s</sub> and &phi;<sub>s</sub> source angles. FRCS, on the other hand, is the total forward-scatter RCS measured at the predetermined &theta;<sub>o</sub> and &phi;<sub>o</sub> observation angles. These angles are specified in degrees as '''User Defined Azimuth & Elevation''' in the "Output Settings" section of the '''Radar Cross Section Dialog'''. The default values of the user defined azimuth and elevation are both zero corresponding to the zenith. ===3D Near & Far Field Animation=== [[Image:FDTD123.png|thumb|250px|[[Animation]] of total E-field plots and far field radiation patterns at the end of an FDTD sweep simulation]] At the end of a sweep simulation (a frequency sweep, angular sweep, parametric sweep, etc.), if you have defined a field sensor or a far field observable (either radiation pattern or RCS) in your project, a number of near field plots or far field plots are generated for all samples of the sweep variable. Each field sensor normally has 14 field maps for the amplitude and phase of all the three components of E- and H-fields plus the magnitude of the total fields. Each far field observable has three spherical plots corresponding to the &theta; and &phi; components of the far field and the total far field. Generating all these 14 near-field intensity plots or 3 far-field spherical plots at each sweep sample would result in a very large number of graphs on the Navigation Tree. Instead, during a sweep simulation, [[EM.Cube]] generates either a total E-field or a total H-field plot at each sweep run for the field sensors. By default, the total E-field plots are saved. You can change this setting from the field sensor's property dialog. Right click on the field sensor's name in the Navigation Tree and select '''Properties...'''from the contextual menu. In the section titled "Field Display - Multiple Plots", select one of the two radio buttons labeled '''E-Field''' or '''H-Field'''. As for far field observables, only the total field plot is generated at each sweep sample. Once the sweep simulation is finished, you can click any of the near-field or far-field plots and visualize it in the main window. You can also animate these field plots. [[Animation]] in [[EM.Cube]] consists of sequential display of the plots in the main window at a preset speed. To animate the field sensor plots, right click on the field sensor's name in the Navigation Tree and select '''[[Animation]]''' from the contextual menu. The field plots start to animate beginning with the first sample, going through all the plots one by one until the last one and repeating the loop all over again. While the [[animation]] proceeds in the main window, a dialog titled '''[[Animation]] Controls Dialog''' pops up at the lower right corner of the screen. You can drag this dialog anywhere in the project workspace from its title bar. The controls dialog shows the title of each graph as it is reviewed. You can set the speed of [[animation]] by typing in a value for '''Rate''', which is indeed the frame duration expressed in multiples of 100 milliseconds. The default frame duration is 300 msec. You can pause the [[animation]] and resume at any time. You can rewind to the first sample or skip to the last sample. You can also step through the samples one at a time using the increment (forward) or decrement (backward) buttons. To stop [[animation]] at any time, use the keyboard's '''Esc Key''' or click the '''Close (X)''' button of the [[animation]] controls dialog. {{twoimg|FDTD120.png|Selecting the field type for plotting at the end of an FDTD sweep simulation.|FDTD122.png|[[EM.Cube]]'s [[Animation]] Controls dialog.}} ==Modeling 3D Periodic Structures Using FDTD== 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.  Click here to learn more about [[Time Domain Simulation of Periodic Structures]]. ===Setting Up A Periodic Unit Cell=== Using [[EM.Cube]]'s [[FDTD Module]], you can simulate complex 3D periodic structures. A periodic structure is one that repeats itself infinitely along one, two or three directions. In this release of [[EM.Cube]]'s [[FDTD Module]], 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 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:FDTD134.png|250px|thumb|[[FDTD Module]]'s Periodicity Settings dialog]]
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.
===Exciting A Periodic Structure As An Infinite Phased Array===<table><tr><td> [[Image:FDTD134.png|thumb|360px|EM.Tempo's periodicity settings dialog.]]</td></tr></table>
In [[===Exciting Periodic Structures as Radiators in EM.Cube]]'s [[FDTD Module]], 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.Tempo===
In [[EM.CubeTempo]]'s , a periodic FDTD simulator uses periodic boundary conditions (PBC) to model an infinite periodic arraystructure can be excited using various source types. All the periodic replicas of Exciting the unit cell structure are excited. In this case, you can impose using a phase progression across the infinite array to steer its beam. You can do this from the property dialog of the lumped source or , a 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. At the end of the periodic FDTD simulationdistributed source, the radiation pattern of the unit cell is calculated and stored in a radiation data file with a '''.RAD''' file extension. The 3D radiation patterns that you normally visualize in [[EM.Cube]], in this case, correspond to the single unit cell, not the can model an infinite periodic antenna array. Therefore, they do not show the beam scanning even if you have entered nonzero values for the &theta; and/or &phi; scan angles. For this purposemost practical antenna types, you have to define excite your periodic structure with a finite-sized array factorlumped source or waveguide source. You do In this in the "Impose Array Factor" section of the '''Radiation Pattern Dialog'''. In the case of a periodic structure, when you can define a new far field item in port for the Navigation Tree, the values of element spacing along the X lumped source or waveguide source and Y directions are automatically set equal to calculate the values S<sub>11</sub> parameter or input impedance of the periodic lattice spacing along those directionsantenna array. Set the number of elements along the X and Y directions to any desired values. [[EM.Cube]] will then You can also compute the radiation pattern of the specified finitenear-sized periodic array, field and the beam scanning will appear in the radiation pattern plots, if anyfar-field data.
{{Note|For large &theta; scan angles[[EM.Tempo]]'s periodic FDTD simulator uses periodic boundary conditions (PBC) to 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 FDTD time matching loop may take far more time steps . 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 convergedefine a finite-sized array factor. You do this in the "Impose Array Factor" section of the '''Radiation Pattern Dialog'''.}}
{{twoimgNote|FDTD137.png|Setting periodic For large &theta; scan angles in , the lumped source dialog|FDTD138.png| Setting the array factor in radiation pattern dialogperiodic FDTD time marching loop may take far more time steps to converge.}}
{{twoimg|FDTD135<table><tr><td> [[Image:Period1.png|Radiation pattern of a 8×8 finite-sized periodic dipole array with scan angles with phi and theta equal to 0 degrees.thumb|FDTD136.png350px| Radiation pattern of a 8×8 finite-sized Setting periodic dipole array with scan angles theta equal to 45 degrees, and phi equal to 0 degreesin EM.Tempo's Lumped Source dialog.}}]] </td></tr></tr></table>
===Analyzing Antenna Arrays===<table><tr><tr><td> [[Image:Period2.png|thumb|720px|Setting the array factor in EM.Tempo's Radiation Pattern dialog.]] </td></tr></table>
Real antenna arrays have finite extents, that is, finite numbers of elements along the X and Y directions. Earlier, you saw how to excite an array of line objects using an array of lumped sources or an array of rectangular waveguides (hollow boxes) using an array of waveguide sources. Setting up array structures of this kind using <table><tr><td> [[EMImage:Period3.Cube]]'s '''Array Tool '''and exciting the individual elements using individual lumped or waveguide sources results in png|thumb|360px|Radiation pattern of an accurate full-wave analysis of your antenna array. This type of simulation takes into account all the inter-element coupling effects as well as the finite edge and corner effects of the 8×8 finite-sized periodic wire dipole array. At the end of the FDTD simulation of your antenna array, you can plot the radiation patterns with 0&deg; phi and other far field characteristics of the array just like any other FDTD structuretheta scan angles. However, depending on the total size ]] </td><td> [[Image:Period4.png|thumb|360px|Radiation pattern of your array, a fullbeam-wave simulation like this may easily lead to a very large computational problem. As the number of elements grow very large, the array starts to look like an infinite periodic structure. In that case, it is possible to consider and analyze a periodic unit cell of the array structure and use an "Array Factor" representing the steered 8×8 finite-extent topology of the sized periodic wire dipole array grid to calculate the radiation pattern of your antenna array. This approach works well for most large arrays. However, it ignores the finite edge with 45&deg; phi and corner effects, which may be important for certain array architecturestheta scan angles. In that case we recommend that you use [[EM.Cube]]'s [[Planar Module]]. Also, note that using an array factor for far field calculations, you cannot assign non-uniform amplitude or phase distributions to the array elements. For this purpose, you have to define an array object.</td></tr></table>
[[Image:FDTD146(1).png|thumb|250px|Defining additional radiation characteristics ===Exciting Periodic Structures Using Plane Waves in [[FDTD Module]]'s Radiation Pattern dialogEM.]]Tempo===
In the previous section, you saw how Using a plane wave source to excite a periodic unit cell using a lumped source or a waveguide sourcestructure in [[EM. You Tempo]], you can specify 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 beam scan angles in the source dialogsdirect spectral domain FDTD or constant transverse wavenumber method for analyzing periodic structures. The finite array factor is defined in In this technique, instead of a plane wave box, one defines a plane wave surface parallel to the radiation pattern dialogX-Y plane. At the end of the periodic FDTD simulationof a periodic structure with plane wave excitation, you can visualize the 3D radiation patterns in the project workspace reflection and plot the 2D Cartesian and polar pattern graphs in EM.Grid. [[EM.Cube]] also calculates the '''Directive Gain (DG)''' as a function transmission coefficients of the &theta; structure are calculated and &phi; anglessaved into ASCII data files. This is defined as:
<mathtable><tr><td>D(\theta,\phi) = \dfrac{4\pi [S(\theta,\phi)[Image:Period11.png|thumb|380px|Geometry of a periodic printed strip FSS in EM.Tempo.]}{P_{rad}} = ] </td>\dfrac{4\pi \big<td> [[Image:Period12.png| \mathbf{E}^{ff}(\theta,\phi) \bigthumb|^2} {\int\limits_0^{2\pi} \int\limits_0^{\pi} \big340px| \mathbf{E}^{ff}(\theta,\phi) \big|^2 \sin\theta \, d\theta \, d\phi}Define a custom periodic plane wave box in EM.Tempo.]] </td></tr></mathtable>
The directivity D<sub>0</sub> is the maximum value of the directive gain. [[EM.Cube]] generates four Cartesian graphs of directive gain in the three principal XY, YZ, ZX planes as well as in the user defined f-plane cut. The radiation patterns of antenna arrays usually have a main beam and several side lobes. Some [[parameters]] of interest in such structures include the '''Half Power Beam Width (HPBW)''', '''Maximum Side Lobe Level (SLL)''' and '''First Null [[Parameters]]''' (i.e. first null level and first null beam width). You can have [[EM.Cube]] calculate all such [[parameters]] if you check the relevant boxes in the "Additional Radiation Characteristics" section of the '''Radiation Pattern Dialog'''. These quantities are saved into ASCII data files of similar names with '''.DAT''' file extensions. You can plot graphs of such data files at the end of a sweep simulation in''' '''EM.Grid. You can also plot the directive gain as a function of the sweep variable at the end of an FDTD sweep simulation. In that case, the directive gain is 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 values of the user defined azimuth and elevation are both zero corresponding to the zenith. The results are saved to an ASCII data file called "DGU.DAT". Note that DGU is also one of [[EM.Cube]]'s standard output [[parameters]] and can be used to define custom output or design objectives. ===Exciting A Periodic Surface With A Plane Wave=== Using a plane wave source to excite a periodic structure in [[EM.Cube]]'s [[FDTD ModuleTempo]], you can model frequency selective surfaces, electromagnetic band-gap (EBG) structures, metamaterials, etc. Exciting periodic structures with plane wave sources requires careful attention. [[EM.CubeTempo]]'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.CubeTempo]]'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.
 
{{twoimg|FDTD140(1).png|Setting a custom plane wave source plane|FDTD139.png|Plane Wave visualization in the scene.}}
 
===Reflection & Transmission Characteristics===
 
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 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 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.
{{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 &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".}}
{| border="0"|-| valign="top"|[[File:FDTD141.png|400px|thumb|Magnitude and Phase of reflection coefficient from a periodic surface plotted vs. frequency.]]| valign="bottom"|[[File:FDTD142.png|400px|thumb|Magnitude and Phase of transmission coefficient from Running a periodic surface plotted vsDispersion Sweep in EM. frequency.]]|-|} Tempo ===Periodic FDTD Simulation Types===  [[File:FDTD143.png|thumb|200px|[ R/T Macromodel Settings Dialog.]]
Besides analyzing a periodic structure in a single-run simulation, [[EM.Cube]]'s [[FDTD Module]] offers a number of sweep simulations for periodic structures. These include '''Frequency Sweep''', '''Angular Sweep''', '''R/T Macromodel Sweep '''and The '''Dispersion Sweep'''. These options are available from option of the '''Simulation Mode''' dropdown drop-down list performs a sweep of constant k<sub>l</sub> wavenumber values. This is a specialized sweep for the constant transverse wavenumber method that [[FDTD ModuleEM.Tempo]]'s '''Run Dialog'''uses to model periodic structures illuminated by a plane wave source. Of theseThe 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 sweep f<sub>j</sub> and angular sweep are similar to 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 non-dispersion behavior of your periodic case as discussed earlierstructure. Keep in mind The sweep data can be graphed as a wavenumber-frequency intensity plot (also known as beta-k diagram) that in this release 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]]'s [[FDTD Module]], for oblique plane wave incidences, you need to run a plots frequency sweep vs. wavenumber. Both the horizontal and vertical axes start from 0 and extend to get wideband reflectionf<sub>max</transmission coefficient data. Similarlysub> 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 need have to run an angular sweep to plot R/T coefficients vsspecify 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 [[EM.Tempo]]'s Plane Wave Dialog.
<table><tr><td>[[FileImage:FDTD144KBT Settings.png|thumb|200px360px|[[FDTD ModuleEM.Tempo]]'s Dispersion Sweep Settings dialog.]]</td></tr></table>
The '''<table><tr><td>[[Image:KBT R/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 png|thumb|360px|A typical reflection and transmission coefficients coefficient dispersion diagram of a periodic surface for both TM and TE polarizationsstructure. 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 td><td>[[EMImage:KBT T.Cube]]'s [[Propagation Module]] to calculate the reflection and png|thumb|360px|A typical transmission coefficients coefficient dispersion diagram of incident rays at the facets of obstructing blocks with "non-standard" a periodic surfacesstructure.]]</td></tr></table>
The '''Dispersion Sweep '''option of the Simulation Mode dropdown list performs a sweep of constant k<sub>l<br /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.png|A typical dispersion diagram of a periodic structure}}<hr>
[[Image:Top_icon.png|30px]] '''[[EM.Tempo#Product_Overview | Back to the Top of the Page]]'''
{{FDTD Details}}[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Tempo_Documentation | EM.Tempo Tutorial Gateway]]'''
<p>&nbsp;</p>[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
4,622
edits