arXiv is now an independent nonprofit! Learn more
License: arXiv.org perpetual non-exclusive license
arXiv:1809.03816v1 [math.NA] 11 Sep 2018

Globally constraint-preserving FR/DG scheme for Maxwell’s equations at all orders

Arijit Hazra Note: TIFR Center for Applicable Mathematics, Bangalore, India. Email: arijit@tifrbng.res.in    Praveen Chandrashekar Note: TIFR Center for Applicable Mathematics, Bangalore, India. Email: praveen@tifrbng.res.in       Dinshaw S. Balsara Note: Dept. of Physics, Univ. of Notre Dame, USA. Email: dbalsara@nd.edu
Abstract

Computational electrodynamics (CED), the numerical solution of Maxwell’s equations, plays an incredibly important role in several problems in science and engineering. High accuracy solutions are desired, and the discontinuous Galekin (DG) method is one of the better ways of delivering high accuracy in numerical CED. Maxwell’s equations have a pair of involution constraints for which mimetic schemes that globally satisfy the constraints at a discrete level are highly desirable. Balsara and Käppeli (2018) presented a von Neumann stability analysis of globally constraint-preserving DG schemes for CED up to fourth order. That paper was focused on developing the theory and documenting the superior dissipation and dispersion of DGTD schemes in media with constant permittivity and permeability. In this paper we present working DGTD schemes for CED that go up to fifth order of accuracy and analyze their performance when permittivity and permeability vary strongly in space.

Our DGTD schemes achieve constraint preservation by collocating the electric displacement and magnetic induction as well as their higher order modes in the faces of the mesh. Our first finding is that at fourth and higher orders of accuracy, one has to evolve some zone-centered modes in addition to the face-centered modes. It is well-known that the limiting step in DG schemes causes a reduction of the optimal accuracy of the scheme; though the schemes still retain their formal order of accuracy with WENO-type limiters. In this paper we document simulations where permittivity and permeability vary by almost an order of magnitude without requiring any limiting of the DG scheme. This very favorable second finding ensures that DGTD schemes retain optimal accuracy even in the presence of large spatial variations in permittivity and permeability. We also study the conservation of electromagnetic energy in these problems. Our third finding shows that the electromagnetic energy is conserved very well even when permittivity and permeability vary strongly in space; as long as the conductivity is zero.

Keywords: Maxwell’s equations, constraint preserving, divergence-free, discontinuous Galerkin, flux reconstruction

1 Introduction

The numerical solution of Maxwell’s equations plays an incredibly important role in the computational solution of many problems in science and engineering. The Finite Difference Time Domain (FDTD) method, originally proposed by Yee [57] and greatly developed since the seminal papers by Taflove and Brodwin [49], [48], has been the mainstay for computational electrodynamics (CED) chiefly because it globally preserves the involution constraints that are inherent in Maxwell’s equations. Several modern texts and reviews document the development of FDTD (Taflove and Hagness [50], Taflove, Oskooi and Johnson 2013, Gedney [34]). As a result, given the enormously well-cited works by Yee and Taflove, it is very desirable to include global preservation of involution constraints into more modern schemes for CED.

FDTD had been formulated well before the explosion in modern higher order Godunov schemes, which started with the pioneering work of van Leer [51], [52]. Since that work, there has been a strong drive to include the physics of wave propagation into the numerical solution of hyperbolic systems; CED being a case in point. Two strong strains of early effort to develop higher order Godunov schemes for CED include finite-volume time-domain (FVTD) methods (Munz et al. [41], Ismagilov [37], Barbas and Velarde [20]) and discontinuous Galerkin time-domain (DGTD) methods (Cockburn & Shu [26], [27]; Cockburn et al. [25], Hesthaven and Warburton [35]). There has also been a strong effort in the engineering CED community to design DGTD schemes for CED (Chen & Liu [24], Ren et al. [42], Angulo et al. 2015) and some of those methods indeed use locally constraint-preserving bases. However, none of those DGTD methods incorporated the very beneficial globally constraint-preserving aspect of FDTD. For that next phase of evolution, one had to wait for developments that emerged in the field of numerical MHD and are now rapidly finding their way into CED.

In MHD, one evolves Faraday’s law in addition to the equations of computational fluid dynamics (Brecht et al. [21], Evans and Hawley [33], DeVore [30], Dai and Woodward [28], Ryu et al. [43], Balsara and Spicer [18]). While studying adaptive mesh refinement and numerical schemes for MHD, advances were made in constraint-preserving reconstruction of magnetic fields (Balsara [1], [2], [3], Balsara and Dumbser [9], Xu et al. [56]). This made it possible to start with the face-centered magnetic induction fields in the Yee-type mesh and specify them at all locations within a computational zone. The edge-centered electric fields that are inherent to a constraint-preserving update of Faraday’s law would then have to be multidimensionally upwinded. This multidimensional upwinding was achieved by using a newly-designed multidimensional Riemann solver (Balsara [4], [5], [6], [7], Balsara, Dumbser and Abgrall [11], Balsara and Dumbser [10], Balsara and Nkonga [16]). These twin innovations, consisting of constraint-preserving reconstruction of vector fields, and multidimensional Riemann solvers, permitted a logically complete description of numerical MHD. Along the way, a third innovation in ADER (Arbitrary DERivatives in space and time) timestepping schemes was added which, while not essential, greatly simplified the accurate temporal evolution of MHD variables (Dumbser et al. [31], [32], Balsara et al. [17], [15]). DG schemes for the induction equation that were globally constraint-preserving were also devised by Balsara and Käppeli [13]. The stage was now set for migrating these innovations back again to CED.

FVTD schemes for CED that were based on the above-mentioned three innovations were developed in Balsara et al. ([8], [19], [12]). The constraint-preservation was accomplished by making a constraint-preserving reconstruction of the magnetic induction and the electric displacement. Unlike FDTD that operates on a pair of staggered control volumes, the present methods operate on the same control volume, see Fig. 1 from Balsara et al. [19]. To ensure the mimetic preservation of the constraints, the primal variables were taken to be the facially collocated normal components of the electric displacement and the magnetic induction; where both vector fields were collocated on the same faces. The facially collocated magnetic induction evolves in response to the edge collocated electric fields, yielding a discrete representation of Faraday’s law. The facially collocated electric displacement evolves in response to the edge collocated magnetic fields, yielding a discrete representation of Ampere’s law. The resulting methods were indeed globally constraint-preserving in that the magnetic induction always remains divergence-free at all locations on the mesh and the electric displacement always satisfies the constraint imposed by Gauss’ Law at any location on the mesh. All these above-mentioned advances that were made to mimetic FVTD schemes have been recently embedded into the DGTD schemes that we report on below.

Globally constraint-preserving DGTD schemes were also explored in Balsara and Käpelli (2018, BK henceforth). BK found that higher order DGTD schemes were almost totally free of dispersion error, having a dispersion error that was almost 75 times smaller than FDTD. Since the methods were based on Riemann solvers, some dissipation is inevitable. Even so, BK found that the higher order DGTD schemes were almost free of dissipation even when electromagnetic waves spanned only a few zones. The first paper by BK was strongly focused on von Neumann stability analysis of DGTD schemes for CED. The present paper extends this study in several ways, which we list in the rest of this paragraph. First, BK focused on DGTD schemes up to fourth order, whereas the present paper presents flux reconstruction (FR) based DGTD schemes11 1 We will use DGTD to refer to the current scheme though strictly it is a combination of FR and DG schemes. that go up to fifth order, and the reconstruction schemes at fourth and fifth order presented in this work are new. This drive to higher order enables us to generalize an observation from BK who found that from fourth order and upwards one has to include some volumetrically-evolved modes in addition to the facially-evolved modes. Second, BK did not touch on the topic of limiting DGTD schemes, specifically because they realized that the non-linear hybridization of DGTD schemes for CED should be done with the utmost carefulness, if even it is needed. The limiting of any DG scheme always diminishes the optimal accuracy of a DG scheme. This reduction occurs to a greater or lesser extent based on whether the limiter is applied more or less aggressively, respectively. BK did find that DGTD schemes did not need any limiting up to fourth order but they only tried situations where the permittivity and permeability were constant. In this paper we report the very favorable finding that DGTD schemes don’t seem to require any limiting even when the permittivity and permeability vary by almost an order of magnitude. This result is quite useful; however, it is predicated on the assumption that the conductivity is zero. Dealing with non-zero conductivity will be the topic of a subsequent study. Third, BK realized that when conductivity is zero the Maxwell’s equations conserve a quadratic energy. While this energy conservation was not built into the scheme, BK found the very desirable result that quadratic energy was effectively conserved by fourth order DGTD schemes when the waves spanned only a few zones. This paper extends this study to fifth order DGTD schemes. Furthermore, we study the energy conservation of high order DGTD when the permittivity and permeability vary with space. A fourth offering in this paper is a proof that DGTD schemes for CED that are constructed according to the principles in BK and this paper are indeed energy stable.

The rest of the paper is organized as follows. Section (2) introduces the Maxwell’s equations and the simplified 2-D model that we consider in this paper. Section (3) explains the polynomial spaces used to approximate the solution variables and section (4) explains the divergence-free reconstruction scheme at fourth order of accuracy. The numerical descritization of the Maxwell’s equations using flux reconstruction and DG method is shown in section (5) together with constraint preserving property. In section (6), we perform the stability analysis of the semi-discrete scheme at first order and show the dissipative character coming from the 1-D and 2-D Riemann solvers. Section (7) presents many test cases to demonstrate the performance of the scheme. Finally, the Appendix explains the reconstruction scheme at other orders and also briefly discusses the Riemann solvers.

2 Maxwell’s equations

The Maxwell’s equations are a system of linear partial differential equations that model the wave propagation behaviour of electric and magnetic fields in free space and material media. They can be written in vector form as

𝑩t+×𝑬=0,𝑫t×𝑯=𝑱\frac{\partial\bm{B}}{\partial t}+\nabla\times\bm{E}=0,\qquad\frac{\partial\bm{D}}{\partial t}-\nabla\times\bm{H}=-\bm{J}

where

𝑩\bm{B} = magnetic flux density 𝑫\bm{D} = electric flux density
𝑬\bm{E} = electric field 𝑯\bm{H} = magnetic field
𝑱\bm{J} = electric current density

The fields are related to one another by constitutive laws

𝑩=μ𝑯,𝑫=ε𝑬,𝑱=σ𝑬μ,ε3×3 symmetric\bm{B}=\mu\bm{H},\qquad\bm{D}=\varepsilon\bm{E},\qquad\bm{J}=\sigma\bm{E}\qquad\mu,\varepsilon\in\mathbb{R}^{3\times 3}\textrm{ symmetric}

where the coefficients

ε\displaystyle\varepsilon =permittivity tensor\displaystyle=\textrm{permittivity tensor}
μ\displaystyle\mu =magnetic permeability tensor\displaystyle=\textrm{magnetic permeability tensor}
σ\displaystyle\sigma =conductivity\displaystyle=\textrm{conductivity}

are material properties and are in general tensorial functions of spatial coordinates. In free space ε=ε0=8.85×1012\varepsilon=\varepsilon_{0}=8.85\times 10^{-12} F/m and μ=μ0=4π×107\mu=\mu_{0}=4\pi\times 10^{-7} . The divergence of the electric flux gives the electric charge density ρ\rho, which itself obeys a conservation law

𝑫=ρ,ρt+𝑱=0\nabla\cdot\bm{D}=\rho,\qquad\frac{\partial\rho}{\partial t}+\nabla\cdot\bm{J}=0

Moreover, since magnetic monopoles have never been observed in nature, the divergence of the magetic flux must be zero 𝑩=0\nabla\cdot\bm{B}=0, which is an additional constraint that must be satisfied by the solution. Note that if the initial condition is divergence-free, then under the time evolution induced by the Maxwell’s equations, the divergence remains zero at future times also.

In the present work, we will consider a 2-D model of the Maxwell’s equations (TE polarization) for which the equations can be written in Cartesian coordinates as

DxtHzy\displaystyle\frac{\partial D_{x}}{\partial t}-\frac{\partial H_{z}}{\partial y} =\displaystyle= 0\displaystyle 0 (1)
Dyt+Hzx\displaystyle\frac{\partial D_{y}}{\partial t}+\frac{\partial H_{z}}{\partial x} =\displaystyle= 0\displaystyle 0 (2)
Bzt+EyxExy\displaystyle\frac{\partial B_{z}}{\partial t}+\frac{\partial E_{y}}{\partial x}-\frac{\partial E_{x}}{\partial y} =\displaystyle= 0\displaystyle 0 (3)

where

(Ex,Ey)=1ε(Dx,Dy),Hz=1μBz(E_{x},E_{y})=\frac{1}{\varepsilon}(D_{x},D_{y}),\qquad H_{z}=\frac{1}{\mu}B_{z}

and μ\mu, ε\varepsilon are scalars which may depend on spatial coordinates. We will consider a constraint on the divergence of the electric flux density 𝑫\bm{D} instead of the magnetic field, which has only one component in the above model. The above system of three PDE can be written in conservation form

𝑼t+𝑭x+𝑮y=0\frac{\partial\bm{U}}{\partial t}+\frac{\partial\bm{F}}{\partial x}+\frac{\partial\bm{G}}{\partial y}=0 (4)

where

𝑼=[DxDyBz],𝑭=[0HzEy]=[01μBz1εDy],𝑮=[Hz0Ex]=[1μBz01εDx]\bm{U}=\begin{bmatrix}D_{x}\\ D_{y}\\ B_{z}\end{bmatrix},\qquad\bm{F}=\begin{bmatrix}0\\ H_{z}\\ E_{y}\end{bmatrix}=\begin{bmatrix}0\\ \frac{1}{\mu}B_{z}\\ \frac{1}{\varepsilon}D_{y}\end{bmatrix},\qquad\bm{G}=\begin{bmatrix}-H_{z}\\ 0\\ -E_{x}\end{bmatrix}=\begin{bmatrix}-\frac{1}{\mu}B_{z}\\ 0\\ -\frac{1}{\varepsilon}D_{x}\end{bmatrix}

This is a system of hyperbolic conservation laws for which a Riemann problem can be solved exactly to determine the fluxes required in the numerical schemes like finite volume and DG method. This is explained in the Appendix. While for simplicity, we consider scalar material properties, the constraint preserving nature of the scheme holds for general material properties. In fact, everything we describe in this paper holds for the general case, and the only additional change required is to use the Riemann solvers for the general case, which are explained e.g., in [19].

In the absence of currents, the Maxwell’s equations conserve the total energy provided there is no net gain of energy at the boundaries or if we have periodic boundaries. For the 2-D model that we consider in this work, we can first show that the following additional conservation law holds

t[12ε(Dx2+Dy2)+12μBz2]+x(HzEy)y(HzEx)=0\frac{\partial}{\partial t}\left[\frac{1}{2\varepsilon}(D_{x}^{2}+D_{y}^{2})+\frac{1}{2\mu}B_{z}^{2}\right]+\frac{\partial}{\partial x}(H_{z}E_{y})-\frac{\partial}{\partial y}(H_{z}E_{x})=0

which implies that the quantity

(t)=Ω[12ε(Dx2+Dy2)+12μBz2]dxdy\mathcal{E}(t)=\int_{\Omega}\left[\frac{1}{2\varepsilon}(D_{x}^{2}+D_{y}^{2})+\frac{1}{2\mu}B_{z}^{2}\right]\mbox{d}x\mbox{d}y

which is the total energy, is conserved under periodic boundary conditions or if the net flux at the boundaries is zero.

3 Approximation spaces

We would like to approximate the vector field 𝑫\bm{D} such that its divergence is zero inside the cell if there is no charge density. If there is some electric charge, then the divergence of 𝑫\bm{D} must match this charge density, but we do not deal with this case in the present work. The approach we take to ensure divergence-free property is to use the divergence-free reconstruction ideas of Balsara [1], [2], [3] which makes use of known values of the normal component of 𝑫\bm{D} on the faces of the cell and then reconstruct the vector field inside the cell by enforcing appropriate constraints on its divergence.

(a) (b) (c)
Figure 1: Storage of solution variables: (a) k=0,1,2k=0,1,2 (b) k=3k=3 (c) k=4k=4. For k3k\geq 3, we need extra information in addition to face solution.

We will approximate the normal components of 𝑫\bm{D} on the faces by one dimensional polynomials of degree k0k\geq 0. We map each cell to the reference cell [12,+12]×[12,+12][-{\frac{1}{2}},+{\frac{1}{2}}]\times[-{\frac{1}{2}},+{\frac{1}{2}}] with coordinates (ξ,η)(\xi,\eta). Let k(ξ)\mathbb{P}_{k}(\xi) denote one dimensional polynomials of degree at most kk in the variable ξ\xi, and k(ξ,η)\mathbb{P}_{k}(\xi,\eta) denote two dimensional polynomials of degree at most kk. On the two vertical faces of a cell, the normal component is given by

Dx±(η)=j=0kaj±ϕj(η)k(η)D_{x}^{\pm}(\eta)=\sum_{j=0}^{k}a_{j}^{\pm}\phi_{j}(\eta)\in\mathbb{P}_{k}(\eta)

while on the two horizontal faces, the corresponding normal component is given by

Dy±(ξ)=j=0kbj±ϕj(ξ)k(ξ)D_{y}^{\pm}(\xi)=\sum_{j=0}^{k}b_{j}^{\pm}\phi_{j}(\xi)\in\mathbb{P}_{k}(\xi)

The location of these polynomials is illustrated in Figure (1). The basis functions ϕj\phi_{j} are mutually orthogonal polynomials given by

ϕ0(ξ)=1,ϕ1(ξ)=ξ,ϕ2(ξ)=ξ2112,ϕ3(ξ)=ξ3320ξ,ϕ4(ξ)=ξ4314ξ2+3560\phi_{0}(\xi)=1,\quad\phi_{1}(\xi)=\xi,\quad\phi_{2}(\xi)=\xi^{2}-\tfrac{1}{12},\quad\phi_{3}(\xi)=\xi^{3}-\tfrac{3}{20}\xi,\quad\phi_{4}(\xi)=\xi^{4}-\tfrac{3}{14}\xi^{2}+\tfrac{3}{560}
ϕ5(ξ)=ξ5518ξ3+5336ξ,etc.\phi_{5}(\xi)=\xi^{5}-\frac{5}{18}\xi^{3}+\frac{5}{336}\xi,\quad\textnormal{etc.}

The magnetic field BzB_{z} will be approximated inside each cell by two dimensional polynomials of degree kk given by

Bz(ξ,η)=i=0N(k)1αiΦi(ξ,η)k(ξ,η),N(k)=12(k+1)(k+2)B_{z}(\xi,\eta)=\sum_{i=0}^{N(k)-1}\alpha_{i}\Phi_{i}(\xi,\eta)\in\mathbb{P}_{k}(\xi,\eta),\qquad N(k)={\frac{1}{2}}(k+1)(k+2)

where the two dimensional basis functions are given by

Φi{\displaystyle\Phi_{i}\in\{ 1,ϕ1(ξ),ϕ1(η),\displaystyle 1,\ \phi_{1}(\xi),\ \phi_{1}(\eta), at second order\displaystyle\textrm{at second order} (5)
ϕ2(ξ),ϕ1(ξ)ϕ1(η),ϕ2(η),\displaystyle\phi_{2}(\xi),\ \phi_{1}(\xi)\phi_{1}(\eta),\ \phi_{2}(\eta), at third order\displaystyle\textrm{at third order}
ϕ3(ξ),ϕ2(ξ)ϕ1(η),ϕ1(ξ)ϕ2(η),ϕ3(η),\displaystyle\phi_{3}(\xi),\ \phi_{2}(\xi)\phi_{1}(\eta),\ \phi_{1}(\xi)\phi_{2}(\eta),\ \phi_{3}(\eta), at fourth order\displaystyle\textrm{at fourth order}
ϕ4(ξ),ϕ3(ξ)ϕ1(η),ϕ2(ξ)ϕ2(η),ϕ1(ξ)ϕ3(η),ϕ4(η)}\displaystyle\phi_{4}(\xi),\ \phi_{3}(\xi)\phi_{1}(\eta),\ \phi_{2}(\xi)\phi_{2}(\eta),\ \phi_{1}(\xi)\phi_{3}(\eta),\ \phi_{4}(\eta)\} at fifth order\displaystyle\textrm{at fifth order}

Figure (1) shows the location of the above solution polynomials. By Gauss Theorem

0=C𝑫dxdy=C𝑫𝒏0=\int_{C}\nabla\cdot\bm{D}\mbox{d}x\mbox{d}y=\int_{\partial C}\bm{D}\cdot\bm{n}

which implies that

(a0+a0)Δy+(b0+b0)Δx=0(a_{0}^{+}-a_{0}^{-})\Delta y+(b_{0}^{+}-b_{0}^{-})\Delta x=0 (6)

The above constraint will be satisfied by the initial condition, and the update scheme we devise will ensure that it is satisfied at future times also. Note that the above constraint depends only on the face averages of the solution variables stored on the faces.

The previous paragraphs have shown us how the modes that are the primal variables in our DG scheme are collocated (for the most part) at the faces of the mesh. While this is needed in order to formulate a globally constraint-preserving scheme, we should realize that we are actually interested in the solution of a PDE. Because of the Cauchy problem, the time-evolution of Maxwell’s equations, just like the time-evolution of any hyperboloic PDE, relies on having all the spatial gradients. The reconstruction strategy that we describe below ensures that we can start with the modes at the skeleton (facial) mesh and obtain from it the variation of the electric displacement and magnetic induction at all locations on the mesh in a manner that is consistent with the involution constraint. Using the information of Dx±D_{x}^{\pm}, Dy±D_{y}^{\pm} on the faces which are one dimensional polynomials of degree kk, we have to reconstruct 𝑫=𝑫(ξ,η)𝕍k(ξ,η)\bm{D}=\bm{D}(\xi,\eta)\in\mathbb{V}_{k}(\xi,\eta) inside each cell such that the following conditions are satisfied.

  1. 1.

    The normal components of 𝑫(ξ,η)\bm{D}(\xi,\eta) match the known values on the faces

    Dx(±12,η)=Dx±(η),η[12,+12],Dy(ξ,±12)=Dy±(ξ),ξ[12,+12]D_{x}(\pm{\tfrac{1}{2}},\eta)=D_{x}^{\pm}(\eta),\quad\forall\eta\in[-{\tfrac{1}{2}},+{\tfrac{1}{2}}],\qquad D_{y}(\xi,\pm{\tfrac{1}{2}})=D_{y}^{\pm}(\xi),\quad\forall\xi\in[-{\tfrac{1}{2}},+{\tfrac{1}{2}}]
  2. 2.

    The divergence of 𝑫\bm{D} is zero everywhere inside the cell

    𝑫(ξ,η)=0,ξ,η[12,+12]\nabla\cdot\bm{D}(\xi,\eta)=0,\qquad\forall\xi,\eta\in[-{\tfrac{1}{2}},+{\tfrac{1}{2}}]

The polynomial space 𝕍k\mathbb{V}_{k} will be chosen so that the reconstruction problem is uniquely solvable. Note that we would like to have (k+1)(k+1)’th order accurate approximations inside the cell which implies that k(ξ,η)𝕍k(ξ,η)\mathbb{P}_{k}(\xi,\eta)\subset\mathbb{V}_{k}(\xi,\eta) must be satisfied. However the space 𝕍k\mathbb{V}_{k} must be bigger than k\mathbb{P}_{k} in order to be able to satisfy the matching conditions on the faces and the divergence-free condition inside the cells. The precise form of the polynomial 𝑫(ξ,η)\bm{D}(\xi,\eta) and the solution of the above reconstruction problem at various orders will be explained in the next section and in Appendix. For k=0,1,2k=0,1,2 (upto third order accuracy), the reconstruction problem can be solved using the information of normal components on the faces but for k3k\geq 3, we require additional information from inside the cells to solve the reconstruction problem. For k=3k=3 we specify an additional cell moment ω1\omega_{1} while for k=4k=4, we specify three additional cell moments, ω1,ω2,ω3\omega_{1},\omega_{2},\omega_{3}, see Figure (1).

4 Divergence-free reconstruction of 𝑫\bm{D} inside a cell

In this section, we explain how to reconstruct the field 𝑫\bm{D} inside the cell given the values of the normal component on the faces of the cell, and in such a way that 𝑫=0\nabla\cdot\bm{D}=0. We explain the procedure for the case k=3k=3 which leads to a fourth order approximation. The lower orders can be obtained from the fourth order solution and the reader can consult the Appendix. The fifth order case (k=4)(k=4) is also detailed in the Appendix. For solving the reconstruction problem, it is useful to note down the following results related to the 1-D orthogonal polynomials.

ϕ1(±12)=±12,ϕ2(±12)=16,ϕ3(±12)=±120,ϕ4(±12)=170\phi_{1}(\pm{\tfrac{1}{2}})=\pm{\frac{1}{2}},\quad\phi_{2}(\pm{\tfrac{1}{2}})=\frac{1}{6},\quad\phi_{3}(\pm{\tfrac{1}{2}})=\pm\frac{1}{20},\qquad\phi_{4}(\pm{\tfrac{1}{2}})=\frac{1}{70}
ϕ1(ξ)=1,ϕ2(ξ)=2ϕ1(ξ),ϕ3(ξ)=3ϕ2(ξ)+110,ϕ4(ξ)=4ϕ3(ξ)+635ϕ1(ξ)\phi_{1}^{\prime}(\xi)=1,\quad\phi_{2}^{\prime}(\xi)=2\phi_{1}(\xi),\quad\phi_{3}^{\prime}(\xi)=3\phi_{2}(\xi)+\frac{1}{10},\quad\phi_{4}^{\prime}(\xi)=4\phi_{3}(\xi)+\frac{6}{35}\phi_{1}(\xi)
ϕ5(ξ)=5ϕ4(ξ)+521ϕ2(ξ)+1126\phi_{5}^{\prime}(\xi)=5\phi_{4}(\xi)+\frac{5}{21}\phi_{2}(\xi)+\frac{1}{126}

We will assume the following polynomial form for the vector field 𝑫\bm{D} inside the cell

Dx(ξ,η)=\displaystyle D_{x}(\xi,\eta)= a00+a10ϕ1(ξ)+a01ϕ1(η)+a20ϕ2(ξ)+a11ϕ1(ξ)ϕ1(η)+a02ϕ2(η)+\displaystyle\ a_{00}+a_{10}\phi_{1}(\xi)+a_{01}\phi_{1}(\eta)+a_{20}\phi_{2}(\xi)+a_{11}\phi_{1}(\xi)\phi_{1}(\eta)+a_{02}\phi_{2}(\eta)+
a30ϕ3(ξ)+a21ϕ2(ξ)ϕ1(η)+a12ϕ1(ξ)ϕ2(η)+a03ϕ3(η)+a40ϕ4(ξ)+\displaystyle\ a_{30}\phi_{3}(\xi)+a_{21}\phi_{2}(\xi)\phi_{1}(\eta)+a_{12}\phi_{1}(\xi)\phi_{2}(\eta)+a_{03}\phi_{3}(\eta)+a_{40}\phi_{4}(\xi)+
a31ϕ3(ξ)ϕ1(η)+a22ϕ2(ξ)ϕ2(η)+a13ϕ1(ξ)ϕ3(η)\displaystyle\ a_{31}\phi_{3}(\xi)\phi_{1}(\eta)+a_{22}\phi_{2}(\xi)\phi_{2}(\eta)+a_{13}\phi_{1}(\xi)\phi_{3}(\eta)
Dy(ξ,η)=\displaystyle D_{y}(\xi,\eta)= b00+b10ϕ1(ξ)+b01ϕ1(η)+b20ϕ2(ξ)+b11ϕ1(ξ)ϕ1(η)+b02ϕ2(η)+\displaystyle\ b_{00}+b_{10}\phi_{1}(\xi)+b_{01}\phi_{1}(\eta)+b_{20}\phi_{2}(\xi)+b_{11}\phi_{1}(\xi)\phi_{1}(\eta)+b_{02}\phi_{2}(\eta)+
b30ϕ3(ξ)+b21ϕ2(ξ)ϕ1(η)+b12ϕ1(ξ)ϕ2(η)+b03ϕ3(η)+b31ϕ3(ξ)ϕ1(η)+\displaystyle\ b_{30}\phi_{3}(\xi)+b_{21}\phi_{2}(\xi)\phi_{1}(\eta)+b_{12}\phi_{1}(\xi)\phi_{2}(\eta)+b_{03}\phi_{3}(\eta)+b_{31}\phi_{3}(\xi)\phi_{1}(\eta)+
b22ϕ2(ξ)ϕ2(η)+b13ϕ1(ξ)ϕ3(η)+b04ϕ4(η)\displaystyle\ b_{22}\phi_{2}(\xi)\phi_{2}(\eta)+b_{13}\phi_{1}(\xi)\phi_{3}(\eta)+b_{04}\phi_{4}(\eta)

Note that DxD_{x} has the form of a polynomial 4(ξ,η)\mathbb{P}_{4}(\xi,\eta) except that the terms corresponding to η4\eta^{4} are not included. Similarly, DyD_{y} belongs to 4(ξ,η)\mathbb{P}_{4}(\xi,\eta) except for the term ξ4\xi^{4} which is not included. Such polynomial spaces to approximate vector fields in a divergence conforming manner were introduced in [22] and are called BDFM polynomials. Both the components completely include 3(ξ,η)\mathbb{P}_{3}(\xi,\eta) polynomials. Matching the cell solution to the face solution, we get the following 16 equations

a00±12a10+16a20±120a30+170a40\displaystyle a_{00}\pm{\tfrac{1}{2}}a_{10}+\tfrac{1}{6}a_{20}\pm\tfrac{1}{20}a_{30}+\tfrac{1}{70}a_{40}\; =a0±\displaystyle=a_{0}^{\pm}
a01±12a11+16a21±120a31\displaystyle a_{01}\pm{\tfrac{1}{2}}a_{11}+\tfrac{1}{6}a_{21}\pm\tfrac{1}{20}a_{31}\; =a1±\displaystyle=a_{1}^{\pm}
a02±12a12+16a22\displaystyle a_{02}\pm{\tfrac{1}{2}}a_{12}+\tfrac{1}{6}a_{22}\; =a2±\displaystyle=a_{2}^{\pm}
a03±12a13\displaystyle a_{03}\pm{\tfrac{1}{2}}a_{13}\; =a3±\displaystyle=a_{3}^{\pm}
b00±12b01+16b02±120b03+170b04\displaystyle b_{00}\pm{\tfrac{1}{2}}b_{01}+\tfrac{1}{6}b_{02}\pm\tfrac{1}{20}b_{03}+\tfrac{1}{70}b_{04}\; =b0±\displaystyle=b_{0}^{\pm}
b10±12b11+16b12±120b13\displaystyle b_{10}\pm{\tfrac{1}{2}}b_{11}+\tfrac{1}{6}b_{12}\pm\tfrac{1}{20}b_{13}\; =b1±\displaystyle=b_{1}^{\pm}
b20±12b21+16b22\displaystyle b_{20}\pm{\tfrac{1}{2}}b_{21}+\tfrac{1}{6}b_{22}\; =b2±\displaystyle=b_{2}^{\pm}
b30±12b31\displaystyle b_{30}\pm{\tfrac{1}{2}}b_{31}\; =b3±\displaystyle=b_{3}^{\pm}

The divergence of the vector field 𝑫\bm{D} is a polynomial of degree 3 and making it zero inside the cell yields the following set of 10 equations

(a10+110a30)Δy+(b01+110b03)Δx\displaystyle(a_{10}+\tfrac{1}{10}a_{30})\Delta y+(b_{01}+\tfrac{1}{10}b_{03})\Delta x =0\displaystyle=0
(2a20+635a40)Δy+(b11+b13/10)Δx\displaystyle(2a_{20}+\tfrac{6}{35}a_{40})\Delta y+(b_{11}+b_{13}/10)\Delta x =0\displaystyle=0
(a11+a31/10)Δy+(2b02+635b04)Δx\displaystyle(a_{11}+a_{31}/10)\Delta y+(2b_{02}+\tfrac{6}{35}b_{04})\Delta x =0\displaystyle=0
3a30Δy+b21Δx\displaystyle 3a_{30}\Delta y+b_{21}\Delta x =0\displaystyle=0
2a21Δy+2b12Δx\displaystyle 2a_{21}\Delta y+2b_{12}\Delta x =0\displaystyle=0
a12Δy+3b03Δx\displaystyle a_{12}\Delta y+3b_{03}\Delta x =0\displaystyle=0
4a40Δy+b31Δx\displaystyle 4a_{40}\Delta y+b_{31}\Delta x =0\displaystyle=0
3a31Δy+2b22Δx\displaystyle 3a_{31}\Delta y+2b_{22}\Delta x =0\displaystyle=0
2a22Δy+3b13Δx\displaystyle 2a_{22}\Delta y+3b_{13}\Delta x =0\displaystyle=0
a13Δy+4b04Δx\displaystyle a_{13}\Delta y+4b_{04}\Delta x =0\displaystyle=0

The first equation in the above set is redundant since it is contained in the other equations due to the constraint (6). Ignoring this equation, we can solve for some of the coefficients aija_{ij}, bijb_{ij} in terms of the face solution as follows:

a00=\displaystyle a_{00}= 12(a0+a0+)+112(b1+b1)ΔxΔy\displaystyle{\tfrac{1}{2}}(a_{0}^{-}+a_{0}^{+})+\tfrac{1}{12}(b_{1}^{+}-b_{1}^{-})\tfrac{\Delta x}{\Delta y} a10=\displaystyle a_{10}= a0+a0+130(b2+b2)ΔxΔy\displaystyle a_{0}^{+}-a_{0}^{-}+\tfrac{1}{30}(b_{2}^{+}-b_{2}^{-})\tfrac{\Delta x}{\Delta y} a20=\displaystyle a_{20}= 12(b1+b1)ΔxΔy+3140(b3+b3)ΔxΔy\displaystyle-{\tfrac{1}{2}}(b_{1}^{+}-b_{1}^{-})\tfrac{\Delta x}{\Delta y}+\tfrac{3}{140}(b_{3}^{+}-b_{3}^{-})\tfrac{\Delta x}{\Delta y} a30=\displaystyle a_{30}= 13(b2+b2)ΔxΔy\displaystyle-\tfrac{1}{3}(b_{2}^{+}-b_{2}^{-})\tfrac{\Delta x}{\Delta y} a03=\displaystyle a_{03}= 12(a3+a3+)\displaystyle{\tfrac{1}{2}}(a_{3}^{-}+a_{3}^{+}) a12=\displaystyle a_{12}= a2+a2\displaystyle a_{2}^{+}-a_{2}^{-} a13=\displaystyle a_{13}= a3+a3\displaystyle a_{3}^{+}-a_{3}^{-} a40=\displaystyle a_{40}= 14(b3+b3)ΔxΔy\displaystyle-\tfrac{1}{4}(b_{3}^{+}-b_{3}^{-})\tfrac{\Delta x}{\Delta y} b00=\displaystyle b_{00}= 12(b0+b0+)+112(a1+a1)ΔyΔx\displaystyle{\tfrac{1}{2}}(b_{0}^{-}+b_{0}^{+})+\tfrac{1}{12}(a_{1}^{+}-a_{1}^{-})\tfrac{\Delta y}{\Delta x} b01=\displaystyle b_{01}= b0+b0+130(a2+a2)ΔyΔx\displaystyle b_{0}^{+}-b_{0}^{-}+\tfrac{1}{30}(a_{2}^{+}-a_{2}^{-})\tfrac{\Delta y}{\Delta x} b02=\displaystyle b_{02}= 12(a1+a1)ΔyΔx+3140(a3+a3)ΔyΔx\displaystyle-{\tfrac{1}{2}}(a_{1}^{+}-a_{1}^{-})\tfrac{\Delta y}{\Delta x}+\tfrac{3}{140}(a_{3}^{+}-a_{3}^{-})\tfrac{\Delta y}{\Delta x} b30=\displaystyle b_{30}= 12(b3+b3+)\displaystyle{\tfrac{1}{2}}(b_{3}^{-}+b_{3}^{+}) b03=\displaystyle b_{03}= 13(a2+a2)ΔyΔx\displaystyle-\tfrac{1}{3}(a_{2}^{+}-a_{2}^{-})\tfrac{\Delta y}{\Delta x} b21=\displaystyle b_{21}= b2+b2\displaystyle b_{2}^{+}-b_{2}^{-} b31=\displaystyle b_{31}= b3+b3\displaystyle b_{3}^{+}-b_{3}^{-} b04=\displaystyle b_{04}= 14(a3+a3)ΔyΔx\displaystyle-\tfrac{1}{4}(a_{3}^{+}-a_{3}^{-})\tfrac{\Delta y}{\Delta x}

The remaining coefficients satisfy the following 9 equations

a01+16a21\displaystyle a_{01}+\tfrac{1}{6}a_{21} =12(a1++a1),\displaystyle={\tfrac{1}{2}}(a_{1}^{+}+a_{1}^{-}),
a02+16a22\displaystyle a_{02}+\tfrac{1}{6}a_{22} =12(a2++a2),\displaystyle={\tfrac{1}{2}}(a_{2}^{+}+a_{2}^{-}),
a11+110a31\displaystyle a_{11}+\tfrac{1}{10}a_{31} =a1+a1,\displaystyle=a_{1}^{+}-a_{1}^{-},
b10+16b12\displaystyle b_{10}+\tfrac{1}{6}b_{12} =12(b1++b1),\displaystyle={\tfrac{1}{2}}(b_{1}^{+}+b_{1}^{-}),
b20+16b22\displaystyle b_{20}+\tfrac{1}{6}b_{22} =12(b2++b2),\displaystyle={\tfrac{1}{2}}(b_{2}^{+}+b_{2}^{-}),
b11+110b13\displaystyle b_{11}+\tfrac{1}{10}b_{13} =b1+b1,\displaystyle=b_{1}^{+}-b_{1}^{-},
2a21Δy+2b12Δx\displaystyle 2a_{21}\Delta y+2b_{12}\Delta x =\displaystyle= 0\displaystyle 0
3a31Δy+2b22Δx\displaystyle 3a_{31}\Delta y+2b_{22}\Delta x =\displaystyle= 0\displaystyle 0
2a22Δy+3b13Δx\displaystyle 2a_{22}\Delta y+3b_{13}\Delta x =\displaystyle= 0\displaystyle 0

and we have more unknowns than equations. We can set the following coefficients which are not needed for fourth order accuracy to zero

a31=b22=a22=b13=0a_{31}=b_{22}=a_{22}=b_{13}=0

and we further obtain the solution for the following coefficients

a11=a1+a1,a02=12(a2++a2),b11=b1+b1,b20=12(b2++b2)\boxed{a_{11}=a_{1}^{+}-a_{1}^{-},\qquad a_{02}={\tfrac{1}{2}}(a_{2}^{+}+a_{2}^{-}),\qquad b_{11}=b_{1}^{+}-b_{1}^{-},\qquad b_{20}={\tfrac{1}{2}}(b_{2}^{+}+b_{2}^{-})} (7)

The remaining unknowns satisfy the following set of equations

a01+16a21\displaystyle a_{01}+\frac{1}{6}a_{21} =\displaystyle= 12(a1+a1+)=:r1\displaystyle{\frac{1}{2}}(a_{1}^{-}+a_{1}^{+})=\mathrel{\mathop{\mathchar 58\relax}}r_{1} (8)
b10+16b12\displaystyle b_{10}+\frac{1}{6}b_{12} =\displaystyle= 12(b1+b1+)=:r2\displaystyle{\frac{1}{2}}(b_{1}^{-}+b_{1}^{+})=\mathrel{\mathop{\mathchar 58\relax}}r_{2} (9)
b12Δx+a21Δy\displaystyle b_{12}\Delta x+a_{21}\Delta y =\displaystyle= 0\displaystyle 0 (10)

We have four unknowns but only three equations. We cannot make any further assumptions regarding these coefficients since they are all at or below third degree, and we must retain all of them in order to get fourth order accuracy. The only way to complete the reconstruction is to provide an additional equation. Let us assume that we know the value of ω1\omega_{1} such that

b10a01=ω1b_{10}-a_{01}=\omega_{1} (11)

Note that ω\omega provides information about the mean value of the curl of the vector field in the cell. Then we can solve the equations to obtain

a01=11+ΔyΔx[r1ΔyΔx+r2ω1],b10=ω1+a01a21=6(r1a01),b12=6(r2b10)\boxed{\begin{aligned} a_{01}=\frac{1}{1+\frac{\Delta y}{\Delta x}}\left[r_{1}\frac{\Delta y}{\Delta x}+r_{2}-\omega_{1}\right],&\qquad b_{10}=\omega_{1}+a_{01}\\ a_{21}=6(r_{1}-a_{01}),&\qquad b_{12}=6(r_{2}-b_{10})\end{aligned}} (12)

This completes the reconstruction of 𝑫\bm{D} inside the cell. Note that we had to introduce a cell moment to complete the reconstruction and the face solution alone is not sufficient to do this. We will know the value of ω1\omega_{1} from the initial condition and we have to device a scheme to evolve it forward in time which is explained in section (5.2).

5 Numerical scheme

We are now in a position to explain the constraint preserving scheme. Recall that we have several solution polynomials, some of which are stored on the faces and some are stored inside the cells. The basic solution variables have been illustrated in Figure (1). The solution polynomials Dx(ξ,η)D_{x}(\xi,\eta), Dy(ξ,η)D_{y}(\xi,\eta) are not independent and are obtained by the divergence-free reconstruction process described in section (4) and in the Appendices.

  1. 1.

    The normal component of 𝑫\bm{D} stored on the faces will be evolved by a flux reconstruction scheme applied on each face.

  2. 2.

    At fourth and fifth orders, we have additional quantities ωi\omega_{i} which are located inside the cells and we will devise a DG scheme for these quantities.

  3. 3.

    The magnetic flux density has only one component which is stored inside the cells and this will be evolved by a standard DG scheme.

The FR and DG schemes require some numerical fluxes that are obtained from 1-D and 2-D Riemann problems. We give a short summary of these numerical fluxes in the Appendices (C.1)-(C.2).

5.1 Flux reconstruction scheme for 𝑫\bm{D} on the faces

Let us first describe the evolution scheme for the solution stored on the faces which is the normal component of 𝑫\bm{D}. While we could use a DG scheme for this purpose, and this has been done by other researchers, in this work we will employ the flux reconstruction scheme which is also a high order numerical method for approximating the solutions of consevation laws. Like the spectral difference method [38], [39], the flux reconstruction scheme [36] is based on the differential formulation of conservation laws. By contrast, the DG schemes are based on an integral formulation. The basic idea is to first locally approximate the flux by a continuous polynomial using the piecewise discontinuous solution polynomial and some numerical fluxes coming from a Riemann solver. The solution is then updated to next time level using a collocation approach which avoids quadratures, which makes the method very efficient especially for 3-D problems. The construction of the continuous flux polynomial involves certain correction functions for which there are many possible choices available in the literature. Huynh [36] proposed Radau polynomials as correction functions and later a more general family of correction functions were developed in [54] based on energy stability arguments in a Sobolev norm. This general correction function contains a parameter cc that is allowed take values in a certain interval and hence generates an infinite family of possible correction functions all of which lead to stable schemes. It has been discovered that FR schemes are equivalent to other high order schemes like spectral difference [36] and certain types of nodal DG schemes [36], [54], [29], [40] by choosing the correction functions appropriately, i.e., by choosing the parameter cc. The nodal DG type schemes are recovered by using c=0c=0 and this choice also leads to the most accurate numerical schemes [23], [53]. The FR scheme has also been developed for advection-diffusion problems including Navier-Stokes equations and we refer the reader to the review article [55] for more references.

Figure 2: Location of solution points of FR scheme on a vertical face for k=2k=2. The blue squares are Gauss-Legendre quadrature points.

Let us consider a vertical face on which DxD_{x} is approximated by a polynomial of degree kk and we want to construct a scheme to update this information to the next time level. Note that DxD_{x} evolves due to the yy derivatives of the magnetic field BzB_{z} and hence the equation for DxD_{x} can be discretized by a 1-D scheme on the vertical faces. Let us choose k+1k+1 Gauss-Legendre quadrature points {ηi,0ik}\{\eta_{i},0\leq i\leq k\} on the face, see Figure (2), and let j\ell_{j}, j=0,1,,kj=0,1,\ldots,k be the corresponding Lagrange polynomials given by

j(η)=i=0ijk(ηηiηjηi)\ell_{j}(\eta)=\prod_{\begin{subarray}{c}i=0\\ i\neq j\end{subarray}}^{k}\left(\frac{\eta-\eta_{i}}{\eta_{j}-\eta_{i}}\right)

Let us first interpolate HzH_{z} using the Lagrange polynomials as follows

Hzδ(η)=j=0k(H^z)jj(η)H_{z}^{\delta}(\eta)=\sum_{j=0}^{k}(\hat{H}_{z})_{j}\ell_{j}(\eta)

The quantities (H^z)j(\hat{H}_{z})_{j} are values at the GL nodes as illustrated in Figure (2); while we have a unique value of DxD_{x} at each GL node of a vertical face, the other quantities DyD_{y}, BzB_{z} are possibly discontinuous. Note that DyD_{y} at the GL points are obtained from the reconstructed polynomial on the two cells sharing the face and BzB_{z} is obtained by another polynomial inside the two neighbouring cells. Since we have a 1-D Riemann problem at each GL point, we can compute (H^z)j(\hat{H}_{z})_{j} from a 1-D Riemann solver. This innovation adds a new aspect to FR schemes for involution constrained problems. This aspect is not present while solving usual conservation laws and arises because we are applying the FR scheme on the faces rather than over cells. Similarly, we will construct an interpolant Hzδ(ξ)H_{z}^{\delta}(\xi) on each of the horizontal faces in the mesh. At any vertex, if we evaluate the flux HzδH_{z}^{\delta}, we will get four different values from the four faces meeting at the vertex, and they need not agree with one another. In the next step, we will correct each of the interpolants to make them continuous at the vertices.

At each vertex, we will have four different states that come together and define a 2-D Riemann problem and solution of this problem is briefly described in section (C.2). Assume that we have computed the value of HzH_{z} at all the vertices of the mesh using the 2-D Riemann solver. So at the bottom (l) and top (r) vertices, see Figure (2), we know the unique values of HzH_{z} which are given by the multidimensional Riemann solvers as H~zl\tilde{H}_{z}^{l}, H~zr\tilde{H}_{z}^{r}, respectively. We correct the above interpolant HzδH_{z}^{\delta} as follows

Hzc(η)=Hzδ(η)+[H~zlHzδ(12)]gl(η)+[H~zrHzδ(+12)]gr(η)H_{z}^{c}(\eta)=H_{z}^{\delta}(\eta)+[\tilde{H}_{z}^{l}-H_{z}^{\delta}(-{\tfrac{1}{2}})]g_{l}(\eta)+[\tilde{H}_{z}^{r}-H_{z}^{\delta}(+{\tfrac{1}{2}})]g_{r}(\eta)

where the correction functions glg_{l}, grg_{r} are polynomials of degree k+1k+1 and have the property

gl(12)=gr(+12)=1,gl(+12)=gl(12)=0g_{l}(-{\tfrac{1}{2}})=g_{r}(+{\tfrac{1}{2}})=1,\qquad g_{l}(+{\tfrac{1}{2}})=g_{l}(-{\tfrac{1}{2}})=0

This implies that

Hzc(12)=H~zl,Hzc(+12)=H~zrH_{z}^{c}(-{\tfrac{1}{2}})=\tilde{H}_{z}^{l},\qquad H_{z}^{c}(+{\tfrac{1}{2}})=\tilde{H}_{z}^{r}

and hence Hzc(η)H_{z}^{c}(\eta) is a polynomial of degree k+1k+1 and is continuous at the vertices. Following Huynh [36], the correction functions will be taken to be Radau polynomials of degree k+1k+1 which also corresponds to taking c=0c=0 in the general class of functions derived in [54]. The correction functions are given by

gl(η)=(1)k2[Lk(2η)Lk+1(2η)],gr(η)=12[Lk(2η)+Lk+1(2η)]g_{l}(\eta)=\frac{(-1)^{k}}{2}[L_{k}(2\eta)-L_{k+1}(2\eta)],\qquad g_{r}(\eta)=\frac{1}{2}[L_{k}(2\eta)+L_{k+1}(2\eta)]

where Lk:[1,+1]L_{k}\mathrel{\mathop{\mathchar 58\relax}}[-1,+1]\to\mathbb{R} is the Legendre polynomial of degree kk. Note that we have to do a scaling of η\eta since in our convention we take η[12,+12]\eta\in[-{\frac{1}{2}},+{\frac{1}{2}}]. The normal component DxD_{x} can now be updated by using a collocation approach

Dxt(ηi)=Ri:=1ΔyHzcη(ηi),0ik\frac{\partial D_{x}}{\partial t}(\eta_{i})=R_{i}\mathrel{\mathop{\mathchar 58\relax}}=\frac{1}{\Delta y}\frac{\partial H_{z}^{c}}{\partial\eta}(\eta_{i}),\qquad 0\leq i\leq k (13)

Since HzcH_{z}^{c} is of degree k+1k+1, the right hand side is of degree kk which agrees with the degree of the solution polynomial of DxD_{x}; hence the collocation scheme completely specifies the update for the facial solution.

The above discussion of the FR scheme shows that it is natural to use nodal basis functions which makes the collocation scheme easy to implement. However, in our approach, we actually represent Dx(η)D_{x}(\eta) using orthogonal polynomials where solution coefficients are modal values and not nodal values, and hence the above nodal collocation update cannot be directly used. The use of orthogonal basis functions is convenient to write the solution of the divergence-free reconstruction problem in a simple form. The scheme for modal coefficients can be easily obtained by making a simple transformation. Let V(k+1)×(k+1)V\in\mathbb{R}^{(k+1)\times(k+1)} be the Vandermonde matrix of the orthogonal polynomials corresponding to the GL nodes, i.e.,

Vij=ϕj(ηi),0i,jkV_{ij}=\phi_{j}(\eta_{i}),\qquad 0\leq i,j\leq k

Then the update of the modal coefficients a=[a0,a1,,ak]a=[a_{0},a_{1},\ldots,a_{k}]^{\top} of Dx(η)D_{x}(\eta) can be performed using the following equation

dadt=V1R,R=[R0,R1,,Rk]\frac{\mbox{d}a}{\mbox{d}t}=V^{-1}R,\qquad R=[R_{0},R_{1},\ldots,R_{k}]^{\top}

The Vandermonde matrix is also used to evaluate the polynomial Dx(η)D_{x}(\eta) at the GL points. This matrix is common to each face and so that VV and it’s inverse can be computed once in a pre-processing stage.

5.2 Fourth order scheme for 𝑫\bm{D}

At fourth order of accuracy (k=3k=3), the face solution 𝑫\bm{D} does not completely determine the divergence-free reconstruction inside the cell. We have to specify ω1\omega_{1} as an additional information so that the reconstruction problem can be solved, which is defined as

ω1=b10a01=1212121212[Dy(ξ,η)ξDx(ξ,η)η]dξdη\omega_{1}=b_{10}-a_{01}=12\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}[D_{y}(\xi,\eta)\xi-D_{x}(\xi,\eta)\eta]\mbox{d}\xi\mbox{d}\eta

We will derive an evolution equation for ω1\omega_{1} using the induction equation. Since

112dω1dt=12121212(DytξDxtη)dξdη=12121212(1ΔxHzξξ+1ΔyHzηη)dξdη\frac{1}{12}\frac{\mbox{d}\omega_{1}}{\mbox{d}t}=\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\left(\frac{\partial D_{y}}{\partial t}\xi-\frac{\partial D_{x}}{\partial t}\eta\right)\mbox{d}\xi\mbox{d}\eta=-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\left(\frac{1}{\Delta x}\frac{\partial H_{z}}{\partial\xi}\xi+\frac{1}{\Delta y}\frac{\partial H_{z}}{\partial\eta}\eta\right)\mbox{d}\xi\mbox{d}\eta

Performing an integration by parts and using a numerical flux on the faces which is based on a 1-D Riemann solver, we obtain a semi-discrete DG scheme

112dω1dt\displaystyle\frac{1}{12}\frac{\mbox{d}\omega_{1}}{\mbox{d}t} =\displaystyle= 1Δx[121212H^zxdη+121212H^zx+dη12121212Hzdξdη]\displaystyle-\frac{1}{\Delta x}\left[{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{x-}\mbox{d}\eta+{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{x+}\mbox{d}\eta-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}H_{z}\mbox{d}\xi\mbox{d}\eta\right]
1Δy[121212H^zydξ+121212H^zy+dξ12121212Hzdξdη]\displaystyle-\frac{1}{\Delta y}\left[{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{y-}\mbox{d}\xi+{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{y+}\mbox{d}\xi-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}H_{z}\mbox{d}\xi\mbox{d}\eta\right]

where the superscripts xx-, x+x+ denotes the left and right faces of the cell, and yy-, y+y+ denotes the bottom and top faces of the cell, and the fluxes H^z\hat{H}_{z} are obtained from the 1-D Riemann solver. The face integrals will be computed using (k+1)(k+1)-point GL quadrature and the cell integral will be computed using tensor product of the same quadrature rule. Note that the quadrature points on the faces correspond to the solution points used in the FR scheme described in previous section; hence the flux H^z\hat{H}_{z} used in the ω1\omega_{1} equation is also used in the FR scheme described in the previous section.

5.3 Fifth order scheme for 𝑫\bm{D}

At fifth order of accuracy (k=4k=4), the face solution 𝑫\bm{D} does not completely determine the divergence-free reconstruction inside the cell. We have to specify three cell moments ω1,ω2,ω3\omega_{1},\omega_{2},\omega_{3} as a additional information so that the reconstruction problem can be solved as shown in Appendix (B). The update of ω1\omega_{1} has already been explained in previous section. The update equations for ω2\omega_{2} and ω3\omega_{3} can be derived in similar way. By definition

ω2=b20a11=12121212[180Dy(ξ,η)ϕ2(ξ)144Dx(ξ,η)ϕ1(η)ϕ1(ξ)]dξdη\omega_{2}=b_{20}-a_{11}=\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}[180D_{y}(\xi,\eta)\phi_{2}(\xi)-144D_{x}(\xi,\eta)\phi_{1}(\eta)\phi_{1}(\xi)]\mbox{d}\xi\mbox{d}\eta

and the semi-discrete scheme for the time evolution of ω2\omega_{2} is given by

dω2dt=\displaystyle\frac{\mbox{d}\omega_{2}}{\mbox{d}t}= 180Δx[161212H^zxdη+161212H^zx+dη121212122Hzξdξdη]\displaystyle-\frac{180}{\Delta x}\left[-\frac{1}{6}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{x-}\mbox{d}\eta+\frac{1}{6}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{x+}\mbox{d}\eta-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}2H_{z}\xi\mbox{d}\xi\mbox{d}\eta\right]
144Δy[121212H^zyξdξ+121212H^zy+ξdξ12121212Hzξdξdη]\displaystyle-\frac{144}{\Delta y}\left[{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{y-}\xi\mbox{d}\xi+{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{y+}\xi\mbox{d}\xi-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}H_{z}\xi\mbox{d}\xi\mbox{d}\eta\right]

Similarly, we have

ω3=b11a02=12121212[144Dy(ξ,η)ϕ1(η)ϕ1(ξ)180Dx(ξ,η)ϕ2(η)]dξdη\omega_{3}=b_{11}-a_{02}=\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}[144D_{y}(\xi,\eta)\phi_{1}(\eta)\phi_{1}(\xi)-180D_{x}(\xi,\eta)\phi_{2}(\eta)]\mbox{d}\xi\mbox{d}\eta

whose semi-discrete time evolution scheme is given by

dω3dt=\displaystyle\frac{\mbox{d}\omega_{3}}{\mbox{d}t}= 144Δx[121212H^zxηdη+121212H^zx+ηdη12121212Hzηdξdη]\displaystyle-\frac{144}{\Delta x}\left[\frac{1}{2}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{x-}\eta\mbox{d}\eta+\frac{1}{2}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{x+}\eta\mbox{d}\eta-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}H_{z}\eta\mbox{d}\xi\mbox{d}\eta\right]
180Δy[161212H^zydξ+161212H^zy+dξ121212122Hzηdξdη]\displaystyle-\frac{180}{\Delta y}\left[-\frac{1}{6}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{y-}\mbox{d}\xi+\frac{1}{6}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{H}_{z}^{y+}\mbox{d}\xi-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}2H_{z}\eta\mbox{d}\xi\mbox{d}\eta\right]

The face integrals will be computed using (k+1)(k+1)-point GL quadrature and the cell integral will be computed using tensor product of the same quadrature rule. Note that the quadrature points on the faces correspond to the solution points used in the FR scheme; hence the flux H^z\hat{H}_{z} used in the ω2,ω3\omega_{2},\omega_{3} equation is also used in the FR scheme applied on the faces.

5.4 Discontinuous Galerkin method for BzB_{z} inside cells

In the 2-D model of Maxwell’s equations that is considered in this paper, there is only one component of 𝑩\bm{B} so that we do not have to consider any constraint on this quantity. The magnetic flux BzB_{z} is approximated by a two dimensional polynomial k\mathbb{P}_{k} inside each cell and we apply a standard DG scheme for this quantity, given by

12121212BztΦi(ξ,η)dξdη+\displaystyle\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\frac{\partial B_{z}}{\partial t}\Phi_{i}(\xi,\eta)\mbox{d}\xi\mbox{d}\eta+ 12121212[1ΔxEyΦiξ+1ΔyExΦiη]dξdη\displaystyle\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\left[-\frac{1}{\Delta x}E_{y}\frac{\partial\Phi_{i}}{\partial\xi}+\frac{1}{\Delta y}E_{x}\frac{\partial\Phi_{i}}{\partial\eta}\right]\mbox{d}\xi\mbox{d}\eta
+\displaystyle+ 1Δx1212E^yx+Φi(+12,η)dη1Δx1212E^yxΦi(12,η)dη\displaystyle\frac{1}{\Delta x}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{E}_{y}^{x+}\Phi_{i}(+{\tfrac{1}{2}},\eta)\mbox{d}\eta-\frac{1}{\Delta x}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{E}_{y}^{x-}\Phi_{i}(-{\tfrac{1}{2}},\eta)\mbox{d}\eta
\displaystyle- 1Δy1212E^xy+Φi(ξ,+12)dξ+1Δy1212E^xyΦi(ξ,12)dξ=0\displaystyle\frac{1}{\Delta y}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{E}_{x}^{y+}\Phi_{i}(\xi,+{\tfrac{1}{2}})\mbox{d}\xi+\frac{1}{\Delta y}\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\hat{E}_{x}^{y-}\Phi_{i}(\xi,-{\tfrac{1}{2}})\mbox{d}\xi=0

where the test functions Φi\Phi_{i}, i=0,1,,N(k)1i=0,1,\ldots,N(k)-1 are the basis functions of k(ξ,η)\mathbb{P}_{k}(\xi,\eta) as given in (5), E^yx\hat{E}_{y}^{x-}, E^yx+\hat{E}_{y}^{x+} are the values on the left and right faces obtained from the 1-D Riemann solver, and, E^xy\hat{E}_{x}^{y-}, E^xy+\hat{E}_{x}^{y+} are the values on bottom and top faces obtained from the 1-D Riemann solver. The integral inside the cell is evaluated using a tensor product of (k+1)(k+1)-point GL quadrature while the face integrals are evaluated using (k+1)(k+1)-point GL quadrature. The numerical fluxes used on the faces are common to the FR scheme and schemes for ωi\omega_{i} at fourth and fifth order accuracy.

Remark

Note that in 3-D, we would approximate 𝑩\bm{B} in the same way as we approximate 𝑫\bm{D}, i.e., the normal components of 𝑩\bm{B} are approximated on the faces, and the value inside the cell is obtained by a divergence-free reconstruction process. The evolution of 𝑩\bm{B} would then also follow similar approach as used for 𝑫\bm{D}.

5.5 Compatibility condition

We have completely specified the semi-discrete scheme for all the variables which leads to a system of ODE. The update in time will be performed by standard time integration schemes. To solve the reconstruction problem, we must ensure that the compatibility condition (6) will be satisfied by the solution at future times also, assuming that it is satisfied by the initial condition. Such a scheme will then be refered to as being constraint preserving. Consider any cell CC; using the flux reconstruction scheme (13) and (k+1)(k+1)-point GL quadrature to integrate the normal component of 𝑫\bm{D} on the cell faces, we get

ddtC(𝑫𝒏)ds=i=0k[Hzc,x+η(ηi)Hzc,xη(ηi)]ϖi+i=0k[Hzc,y+ξ(ξi)+Hzc,yξ(ξi)]ϖi\frac{\mbox{d}}{\mbox{d}t}\int_{\partial C}(\bm{D}\cdot\bm{n})\mbox{d}s=\sum_{i=0}^{k}\left[\frac{\partial H_{z}^{{c},x+}}{\partial\eta}(\eta_{i})-\frac{\partial H_{z}^{{c},x-}}{\partial\eta}(\eta_{i})\right]\varpi_{i}+\sum_{i=0}^{k}\left[-\frac{\partial H_{z}^{{c},y+}}{\partial\xi}(\xi_{i})+\frac{\partial H_{z}^{{c},y-}}{\partial\xi}(\xi_{i})\right]\varpi_{i}

where the ϖi\varpi_{i} are the GL quadrature weights. The terms of the form Hzcξ\frac{\partial H_{z}^{c}}{\partial\xi}, Hzcη\frac{\partial H_{z}^{c}}{\partial\eta} are polynomials of degree kk and the quadrature is exact for such a polynomial, so that we can replace the sums with integrals

ddtC(𝑫𝒏)ds\displaystyle\frac{\mbox{d}}{\mbox{d}t}\int_{\partial C}(\bm{D}\cdot\bm{n})\mbox{d}s =\displaystyle= 1212Hzc,x+η(η)dη1212Hzc,xη(η)dη\displaystyle\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\frac{\partial H_{z}^{{c},x+}}{\partial\eta}(\eta)\mbox{d}\eta-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\frac{\partial H_{z}^{{c},x-}}{\partial\eta}(\eta)\mbox{d}\eta
1212Hzc,y+ξ(ξ)dξ+1212Hzc,yξ(ξ)dξ\displaystyle-\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\frac{\partial H_{z}^{{c},y+}}{\partial\xi}(\xi)\mbox{d}\xi+\int_{-{\frac{1}{2}}}^{\frac{1}{2}}\frac{\partial H_{z}^{{c},y-}}{\partial\xi}(\xi)\mbox{d}\xi
=\displaystyle= [(H~z)3(H~z)1][(H~z)2(H~z)0][(H~z)3(H~z)2]+[(H~z)1(H~z)0]\displaystyle[(\tilde{H}_{z})_{3}-(\tilde{H}_{z})_{1}]-[(\tilde{H}_{z})_{2}-(\tilde{H}_{z})_{0}]-[(\tilde{H}_{z})_{3}-(\tilde{H}_{z})_{2}]+[(\tilde{H}_{z})_{1}-(\tilde{H}_{z})_{0}]
=\displaystyle= 0\displaystyle 0

where the subscripts on H~z\tilde{H}_{z} denote the vertices of the cell, see Figure (1). This implies that

ddt[(a0+a0)Δy+(b0+b0)Δx]=0\frac{\mbox{d}}{\mbox{d}t}[(a_{0}^{+}-a_{0}^{-})\Delta y+(b_{0}^{+}-b_{0}^{-})\Delta x]=0 (14)

Hence under any time integration scheme, the compatibility condition (6) will be satisfied by our scheme assuming it holds for the initial condition. We see that the critical property required to achieve constraint preservation was to discretize the PDE on the faces and to use a unique value of HzH_{z} at the vertices of the cells which comes from a 2-D Riemann solver.

6 Energy stability analysis

We will consider the energy stability of the first order scheme for constant ε\varepsilon and μ\mu with periodic boundary conditions. Balsara and Käppeli [14] have performed Fourier stability analysis of fully discrete schemes and have derived CFL numbers for different time integration schemes. Here we perform direct energy stability analysis of the semi-discrete scheme. To aid in the proof, we introduce the usual (i,j)(i,j) indexing notation for the cells and half indices will be used to denote the faces and vertices. At first order, our solution variables consist of face averages of normal components of 𝑫\bm{D} and cell average of BzB_{z}. The scheme is given by

ddt(Dx)i+12,j=(H^z)i+12,j+12(H^z)i+12,j12Δy,ddt(Dy)i,j+12=(H^z)i+12,j+12(H^z)i12,j+12Δx\frac{\mbox{d}}{\mbox{d}t}(D_{x})_{{i+{\frac{1}{2}}},j}=\frac{(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j-{\frac{1}{2}}}}}{\Delta y},\qquad\frac{\mbox{d}}{\mbox{d}t}(D_{y})_{i,{j+{\frac{1}{2}}}}=-\frac{(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-(\hat{H}_{z})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}}{\Delta x}
ddt(Bz)i,j=(E^y)i+12,j(E^y)i12,jΔx+(E^x)i,j+12(E^x)i,j12Δy\frac{\mbox{d}}{\mbox{d}t}(B_{z})_{i,j}=-\frac{(\hat{E}_{y})_{{i+{\frac{1}{2}}},j}-(\hat{E}_{y})_{{i-{\frac{1}{2}}},j}}{\Delta x}+\frac{(\hat{E}_{x})_{i,{j+{\frac{1}{2}}}}-(\hat{E}_{x})_{i,{j-{\frac{1}{2}}}}}{\Delta y}

Define the total energy

h(t)=ij12ε(Dx)i+12,j2ΔxΔy+ij12ε(Dy)i,j+122ΔxΔy+ij12μ(Bz)i,j2ΔxΔy\mathcal{E}_{h}^{*}(t)=\sum_{i}\sum_{j}\frac{1}{2\varepsilon}(D_{x})_{{i+{\frac{1}{2}}},j}^{2}\Delta x\Delta y+\sum_{i}\sum_{j}\frac{1}{2\varepsilon}(D_{y})_{i,{j+{\frac{1}{2}}}}^{2}\Delta x\Delta y+\sum_{i}\sum_{j}\frac{1}{2\mu}(B_{z})_{i,j}^{2}\Delta x\Delta y

Then using the above scheme, the rate of change of energy is given by

dhdt\displaystyle\frac{\mbox{d}\mathcal{E}_{h}^{*}}{\mbox{d}t} =\displaystyle= ij(Ex)i+12,j[(H^z)i+12,j+12(H^z)i+12,j12]Δx\displaystyle\sum_{i}\sum_{j}(E_{x})_{{i+{\frac{1}{2}}},j}[(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j-{\frac{1}{2}}}}]\Delta x
ij(Ey)i,j+12[(H^z)i+12,j+12(H^z)i12,j+12]Δy\displaystyle-\sum_{i}\sum_{j}(E_{y})_{i,{j+{\frac{1}{2}}}}[(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-(\hat{H}_{z})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}]\Delta y
+ij(Hz)i,j[(E^y)i+12,j(E^y)i12,jΔx+(E^x)i,j+12(E^x)i,j12Δy]ΔxΔy\displaystyle+\sum_{i}\sum_{j}(H_{z})_{i,j}\left[-\frac{(\hat{E}_{y})_{{i+{\frac{1}{2}}},j}-(\hat{E}_{y})_{{i-{\frac{1}{2}}},j}}{\Delta x}+\frac{(\hat{E}_{x})_{i,{j+{\frac{1}{2}}}}-(\hat{E}_{x})_{i,{j-{\frac{1}{2}}}}}{\Delta y}\right]\Delta x\Delta y
=:\displaystyle=\mathrel{\mathop{\mathchar 58\relax}} 𝒫1+𝒫2+𝒫3\displaystyle\mathcal{P}_{1}+\mathcal{P}_{2}+\mathcal{P}_{3}

To simplify the analysis below, define the average and difference operators

Δx()i,j=()i+12,j()i12,j,Δy()i,j=()i,j+12()i,j12\Delta_{x}(\cdot)_{i,j}=(\cdot)_{{i+{\frac{1}{2}}},j}-(\cdot)_{{i-{\frac{1}{2}}},j},\qquad\Delta_{y}(\cdot)_{i,j}=(\cdot)_{i,{j+{\frac{1}{2}}}}-(\cdot)_{i,{j-{\frac{1}{2}}}}
Λx()i,j=12[()i+12,j+()i12,j],Λy()i,j=12[()i,j+12+()i,j12]\Lambda_{x}(\cdot)_{i,j}={\frac{1}{2}}[(\cdot)_{{i+{\frac{1}{2}}},j}+(\cdot)_{{i-{\frac{1}{2}}},j}],\qquad\Lambda_{y}(\cdot)_{i,j}={\frac{1}{2}}[(\cdot)_{i,{j+{\frac{1}{2}}}}+(\cdot)_{i,{j-{\frac{1}{2}}}}]

Using summation by parts we can write

𝒫1=ij(H^z)i+12,j+12Δy(Ex)i+12,j+12Δx,𝒫2=ij(H^z)i+12,j+12Δx(Ey)i+12,j+12Δy\mathcal{P}_{1}=-\sum_{i}\sum_{j}(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta x,\quad\mathcal{P}_{2}=\sum_{i}\sum_{j}(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta y
𝒫3=ij(E^y)i+12,jΔx(Hz)i+12,jΔyij(E^x)i,j+12Δy(Hz)i,j+12Δx\mathcal{P}_{3}=\sum_{i}\sum_{j}(\hat{E}_{y})_{{i+{\frac{1}{2}}},j}\Delta_{x}(H_{z})_{{i+{\frac{1}{2}}},j}\Delta y-\sum_{i}\sum_{j}(\hat{E}_{x})_{i,{j+{\frac{1}{2}}}}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta x

Let us use the fluxes obtained from a Riemann solver, see e.g. [19] and also the Appendix,

(E^x)i,j+12\displaystyle(\hat{E}_{x})_{i,{j+{\frac{1}{2}}}} =\displaystyle= 14[(Ex)i12,j+(Ex)i+12,j+(Ex)i12,j+1+(Ex)i+12,j+1]+μc2Δy(Hz)i,j+12\displaystyle\frac{1}{4}\left[(E_{x})_{{i-{\frac{1}{2}}},j}+(E_{x})_{{i+{\frac{1}{2}}},j}+(E_{x})_{{i-{\frac{1}{2}}},j+1}+(E_{x})_{{i+{\frac{1}{2}}},j+1}\right]+\frac{\mu c}{2}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}
=\displaystyle= 12[Λy(Ex)i12,j+12+Λy(Ex)i+12,j+12]+μc2Δy(Hz)i,j+12\displaystyle{\frac{1}{2}}[\Lambda_{y}(E_{x})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]+\frac{\mu c}{2}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}
(E^y)i+12,j\displaystyle(\hat{E}_{y})_{{i+{\frac{1}{2}}},j} =\displaystyle= 14[(Ey)i,j12+(Ey)i,j+12+(Ey)i+1,j12+(Ey)i+1,j+12]μc2Δx(Hz)i+12,j\displaystyle\frac{1}{4}\left[(E_{y})_{i,{j-{\frac{1}{2}}}}+(E_{y})_{i,{j+{\frac{1}{2}}}}+(E_{y})_{i+1,{j-{\frac{1}{2}}}}+(E_{y})_{i+1,{j+{\frac{1}{2}}}}\right]-\frac{\mu c}{2}\Delta_{x}(H_{z})_{{i+{\frac{1}{2}}},j}
=\displaystyle= 12[Λx(Ey)i+12,j12+Λx(Ey)i+12,j+12]μc2Δx(Hz)i+12,j\displaystyle{\frac{1}{2}}[\Lambda_{x}(E_{y})_{{i+{\frac{1}{2}}},{j-{\frac{1}{2}}}}+\Lambda_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]-\frac{\mu c}{2}\Delta_{x}(H_{z})_{{i+{\frac{1}{2}}},j}
(H^z)i+12,j+12=\displaystyle(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}= 14[(Hz)i,j+(Hz)i+1,j+(Hz)i,j+1+(Hz)i+1,j+1]\displaystyle\frac{1}{4}\left[(H_{z})_{i,j}+(H_{z})_{i+1,j}+(H_{z})_{i,j+1}+(H_{z})_{i+1,j+1}\right]
+εc2Δy(Ex)i+12,j+12εc2Δx(Ey)i+12,j+12\displaystyle+\frac{\varepsilon c}{2}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-\frac{\varepsilon c}{2}\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}

Note that the fluxes consist of a central part and some additional terms that depend on jumps in the solution variables. Then

𝒫1\displaystyle\mathcal{P}_{1} =\displaystyle= ij12[Λy(Hz)i,j+12+Λy(Hz)i+1,j+12]Δy(Ex)i+12,j+12Δx\displaystyle-\sum_{i}\sum_{j}{\frac{1}{2}}[\Lambda_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}+\Lambda_{y}(H_{z})_{i+1,{j+{\frac{1}{2}}}}]\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta x
εc2ij[Δy(Ex)i+12,j+12Δx(Ey)i+12,j+12]Δy(Ex)i+12,j+12Δx\displaystyle-\frac{\varepsilon c}{2}\sum_{i}\sum_{j}[\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta x
=:\displaystyle=\mathrel{\mathop{\mathchar 58\relax}} 𝒫4+𝒫5\displaystyle\mathcal{P}_{4}+\mathcal{P}_{5}
𝒫2\displaystyle\mathcal{P}_{2} =\displaystyle= ij12[Λx(Hz)i+12,j+Λx(Hz)i+12,j+1]Δx(Ey)i+12,j+12Δy\displaystyle\sum_{i}\sum_{j}{\frac{1}{2}}[\Lambda_{x}(H_{z})_{{i+{\frac{1}{2}}},j}+\Lambda_{x}(H_{z})_{{i+{\frac{1}{2}}},j+1}]\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta y
+εc2ij[Δy(Ex)i+12,j+12Δx(Ey)i+12,j+12]Δx(Ey)i+12,j+12Δy\displaystyle+\frac{\varepsilon c}{2}\sum_{i}\sum_{j}[\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta y
=:\displaystyle=\mathrel{\mathop{\mathchar 58\relax}} 𝒫6+𝒫7\displaystyle\mathcal{P}_{6}+\mathcal{P}_{7}
𝒫3\displaystyle\mathcal{P}_{3} =\displaystyle= ij12[Λx(Ey)i+12,j12+Λx(Ey)i+12,j+12]Δx(Hz)i+12,jΔy\displaystyle\sum_{i}\sum_{j}{\frac{1}{2}}[\Lambda_{x}(E_{y})_{{i+{\frac{1}{2}}},{j-{\frac{1}{2}}}}+\Lambda_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]\Delta_{x}(H_{z})_{{i+{\frac{1}{2}}},j}\Delta y
ij12[Λy(Ex)i12,j+12+Λy(Ex)i+12,j+12]Δy(Hz)i,j+12Δx\displaystyle-\sum_{i}\sum_{j}{\frac{1}{2}}[\Lambda_{y}(E_{x})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta x
μc2ij{[Δx(Hz)i+12,j]2Δy+[Δy(Hz)i,j+12]2Δx}\displaystyle-\frac{\mu c}{2}\sum_{i}\sum_{j}\left\{[\Delta_{x}(H_{z})_{{i+{\frac{1}{2}}},j}]^{2}\Delta y+[\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}]^{2}\Delta x\right\}
=:\displaystyle=\mathrel{\mathop{\mathchar 58\relax}} 𝒫8+𝒫9+𝒟1\displaystyle\mathcal{P}_{8}+\mathcal{P}_{9}+\mathcal{D}_{1}

Note that 𝒟10\mathcal{D}_{1}\leq 0. Now consider

𝒫4+𝒫9\displaystyle\mathcal{P}_{4}+\mathcal{P}_{9} =\displaystyle= ij12[Λy(Hz)i,j+12+Λy(Hz)i+1,j+12]Δy(Ex)i+12,j+12Δx\displaystyle-\sum_{i}\sum_{j}{\frac{1}{2}}[\Lambda_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}+\Lambda_{y}(H_{z})_{i+1,{j+{\frac{1}{2}}}}]\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta x
ij12[Λy(Ex)i12,j+12+Λy(Ex)i+12,j+12]Δy(Hz)i,j+12Δx\displaystyle-\sum_{i}\sum_{j}{\frac{1}{2}}[\Lambda_{y}(E_{x})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta x
=\displaystyle= 12ij[Λy(Hz)i,j+12Δy(Ex)i+12,j+12+Λy(Ex)i+12,j+12Δy(Hz)i,j+12]Δx\displaystyle-{\frac{1}{2}}\sum_{i}\sum_{j}[\Lambda_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}]\Delta x
12iiΛy(Hz)i+1,j+12Δy(Ex)i+12,j+12Δx\displaystyle-{\frac{1}{2}}\sum_{i}\sum_{i}\Lambda_{y}(H_{z})_{i+1,{j+{\frac{1}{2}}}}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta x
12iiΛy(Ex)i12,j+12Δy(Hz)i,j+12Δx\displaystyle-{\frac{1}{2}}\sum_{i}\sum_{i}\Lambda_{y}(E_{x})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta x

In the third term on the right, shift the ii index back by one to obtain

𝒫4+𝒫9\displaystyle\mathcal{P}_{4}+\mathcal{P}_{9} =\displaystyle= 12ij[Λy(Hz)i,j+12Δy(Ex)i+12,j+12+Λy(Ex)i+12,j+12Δy(Hz)i,j+12]Δx\displaystyle-{\frac{1}{2}}\sum_{i}\sum_{j}[\Lambda_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}]\Delta x
12ii[Λy(Hz)i,j+12Δy(Ex)i12,j+12+Λy(Ex)i12,j+12Δy(Hz)i,j+12]Δx\displaystyle-{\frac{1}{2}}\sum_{i}\sum_{i}[\Lambda_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta_{y}(E_{x})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i-{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}]\Delta x
=\displaystyle= 0\displaystyle 0

This follows because the term in each sum is a perfect difference. We show this for the first term.

Λy(Hz)i,j+12Δy(Ex)i+12,j+12+Λy(Ex)i+12,j+12Δy(Hz)i,j+12\displaystyle\Lambda_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}+\Lambda_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}\Delta_{y}(H_{z})_{i,{j+{\frac{1}{2}}}}
=\displaystyle= (Hz)i,j+(Hz)i,j+12[(Ex)i+12,j+1(Ex)i+12,j]+(Ex)i+12,j+(Ex)i+12,j+12[(Hz)i,j+1(Hz)i,j]\displaystyle\frac{(H_{z})_{i,j}+(H_{z})_{i,j+1}}{2}[(E_{x})_{{i+{\frac{1}{2}}},j+1}-(E_{x})_{{i+{\frac{1}{2}}},j}]+\frac{(E_{x})_{{i+{\frac{1}{2}}},j}+(E_{x})_{{i+{\frac{1}{2}}},j+1}}{2}[(H_{z})_{i,j+1}-(H_{z})_{i,j}]
=\displaystyle= (Hz)i,j+1(Ex)i+12,j+1(Hz)i,j(Ex)i+12,j\displaystyle(H_{z})_{i,j+1}(E_{x})_{{i+{\frac{1}{2}}},j+1}-(H_{z})_{i,j}(E_{x})_{{i+{\frac{1}{2}}},j}

Similarly, we can show that 𝒫6+𝒫8=0\mathcal{P}_{6}+\mathcal{P}_{8}=0. If Δx=Δy=h\Delta x=\Delta y=h then

𝒟2:=𝒫5+𝒫7=εc2ij[Δy(Ex)i+12,j+12Δx(Ey)i+12,j+12]2h0\mathcal{D}_{2}\mathrel{\mathop{\mathchar 58\relax}}=\mathcal{P}_{5}+\mathcal{P}_{7}=-\frac{\varepsilon c}{2}\sum_{i}\sum_{j}[\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}]^{2}h\leq 0

Hence we obtain

dhdt=𝒟1+𝒟20\frac{\mbox{d}\mathcal{E}_{h}^{*}}{\mbox{d}t}=\mathcal{D}_{1}+\mathcal{D}_{2}\leq 0

If ΔxΔy\Delta x\neq\Delta y, then we cannot prove that 𝒟20\mathcal{D}_{2}\leq 0. In this case we have to modify the flux (H^z)i+12,j+12(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}} slightly as follows

(H^z)i+12,j+12=\displaystyle(\hat{H}_{z})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}= 14[(Hz)i,j+(Hz)i+1,j+(Hz)i,j+1+(Hz)i+1,j+1]\displaystyle\frac{1}{4}\left[(H_{z})_{i,j}+(H_{z})_{i+1,j}+(H_{z})_{i,j+1}+(H_{z})_{i+1,j+1}\right]
+εch2ΔyΔy(Ex)i+12,j+12εch2ΔxΔx(Ey)i+12,j+12\displaystyle+\frac{\varepsilon ch}{2\Delta y}\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}-\frac{\varepsilon ch}{2\Delta x}\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}

where hh could be defined as h=max(Δx,Δy)h=\max(\Delta x,\Delta y). Then

𝒟2=εch2ij[Δy(Ex)i+12,j+12ΔyΔx(Ey)i+12,j+12Δx]2ΔxΔy0\mathcal{D}_{2}=-\frac{\varepsilon ch}{2}\sum_{i}\sum_{j}\left[\frac{\Delta_{y}(E_{x})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}}{\Delta y}-\frac{\Delta_{x}(E_{y})_{{i+{\frac{1}{2}}},{j+{\frac{1}{2}}}}}{\Delta x}\right]^{2}\Delta x\Delta y\leq 0

and we can again prove energy stability. Note that the dissipation term 𝒟2\mathcal{D}_{2} is created due to the curl of the electric field which is physically meaningful for the Maxwell model. We also observe that the dissipation is due to the additional terms in the numerical flux involving the jumps in solution variables, and the central part of the flux would lead to energy conservation.

Remark

The energy h\mathcal{E}_{h}^{*} we have analyzed above is the energy of the solution on the faces and is not the true energy, which is defined as

h=Ω[12ε(Dx2+Dy2)+12μBz2]dxdy\mathcal{E}_{h}=\int_{\Omega}\left[\frac{1}{2\varepsilon}(D_{x}^{2}+D_{y}^{2})+\frac{1}{2\mu}B_{z}^{2}\right]\mbox{d}x\mbox{d}y

where Dx,DyD_{x},D_{y} inside the integral are obtained by the divergence-free reconstruction scheme. Note that, using the inequality ab(a2+b2)/2ab\leq(a^{2}+b^{2})/2, we get

ΩDx2dxdy\displaystyle\int_{\Omega}D_{x}^{2}\mbox{d}x\mbox{d}y =\displaystyle= ij[13(Dx)i12,j2+13(Dx)i+12,j2+13(Dx)i12,j(Dx)i+12,j]ΔxΔy\displaystyle\sum_{i}\sum_{j}\left[\frac{1}{3}(D_{x})_{{i-{\frac{1}{2}}},j}^{2}+\frac{1}{3}(D_{x})_{{i+{\frac{1}{2}}},j}^{2}+\frac{1}{3}(D_{x})_{{i-{\frac{1}{2}}},j}(D_{x})_{{i+{\frac{1}{2}}},j}\right]\Delta x\Delta y
\displaystyle\leq ij[12(Dx)i12,j2+12(Dx)i+12,j2]ΔxΔy\displaystyle\sum_{i}\sum_{j}\left[\frac{1}{2}(D_{x})_{{i-{\frac{1}{2}}},j}^{2}+\frac{1}{2}(D_{x})_{{i+{\frac{1}{2}}},j}^{2}\right]\Delta x\Delta y
=\displaystyle= ij(Dx)i+12,j2ΔxΔy\displaystyle\sum_{i}\sum_{j}(D_{x})_{{i+{\frac{1}{2}}},j}^{2}\Delta x\Delta y

and, using the inequality ab(a2+b2)/2ab\geq-(a^{2}+b^{2})/2, we get

ΩDx2dxdy13ij(Dx)i+12,j2ΔxΔy\int_{\Omega}D_{x}^{2}\mbox{d}x\mbox{d}y\geq\frac{1}{3}\sum_{i}\sum_{j}(D_{x})_{{i+{\frac{1}{2}}},j}^{2}\Delta x\Delta y

with similar results for the DyD_{y} component. Hence it follows that

hh3h\mathcal{E}_{h}\leq\mathcal{E}_{h}^{*}\leq 3\mathcal{E}_{h}

and so h\mathcal{E}_{h}^{*} is an equivalent energy norm.

7 Numerical results

Our numerical scheme belongs to the class of so called RKDG methods where a DG/FR scheme is used for spatial discretization and the resulting system of ODE are solved using a Runge-Kutta scheme. For degrees k=0,1,2k=0,1,2, we use the first, second and third order strong stability preserving RK schemes [44], [45], respectively, while for k=3k=3 and k=4k=4 we use the 5-stage, 4-th order strong stability preserving RK scheme [46], [47] or the classical fourth order RK scheme. The time step is computed from the CFL number which is defined as

CFL=max{maxcΔtΔx,maxcΔtΔy}\textrm{CFL}=\max\left\{\max\frac{c\Delta t}{\Delta x},\max\frac{c\Delta t}{\Delta y}\right\}

where c=1μεc=\frac{1}{\sqrt{\mu\varepsilon}} is the speed of light, and the inner maximum is taken over the whole mesh. The CFL numbers have been derived in Balsara & Käppeli [14] using Fourier stability analysis.

We will measure the error in the solution using L1L^{1} and L2L^{2} norms. These norms are defined as follows for vector and scalar functions

𝑫L1=1|Ω|Ω𝑫dxdy,𝑫L2=(1|Ω|Ω𝑫2dxdy)12,𝑫=Dx2+Dy2\mathinner{\!\left\lVert\bm{D}\right\rVert}_{L^{1}}=\frac{1}{|\Omega|}\int_{\Omega}\mathinner{\!\left\lVert\bm{D}\right\rVert}\mbox{d}x\mbox{d}y,\qquad\mathinner{\!\left\lVert\bm{D}\right\rVert}_{L^{2}}=\left(\frac{1}{|\Omega|}\int_{\Omega}\mathinner{\!\left\lVert\bm{D}\right\rVert}^{2}\mbox{d}x\mbox{d}y\right)^{\frac{1}{2}},\qquad\mathinner{\!\left\lVert\bm{D}\right\rVert}=\sqrt{D_{x}^{2}+D_{y}^{2}}
BzL1=Ω|Bz|dxdy,BzL2=(ΩBz2dxdy)12\mathinner{\!\left\lVert B_{z}\right\rVert}_{L^{1}}=\int_{\Omega}|B_{z}|\mbox{d}x\mbox{d}y,\qquad\mathinner{\!\left\lVert B_{z}\right\rVert}_{L^{2}}=\left(\int_{\Omega}B_{z}^{2}\mbox{d}x\mbox{d}y\right)^{\frac{1}{2}}

and the integrals are computed using a tensor product of (k+2)(k+2)-point Gauss-Legendre quadrature. Note that we measure the error norm of the solution polynomials relative to the reference or exact solutions and not just the error in the cell average value. In particular, the error in 𝑫\bm{D} is measured based on the reconstructed field inside the cells.

7.1 Plane wave propagation

This test case describes the propagation of a plane electromagnetic wave in vacuum. The purpose of this test case is to check the accuracy of our numerical method since we know the exact solution. The simulation is performed in a square domain of [0.5,0.5]×[0.5,0.5]m2[-0.5,0.5]\times[-0.5,0.5]\penalty\ ${\mathrm{m}}^{2}$ divided in 163264 and 128163264128 square cells in each direction with periodic boundary conditions. The simulation is conducted for a time duration of 3.5 ns3.5\text{\,}\mathrm{ns}. The initial condition of 𝑩\bm{B} and 𝑫\bm{D} field is specified from magnetic vector potential 𝑨(x,y,t)\bm{A}(x,y,t) and electric vector potential 𝑪(x,y,t)\bm{C}(x,y,t) and using the relationships 𝑩=×𝑨\bm{B}=\nabla\times\bm{A} and 𝑫=cϵ0×𝑪\bm{D}=c\epsilon_{0}\nabla\times\bm{C}. The magnetic and electric vector potentials are given by

𝑨(x,y,t)=12πsin[2π(x+y2ct)]e^y,𝑪(x,y,t)=12π2sin[2π(x+y2ct)]e^z\bm{A}(x,y,t)=\frac{1}{2\pi}\sin[2\pi(x+y-\sqrt{2}ct)]\hat{e}_{y},\qquad\bm{C}(x,y,t)=-\frac{1}{2\pi\sqrt{2}}\sin[2\pi(x+y-\sqrt{2}ct)]\hat{e}_{z}

The convergence of the error for different degree and grid sizes are shown in tables (1)-(4). We observe that with degree kk solution on the faces, all the quantities converge at the rate of O(hk+1)O(h^{k+1}) under mesh refinement demonstrating that optimal accuracy is achieved by our method.

Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
16×1616\times 16 9.5684e-05 1.0646e-04 3.6205e-02 4.1073e-02
32×3232\times 32 1.7320e-05 2.47 1.9014e-05 2.49 6.6895e-03 2.44 7.4826e-03 2.46
64×6464\times 64 3.7425e-06 2.21 4.0522e-06 2.23 1.4458e-03 2.21 1.6167e-03 2.21
128×128128\times 128 8.9361e-07 2.07 9.6327e-07 2.07 3.4400e-04 2.07 3.8629e-04 2.07
Table 1: Plane wave test, degree=11: convergence of final error
Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
16×1616\times 16 3.0156e-05 3.3378e-05 1.1640e-02 1.2951e-02
32×3232\times 32 3.6268e-06 3.06 4.0113e-06 3.06 1.4044e-03 3.05 1.5605e-03 3.05
64×6464\times 64 4.4793e-07 3.02 4.9534e-07 3.02 1.7378e-04 3.01 1.9310e-04 3.01
128×128128\times 128 5.5780e-08 3.01 6.1684e-08 3.01 2.1671e-05 3.00 2.4074e-05 3.00
Table 2: Plane wave test, degree=22: convergence of error
Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
16×1616\times 16 3.0557e-07 3.5095e-07 1.9458e-04 2.5101e-04
32×3232\times 32 1.1040e-08 4.79 1.3428e-08 4.71 1.1275e-05 4.11 1.4590e-05 4.10
64×6464\times 64 5.0469e-10 4.45 6.1548e-10 4.45 6.7924e-07 4.05 8.9228e-07 4.03
128×128128\times 128 2.6834e-11 4.23 3.3945e-11 4.18 4.1802e-08 4.02 5.5449e-08 4.01
Table 3: Plane wave test, degree=33: convergence of error
Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
8×88\times 8 2.4982e-07 2.8435e-07 2.5514e-04 3.2612e-04
16×1616\times 16 6.3357e-09 5.30 7.2655e-09 5.29 6.4340e-06 5.31 8.5532e-06 5.25
32×3232\times 32 1.7113e-10 5.21 2.0807e-10 5.13 1.9021e-07 5.08 2.5521e-07 5.07
64×6464\times 64 5.1213e-12 5.06 6.4133e-12 5.02 5.9026e-09 5.01 7.9601e-09 5.00
128×128128\times 128 1.5949e-13 5.00 2.0054e-13 5.00 1.8412e-10 5.00 2.4890e-10 5.00
Table 4: Plane wave test, degree=44: convergence of final error

7.2 Compact Gaussian electromagnetic pulse incident on a refractive disk

This test case deals with scattering interaction of a compact electromagnetic pulse impinging upon a dielectric disc. Simulations are performed in a domain [7.0,7.0]×[7.0,7.0]m2[-7.0,7.0]\times[-7.0,7.0]\penalty\ ${\mathrm{m}}^{2}$ upto the time 23.3 ns. A dielectric disc of radius 0.75 m0.75\text{\,}\mathrm{m} is located at the center of the computational domain. The initial condition is given by 𝑩=×𝑨\bm{B}=\nabla\times\bm{A} and 𝑫=cϵ0×𝑪\bm{D}=c\epsilon_{0}\nabla\times\bm{C} where the following magnetic and electric vector potential are used

𝑨(x,y,t)\displaystyle\bm{A}(x,y,t) =λ2πsin[2π(x+y)]e(xa)2+(yb)2χ2e^y,\displaystyle=\frac{\lambda}{2\pi}\sin[2\pi(x+y)]e^{-\frac{(x-a)^{2}+(y-b)^{2}}{\chi^{2}}}\hat{e}_{y},
𝑪(x,y,t)\displaystyle\bm{C}(x,y,t) =λ2π2sin[2π(x+y)]e(xa)2+(yb)2χ2e^z\displaystyle=-\frac{\lambda}{2\pi\sqrt{2}}\sin[2\pi(x+y)]e^{-\frac{(x-a)^{2}+(y-b)^{2}}{\chi^{2}}}\hat{e}_{z}

where wavelength of the electromagnetic beam λ=1.5 m\lambda=$1.5\text{\,}\mathrm{m}$, χ=1.5 m\chi=$1.5\text{\,}\mathrm{m}$ and (a,b)=(2.5,2.5)m(a,b)={(-2.5,2.5)}\penalty\ $\mathrm{m}$. The relative permittivity is taken as

ϵr(x,y)=5.04.0tanh(x2+y20.750.08)\epsilon_{r}(x,y)=5.0-4.0\tanh\left(\frac{\sqrt{x^{2}+y^{2}}-0.75}{0.08}\right)
Refer to caption Refer to caption Refer to caption
Refer to caption Refer to caption Refer to caption
Refer to caption Refer to caption Refer to caption
Figure 3: Compact Gaussian electromagnetic pulse incident on a refractive disk using 200×200200\times 200 cells. Top row: initial condition, middle row: k=3k=3, bottom row: k=4k=4

(a)                   (b)

(c)                   (d)

Figure 4: Compact Gaussian electromagnetic pulse incident on a refractive disk. Evolution of total energy as a function of time. (a) 100×100100\times 100 mesh, (b) 200×200200\times 200 mesh, (c) 400×400400\times 400, and (d) 800×800800\times 800 mesh. The legends indicate the polynomial degree.
(a) (b)
(c) (d)
Figure 5: Compact Gaussian electromagnetic pulse incident on a refractive disk. Evolution of total energy as a function of time for degree (a) k=1k=1, (b) k=2k=2, (a) k=3k=3, (b) k=4k=4. The legends indicate the mesh sizes.

In Section 6 we focused on the conservation of electromagnetic energy, showing that the DG schemes for CED are indeed energy stable. The DG methods presented here do not seem to need non-linear limiters and that is a very desirable trait for this class of schemes. It is known that when DG methods can operate without invoking limiters, the higher order DG schemes can come close to the ideal solution of the PDE. In practice, the use of Riemann solvers introduces some stabilization and some dissipation but in higher order DG schemes this dissipation is almost minimal. The conservation of electromagnetic energy, which depends quadratically on the primal variables that are evolved, is not guaranteed in numerical CED schemes. This is true for FDTD, FVTD and also for the DGTD schemes for CED designed here. In Balsara and Kappeli [14] we showed that the electromagnetic energy is, nevertheless, conserved extremely well by higher order DGTD schemes. However, Balsara and Kappeli showed this for electromagnetic radiation that is propagating in a vacuum. It is, therefore, interesting to try and quantify how well the electromagnetic energy is conserved on the mesh when electromagnetic radiation interacts with spatially varying dielectric properties in materials. To make this demonstration, we solve the problem of a compact Gaussian electromagnetic pulse incident on a dielectric disk on meshes with 100×100100\times 100, 200×200200\times 200, 400×400400\times 400 and 800×800800\times 800 zones. Some sample results are shown in Fig. (3) on a mesh of 200×200200\times 200 cells using the fourth and fifth order schemes. We then plot the electromagnetic energy as a function of time. Because periodic boundary conditions were used, we hope that the more accurate DGTD schemes will conserve electromagnetic energy. Fig. (4a) shows the energy evolution as a function of time on a 100×100100\times 100 zone mesh from second, third, fourth and fifth order DGTD schemes. From Fig. (4a) we see that only the fifth order scheme does a superlative job of energy conservation, with the fourth order scheme performing very well. Fig. (4b) shows the same information as Fig. (4a), but this time on a 200×200200\times 200 zone mesh. We see now that both the fourth and fifth order schemes show superlative energy conservation. Fig. (4c) shows the same information as Figs. (4a) and (4b), but this time on a 400×400400\times 400 zone mesh. We now see that even the third order DGTD scheme has very good energy conservation properties. This trend continues in Fig. (4d) which shows the energy plots for the 800×800800\times 800 mesh. Because Fig. (4) shows all the data, including the data from the second order DGTD scheme, it is not possible to fully appreciate how well the higher order DGTD schemes conserve energy. For that reason, Fig. (5) shows the energy evolution as a function of time for the second, third, fourth and fifth order schemes when a sequence of mesh resolutions are used for the same problem. The vertical scale in Figs. (5) show the extraordinarily good ability of the higher order DGTD schemes to conserve electromagnetic energy.

Tables (5)-(8) show the accuracy of the second, third, fourth and fifth order schemes for the Gaussian pulse problem. We see that the schemes reach their designed accuracies on relatively coarse meshes; which shows that our DG formulation is not just asymptotically very accurate but it also offers an accuracy advantage on poorly resolved meshes. This is especially significant because we allowed for an order of magnitude variation in the permittivity and did nothing special to treat that variation in permittivity. By comparing tables (7) and (8) to tables (5) and (6) we see that the highest order schemes have reached their design accuracies on the coarsest meshes, which brings out another importance of very high order, globally constraint-preserving DG schemes for CED.

Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
100×100100\times 100 8.7117e-05 5.7716e-04 2.4173e-02 9.1668e-02
200×200200\times 200 4.1169e-05 1.08 3.6468e-04 0.66 1.0302e-02 1.23 5.5462e-02 0.72
400×400400\times 400 8.9100e-06 2.21 8.6861e-05 2.07 2.1341e-03 2.27 1.2224e-02 2.18
800×800800\times 800 1.2956e-06 2.78 1.1942e-05 2.86 3.2063e-04 2.73 1.6685e-03 2.87
Table 5: Compact Gaussian electromagnetic pulse incident on a refractive disk. Error convergence for degree k=1k=1 under mesh refinement.
Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
100×100100\times 100 6.1017e-05 4.9501e-04 1.5650e-02 7.8412e-02
200×200200\times 200 1.9119e-05 1.67 2.0730e-04 1.26 4.4152e-03 1.83 3.5235e-02 1.15
400×400400\times 400 2.5029e-06 2.93 2.6761e-05 2.95 5.9512e-04 2.89 4.8243e-03 2.87
800×800800\times 800 2.7078e-07 3.21 2.8929e-06 3.21 6.4388e-05 3.21 5.1386e-04 3.23
Table 6: Compact Gaussian electromagnetic pulse incident on a refractive disk. Error convergence for degree k=2k=2 under mesh refinement.
Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
100×100100\times 100 2.1628e-05 2.0508e-04 5.1752e-03 3.2412e-02
200×200200\times 200 1.0561e-06 4.36 1.2522e-05 4.03 2.2929e-04 4.50 2.0243e-03 4.00
400×400400\times 400 4.3566e-08 4.60 4.7222e-07 4.73 1.0537e-05 4.44 8.8197e-05 4.52
800×800800\times 800 1.8547e-09 4.55 1.6639e-08 4.83 5.3238e-07 4.31 4.4683e-06 4.30
Table 7: Compact Gaussian electromagnetic pulse incident on a refractive disk. Error convergence for degree k=3k=3 under mesh refinement.
Nx×NyN_{x}\times N_{y} 𝑫h𝑫L1\|\bm{D}^{h}-\bm{D}\|_{L^{1}} Ord 𝑫h𝑫L2\|\bm{D}^{h}-\bm{D}\|_{L^{2}} Ord BzhBzL1\|B_{z}^{h}-B_{z}\|_{L^{1}} Ord BzhBzL2\|B_{z}^{h}-B_{z}\|_{L^{2}} Ord
100×100100\times 100 4.0374e-06 3.8018e-05 8.9893e-04 5.3665e-03
200×200200\times 200 6.5567e-08 5.94 6.2380e-07 5.93 2.1939e-05 5.36 2.7262e-04 4.30
400×400400\times 400 2.4957e-09 4.72 1.7238e-08 5.18 9.1588e-07 4.58 7.8449e-06 5.12
Table 8: Compact Gaussian electromagnetic pulse incident on a refractive disk. Error convergence for degree k=4k=4 under mesh refinement.

7.3 Refraction of a compact electromagnetic beam by a dielectric slab

This test case describes the refraction of an electromagnetic beam by a two dimensional dielectric slab that spans over a domain [5.0,8.0]×[2.5,7.0]µm2[-5.0,8.0]\times[-2.5,7.0]\penalty\ ${\mathrm{\SIUnitSymbolMicro m}}^{2}$. The domain is divided into 650×475650\text{\times}475 cells and has a constant permeability μ0\mu_{0} and the permittivity is given by ϵ(x,y)=1.625ϵ0+0.625ϵ0tanh(1008x)\epsilon(x,y)=1.625\epsilon_{0}+0.625\epsilon_{0}\tanh(${10}^{08}$x) so as to model a dielectric slab where the permittivity changes from ϵ=2.25ϵ0\epsilon=2.25\epsilon_{0} for x 0x\penalty\ \geq\penalty\ 0 to ϵ0\epsilon_{0} for x<0x<0. The magnetic and electric vector potential of the incident electromagnetic beam are given by,

𝑨(x,y,t)=\displaystyle\bm{A}(x,y,t)= λ8πsin[2π(x+y2ct)][1tanh((xa)+(yb)2ct0.1λ)]\displaystyle\frac{\lambda}{8\pi}\sin[2\pi(x+y-\sqrt{2}ct)]\bigg[1-\tanh\bigg(\frac{(x-a)+(y-b)-\sqrt{2}ct}{0.1\lambda}\bigg)\bigg]
[1tanh(|yx|2d2δ)]e^y\displaystyle\bigg[1-\tanh\bigg(\frac{\mathinner{\!\left\lvert y-x\right\rvert}-\sqrt{2}{d}}{\sqrt{2}\delta}\bigg)\bigg]\hat{e}_{y} (15)
𝑪(x,y,t)=\displaystyle\bm{C}(x,y,t)= λ8π2sin[2π(x+y2ct)][1tanh((xa)+(yb)2ct0.1λ)]\displaystyle-\frac{\lambda}{8\pi\sqrt{2}}\sin[2\pi(x+y-\sqrt{2}ct)]\bigg[1-\tanh\bigg(\frac{(x-a)+(y-b)-\sqrt{2}ct}{0.1\lambda}\bigg)\bigg]
[1tanh(|yx|2d2δ)]e^z\displaystyle\bigg[1-\tanh\bigg(\frac{\mathinner{\!\left\lvert y-x\right\rvert}-\sqrt{2}{d}}{\sqrt{2}\delta}\bigg)\bigg]\hat{e}_{z} (16)

where wavelength of the incident beam λ=0.5 µm\lambda=$0.5\text{\,}\mathrm{\SIUnitSymbolMicro m}$ and other geometrical parameters are taken to be d=2.5λ,δ=0.5λd=2.5\lambda,\delta=0.5\lambda and (a,b)=(3.0λ,3.0λ)(a,b)=(-3.0\lambda,-3.0\lambda). The impinging beam of radiation is incident on the surface of the dielectric slab at an angle of 45°. The simulation was run to a time of 4.0×1014 s4.0\text{\times}{10}^{-14}\text{\,}\mathrm{s}. Figure (6) shows the initial condition and the solution at the final time obtained from fourth and fifth order schemes.

Refer to caption Refer to caption Refer to caption
Refer to caption Refer to caption Refer to caption
Refer to caption Refer to caption Refer to caption
Figure 6: Refraction of a compact electromagnetic beam by a dielectric slab on a mesh of 650×475650\times 475 cells. Top row: initial condition, middle row: k=3k=3, bottom row: k=4k=4

This problem, involving the refraction of a beam of radiation, was presented in Balsara et al. [19], [12]. Figure (6) shows our results for DGTD schemes at fourth and fifth orders. Despite the use of high order DG schemes with rapidly varying dielectric properties, we never needed to use limiters in this problem. We see that our results are very consistent with the reference solution presented in those papers.

7.4 Total internal reflection of a compact electromagnetic beam by a dielectric slab

This test case is designed to simulate total internal reflection of an electromagnetic beam by a dielectric slab which has a constant permeability of μ0\mu_{0} and the permittivity is given by ϵ(x,y,z)=2.5ϵ01.5ϵ0tanh(4.0×1008x)\epsilon(x,y,z)=2.5\epsilon_{0}-1.5\epsilon_{0}\tanh($4.0\text{\times}{10}^{08}$x). Across the dielectric slab, the permittivity changes from ϵ=4.0ϵ0\epsilon=4.0\epsilon_{0} for x 0x\penalty\ \leq\penalty\ 0 to ϵ0\epsilon_{0} for x>0x>0 which implies that the refractive index is 22 for the dielectric slab. Therefore, following Snell’s law, the critical angle for internal reflection in this dielectric slab is 30°.

The simulation is performed in a domain [6.0,1.0]×[2.5,6.0]µm2[-6.0,1.0]\times[-2.5,6.0]\penalty\ ${\mathrm{\SIUnitSymbolMicro m}}^{2}$ of such a dielectric slab divided in 350×425350\text{\times}425 cells over a duration of 5.0×1014 s5.0\text{\times}{10}^{-14}\text{\,}\mathrm{s}. The initial conditions are similar to the previous case. However, for this problem, we chose λ=0.3 µm\lambda=$0.3\text{\,}\mathrm{\SIUnitSymbolMicro m}$, d=2.5λd=2.5\lambda, δ=0.5λ\delta=0.5\lambda and (a,b)=(3.0λ,3.0λ)(a,b)=(-3.0\lambda,-3.0\lambda). Figure (7) shows the initial condition and the final solution obtained using the fourth and fifth order schemes.

Refer to caption Refer to caption Refer to caption
Refer to caption Refer to caption Refer to caption
Refer to caption Refer to caption Refer to caption
Figure 7: Total internal reflection of a compact electromagnetic beam by a dielectric slab on a mesh of 350×425350\times 425 cells. Top row: initial condition, middle row: k=3k=3, bottom row: k=4k=4

This problem, involving the total internal reflection of a beam of radiation, was presented in Balsara et al. [19], [12]. Figure (7) shows our results for DGTD schemes at fourth and fifth orders. As in the previous test problem, we found that despite the use of high order DG schemes with rapidly varying dielectric properties, we never needed to use limiters in this problem. We see that our results are very consistent with the reference solution presented in those papers.

8 Summary and conclusions

In Balsara and Käppeli [14] globally constraint preserving DG schemes (up to fourth order) for CED had been presented and their von Neumann stability analysis had been carried out. The von Neumann analysis gave many insights as regards to the CFL condition and indicated that superlative propagation of electromagnetic radiation could be achieved. However, that paper did not explore the role of varying permittivity and permeability. That aspect of numerical CED has been explored here. Besides, since we have designed fifth order DG schemes in this paper, we are able to get a clearer view of all the ingredients of a globally constraint preserving DG scheme for CED at all orders.

Our DG schemes are novel because they can be viewed as retaining many of the best aspects of the FDTD schemes; while finding a pathway to higher order extensions. Our first conclusion is that at fourth and higher orders of accuracy, one has to evolve some zone-centered modes in addition to the face-centered modes.

It is also well-known that the best way to operate a DG scheme is to use it without reliance on limiters; if the physical problem and the system of equations permit this. We have carried out several tests where the permittivity varied by almost an order of magnitude. For all these tests, we were able to run the DG scheme without using limiters. In fact, we never had to use limiters for any of the problems that are presented in this paper. This leads us to our second important conclusion that DG schemes of the sort designed here do not seem to require limiting in order to stabilize them. Just the logic of the Riemann solvers, along with the natural global constraint preservation that is in-built into the scheme, proved sufficient to keep our DG schemes stable at all orders.

All our DG schemes evolve the facial electric displacement and magnetic induction and their higher moments as the primal variables. Maxwell’s equations, without the presence of conductivity, ensure the conservation of electromagnetic energy. In our schemes we do not do anything special to conserve electromagnetic energy. However, the DG philosophy helps because it provides evolution for all the modes, ensuring that our DG schemes retain the spirit of the governing PDE, i.e. Maxwell’s equations. Out third conclusion is that the DG schemes developed here have excellent ability to conserve electromagnetic energy on the computational mesh even when permittivity and permeability vary strongly in space; as long as the conductivity is zero. This is especially true for the fourth and higher order DG schemes presented here.

The three conclusions establish DG schemes as strong performers for globally constraint-preserving CED with several very favorable properties.

Acknowledgements

DSB acknowledges support via NSF grants NSF-ACI-1533850, NSF-DMS-1622457 , NSF_ACI-1713765 and NSF-DMS-1821242. Support from a grant by Notre Dame International and the Airbus Chair on Mathematics of Complex Systems at TIFR-CAM, Bangalore, is also gratefully acknowledged.

Appendix A Divergence-free reconstruction at second and third order

The reconstruction at fourth order accuracy (k=3k=3) has been detailed in section (4). Using this we can obtain the divergence-free reconstruction at second and third orders as follows. At degree k=1k=1, the field 𝑫\bm{D} is approximated on the faces and inside the cell as

Dx±(η)=a0±+a1±ϕ1(η),Dy±(ξ)=b0±+b1±ϕ1(ξ)D_{x}^{\pm}(\eta)=a_{0}^{\pm}+a_{1}^{\pm}\phi_{1}(\eta),\qquad D_{y}^{\pm}(\xi)=b_{0}^{\pm}+b_{1}^{\pm}\phi_{1}(\xi)
Dx(ξ,η)=a00+a10ϕ1(ξ)+a01ϕ1(η)+a20ϕ2(ξ)+a11ϕ1(ξ)ϕ1(η)D_{x}(\xi,\eta)=a_{00}+a_{10}\phi_{1}(\xi)+a_{01}\phi_{1}(\eta)+a_{20}\phi_{2}(\xi)+a_{11}\phi_{1}(\xi)\phi_{1}(\eta)
Dy(ξ,η)=b00+b10ϕ1(ξ)+b01ϕ1(η)+b11ϕ1(ξ)ϕ1(η)+b02ϕ2(η)D_{y}(\xi,\eta)=b_{00}+b_{10}\phi_{1}(\xi)+b_{01}\phi_{1}(\eta)+b_{11}\phi_{1}(\xi)\phi_{1}(\eta)+b_{02}\phi_{2}(\eta)

At degree k=2k=2, the field 𝑫\bm{D} on the faces and inside the cell is approximated by

Dx±(η)=a0±+a1±ϕ1(η)+a2±ϕ2(η),Dy±(ξ)=b0±+b1±ϕ1(ξ)+b2±ϕ2(ξ)D_{x}^{\pm}(\eta)=a_{0}^{\pm}+a_{1}^{\pm}\phi_{1}(\eta)+a_{2}^{\pm}\phi_{2}(\eta),\qquad D_{y}^{\pm}(\xi)=b_{0}^{\pm}+b_{1}^{\pm}\phi_{1}(\xi)+b_{2}^{\pm}\phi_{2}(\xi)
Dx(ξ,η)=\displaystyle D_{x}(\xi,\eta)= a00+a10ϕ1(ξ)+a01ϕ1(η)+a20ϕ2(ξ)+a11ϕ1(ξ)ϕ1(η)+a02ϕ2(η)+\displaystyle a_{00}+a_{10}\phi_{1}(\xi)+a_{01}\phi_{1}(\eta)+a_{20}\phi_{2}(\xi)+a_{11}\phi_{1}(\xi)\phi_{1}(\eta)+a_{02}\phi_{2}(\eta)+
a30ϕ3(ξ)+a12ϕ1(ξ)ϕ2(η)\displaystyle a_{30}\phi_{3}(\xi)+a_{12}\phi_{1}(\xi)\phi_{2}(\eta)
Dy(ξ,η)=\displaystyle D_{y}(\xi,\eta)= b00+b10ϕ1(ξ)+b01ϕ1(η)+b20ϕ2(ξ)+b11ϕ1(ξ)ϕ1(η)+b02ϕ2(η)+\displaystyle b_{00}+b_{10}\phi_{1}(\xi)+b_{01}\phi_{1}(\eta)+b_{20}\phi_{2}(\xi)+b_{11}\phi_{1}(\xi)\phi_{1}(\eta)+b_{02}\phi_{2}(\eta)+
b21ϕ2(ξ)ϕ1(η)+b03ϕ3(η)\displaystyle b_{21}\phi_{2}(\xi)\phi_{1}(\eta)+b_{03}\phi_{3}(\eta)

The coefficients aija_{ij}, bijb_{ij} in the cell solution can be obtained from the formulae in section (4) by setting those coefficients which do not appear above to zero. Note that at these orders, the face solution completely determines the divergence-free reconstruction inside the cells, unlike at fourth and fifth orders, where additional information in terms of ωi\omega_{i} is required to complete the divergence-free reconstruction.

Appendix B Divergence-free reconstruction at fifth order

Let us start by assuming a form for the electric displacement using BDFM polynomial. Hence we take Dx5{η5}D_{x}\in\mathbb{P}_{5}\setminus\{\eta^{5}\} and Dy5{ξ5}D_{y}\in\mathbb{P}_{5}\setminus\{\xi^{5}\} which is the form of a BDFM polynomial [22]. The components of the vector field can be written in terms of the orthogonal basis functions as follows

Dx(ξ,η)=\displaystyle D_{x}(\xi,\eta)= a00+a10ϕ1(ξ)+a01ϕ1(η)+a20ϕ2(ξ)+a11ϕ1(ξ)ϕ1(η)+a02ϕ2(η)+\displaystyle\ a_{00}+a_{10}\phi_{1}(\xi)+a_{01}\phi_{1}(\eta)+a_{20}\phi_{2}(\xi)+a_{11}\phi_{1}(\xi)\phi_{1}(\eta)+a_{02}\phi_{2}(\eta)+
a30ϕ3(ξ)+a21ϕ2(ξ)ϕ1(η)+a12ϕ1(ξ)ϕ2(η)+a03ϕ3(η)+a40ϕ4(ξ)+\displaystyle a_{30}\phi_{3}(\xi)+a_{21}\phi_{2}(\xi)\phi_{1}(\eta)+a_{12}\phi_{1}(\xi)\phi_{2}(\eta)+a_{03}\phi_{3}(\eta)+a_{40}\phi_{4}(\xi)+
a31ϕ3(ξ)ϕ1(η)+a22ϕ2(ξ)ϕ2(η)+a13ϕ1(ξ)ϕ3(η)+a04ϕ4(η)+a50ϕ5(ξ)+\displaystyle a_{31}\phi_{3}(\xi)\phi_{1}(\eta)+a_{22}\phi_{2}(\xi)\phi_{2}(\eta)+a_{13}\phi_{1}(\xi)\phi_{3}(\eta)+a_{04}\phi_{4}(\eta)+a_{50}\phi_{5}(\xi)+
a41ϕ4(ξ)ϕ1(η)+a32ϕ3(ξ)ϕ2(η)+a23ϕ2(ξ)ϕ3(η)+a14ϕ1(ξ)ϕ4(η)\displaystyle a_{41}\phi_{4}(\xi)\phi_{1}(\eta)+a_{32}\phi_{3}(\xi)\phi_{2}(\eta)+a_{23}\phi_{2}(\xi)\phi_{3}(\eta)+a_{14}\phi_{1}(\xi)\phi_{4}(\eta)
Dy(ξ,η)=\displaystyle D_{y}(\xi,\eta)= b00+b10ϕ1(ξ)+b01ϕ1(η)+b20ϕ2(ξ)+b11ϕ1(ξ)ϕ1(η)+b02ϕ2(η)+\displaystyle\ b_{00}+b_{10}\phi_{1}(\xi)+b_{01}\phi_{1}(\eta)+b_{20}\phi_{2}(\xi)+b_{11}\phi_{1}(\xi)\phi_{1}(\eta)+b_{02}\phi_{2}(\eta)+
b30ϕ3(ξ)+b21ϕ2(ξ)ϕ1(η)+b12ϕ1(ξ)ϕ2(η)+b03ϕ3(η)+b31ϕ3(ξ)ϕ1(η)+\displaystyle b_{30}\phi_{3}(\xi)+b_{21}\phi_{2}(\xi)\phi_{1}(\eta)+b_{12}\phi_{1}(\xi)\phi_{2}(\eta)+b_{03}\phi_{3}(\eta)+b_{31}\phi_{3}(\xi)\phi_{1}(\eta)+
b22ϕ2(ξ)ϕ2(η)+b13ϕ1(ξ)ϕ3(η)+b04ϕ4(η)+b40ϕ4(ξ)+b05ϕ5(η)+\displaystyle b_{22}\phi_{2}(\xi)\phi_{2}(\eta)+b_{13}\phi_{1}(\xi)\phi_{3}(\eta)+b_{04}\phi_{4}(\eta)+b_{40}\phi_{4}(\xi)+b_{05}\phi_{5}(\eta)+
b41ϕ4(ξ)ϕ1(η)+b32ϕ3(ξ)ϕ2(η)+b23ϕ2(ξ)ϕ3(η)+b14ϕ1(ξ)ϕ4(η)\displaystyle b_{41}\phi_{4}(\xi)\phi_{1}(\eta)+b_{32}\phi_{3}(\xi)\phi_{2}(\eta)+b_{23}\phi_{2}(\xi)\phi_{3}(\eta)+b_{14}\phi_{1}(\xi)\phi_{4}(\eta)

which has a total of 40 coefficients. By matching the above polynomial to the solution on the faces, we obtain the following set of 20 equations.

a00±12a10+16a20±120a30+170a40±1252a50\displaystyle a_{00}\pm{\tfrac{1}{2}}a_{10}+\tfrac{1}{6}a_{20}\pm\tfrac{1}{20}a_{30}+\tfrac{1}{70}a_{40}\pm\tfrac{1}{252}a_{50} =a0±\displaystyle=a_{0}^{\pm}
a01±12a11+16a21±120a31+170a41\displaystyle a_{01}\pm{\tfrac{1}{2}}a_{11}+\tfrac{1}{6}a_{21}\pm\tfrac{1}{20}a_{31}+\tfrac{1}{70}a_{41} =a1±\displaystyle=a_{1}^{\pm}
a02±12a12+16a22±120a32\displaystyle a_{02}\pm{\tfrac{1}{2}}a_{12}+\tfrac{1}{6}a_{22}\pm\tfrac{1}{20}a_{32} =a2±\displaystyle=a_{2}^{\pm}
a03±12a13+16a23\displaystyle a_{03}\pm{\tfrac{1}{2}}a_{13}+\tfrac{1}{6}a_{23} =a3±\displaystyle=a_{3}^{\pm}
a04±12a14\displaystyle a_{04}\pm{\tfrac{1}{2}}a_{14} =a4±\displaystyle=a_{4}^{\pm}
b00±12b01+16b02±120b03+170b04±1252b05\displaystyle b_{00}\pm{\tfrac{1}{2}}b_{01}+\tfrac{1}{6}b_{02}\pm\tfrac{1}{20}b_{03}+\tfrac{1}{70}b_{04}\pm\tfrac{1}{252}b_{05} =b0±\displaystyle=b_{0}^{\pm}
b10±12b11+16b12±120b13+170b14\displaystyle b_{10}\pm{\tfrac{1}{2}}b_{11}+\tfrac{1}{6}b_{12}\pm\tfrac{1}{20}b_{13}+\tfrac{1}{70}b_{14} =b1±\displaystyle=b_{1}^{\pm}
b20±12b21+16b22±120b23\displaystyle b_{20}\pm{\tfrac{1}{2}}b_{21}+\tfrac{1}{6}b_{22}\pm\tfrac{1}{20}b_{23} =b2±\displaystyle=b_{2}^{\pm}
b30±12b31+16b32\displaystyle b_{30}\pm{\tfrac{1}{2}}b_{31}+\tfrac{1}{6}b_{32} =b3±\displaystyle=b_{3}^{\pm}
b40±12b41\displaystyle b_{40}\pm{\tfrac{1}{2}}b_{41} =b4±\displaystyle=b_{4}^{\pm}

Setting the divergence to zero yields the following set of 15 equations

(a10+110a30+1126a50)Δy+(b01+110b03+1126b05)Δx\displaystyle(a_{10}+\tfrac{1}{10}a_{30}+\tfrac{1}{126}a_{50})\Delta y+(b_{01}+\tfrac{1}{10}b_{03}+\tfrac{1}{126}b_{05})\Delta x =0\displaystyle=0
OPEN(2a20+635a40)Δy+(b11+b13/10)Δx)\displaystyle(2a_{20}+\tfrac{6}{35}a_{40})\Delta y+(b_{11}+b_{13}/10)\Delta x) =0\displaystyle=0
(a11+a31/10)Δy+(2b02+635b04)Δx\displaystyle(a_{11}+a_{31}/10)\Delta y+(2b_{02}+\tfrac{6}{35}b_{04})\Delta x =0\displaystyle=0
(3a30+521a50)Δy+(b21+110b23)Δx\displaystyle(3a_{30}+\tfrac{5}{21}a_{50})\Delta y+(b_{21}+\tfrac{1}{10}b_{23})\Delta x =0\displaystyle=0
(2a21+635a41)Δy+(2b12+635b14)Δx\displaystyle(2a_{21}+\tfrac{6}{35}a_{41})\Delta y+(2b_{12}+\tfrac{6}{35}b_{14})\Delta x =0\displaystyle=0
(a12+110a32)Δy+(3b03+521b05)Δx\displaystyle(a_{12}+\tfrac{1}{10}a_{32})\Delta y+(3b_{03}+\tfrac{5}{21}b_{05})\Delta x =0\displaystyle=0
4a40Δy+b31Δx\displaystyle 4a_{40}\Delta y+b_{31}\Delta x =0\displaystyle=0
3a31Δy+2b22Δx\displaystyle 3a_{31}\Delta y+2b_{22}\Delta x =0\displaystyle=0
2a22Δy+3b13Δx\displaystyle 2a_{22}\Delta y+3b_{13}\Delta x =0\displaystyle=0
a13Δy+4b04Δx\displaystyle a_{13}\Delta y+4b_{04}\Delta x =0\displaystyle=0
5a50Δy+b41Δx\displaystyle 5a_{50}\Delta y+b_{41}\Delta x =0\displaystyle=0
4a41Δy+2b32Δx\displaystyle 4a_{41}\Delta y+2b_{32}\Delta x =0\displaystyle=0
3a32Δy+3b23Δx\displaystyle 3a_{32}\Delta y+3b_{23}\Delta x =0\displaystyle=0
2a23Δy+4b14Δx\displaystyle 2a_{23}\Delta y+4b_{14}\Delta x =0\displaystyle=0
a14Δy+5b05Δx\displaystyle a_{14}\Delta y+5b_{05}\Delta x =0\displaystyle=0

The first equation in the above set of equations is redundant as it is included in the other equations due to the divergence-free constraint (6). Ignoring this equation, we can solve for some of the coefficients in terms of the face solution as follows.

a00=\displaystyle a_{00}= 12(a0+a0+)+112(b1+b1)ΔxΔy\displaystyle{\tfrac{1}{2}}(a_{0}^{-}+a_{0}^{+})+\tfrac{1}{12}(b_{1}^{+}-b_{1}^{-})\tfrac{\Delta x}{\Delta y} a10=\displaystyle a_{10}= a0+a0+130(b2+b2)ΔxΔy\displaystyle a_{0}^{+}-a_{0}^{-}+\tfrac{1}{30}(b_{2}^{+}-b_{2}^{-})\tfrac{\Delta x}{\Delta y} a20=\displaystyle a_{20}= 12(b1+b1)ΔxΔy+3140(b3+b3)ΔxΔy\displaystyle-{\tfrac{1}{2}}(b_{1}^{+}-b_{1}^{-})\tfrac{\Delta x}{\Delta y}+\tfrac{3}{140}(b_{3}^{+}-b_{3}^{-})\tfrac{\Delta x}{\Delta y} a30=\displaystyle a_{30}= 13(b2+b2)ΔxΔy+163(b4+b4)ΔxΔy\displaystyle-\tfrac{1}{3}(b_{2}^{+}-b_{2}^{-})\tfrac{\Delta x}{\Delta y}+\tfrac{1}{63}(b_{4}^{+}-b_{4}^{-})\tfrac{\Delta x}{\Delta y} a40=\displaystyle a_{40}= 14(b3+b3)ΔxΔy\displaystyle-\tfrac{1}{4}(b_{3}^{+}-b_{3}^{-})\tfrac{\Delta x}{\Delta y} a50=\displaystyle a_{50}= 15(b4+b4)ΔxΔy\displaystyle-\tfrac{1}{5}(b_{4}^{+}-b_{4}^{-})\tfrac{\Delta x}{\Delta y} a04=\displaystyle a_{04}= 12(a4+a4+)\displaystyle{\tfrac{1}{2}}(a_{4}^{-}+a_{4}^{+}) a13=\displaystyle a_{13}= a3+a3\displaystyle a_{3}^{+}-a_{3}^{-} a14=\displaystyle a_{14}= a4+a4\displaystyle a_{4}^{+}-a_{4}^{-} b00=\displaystyle b_{00}= 12(b0+b0+)+112(a1+a1)ΔyΔx\displaystyle{\tfrac{1}{2}}(b_{0}^{-}+b_{0}^{+})+\tfrac{1}{12}(a_{1}^{+}-a_{1}^{-})\tfrac{\Delta y}{\Delta x} b01=\displaystyle b_{01}= b0+b0+130(a2+a2)ΔyΔx\displaystyle b_{0}^{+}-b_{0}^{-}+\tfrac{1}{30}(a_{2}^{+}-a_{2}^{-})\tfrac{\Delta y}{\Delta x} b02=\displaystyle b_{02}= 12(a1+a1)ΔyΔx+3140(a3+a3)ΔyΔx\displaystyle-{\tfrac{1}{2}}(a_{1}^{+}-a_{1}^{-})\tfrac{\Delta y}{\Delta x}+\tfrac{3}{140}(a_{3}^{+}-a_{3}^{-})\tfrac{\Delta y}{\Delta x} b03=\displaystyle b_{03}= 13(a2+a2)ΔyΔx+163(a4+a4)ΔyΔx\displaystyle-\tfrac{1}{3}(a_{2}^{+}-a_{2}^{-})\tfrac{\Delta y}{\Delta x}+\tfrac{1}{63}(a_{4}^{+}-a_{4}^{-})\tfrac{\Delta y}{\Delta x} b04=\displaystyle b_{04}= 14(a3+a3)ΔyΔx\displaystyle-\tfrac{1}{4}(a_{3}^{+}-a_{3}^{-})\tfrac{\Delta y}{\Delta x} b05=\displaystyle b_{05}= 15(a4+a4)ΔyΔx\displaystyle-\tfrac{1}{5}(a_{4}^{+}-a_{4}^{-})\tfrac{\Delta y}{\Delta x} b40=\displaystyle b_{40}= 12(b4+b4+)\displaystyle{\tfrac{1}{2}}(b_{4}^{-}+b_{4}^{+}) b31=\displaystyle b_{31}= b3+b3\displaystyle b_{3}^{+}-b_{3}^{-} b41=\displaystyle b_{41}= b4+b4\displaystyle b_{4}^{+}-b_{4}^{-}

The remaining coefficients satisfy the following equations

a01+16a21+170a41\displaystyle a_{01}+\tfrac{1}{6}a_{21}+\tfrac{1}{70}a_{41} =12(a1++a1)\displaystyle={\tfrac{1}{2}}(a_{1}^{+}+a_{1}^{-})
a03+16a23\displaystyle a_{03}+\tfrac{1}{6}a_{23} =12(a3++a3)\displaystyle={\tfrac{1}{2}}(a_{3}^{+}+a_{3}^{-})
a02+16a22\displaystyle a_{02}+\tfrac{1}{6}a_{22} =12(a2++a2)\displaystyle={\tfrac{1}{2}}(a_{2}^{+}+a_{2}^{-})
a12+110a32\displaystyle a_{12}+\tfrac{1}{10}a_{32} =a2+a2\displaystyle=a_{2}^{+}-a_{2}^{-}
a11+110a31\displaystyle a_{11}+\tfrac{1}{10}a_{31} =a1+a1\displaystyle=a_{1}^{+}-a_{1}^{-}
b10+16b12+170b14\displaystyle b_{10}+\tfrac{1}{6}b_{12}+\tfrac{1}{70}b_{14} =12(b1++b1)\displaystyle={\tfrac{1}{2}}(b_{1}^{+}+b_{1}^{-})
b20+16b22\displaystyle b_{20}+\tfrac{1}{6}b_{22} =12(b2++b2)\displaystyle={\tfrac{1}{2}}(b_{2}^{+}+b_{2}^{-})
b30+16b32\displaystyle b_{30}+\tfrac{1}{6}b_{32} =12(b3++b3)\displaystyle={\tfrac{1}{2}}(b_{3}^{+}+b_{3}^{-})
b21+110b23\displaystyle b_{21}+\tfrac{1}{10}b_{23} =b2+b2\displaystyle=b_{2}^{+}-b_{2}^{-}
b11+110b13\displaystyle b_{11}+\tfrac{1}{10}b_{13} =b1+b1\displaystyle=b_{1}^{+}-b_{1}^{-}
(2a21+635a41)Δy+(2b12+635b14)Δx\displaystyle(2a_{21}+\tfrac{6}{35}a_{41})\Delta y+(2b_{12}+\tfrac{6}{35}b_{14})\Delta x =0\displaystyle=0
3a31Δy+2b22Δx\displaystyle 3a_{31}\Delta y+2b_{22}\Delta x =0\displaystyle=0
2a22Δy+3b13Δx\displaystyle 2a_{22}\Delta y+3b_{13}\Delta x =0\displaystyle=0
4a41Δy+2b32Δx\displaystyle 4a_{41}\Delta y+2b_{32}\Delta x =0\displaystyle=0
3a32Δy+3b23Δx\displaystyle 3a_{32}\Delta y+3b_{23}\Delta x =0\displaystyle=0
2a23Δy+4b14Δx\displaystyle 2a_{23}\Delta y+4b_{14}\Delta x =0\displaystyle=0

We have more unknowns than equations, so we have to make some further assumptions on the remaining coefficient. Let set all the coefficients at degree five to zero since they are not required to get fifth order accuracy, i.e.,

a41=a32=b23=b14=a23=b32=0a_{41}=a_{32}=b_{23}=b_{14}=a_{23}=b_{32}=0

and we can immediately obtain the solution for the following coefficients

a03=12(a3++a3),a12=a2+a2,b30=12(b3++b3),b21=b2+b2\boxed{a_{03}={\tfrac{1}{2}}(a_{3}^{+}+a_{3}^{-}),\quad a_{12}=a_{2}^{+}-a_{2}^{-},\quad b_{30}={\tfrac{1}{2}}(b_{3}^{+}+b_{3}^{-}),\quad b_{21}=b_{2}^{+}-b_{2}^{-}}

The remaining equations and unknowns can be broken into two sets of equations. The first set is of the form

a01+16a21\displaystyle a_{01}+\frac{1}{6}a_{21} =\displaystyle= 12(a1+a1+)=:r1\displaystyle{\frac{1}{2}}(a_{1}^{-}+a_{1}^{+})=\mathrel{\mathop{\mathchar 58\relax}}r_{1} (17)
b10+16b12\displaystyle b_{10}+\frac{1}{6}b_{12} =\displaystyle= 12(b1+b1+)=:r2\displaystyle{\frac{1}{2}}(b_{1}^{-}+b_{1}^{+})=\mathrel{\mathop{\mathchar 58\relax}}r_{2} (18)
b12Δx+a21Δy\displaystyle b_{12}\Delta x+a_{21}\Delta y =\displaystyle= 0\displaystyle 0 (19)

Here we have four unknowns but only three equations. We can solve these equations by introducing the additional variable b10a01=ω1b_{10}-a_{01}=\omega_{1} and the solution is same as in the fourth order case given in section (4).

We are now left with the following set of four equations

a11+110a31\displaystyle a_{11}+\frac{1}{10}a_{31} =(a1+a1)=:r3\displaystyle=(a_{1}^{+}-a_{1}^{-})=\mathrel{\mathop{\mathchar 58\relax}}r_{3}\quad a02+16a22\displaystyle a_{02}+\frac{1}{6}a_{22} =12(a2++a2)=:r5\displaystyle={\tfrac{1}{2}}(a_{2}^{+}+a_{2}^{-})=\mathrel{\mathop{\mathchar 58\relax}}r_{5} (20)
b20+16b22\displaystyle b_{20}+\frac{1}{6}b_{22} =12(b2++b2)=:r4\displaystyle={\tfrac{1}{2}}(b_{2}^{+}+b_{2}^{-})=\mathrel{\mathop{\mathchar 58\relax}}r_{4}\quad b11+110b13\displaystyle b_{11}+\frac{1}{10}b_{13} =(b1+b1)=:r6\displaystyle=(b_{1}^{+}-b_{1}^{-})=\mathrel{\mathop{\mathchar 58\relax}}r_{6} (21)

but there are six unknown coefficients. All of these coefficients are at or below degree four and have to be retained for fifth order accuracy. We need additional information to solve for all the coefficients and we introduce the following two equations

b20a11=ω2,b11a02=ω3\displaystyle b_{20}-a_{11}=\omega_{2},\qquad b_{11}-a_{02}=\omega_{3}

Then we can solve for all the remaining unknown coefficients to obtain the following solution

a11\displaystyle a_{11} =12+5ΔyΔx(5r3ΔyΔx+2r42ω2)\displaystyle=\frac{1}{2+5\frac{\Delta y}{\Delta x}}\bigg(5r_{3}\frac{\Delta y}{\Delta x}+2r_{4}-2\omega_{2}\bigg) a02=15+2ΔyΔx(2r5ΔyΔx+5r65ω3)\displaystyle a_{02}=\frac{1}{5+2\frac{\Delta y}{\Delta x}}\bigg(2r_{5}\frac{\Delta y}{\Delta x}+5r_{6}-5\omega_{3}\bigg)
a31\displaystyle a_{31} =10(r3a11)\displaystyle=10(r_{3}-a_{11}) a22=6(r5a02)\displaystyle a_{22}=6(r_{5}-a_{02})
b20\displaystyle b_{20} =ω2+a11\displaystyle=\omega_{2}+a_{11} b11=ω3+a02\displaystyle b_{11}=\omega_{3}+a_{02}
b22\displaystyle b_{22} =6(r4b20)\displaystyle=6(r_{4}-b_{20}) b13=10(r6b11)\displaystyle b_{13}=10(r_{6}-b_{11})

This completely specifies the reconstructed field inside the cell. The evolution equations for ω2,ω3\omega_{2},\omega_{3} are explained in section (5.3).

Appendix C Numerical fluxes

The fluxes in the conservative form of the 2-D Maxwell’s equations (4) have the form 𝑭=Ax𝑼\bm{F}=A_{x}\bm{U}, 𝑮=Ay𝑼\bm{G}=A_{y}\bm{U} where the matrices AxA_{x}, AyA_{y} may depend on the spatial coordinate due to varying material properties and are given by

Ax=[000001/μ01/ε0],Ay=[001/μ0001/ε00]A_{x}=\begin{bmatrix}0&0&0\\ 0&0&1/\mu\\ 0&1/\varepsilon&0\end{bmatrix},\qquad A_{y}=\begin{bmatrix}0&0&-1/\mu\\ 0&0&0\\ -1/\varepsilon&0&0\end{bmatrix}

For any unit vector 𝒏=(nx,ny)\bm{n}=(n_{x},n_{y}), the matrix

An=Axnx+Ayny=[00ny/μ00nx/μny/εnx/ε0]A_{n}=A_{x}n_{x}+A_{y}n_{y}=\begin{bmatrix}0&0&-n_{y}/\mu\\ 0&0&n_{x}/\mu\\ -n_{y}/\varepsilon&n_{x}/\varepsilon&0\end{bmatrix}

has real eigenvalues given by {c,0,+c}\{-c,0,+c\} where c=1/εμc=1/\sqrt{\varepsilon\mu}, and a complete set of eigenvectors given by

[+εnyεnxμ],[nxny0],[εny+εnxμ]\begin{bmatrix}+\sqrt{\varepsilon}n_{y}\\ -\sqrt{\varepsilon}n_{x}\\ \sqrt{\mu}\end{bmatrix},\qquad\begin{bmatrix}n_{x}\\ n_{y}\\ 0\end{bmatrix},\qquad\begin{bmatrix}-\sqrt{\varepsilon}n_{y}\\ +\sqrt{\varepsilon}n_{x}\\ \sqrt{\mu}\end{bmatrix}

C.1 Solution of the 1-D Riemann problem

Consider the two states 𝑼L\bm{U}^{L}, 𝑼R\bm{U}^{R} separated across an interface with normal vector 𝒏\bm{n} which points from LL to RR, and such that 𝑫L𝒏=𝑫R𝒏\bm{D}^{L}\cdot\bm{n}=\bm{D}^{R}\cdot\bm{n}, i.e., the normal component of 𝑫\bm{D} is continuous. The flux in the direction 𝒏\bm{n} is

𝑭n=𝑭nx+𝑮ny=[nyμBz+nxμBz1ε(DynxDxny)]\bm{F}_{n}=\bm{F}n_{x}+\bm{G}n_{y}=\begin{bmatrix}-\frac{n_{y}}{\mu}B_{z}\\ +\frac{n_{x}}{\mu}B_{z}\\ \frac{1}{\varepsilon}(D_{y}n_{x}-D_{x}n_{y})\end{bmatrix}

Let the intermediate states be denoted by 𝑼\bm{U}^{*}, 𝑼\bm{U}^{**}. Then the jump conditions across the three waves are
1) Across the c-c wave

nyμ(BzBzL)\displaystyle-\frac{n_{y}}{\mu}(B_{z}^{*}-B_{z}^{L}) =\displaystyle= c(DxDxL)\displaystyle-c(D_{x}^{*}-D_{x}^{L}) (22)
+nxμ(BzBzL)\displaystyle+\frac{n_{x}}{\mu}(B_{z}^{*}-B_{z}^{L}) =\displaystyle= c(DyDyL)\displaystyle-c(D_{y}^{*}-D_{y}^{L}) (23)
1ε[(DynxDxny)(DyLnxDxLny)]\displaystyle\frac{1}{\varepsilon}[(D_{y}^{*}n_{x}-D_{x}^{*}n_{y})-(D_{y}^{L}n_{x}-D_{x}^{L}n_{y})] =\displaystyle= c(BzBzL)\displaystyle-c(B_{z}^{*}-B_{z}^{L}) (24)

2) Across the 00 wave

nyμ(BzBz)\displaystyle-\frac{n_{y}}{\mu}(B_{z}^{**}-B_{z}^{*}) =\displaystyle= 0\displaystyle 0 (25)
+nxμ(BzBz)\displaystyle+\frac{n_{x}}{\mu}(B_{z}^{**}-B_{z}^{*}) =\displaystyle= 0\displaystyle 0 (26)
1ε[(DynxDxny)(DynxDxny)]\displaystyle\frac{1}{\varepsilon}[(D_{y}^{**}n_{x}-D_{x}^{**}n_{y})-(D_{y}^{*}n_{x}-D_{x}^{*}n_{y})] =\displaystyle= 0\displaystyle 0 (27)

3) Across the +c+c wave

nyμ(BzBzL)\displaystyle-\frac{n_{y}}{\mu}(B_{z}^{**}-B_{z}^{L}) =\displaystyle= +c(DxDxR)\displaystyle+c(D_{x}^{**}-D_{x}^{R}) (28)
+nxμ(BzBzL)\displaystyle+\frac{n_{x}}{\mu}(B_{z}^{**}-B_{z}^{L}) =\displaystyle= +c(DyDyR)\displaystyle+c(D_{y}^{**}-D_{y}^{R}) (29)
1ε[(DynxDxny)(DyRnxDxRny)]\displaystyle\frac{1}{\varepsilon}[(D_{y}^{**}n_{x}-D_{x}^{**}n_{y})-(D_{y}^{R}n_{x}-D_{x}^{R}n_{y})] =\displaystyle= +c(BzBzR)\displaystyle+c(B_{z}^{**}-B_{z}^{R}) (30)

From (22), (23) we get 𝑫𝒏=𝑫L𝒏\bm{D}^{*}\cdot\bm{n}=\bm{D}^{L}\cdot\bm{n} while (28), (29) yields 𝑫𝒏=𝑫R𝒏\bm{D}^{**}\cdot\bm{n}=\bm{D}^{R}\cdot\bm{n}, and hence the normal component of 𝑫\bm{D} is continuous throughout the Riemann fan. From (25), (26) we get Bz=BzB_{z}^{*}=B_{z}^{**} while (27) shows that (DynxDxny)=(DynxDxny)(D_{y}^{**}n_{x}-D_{x}^{**}n_{y})=(D_{y}^{*}n_{x}-D_{x}^{*}n_{y}), which implies that 𝑼=𝑼\bm{U}^{*}=\bm{U}^{**}. Adding (24) and (30) we get

DynxDxny=(DyLnxDxLny)+(DyRnxDxRny)2εc2(BzRBzL)D_{y}^{*}n_{x}-D_{x}^{*}n_{y}=\frac{(D_{y}^{L}n_{x}-D_{x}^{L}n_{y})+(D_{y}^{R}n_{x}-D_{x}^{R}n_{y})}{2}-\frac{\varepsilon c}{2}(B_{z}^{R}-B_{z}^{L})

By combining the equations in the form (29)nx(28)ny(\ref{eq:pc2})n_{x}-(\ref{eq:pc1})n_{y} we get

Bz=12(BzL+BzR)μc2[(DyRnxDxRny)(DyLnxDxLny)]B_{z}^{*}=\frac{1}{2}(B_{z}^{L}+B_{z}^{R})-\frac{\mu c}{2}[(D_{y}^{R}n_{x}-D_{x}^{R}n_{y})-(D_{y}^{L}n_{x}-D_{x}^{L}n_{y})]

The numerical flux is given by

𝑭^n=[nyμBz+nxμBz1ε(DynxDxny)]\hat{\bm{F}}_{n}=\begin{bmatrix}-\frac{n_{y}}{\mu}B_{z}^{*}\\ +\frac{n_{x}}{\mu}B_{z}^{*}\\ \frac{1}{\varepsilon}(D_{y}^{*}n_{x}-D_{x}^{*}n_{y})\end{bmatrix}

From the above solution, we can extract the information required in the FR and DG schemes. For a vertical face (nx,ny)=(1,0)(n_{x},n_{y})=(1,0) and the numerical fluxes are

H^z=1μBz,E^y=1εDy\hat{H}_{z}=\frac{1}{\mu}B_{z}^{*},\qquad\hat{E}_{y}=\frac{1}{\varepsilon}D_{y}^{*}

and on a horizontal face (nx,ny)=(0,1)(n_{x},n_{y})=(0,1)

H^z=1μBz,E^x=1εDx\hat{H}_{z}=\frac{1}{\mu}B_{z}^{*},\qquad\hat{E}_{x}=\frac{1}{\varepsilon}D_{x}^{*}

C.2 Solution of the 2-D Riemann problem

The update of the normal component of 𝑫\bm{D} stored on the faces requires the knowledge of the magnetic field HzH_{z} at the vertices. We need a unique value of this quantity in order to obtain a constraint perserving scheme. On a 2-D Cartesian mesh, at each vertex of the mesh, we have four states that come together to define a 2-D Riemann problem. The solution of this Riemann problem leads to the generation of four 1-D wave structures and a strongly interacting state around the vertex. More details on the solution of the 2-D Riemann problem can be found in [19]. For the sake of completeness, we summarize the formulae for the specific case of scalar material properties. The magnetic field at the vertex is given by

H~z=1μBz\tilde{H}_{z}=\frac{1}{\mu}B_{z}^{*}

where

Bz=14(BzDL+BzDR+BzUL+BzUR)+\displaystyle B_{z}^{*}=\frac{1}{4}(B_{z}^{DL}+B_{z}^{DR}+B_{z}^{UL}+B_{z}^{UR})+ μc2[12(DxUR+DxUL)12(DxDR+DxDL)]\displaystyle\frac{\mu c}{2}\left[{\frac{1}{2}}(D_{x}^{UR}+D_{x}^{UL})-{\frac{1}{2}}(D_{x}^{DR}+D_{x}^{DL})\right]
\displaystyle- μc2[12(DyUR+DyDR)12(DyUL+DyDL)]\displaystyle\frac{\mu c}{2}\left[{\frac{1}{2}}(D_{y}^{UR}+D_{y}^{DR})-{\frac{1}{2}}(D_{y}^{UL}+D_{y}^{DL})\right]

and the superscripts DL, DR, UL, UR refer to the four states meeting at the vertex. Note that due to the divergence conforming nature of our approximating polynomials, we actually have DxDL=DxDRD_{x}^{DL}=D_{x}^{DR}, DxUL=DxURD_{x}^{UL}=D_{x}^{UR}, DyDL=DyULD_{y}^{DL}=D_{y}^{UL} and DyDR=DyURD_{y}^{DR}=D_{y}^{UR}. The flux H~z\tilde{H}_{z} has the usual structure of a central flux which is the average of the four fluxes at the vertex and some jump terms. As shown in section (6), the jump terms add some dissipation to the numerical scheme and hence are important to obtain a stable scheme.

References

  • [1] D. S. Balsara, Divergence-Free Adaptive Mesh Refinement for Magnetohydrodynamics, Journal of Computational Physics, 174 (2001), pp. 614–648.
  • [2]  , Second-Order–accurate Schemes for Magnetohydrodynamics with Divergence-free Reconstruction, The Astrophysical Journal Supplement Series, 151 (2004), pp. 149–184.
  • [3]  , Divergence-free reconstruction of magnetic fields and WENO schemes for magnetohydrodynamics, Journal of Computational Physics, 228 (2009), pp. 5040–5056.
  • [4]  , Multidimensional HLLE Riemann solver: Application to Euler and magnetohydrodynamic flows, Journal of Computational Physics, 229 (2010), pp. 1970–1993.
  • [5]  , A two-dimensional HLLC Riemann solver for conservation laws: Application to Euler and magnetohydrodynamic flows, Journal of Computational Physics, 231 (2012), pp. 7476–7503.
  • [6]  , Multidimensional Riemann problem with self-similar internal structure. Part I – Application to hyperbolic conservation laws on structured meshes, Journal of Computational Physics, 277 (2014), pp. 163–200.
  • [7]  , Three dimensional HLL Riemann solver for conservation laws on structured meshes; Application to Euler and magnetohydrodynamic flows, Journal of Computational Physics, 295 (2015), pp. 1–23.
  • [8] D. S. Balsara, T. Amano, S. Garain, and J. Kim, A high-order relativistic two-fluid electrodynamic scheme with consistent reconstruction of electromagnetic fields and a multidimensional Riemann solver for electromagnetism, Journal of Computational Physics, 318 (2016), pp. 169–200.
  • [9] D. S. Balsara and M. Dumbser, Divergence-free MHD on unstructured meshes using high order finite volume schemes based on multidimensional Riemann solvers, Journal of Computational Physics, 299 (2015), pp. 687–715.
  • [10]  , Multidimensional Riemann problem with self-similar internal structure. Part II – Application to hyperbolic conservation laws on unstructured meshes, Journal of Computational Physics, 287 (2015), pp. 269–292.
  • [11] D. S. Balsara, M. Dumbser, and R. Abgrall, Multidimensional HLLC Riemann solver for unstructured meshes – With application to Euler and MHD flows, Journal of Computational Physics, 261 (2014), pp. 172–208.
  • [12] D. S. Balsara, S. Garain, A. Taflove, and G. Montecinos, Computational electrodynamics in material media with constraint-preservation, multidimensional Riemann solvers and sub-cell resolution – Part II, higher order FVTD schemes, Journal of Computational Physics, 354 (2018), pp. 613–645.
  • [13] D. S. Balsara and R. Käppeli, Von Neumann stability analysis of globally divergence-free RKDG schemes for the induction equation using multidimensional Riemann solvers, Journal of Computational Physics, 336 (2017), pp. 104–127.
  • [14]  , Von Neumann stability analysis of globally constraint-preserving DGTD and PNPM schemes for Maxwell’s equations using multi-dimensional Riemann solvers, submitted to J. Comp. Phy., (2018).
  • [15] D. S. Balsara, C. Meyer, M. Dumbser, H. Du, and Z. Xu, Efficient implementation of ADER schemes for Euler and magnetohydrodynamical flows on structured meshes – Speed comparisons with Runge–Kutta methods, Journal of Computational Physics, 235 (2013), pp. 934–969.
  • [16] D. S. Balsara and B. Nkonga, Multidimensional Riemann problem with self-similar internal structure – part III – a multidimensional analogue of the HLLI Riemann solver for conservative hyperbolic systems, Journal of Computational Physics, 346 (2017), pp. 25–48.
  • [17] D. S. Balsara, T. Rumpf, M. Dumbser, and C.-D. Munz, Efficient, high accuracy ADER-WENO schemes for hydrodynamics and divergence-free magnetohydrodynamics, Journal of Computational Physics, 228 (2009), pp. 2480–2516.
  • [18] D. S. Balsara and D. S. Spicer, A staggered mesh algorithm using high order Godunov fluxes to ensure solenoidal magnetic fields in magnetohydrodynamic simulations, Journal of Computational Physics, 149 (1999), pp. 270–292.
  • [19] D. S. Balsara, A. Taflove, S. Garain, and G. Montecinos, Computational electrodynamics in material media with constraint-preservation, multidimensional Riemann solvers and sub-cell resolution – Part I, second-order FVTD schemes, Journal of Computational Physics, 349 (2017), pp. 604–635.
  • [20] A. Barbas and P. Velarde, Development of a Godunov method for Maxwell’s equations with Adaptive Mesh Refinement, Journal of Computational Physics, 300 (2015), pp. 186–201.
  • [21] S. H. Brecht, J. Lyon, J. A. Fedder, and K. Hain, A simulation study of east-west IMF effects on the magnetosphere, Geophysical Research Letters, 8 (1981), pp. 397–400.
  • [22] F. Brezzi, J. J. Douglas, M. Fortin, and L. D. Marini, Efficient rectangular mixed finite elements in two and three space variables, ESAIM: Mathematical Modelling and Numerical Analysis, 21 (1987), pp. 581–604.
  • [23] P. Castonguay, P. E. Vincent, and A. Jameson, A New Class of High-Order Energy Stable Flux Reconstruction Schemes for Triangular Elements, Journal of Scientific Computing, 51 (2012), pp. 224–256.
  • [24] J. Chen and Q. H. Liu, A non-spurious vector spectral element method for Maxwell’s equations, Progress In Electromagnetics Research, 96 (2009), pp. 205–215.
  • [25] B. Cockburn, S. Hou, and C.-W. Shu, The Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Conservation Laws. IV: The Multidimensional Case, Mathematics of Computation, 54 (1990), p. 545.
  • [26] B. Cockburn and C.-W. Shu, TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws. II. General framework, Mathematics of Computation, 52 (1989), pp. 411–411.
  • [27]  , The Runge–Kutta Discontinuous Galerkin Method for Conservation Laws V, Journal of Computational Physics, 141 (1998), pp. 199–224.
  • [28] W. Dai and P. R. Woodward, On the Divergence-free Condition and Conservation Laws in Numerical Simulations for Supersonic Magnetohydrodynamical Flows, The Astrophysical Journal, 494 (1998), pp. 317–335.
  • [29] D. De Grazia, G. Mengaldo, D. Moxey, P. E. Vincent, and S. J. Sherwin, Connections between the discontinuous Galerkin method and high-order flux reconstruction schemes, International Journal for Numerical Methods in Fluids, 75 (2014), pp. 860–877.
  • [30] C. R. DeVore, Flux-corrected transport techniques for multidimensional compressible magnetohydrodynamics, Journal of Computational Physics, 92 (1991), pp. 142–160.
  • [31] M. Dumbser, D. S. Balsara, E. F. Toro, and C.-D. Munz, A unified framework for the construction of one-step finite volume and discontinuous Galerkin schemes on unstructured meshes, Journal of Computational Physics, 227 (2008), pp. 8209–8253.
  • [32] M. Dumbser, O. Zanotti, A. Hidalgo, and D. S. Balsara, ADER-WENO finite volume schemes with space–time adaptive mesh refinement, Journal of Computational Physics, 248 (2013), pp. 257–286.
  • [33] C. R. Evans and J. F. Hawley, Simulation of magnetohydrodynamic flows - A constrained transport method, The Astrophysical Journal, 332 (1988), p. 659.
  • [34] S. D. Gedney, Introduction to the Finite-Difference Time-Domain (FDTD) Method for Electromagnetics, Synthesis Lectures on Computational Electromagnetics, 6 (2011), pp. 1–250.
  • [35] J. S. Hesthaven and T. Warburton, Nodal High-Order Methods on Unstructured Grids: I. Time-Domain Solution of Maxwell’s Equations, Journal of Computational Physics, 181 (2002), pp. 186–221.
  • [36] H. T. Huynh, A Flux Reconstruction Approach to High-Order Schemes Including Discontinuous Galerkin Methods, Miami, FL, June 2007, AIAA.
  • [37] T. Z. Ismagilov, Second order finite volume scheme for Maxwell’s equations with discontinuous electromagnetic properties on unstructured meshes, Journal of Computational Physics, 282 (2015), pp. 33–42.
  • [38] D. A. Kopriva and J. H. Kolias, A Conservative Staggered-Grid Chebyshev Multidomain Method for Compressible Flows, Journal of Computational Physics, 125 (1996), pp. 244–261.
  • [39] Y. Liu, M. Vinokur, and Z. Wang, Spectral difference method for unstructured grids I: Basic formulation, Journal of Computational Physics, 216 (2006), pp. 780–801.
  • [40] G. Mengaldo, D. De Grazia, P. E. Vincent, and S. J. Sherwin, On the Connections Between Discontinuous Galerkin and Flux Reconstruction Schemes: Extension to Curvilinear Meshes, Journal of Scientific Computing, 67 (2016), pp. 1272–1292.
  • [41] C.-D. Munz, P. Omnes, R. Schneider, E. Sonnendrücker, and U. Voß, Divergence Correction Techniques for Maxwell Solvers Based on a Hyperbolic Model, Journal of Computational Physics, 161 (2000), pp. 484–511.
  • [42] Q. Ren, J. Nagar, L. Kang, Y. Bian, P. Werner, and D. H. Werner, An efficient wideband numerical simulation technique for nanostructures comprised of DCP media, IEEE, July 2017, pp. 1059–1060.
  • [43] D. Ryu, F. Miniati, T. W. Jones, and A. Frank, A Divergence-free Upwind Code for Multidimensional Magnetohydrodynamic Flows, The Astrophysical Journal, 509 (1998), pp. 244–255.
  • [44] C.-W. Shu and S. Osher, Efficient Implementation of Essentially Non-oscillatory Shock-capturing Schemes, J. Comput. Phys., 77 (1988), pp. 439–471.
  • [45]  , Efficient implementation of essentially non-oscillatory shock-capturing schemes, II, Journal of Computational Physics, 83 (1989), pp. 32–78.
  • [46] R. J. Spiteri and S. J. Ruuth, A New Class of Optimal High-Order Strong-Stability-Preserving Time Discretization Methods, SIAM Journal on Numerical Analysis, 40 (2002), pp. 469–491.
  • [47]  , Non-linear evolution using optimal fourth-order strong-stability-preserving Runge–Kutta methods, Mathematics and Computers in Simulation, 62 (2003), pp. 125–135.
  • [48] A. Taflove and M. Brodwin, Computation of the Electromagnetic Fields and Induced Temperatures Within a Model of the Microwave-Irradiated Human Eye, IEEE Transactions on Microwave Theory and Techniques, 23 (1975), pp. 888–896.
  • [49]  , Numerical Solution of Steady-State Electromagnetic Scattering Problems Using the Time-Dependent Maxwell’s Equations, IEEE Transactions on Microwave Theory and Techniques, 23 (1975), pp. 623–630.
  • [50] A. Taflove and S. C. Hagness, Finite-Difference Time-Domain Solution of Maxwell’s Equations, in Wiley Encyclopedia of Electrical and Electronics Engineering, John Wiley & Sons, Inc., Hoboken, NJ, USA, May 2016, pp. 1–33.
  • [51] B. Van Leer, Towards the ultimate conservative difference scheme. IV. A new approach to numerical convection, Journal of Computational Physics, 23 (1977), pp. 276–299.
  • [52] B. van Leer, Towards the ultimate conservative difference scheme. V. A second-order sequel to Godunov’s method, Journal of Computational Physics, 32 (1979), pp. 101–136.
  • [53] P. E. Vincent, P. Castonguay, and A. Jameson, Insights from von Neumann analysis of high-order flux reconstruction schemes, Journal of Computational Physics, 230 (2011), pp. 8134–8154.
  • [54]  , A New Class of High-Order Energy Stable Flux Reconstruction Schemes, Journal of Scientific Computing, 47 (2011), pp. 50–72.
  • [55] F. Witherden, P. Vincent, and A. Jameson, High-Order Flux Reconstruction Schemes, in Handbook of Numerical Analysis, vol. 17, Elsevier, 2016, pp. 227–263.
  • [56] Z. Xu, D. S. Balsara, and H. Du, Divergence-Free WENO Reconstruction-Based Finite Volume Scheme for Solving Ideal MHD Equations on Triangular Meshes, Communications in Computational Physics, 19 (2016), pp. 841–880.
  • [57] K. Yee, Numerical solution of initial boundary value problems involving maxwell’s equations in isotropic media, IEEE Transactions on Antennas and Propagation, 14 (1966), pp. 302–307.