The Discontinuous Galerkin Time-Domain (DGTD) algorithm solves the macroscopic Maxwell equations for isotropic, dispersive but non-magnetic materials.

This section will introduce the basic mathematical and physics formalism behind the DGTD algorithm:

\begin{array}{l}{\frac{\partial \overrightarrow{D}}{\partial t}=\nabla \times \overrightarrow{H}} \\ {\frac{\partial \overrightarrow{H}}{\partial t}=-\frac{1}{\mu_{0}} \nabla \times \overrightarrow{E}}\end{array}

with the constitutive relation

$$\overrightarrow{D}(\overrightarrow{r}, \omega)=\varepsilon_{0} \varepsilon_{r}(\overrightarrow{r}, \omega) \overrightarrow{E}(\overrightarrow{r}, \omega)$$

Here, \( \overrightarrow{E} \), \( \overrightarrow{H} \) and \( \overrightarrow{D} \) are the magnetic, electric and displacement fields, respectively. While the simulation takes place in the time-domain, the DGTD solver can handle a relative permittivity specified in frequency domain. Dispersive materials can be either specified by using specific models such as a Plasma (Drude), Debye or Lorentz model. Alternatively, the solver can use an automatic fitting of a suitable model to simulate materials with refractive index (n,k) values tabulated as a function of wavelength.

The DGTD solver supports a variety of boundary conditions, including Perfectly Electric Conductor (PEC), Perfect Magnetic Conductor (PMC), periodic, and absorbing boundary conditions. In addition, it supports Perfectly Matched Layers (PMLs) to more efficiently absorb radiation leaving the computation domain [see PML boundary conditions].

The DGTD solver works on an unstructured simplex mesh, which means that in 2D the mesh consists of triangles while in 3D it consists of tetrahedra. A mesh with smaller elements generally leads to a more accurate representation of the geometry and the fields and therefore gives more accurate results. However, more elements also increase the simulation time.

By default, the mesh generator will use approximately two elements per shortest wavelength in each material. In some cases, it is necessary to add a mesh constraint to either a domain or a surface to refine the mesh locally.

On each element, the solver expands the electric field \( \overrightarrow{E} \) and the magnetic field \( \overrightarrow{H} \) into polynomials up to a user-specified order p. A higher order leads to a more accurate solution but it also increases the computational cost.

The DGTD solver uses an explicit time-stepping method which means that there is a limit to how large each timestep can be until the simulation becomes unstable. This limit is determined by the smallest element in the mesh and by the polynomial order used. While there is not exact analytic expression for the largest stable timestep, the DG solver employs a heuristic formula that leads to fast and stable simulations in most cases.

Unless otherwise specified, all quantities are returned in SI units.

1 J. Hesthaven and T. Warburton, “Nodal Discontinuous Galerkin Methods”, Springer (2008)

2 K. Busch et al., “Discontinuous Galerkin methods in nanophotonics”, Laser & Photonics Reviews 5(6), 773-809 (2011)