A sinusoidal waveform is single-tone and periodic. Its spectrum is concentrated around a single frequency, which is equal to your project's center frequency. A Gaussian pulse decays exponentially as t → ∞, but it has a lowpass frequency spectrum which is concentrated around f = 0. A modulated Gaussian pulse decays exponentially as t → ∞, and it has a bandpass frequency spectrum concentrated around your project's center frequency. For most practical problems, a modulated Gaussian pulse waveform with EM.Tempo's default [[parameters]] provides an adequate performance.
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 that point, you can consider your solution to have converged. If you drive your FDTD source by a sinusoidal waveform, the total energy of the computational domain will oscillate indefinitely, and you have to force the time loop to terminate after a certain number of time steps assuming a steady state have been reached.
The accuracy of the FDTD simulation results depends on the right choice of temporal waveform. EM.Tempo's default waveform choice is a modulated Gaussian pulse. At the end of an FDTD simulation, the time domain field data are transformed into the frequency domain at your specified frequency or bandwidth to produce the desired observables.
[[Image:MORE.png|40px]] Click here to learn more about EM.Tempo's '''[[Waveforms and Discrete Fourier Transforms | Standard & Custom Waveforms and Discrete Fourier Transforms]]'''.
{{Note|All of EM.Tempo's excitation sources have a default modulated Gaussian pulse waveform unless you change them.}}
In some time-domain applications, you may want to simulate the propagation of a certain kind of waveform in a 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 source type in [[EM.Tempo]], you will see an {{key|Excitation Waveform...}} button located in the "Source Properties" section of the dialog. Clicking this button opens up [[EM.Tempo]]'s Excitation Waveform dialog. From this dialog, you 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:
* Automatically Generate Optimal Waveform
* Use Custom Frequency Domain Specifications
* Use Custom Time Domain Specifications
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 operation, standard and library functions as well as you models and [[variables]]. For example, in the figure on the right, we have defined a modulated Bessel waveform in the form of "sin(2*pi*Fc*T-pi/4)*Jn(0,pi*Fc*T/4)", where Fc is the center frequency of the project and one of the project's default [[variables]] and Jn(n,x) denotes the Bessel function of the first kind and order n, which is one of [[EM.Cube]]'s library functions.
{{Note| If you define a custom excitation waveform for your source based on arbitrary time domain specifications, none of the standard frequency domain output data and [[parameters]] will be computed at the end of your FDTD simulation.}}
===Defining Ports===