The FDTD method provides a wideband simulation of your physical structure. In order to produce sufficient spectral information, an appropriate wideband temporal waveform is needed to excite the physical structure. The choice of the waveform, its bandwidth and time delay all affect the convergence behavior of the FDTD time marching loop. By default, EM.Tempo uses a modulated Gaussian waveform with optimal [[parameters]]. Another issue of concern is the numerical stability of the time marching scheme. You might expect to get better and more accurate results if you keep increasing the FDTD mesh resolution. However, in order to satisfy the Courant-Friedrichs-Levy (CFL) stability condition, the time step must be inversely proportional to the maximum grid cell size . A high resolution mesh requires a smaller time step. To let the fields in the computational domain fully evolve over time, a smaller time step will require a larger number of time steps to converge. EM.Tempo automatically chooses a time step that satisfies the CFL condition.
[[Image:Info_icon.png|40px30px]] For more detailed information about the stability of the FDTD algorithm, see '''[[Basic_FDTD_Theory#Waveform.2C_Bandwidth.2C_Stability| Waveform, Bandwidth, Stability]]'''.
=== The Advantages & Limitations of EM.Tempo's FDTD Simulator ===
{{Note|You can import external objects only to CubeCAD. You can then move the imported objects form CubeCAD to EM.Tempo.}}
[[Image:Info_icon.png|40px30px]] Click here to access the '''[[Glossary of EM.Cube's Materials & Physical Object Types]]'''.
<table>
{{Note|[[EM.Tempo]]'s default quarter wavelength offset for the domain box is a very conservative choice and can be reduced further in many cases. A offset equal to eight free-space grid cells beyond the largest bounding box usually give a more compact, but still valid, domain box.}}
[[Image:Info_icon.png|40px30px]] Click here to learn more about the theory of '''[[Basic_FDTD_Theory#Why_Does_FDTD_Need_Domain_Termination.3F | Perfectly Matched Layer Termination]]'''.
<table>
A lumped source is the most commonly used way of exciting a structure in EM.Tempo. A lumped source is an ideal source that must be placed on a line object that is parallel to one of the three principal axes and shows up as a small red arrow on the host line. Lumped sources are typically used to define ports and compute the port characteristics like S/Y/Z parameters. Using simple lumped sources, you can simulate a variety of transmission line structures in EM.Tempo including filters, couplers or antenna feeds. 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. Waveguide source is used to excite the dominant TE<sub>10</sub> mode of a hollow rectangular waveguide. Waveguide sources typically provide more accurate results for scattering parameters of waveguide structures compared to lumped sources as they represent the actual dominant propagating modes at the transmission line ports.
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Excitation Sources#Modeling Finite-Sized Source Arrays | Using Source Arrays in Antenna Arrays]]'''.
A plane wave source is a popular excitation method that is used for calculation of the radar cross section of targets or reflection and transmission characteristics of periodic surfaces. A Gaussian beam source is another source type that is highly localized as opposed to the uniform plane wave. For both plane wave and Gaussian beam sources, EM.Tempo requires a finite incidence surface to calculate the excitation. When you create either of these sources, a plane wave box or a Gaussian box is created as part of their definition. A trident symbol on the box shows the propagation vector as well as the E-field and H-field polarization vectors. The time domain plane wave or Gaussian beam excitation is calculated on the surface of this box and injected into the computational domain. The plane wave box is displayed in the project workspace as a purple wireframe box enclosing the structure, while the Gaussian beam box appears as a green wireframe box. Both boxes have an initial default size with an offset of 0.2λ<sub>0</sub> from the largest bounding box enclosing your entire physical structure. In both source dialogs, the radio button '''Size: Default''' is selected by default. The radio button '''Size: Custom''' allows you to set the excitation box manually. The values for the coordinates of '''Corner 1''' and '''Corner 2''' can now be changed. Corner 1 is the front lower left corner and Corner 2 is the rear upper right corner of the box. The corner coordinates are defined in the world coordinate system (WCS).
{{Note|In order to obtain correct results, the port impedance must equal the characteristic impedance of the transmission line on which the port is established. This is not automatically taken care of by EM.Tempo.}}
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Simulation Observables#Port Definition | The Port Definition Observable]]'''.
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Excitation Sources#Exciting Multiport Structures Using Linear Superposition | Exciting Multiport Structures Using Linear Superposition]]'''.
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Excitation Sources#Modeling Coupled Sources & Ports | Modeling Coupled Sources & Ports]]'''.
<table>
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:Info_icon.png|40px30px]] Click here for a general discussion of '''[[Glossary of EM.Cube's Lumped Devices & Circuits#A Review of Linear & Nonlinear Passive & Active Devices | Linear & Nonlinear Passive & Active Devices]]'''.
{{Note|Small values of inductance may result in the divergence of the FDTD numerical scheme. To avoid this problem, you need to increase the mesh resolution and adopt a higher mesh density. This, of course, may lead to a much longer computation time.}}
{{Note|All of EM.Tempo's excitation sources have a default modulated Gaussian pulse waveform unless you change them.}}
[[Image:Info_icon.png|40px30px]] Click here to learn more about EM.Tempo's '''[[Basic FDTD Theory#The Relationship Between Excitation Waveform and Frequency-Domain Characteristics | Standard & Custom Waveforms and Discrete Fourier Transforms]]'''.
=== Defining Custom Waveforms in EM.Tempo ===
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:Info_icon.png|40px30px]] Click here to learn more about '''[[Using Python to Create Functions, Models & Scripts#Creating Custom Python Functions | Creating Custom Python Functions]]'''.
<table>
For example, in the figure below, we have defined a modulated Bessel waveform in the form of "sp.j0(t/2e-9)*sin(2*pi*fc*t)", where sp.j0(x) denotes the zeroth-order Bessel function of the first kind burrowed from Python's special functions module.
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Python Functions#Standard Python Functions | Python's Standard & Advanced Mathematical Functions]]'''.
{{Note| If you define a custom excitation waveform for your source, none of the standard frequency domain output data and parameters will be computed at the end of your FDTD simulation.}}
{{Note|When choosing a mesh type for your FDTD simulation, keep in mind that adaptive and regular mesh types are frequency-dependent and their density varies with the highest frequency of your specified bandwidth, while the uniform mesh type is always fixed and independent of your project's frequency settings.}}
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Mesh Generators#Working with EM.Cube's Mesh Generators | Working with Mesh Generator]]'''.
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Mesh Generators#Adaptive Yee Mesh | EM.Tempo's Adaptive Brick Mesh Generator]]'''.
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Glossary of EM.Cube's Mesh Generators#Fixed-Cell Brick Mesh | EM.Tempo's Fixed-Cell Brick Mesh Generator]]'''.
<table>
{{Note| [[EM.Tempo]] can only handle regular, non-skewed periodic lattices with no secondary offsets.}}
[[Image:Info_icon.png|40px30px]] Click here to learn more about the theory of '''[[Basic_FDTD_Theory#Time_Domain_Simulation_of_Periodic_Structures | Time Domain Simulation of Periodic Structures]]'''.
===Defining a Periodic Structure in EM.Tempo===