Finite-difference time-domain (FDTD) Software Information
Figure 1: Finite-difference time-domain (FDTD) software uses fundamental physics principles to model electromagnetic systems. Source: Zohar0729/CC BY-SA 4.0 DEED
Finite-difference time-domain (FDTD) software uses fundamental physics principles to model electromagnetic systems. The FDTD method solves Maxwell’s equations directly and is limited only by the available compute to solve the equations. Software that utilizes the FDTD method is critical for designing electromagnetic equipment like antennas and radar arrays among many other things.
Theory of Operation
The FDTD method is a computational technique used to model the propagation of electromagnetic waves. It is widely used in the fields of electrical engineering and computational electrodynamics, particularly in the design and analysis of antennas, waveguides, and other radiating or scattering structures. Here are the fundamental theories that underlie FDTD software:
Discretization of Maxwell's Equations
The FDTD method is based on the direct discretization of Maxwell's curl equations in both space and time. Maxwell's equations describe how electric fields (E) and magnetic fields (H) propagate and interact with matter.
The two curl equations that are central to FDTD are:
Faraday's law, which describes how a time-varying magnetic field produces an electric field:

Ampère's law (with Maxwell's addition), which describes how a time-varying electric field and electric currents produce a magnetic field:

Yee's Algorithm
The FDTD method typically uses the Yee algorithm, named after Kane Yee who first proposed this technique. The Yee algorithm involves creating a grid in space (often a Cartesian grid) and then placing the electric field and magnetic field components at staggered positions in time and space. This arrangement allows for the central-difference approximation of the spatial and temporal derivatives in Maxwell's equations.
Time-stepping
The FDTD algorithm progresses in discrete time steps. At each time step, the electric and magnetic fields are updated throughout the simulation space using the discretized versions of Maxwell's equations.
Electric fields are updated using the curl of the magnetic field and the previous electric field values. Magnetic fields are updated using the curl of the electric field and the previous magnetic field values.
Boundary Conditions
Because the simulation must be finite, the FDTD method requires special treatment at the boundaries of the computational domain. Various boundary conditions can be applied:
- Perfectly electric conducting (PEC) boundaries can simulate metal walls.
- Absorbing boundary conditions (ABC), like the perfectly matched layer (PML), simulate the effect of an infinite space to absorb outgoing waves without reflection.
- Periodic boundary conditions can model structures with periodicity.
Material Modeling
The FDTD method can incorporate complex material models to account for frequency-dependent permittivity, permeability, and conductivity. These material properties affect how the electric and magnetic fields propagate and interact with different media.
Computational Considerations
The FDTD method is conditionally stable, which means that the time step size is limited by the Courant-Friedrichs-Lewy condition. This condition ensures that the simulation is numerically stable. The spatial and temporal resolution must be fine enough to accurately capture the electromagnetic wave's behavior, especially if the wave interacts with small features or has a high frequency.
FDTD software provides a numerical solution to Maxwell's equations, allowing for the simulation of complex electromagnetic phenomena in a discretized space-time domain. It is a powerful tool for engineers and scientists to predict the behavior of electromagnetic fields in a wide variety of scenarios.
Specifications
The specifications of FDTD software can vary depending on the particular software package and its intended application. However, some common specifications that users might look for when choosing FDTD software include:
Physical Modeling Capabilities
The software should specify the range of frequencies for which it can accurately model electromagnetic propagation. It should also have the ability to model complex, frequency-dependent permittivity, permeability, and conductivity for various materials. The software should handle scenarios where different parts of the simulation domain have widely varying scales. Some advanced software can handle nonlinear materials and their effects on electromagnetic waves.
Numerical Methods and Performance
The grid type is an important specification. Cartesian or non-Cartesian grids, and the ability to use structured or unstructured meshing are different methods of modeling electromagnetic waves using the FDTD method. Information on time-stepping algorithms used and how the CFL condition is satisfied is also important.
For large models, support for parallel computation using CPUs and/or GPUs to accelerate simulations is important. The types of boundary conditions supported, such as PML, periodic boundary conditions, or others ensure that the model is sufficiently bounded. Various forms of source excitation such as Gaussian pulse, continuous wave, and modulated signals are important for different applications.
Support and Documentation
FDTD software can be quite complex. Comprehensive documentation for users, including tutorials, user manuals, and technical references is essential. A robust community of users is also a good sign that any issues or questions involving the software can be answered. Availability of user forums, technical support, and professional services will lead to greater success when implementing this software.
Customization and Extensions
Plugins and extensions allow for adding custom functionality. User-defined models provide the ability to introduce new models for materials, sources, and boundary conditions. Depending on the nature of work being performed, this specification may be incredibly important.
Validation and Benchmarking
Availability of benchmark tests to validate the accuracy of simulations against known solutions provides confidence in the model software’s outputs. Without proper validation, it can be harder to trust the accuracy of the results.
Each of these specifications contributes to the overall performance, accuracy, and usability of the FDTD software. Users should match the specifications to their specific needs, whether they are in research, design, education, or industry applications.

Figure 2: Illustration of how the FDTD method in computational electromagnetism. Source: FDominec/CC BY-SA 4.0 DEED
Types
FDTD software can be categorized based on various criteria such as licensing, application focus, and the level of complexity they support. Here are some types of FDTD software:
By Licensing Model
Open-source software is freely available and can be modified by users. Examples include Meep and gprMax. Commercial software requires the purchase of a license, often providing more user-friendly interfaces and customer support. Examples include ANSYS HFSS, CST Studio Suite, and Lumerical.
By Application Focus
General-purpose FDTD can be applied to a wide range of problems in electromagnetics. Meep and Lumerical FDTD fall into this category. Specialized FDTD software is optimized for specific applications, such as ground penetrating radar (GPR) simulations in the case of gprMax, or optical simulations for photonic devices.
By Feature Set
Basic FDTD provides core FDTD functionality with limited additional features and is often used in educational settings or for simple simulations. Advanced FDTD software comes with a comprehensive set of features such as advanced boundary conditions, non-linear materials, and multi-physics capabilities.
By Customization and Scripting
Scriptable FDTD software allows users to write scripts to define simulations, which can be particularly powerful for batch processing and optimization. Non-scriptable FDTD software relies on a GUI for setup and may not offer scripting capabilities. Scriptable FDTD is often used in conjunction with other models to build a more complex or robust model but can be more difficult to set up initially.
Each type of FDTD software has its own strengths and weaknesses, and the best choice will depend on the specific needs of the user, including the complexity of the simulations, required accuracy, budget constraints, and the need for support and documentation. Researchers might lean toward open-source tools for their flexibility and cost-effectiveness, while industry professionals might prefer commercial tools for their robustness and support.

Figure 3: FDTD software packages vary in their specific features and capabilities. Source: Dominator9000/CC BY-SA 4.0 DEED
Features
FDTD software packages vary in their specific features and capabilities, but there are several core features and advanced functionalities that many of these packages share. Here's a list of features that users might look for in FDTD software:
Core Features
The core features every FDTD software package should have include:
- Spatial and temporal discretization: The ability to discretize the computational domain in both space and time to solve Maxwell's equations numerically.
- Meshing: Tools for creating and refining the computational grid, which may include non-uniform and adaptive meshing capabilities.
- Material models: Support for defining various material properties, including dispersive and anisotropic materials.
- Boundary conditions: Implementation of different boundary conditions such as ABC, PML, periodic boundary conditions, and others.
- Source excitation: Various forms of source excitation, such as point sources, plane waves, modulated continuous waves, and user-defined waveforms.
- Field solvers: Efficient algorithms for updating the electromagnetic field values at each timestep.
Advanced Features
While core features are essential for any FDTD package, advanced features can be thought of as nice to have but may be essential for certain applications:
- Parallel processing: Utilizing multi-core CPUs and GPUs to speed up simulations by parallelizing the computations.
- Multi-scale modeling: The ability to efficiently model scenarios with vastly different scales, such as a large system with small, detailed features.
- Nonlinear and time-variant materials: Support for modeling materials with nonlinear responses to electromagnetic fields or materials whose properties change over time.
- Subcellular modeling: Ability to accurately model objects that are smaller than the size of one Yee cell in the grid.
- Near-to-far field transformation: Conversion of near-field data to far-field patterns, which is essential for antenna design and scattering problems.
- Frequency-domain results from time-domain simulations: Extraction of frequency-domain parameters (like S-parameters) from time-domain simulation data.
- Multi-physics integration: Coupling with other physical simulations, such as thermal, structural, or fluid dynamics simulations.
- Optimization and parameter sweeping: Tools for automating the process of varying parameters to achieve certain design goals.
Usability Features
Usability features make interacting with FDTD software easier and more efficient. A user-friendly interface for setting up, running, and analyzing simulations makes it easier for anyone to run a simulation. Support for scripting languages or command-line operations to automate the setup and running of simulations. Built-in tools for visualizing electromagnetic fields, power density, specific absorption rate (SAR), and other relevant quantities in 2D and 3D can make it easier to understand a model’s predictions. Predefined libraries of materials, sources, and boundary conditions simplify the setup process.
These features make FDTD software a powerful tool for engineers and scientists who need to analyze complex electromagnetic problems. Users should evaluate these features in the context of their specific requirements to select the most appropriate FDTD software package for their needs.

Figure 4: Yee lattice picture, illustrating the staggered grid used for the FDTD method in electromagnetism. Source: Steven G. Johnson/CC BY-SA 3.0 DEED
Development
The development of FDTD software involves multiple stages, from mathematical modeling and algorithm development to software engineering and user interface design. Here's an overview of the process:
Mathematical Foundation
The core of any FDTD software is the numerical solution of Maxwell's equations. The software is designed to solve these equations over a discretized space and time domain. The Yee algorithm is typically chosen for its simplicity and effectiveness, although variations and improvements may be used. The continuous spatial domain is discretized into a grid (usually a Yee grid), and time is discretized into steps that satisfy the Courant-Friedrichs-Lewy condition for stability.
Numerical Methods and Stability Analysis
The developers create numerical schemes to approximate the derivatives in Maxwell's equations and analyze the stability and accuracy of these methods. Implementing an iterative process to update the electromagnetic field values at each time step is the next step in building out the model. Coding various boundary conditions such as PML, ABC, and periodic boundaries to mimic real-world scenarios ensures that the solution set is properly contained.
Software Engineering
The numerical algorithms are implemented in a programming language suitable for high-performance computing, such as C, C++, or Python. The software is structured for modularity, maintainability, and scalability. Object-oriented programming (OOP) principles are often used. The code is then optimized for performance, including the use of parallel computing techniques to utilize multi-core processors and GPUs.
Material and Source Modeling
The software must handle a variety of materials and sources, requiring sophisticated models for dielectric properties, magnetic materials, nonlinear materials, and various source types. Creating a database that can store the properties of various materials makes the software more robust and easier to use. Coding different types of source injections such as point sources, Gaussian pulses, and sinusoidal sources also makes the software easier to set up and use.
Usability and User Interface
To be accessible to users, FDTD software typically includes a graphical user interface (GUI), input file parsers, or scripting capabilities. Designing and implementing a GUI that allows users to set up simulations, visualize results, and interact with the data is a critical next step in development. Providing support for scripting to allow users to automate simulation setup, running, and post-processing is also typically done at this stage.
Visualization and Post-processing
Visualizing electromagnetic fields and other quantities is critical for users to interpret the results of FDTD simulations. Implementing visualization tools within the software or through external plugins to visualize the simulation data helps users get more value out of interacting with the software. Allowing users to export simulation data for further analysis in other software tools also makes the software more functional for many different applications.
Testing and Validation
The software must be rigorously tested to ensure it produces accurate and reliable results. Writing and running tests for individual components of the software ensures that each component behaves as designed. Running standard benchmark tests to compare the software's results with analytical solutions or results from other methods ensures that the software as a whole produces the expected results.
Documentation and Support
Comprehensive documentation is necessary for users to understand how to use the software effectively. User manuals and guides should be created that explain how to use the software and its features. Establishing support channels for users to get help with problems they encounter makes the software more accessible for more people.
Licensing and Distribution
The developers must decide on a licensing model (open-source or commercial) and distribute the software accordingly. If the software is open-source, it is typically distributed through platforms like GitHub or GitLab. If the software is commercial, it involves setting up a licensing server or implementing a license management system.
Maintenance and Updates
After release, the software needs regular updates and maintenance to fix bugs, improve functionality, and add new features. Collecting and responding to user feedback for future improvements and bug fixes keeps the FDTD software usable and valuable. Keeping the software up-to-date with the latest computing technologies and scientific advancements ensures customers will continue to use the software.
Creating FDTD software is a multidisciplinary effort involving expertise in electromagnetics, numerical methods, computer science, software engineering, and user experience design. It's a complex process that requires ongoing development and refinement to meet the evolving needs of the user base.

Figure 5: FDTD software has a broad range of applications in various fields due to its ability to model electromagnetic interactions accurately. Source: ESO/S. Rossi/CC BY 3.0 DEED
Applications
FDTD software has a broad range of applications in various fields due to its ability to model electromagnetic interactions accurately. Some of the primary applications include:
Antenna Design and Analysis
Simulating radiation patterns, impedance, and bandwidth of antennas is complex and requires FDTD software to do it well. Analyzing the interaction between elements in an array to optimize beamforming and reduce interference results in better antenna and array performance and design.
Microwave and RF Component Design
Designing and optimizing waveguides and other guiding structures is also accomplished with FDTD software. Creating and testing microwave filters, resonators, and other passive components is greatly facilitated through careful modeling.
Photonics and Optoelectronics
Photonic crystals can be studied with FDTD software, specifically the properties of photonic bandgap materials. Designing integrated optical waveguides and fibers is much easier when performance can be simulated digitally before building an actual device. Investigating surface plasmon resonances and their applications in sensors and circuitry is another application for FDTD software.
Metamaterials
Certain materials are designed to have specific electromagnetic properties. Negative index materials, materials with negative refractive indices, are easier to build when designed with FDTD software. These negative index materials can be used for lenses and cloaking devices among other things. Chiral and bianisotropic materials have intriguing properties. Exploring the properties of materials with complex electromagnetic interactions is aided greatly through the use of FDTD software.
Electromagnetic Compatibility (EMC) and Interference (EMI)
Assessing the effectiveness of electromagnetic shielding in cables and electronic enclosures is easier when performance is modeled beforehand. Analyzing electromagnetic coupling between components and systems to mitigate interference is also aided through modeling.
Radar and Scattering Analysis
FDTD software can predict the radar cross-section of objects for stealth technology and radar signature analysis. It can also be used to investigate the scattering of electromagnetic waves from complex objects.
Biomedical Electromagnetics
Medical imaging is an additional application of FDTD software. Developing and improving techniques such as MRI is done in part through modeling and modifying the electromagnetic performance and response of the materials and components being used. Calculating the SAR in biological tissues for safety assessments of wireless devices is an additional biological application of FDTD software.
Wireless Communication Systems
Simulating wireless signal propagation in complex urban, indoor, or vegetated environments can be quite difficult without the use of FDTD software. The software is also used to analyze the electromagnetic fields around mobile devices for antenna placement and SAR compliance.
Earth Science and Geophysics
GPR is incredibly useful for imaging below ground. FDTD simulates GPR for subsurface imaging to locate utilities and other buried objects. Atmospheric electromagnetics are quite complex and require careful study. With FDTD software, studying lightning and other atmospheric electromagnetic phenomena is made just a bit easier.
The versatility of FDTD software in handling complex geometries, materials, and boundary conditions makes it a powerful tool across these diverse applications. The ability to simulate the time-domain response of these systems provides insights into their behavior, which can be crucial for both design optimization and theoretical understanding.
Standards
FDTD software, like other simulation software used in engineering and scientific disciplines, is subject to a variety of standards that ensure accuracy, reliability, and safety in its applications. Here are some of the standards and guidelines that may apply:
- IEEE Standard 1597
- IEEE Standard 1128
- IEC 62311
- IEC 62209
- ISO 11452-2
These standards guide the performance and safety of various aspects of FDTD software or applications where they are used. Some standards, for example, provide validation procedures for computational electromagnetics methods, which would include FDTD simulations. Others address the accuracy of computational methods for antenna analysis, which often employs FDTD techniques.
Some standards, specifically those issued by the IEC, evaluate the compliance of electronic or electrical equipment with respect to human exposure to radio frequency electromagnetic fields. Other series of standards specify methods for the assessment of human exposure to electromagnetic fields from devices used in close proximity to the body, which is often evaluated using FDTD software for SAR calculations.
It is also important to mention FCC guidelines when discussing standards related to FDTD software. In the United States, the Federal Communications Commission provides guidelines on human exposure to electromagnetic fields, affecting the use of FDTD software in the design of wireless devices.
Compliance with these standards ensures that FDTD software is reliable and that its results are accepted by regulatory bodies and in scientific and engineering communities. For commercial software, adherence to these standards often serves as a mark of quality and can be crucial for market acceptance.
