Sparse Grid Discontinuous Galerkin Methods for the Vlasov-Maxwell System

# Sparse Grid Discontinuous Galerkin Methods for the Vlasov-Maxwell System

Zhanjing Tao Department of Mathematics, Michigan State University, East Lansing, MI 48824 U.S.A. tzjnchy555@math.msu.edu    Wei Guo Department of Mathematics and Statistics, Texas Tech University, Lubbock, TX, 70409 U.S.A. weimath.guo@ttu.edu. Research is supported by NSF grants DMS-1620047, DMS-1830838.    Yingda Cheng Department of Mathematics, Department of Computational Mathematics, Science and Engineering, Michigan State University, East Lansing, MI 48824 U.S.A. ycheng@msu.edu. Research is supported by NSF grants DMS-1453661, DMS-1720023 and the Simons Foundation under award number 558704.
July 1, 2019
###### Abstract

In this paper, we develop sparse grid discontinuous Galerkin (DG) schemes for the Vlasov-Maxwell (VM) equations. The VM system is a fundamental kinetic model in plasma physics, and its numerical computations are quite demanding, due to its intrinsic high-dimensionality and the need to retain many properties of the physical solutions. To break the curse of dimensionality, we consider the sparse grid DG methods that were recently developed in [20, 21] for transport equations. Such methods are based on multiwavelets on tensorized nested grids and can significantly reduce the numbers of degrees of freedom. We formulate two versions of the schemes: sparse grid DG and adaptive sparse grid DG methods for the VM system. Their key properties and implementation details are discussed. Accuracy and robustness are demonstrated by numerical tests, with emphasis on comparison of the performance of the two methods, as well as with their full grid counterparts.

\extrafloats

100

Keywords: discontinuous Galerkin methods; sparse grids; Vlasov-Maxwell system; streaming Weibel instability; Landau damping.

## 1 Introduction

The Vlasov-Maxwell (VM) system is a fundamental model in plasma physics for describing the dynamics of collisionless magnetized plasmas, which finds diverse applications in science and engineering, including thermo-nuclear fusion, satellite amplifiers, high-power microwave generation, to name a few. In this paper, we study the VM system that describes the evolution of a single species of nonrelativistic electrons under the self-consistent electromagnetic field while the ions are treated as uniform fixed background. Under the scaling of the characteristic time by the inverse of the plasma frequency , length by the Debye length , and electric and magnetic fields by (with the electron mass, the speed of light, and the electron charge), the dimensionless form of the VM system is

 ∂tf+ξ⋅∇xf+(E+ξ×B)⋅∇ξf=0 , (1a) ∂E∂t=∇x×B−J,∂B∂t=−∇x×E , (1b) ∇x⋅E=ρ−ρi,∇x⋅B=0 , (1c) f(x,ξ,0)=f0(x,ξ),E(x,0)=E0(x),B(x,0)=B0(x), (1d)

with

 ρ(x,t)=∫Ωξf(x,ξ,t)dξ,J(x,t)=∫Ωξf(x,ξ,t)ξdξ ,

where the equations are defined on denotes position in physical space, and which is the velocity space. Here is the distribution function of electrons at position with velocity at time , is the electric field, is the magnetic field, is the electron charge density, and is the current density. The charge density of background ions is denoted by , which is chosen to satisfy total charge neutrality, . Ideally however numerical computation requires a truncation of the space and the assumption that is compactly supported on In this paper, for simplicity, we will assume to be box-shaped domains.

The simulations of VM systems are quite challenging. Particle-in-cell (PIC) methods [5, 22] have long been very popular numerical tools, mainly because they can generate reasonable results with relatively low computational cost. However, as a Monte-Carlo type approach, the PIC methods are known to suffer from the statistical noise, which is with being the number of sampling particles. Such an inherent low order error of PIC methods prevents accurate description of physics of interest, when, for instance, the tail of the distribution function needs to be resolved accurately. In recent years, there has been growing interest in deterministic simulations of the Vlasov equation. In the deterministic framework, the schemes are free of statistical noise and hence able to generate highly accurate results in phase space. In the context of VM simulations, Califano et al. have used a semi-Lagrangian approach to compute the streaming Weibel (SW) instability [10], current filamentation instability [28], magnetic vortices [9], magnetic reconnection [8]. Also, various methods have been proposed for the relativistic VM system [33, 4, 34, 23]. In this paper, we are interested in a class of successful deterministic Vlasov solvers based on the discontinuous Galerkin (DG) finite element discretization, because of not only their provable convergence and accommodation for adaptivity and parallel implementations, but also their excellent conservation property and superior performance in long time wave-like simulations. Those distinguishing properties of DG methods are very much desired for the VM simulations, and they have been previously employed to solve VM system [13, 12] and the relativistic VM system [37]. However, due to the curse of dimensionality, traditional deterministic approaches including the DG methods are not competitive for high dimensional Vlasov simulations, even with the aid of high performance computing systems.

To break the curse of dimensionality, this paper will focus on the sparse grid approach. The sparse grid method [7, 17] has long been an effective numerical tool to reduce the degrees of freedom for high-dimensional grid based methods. In the context of wavelets or sparse grid methods for kinetic transport equations, we mention the work of using wavelet-MRA methods for Vlasov equations [3], the combination technique for linear gyrokinetics [27], sparse adaptive finite element method [36], sparse discrete ordinates method [18] and sparse tensor spherical harmonics [19] for radiative transfer, among many others. In [35, 20], a class of sparse grid DG schemes were proposed for solving high-dimensional partial differential equations (PDEs) based on a novel sparse DG finite element approximation space. Such a sparse grid space can be regarded as a proper truncation of the standard tenor approximation space, which reduces degrees of freedom of from to , where is the uniform mesh size in each direction and is the dimension of the problem. Coupling the DG weak formulation with the sparse grid space, the resulting sparse grid DG method is demonstrated to save computational and storage cost without deteriorating the approximation quality by much. In particular, when applied to a -dimensional linear transport equation, the scheme is proven to be stable and convergent with rate in norm for a smooth enough solution, where is the degree of polynomials [20]. Motivated by the development of sparse grid DG method [20] and the adaptive multiresolution DG method [21] for transport equations, it is of interest to this paper to develop sparse grid DG methods for solving the VM system. The proposed methods are well suited for VM simulations, due to their ability to handle high dimensional convection dominated problems, the ability to capture the main structures of the solution with feasible computational resource and the overall good performance in conservation of physical quantities in long time simulations.

The rest of the paper is organized as follows: in Section 2, we describe the numerical algorithms, outlining the schemes as well as their key properties. Section 3 is devoted to discussions of simulation results. We conclude the paper in Section 4.

## 2 Numerical methods

In this section, we describe two sparse grid DG methods for the VM system: the standard sparse grid DG method and the adaptive sparse grid DG method. We first review the finite element space on sparse grid introduced in [35], and then describe the details of the schemes when applied to the VM system.

### 2.1 DG finite element space on sparse grid

In this subsection, we review the notations of DG finite element space on sparse grid. First, we introduce the hierarchical decomposition of piecewise polynomial space in one dimension. Without loss of generality, consider the interval , we define a set of nested grids, where the -th level grid consists of uniform cells , for any The nested grids result in the nested piecewise polynomial spaces. In particular, let

 Vkl:={v:v∈Pk(Ijl),∀j=0,…,2l−1}

be the usual piecewise polynomials of degree at most on the -th level grid . Then, we have

 Vk0⊂Vk1⊂Vk2⊂Vk3⊂⋯

We can now define the multiwavelet subspace , as the orthogonal complement of in with respect to the inner product on , i.e.,

 Vkl−1⊕Wkl=Vkl,Wkl⊥Vkl−1.

Note that the space , for , represents the finer level details when the grid is refined and this is the key to the reduction of the degrees of freedom in higher dimensions. We further let , which is standard piecewise polynomial space of degree on . Therefore, we have found a hierarchical representation of the standard piecewise polynomial space on as . In [35], we used the orthonormal basis functions for space which are constructed based on the one-dimensional orthonormal multiwavelet bases first introduced in [1]. We refer readers to [1] and [35] for more details. We now denote the basis functions in level as

 vji,l(x),i=1,…,k+1,j=0,…,2l−1−1,

and they are orthonormal, i.e.

Below we give an example of the basis functions. We denote the bases for as

 hi(x)=21/2fi(2x−1),i=1,…,k+1,

where are functions supported on depending on . For instance, when , the formulas for restricted to the interval are

 f1(x)= √1534(1+4x−30x2+28x3) f2(x)= √142(−4+105x−300x2+210x3) f3(x)= 12√3534(−5+48x−105x2+64x3) f4(x)= 12√542(−16+105x−192x2+105x3).

The functions are extended to as even or odd functions according to the parity of :

 fi(x)=(−1)i+kfi(−x),x∈(−1,0),

and are zero outside . Then, the bases for are defined as

 vji,l(x)=2(l−1)/2hi(2l−1x−j),i=1,…,k+1,j=0,…,2l−1−1.

Now we are ready to prescribe the sparse finite element space in -dimensions on . Notice similar discussions apply for any box-shaped domain in dimensions. First we recall some basic notations about multi-indices. For a multi-index , where denotes the set of nonnegative integers, the and norms are defined as

 |α|1:=d∑m=1αm,|α|∞:=max1≤m≤dαm.

The component-wise arithmetic operations and relational operations are defined as

 α⋅β:=(α1β1,…,αdβd),c⋅α:=(cα1,…,cαd),2α:=(2α1,…,2αd),
 α≤β⇔αm≤βm,∀m,α<β⇔α≤β and α≠β.

By making use of the multi-index notation, we indicate by the mesh level in a multivariate sense, where denotes non-negative integers. We consider the tensor-product rectangular grid with mesh size Based on the grid , an elementary cell is denoted by , and

 Vkl(Ω):={v:v(x)∈Qk(Ijl),0≤j≤2l−1}=Vkl1,x1×⋯×Vkld,xd

is the tensor-product piecewise polynomial space, where denotes polynomials of degree up to in each dimension on cell . If , the grid and space will be denoted by and , respectively. For the increment space the orthonormal basis functions can be defined as

 vji,l(x)≐d∏m=1vjmim,lm(xm),im=1,…,k+1,jm=0,…,max(0,2lm−1−1),

where denote orthonormal bases in m-th dimension defined in one-dimensional case. With the one-dimensional hierarchical decomposition, we have

 VkN(Ω)=⨁|l|∞≤NWkl.

The sparse finite element approximation space on mesh we use in this paper, on the other hand, is defined by [35, 20]

 ^VkN(Ω):=⨁|l|1≤NWkl.

This is a subset of , and its number of degrees of freedom scales as or , where denotes the finest mesh size in each direction [35]. This is significantly less than that of with number of elements when is large. The sparse grid DG scheme in Section 2.2 is defined using this space. The adaptive sparse grid DG scheme, however, relies on an adaptive choice of the space, and will be discussed in details in Section 2.3.

### 2.2 The sparse grid DG scheme

Below, we formulate a DG scheme in the sparse finite element space for the VM system (1a)-(1b) inspired by [13]. On the PDE level, the two equations in (1c) involving the divergence of the magnetic and electric fields can be derived from the remaining part of the VM system. However, how to impose (1c) numerically is an important and nontrivial issue [29, 2, 24]. This will be studied in our future work.

Using the notations introduced in the previous subsections, and let and be the dimension of and , respectively, we consider the partitions of the domain into mesh level in all directions. We distinguish between the - and -directions. Let and be the collection of all elements in and , respectively. Let be the union of the edges for all elements in , similarly let be the union of the edges for all elements in . Furthermore, with and being the union of interior and boundary edges of , respectively.

For piecewise functions, we further introduce the jumps and averages as follows. Suppose and are two elements in . For any edge , with as the outward unit normal to , , and , the jumps across are defined as

 [g]x=g+n+x+g−n−x,[U]x=U+⋅n+x+U−⋅n−x,[U]τ=U+×n+x+U−×n−x

and the averages are

 {g}x=12(g++g−),{U}x=12(U++U−).

When considering periodic boundary conditions, the jumps and averages can be naturally defined on the boundary edges.

By replacing the subscript with , the jumps and averages can be defined similarly for the -direction. For a boundary edge with being the outward unit normal, we use

 [g]ξ=gnξ,{g}ξ=12g . (2)

This is consistent with the fact that the exact solution is assumed to be compactly supported in -domain.

We are now ready to describe the scheme. The sparse discrete spaces on and we use are defined as

 ^Gkh=^VkN(Ω),^Ukh=[^VkN(Ωx)]dx.

Following [20], the semi-discrete DG methods for the VM system are: to find , , such that for any , ,

 ∫Ω∂tfhgdxdξ −∫Ωfhξ⋅∇xgdxdξ−∫Ωfh(Eh+ξ×Bh)⋅∇ξgdxdξ +∫Ωξ∫Exˆfhξ⋅[g]xdsxdξ+∫Ωx∫Eξˆfh(Eh+ξ×Bh)⋅[g]ξdsξdx=0 , (3a) ∫Ωx∂tEh⋅Udx =∫ΩxBh⋅∇x×Udx+∫ExˆBh⋅[U]τdsx−∫ΩxJh⋅Udx , (3b) ∫Ωx∂tBh⋅Vdx =−∫ΩxEh⋅∇x×Vdx−∫ExˆEh⋅[V]τdsx , (3c)

with

 Jh(x,t)=∫Ωξfh(x,ξ,t)ξdξ ∈^Ukh. (4)

All “hat” functions are numerical fluxes. For the Vlasov part, we adopt the global Lax-Friedrichs flux:

 ˆfhξ: ={fhξ}x+α12[fh]x , (5a) ˆfh(Eh+ξ×Bh): ={fh(Eh+ξ×Bh)}ξ+α22[fh]ξ , (5b)

where and , where the maximum is taken for all possible and at time in the computational domain. For the Maxwell part, we use the upwind flux

 ˆEh: ={Eh}x+12[Bh]τ , (6a) ˆBh: ={Bh}x−12[Eh]τ , (6b)

or the alternating fluxes

 ˆEh:=E+h,ˆBh:=B−h,orˆEh:=E−h,ˆBh:=B+h . (7)

Previous studies in [12, 13] have demonstrated the importance of numerical flux on the quality of DG simulations. It was understood that a dissipative flux choice is desired for the Vlasov equation. The alternating and upwind fluxes are both optimal in order for the Maxwell solver, but alternating flux is energy-conserving for the Maxwell’s equation, while upwind flux is not. We will not consider the central flux based on the recommendations made in [13].

Below, we will summarize the conservation and stability properties of the semi-discrete scheme. The proof is very similar to those in [13] and is thus omitted.

###### Theorem 2.1 (Mass conservation)

The numerical solution with satisfies

 ddt∫Ωfhdxdξ+Θh,1(t)=0 , (8)

where

 Θh,1(t)=∫Ωx∫Ebξfhmax((Eh+ξ×Bh)⋅nξ,0)dsξdx .

Equivalently, with , for any , the following holds:

 ∫Ωxρh(x,T)dx+∫T0Θh,1(t)dt=∫Ωxρh(x,0)dx . (9)
###### Theorem 2.2 (Energy conservation)

For , the numerical solution , with the upwind numerical flux (6a)-(6b) for the Maxwell part satisfies

 ddt(∫Ωfh|ξ|2dxdξ+∫Ωx(|Eh|2+|Bh|2)dx)+Θh,2(t)+Θh,3(t)=0 ,

with

 Θh,2(t)=∫Ex(|[Eh]τ|2+|[Bh]τ|2)dsx ,Θh,3(t)=∫Ωx∫Ebξfh|ξ|2max((Eh+ξ×Bh)⋅nξ,0)dsξdx .

While for the scheme with alternating fluxes (7) for the Maxwell part, we have

 ddt(∫Ωfh|ξ|2dxdξ+∫Ωx(|Eh|2+|Bh|2)dx)+Θh,3(t)=0 .

In the theorems above, terms like come from numerical errors of the velocity boundary truncation from an infinite to a finite domain. If those terms are negligible, i.e. when is chosen sufficiently large, we can conclude that the scheme is mass-conservative, and energy-conservative if the alternating flux is used for the Maxwell solver.

###### Theorem 2.3 (L2-stability of fh)

For , the numerical solution satisfies

 ddt(∫Ω|fh|2dxdξ)≤0 .

As for time, we use the total variation diminishing Runge-Kutta (TVD-RK) methods [32] to solve the ordinary differential equations resulting from the discretization (3a)-(3c), denoted by In particular, we use the following third-order TVD-RK method in this paper

 u(1)h =un+ΔtR(unh), u(2)h =34un+14u(1)h+14ΔtR(u(1)h), (10) un+1h =13un+23u(2)h+23ΔtR(u(2)h),

where represents the numerical solutions at time level .

Finally, we mention some details about implementation. A key to computational efficiency is the efficient evaluation of multidimensional integrations. To compute multidimensional integration, we apply the unidirectional principle. For example, if we want to evaluate with , it is equivalent to multiplication of one-dimensional integrals Based on the hierarchical structure of the basis functions, we only need some small overhead to compute one-dimensional integrals and assemble them to obtain the multi-dimensional integrations. In (3a)-(3c), the numerical integrations with coefficients and (which belong to ) can be done very efficiently because they can all be computed using this trick. This procedure is performed one time before time evolution starts, and the sparsity of the matrices due to the multiwavelet basis structures is utilized to accelerate the computation [35].

### 2.3 The adaptive sparse grid DG scheme

In this subsection, we will describe the adaptive sparse grid DG (also called adaptive multiresolution DG) method [21] for the VM system. The motivation to study the adaptive scheme is to offer better numerical resolutions for the probability density function. It is known that the solution to Vlasov equation develops filamentation, therefore the standard sparse grid method can not offer enough resolution when becomes large (see [21] for comparison in the case of the Vlasov-Poisson system). Therefore, in this paper, we also consider the adaptive scheme.

The main idea of the algorithm is not to use in a pre-determined fashion, but rather to choose a subspace of adaptively. In this work, adaptivity is only implemented for not for the lower-dimensional variables which are computed using the full finite element space. This will not cause much additional cost because the Maxwell’s equations are in lower dimension than the Vlasov equation. If the computational and storage cost is a big concern, then the adaptive strategy can be potentially applied to the Maxwell’s part as well.

The algorithm is described in details below. Given a maximum mesh level and an accuracy threshold , we first use the adaptive multiresolution projection algorithm [21] to get the numerical initial condition for the DG scheme. For completeness of the paper, the details of the method is listed below in Algorithm 1.

Input: Function .

Parameters: Maximum level polynomial degree error threshold

Output: Hash table , leaf table and projected solution

1. Project onto the coarsest level of mesh, e.g., level 0. Add all elements to the hash table (active list). Define an element without children as a leaf element, and add all the leaf elements to the leaf table (a smaller hash table).

2. For each leaf element in the leaf table, if the refinement criteria

 (∑1≤i≤k+1|fji,l|2)12>ε, (11)

holds, then we consider its child elements: for a child element , if it has not been added to the table , then compute the detail coefficients and add to both table and table . For its parent elements in , we increase the number of children by one.

3. Remove the parent elements from table for all the newly added elements.

4. Repeat step 2 - step 3, until no element can be further added.

When the adaptive projection algorithm completes, it will generate a hash table , leaf table and . We denote the approximation space and it is a subspace of On the other hand, we compute the initializations of by a simple projection of onto .

Then we begin the time evolution algorithm which consists of several key steps. The first step is the prediction step, which means that, given the hash table that stores the numerical solution at time step and the associated leaf table , we need to predict the location where the details becomes significant at the next time step , then add more elements in order to capture the fine structures. We solve for from to based on the solutions and at time . The forward Euler discretization is used as the time integrator in this step and we denote the predicted solution at by

The second step is the refinement step according to . We traverse the hash table and if an element satisfies the refinement criteria (11), indicating that such an element becomes significant at the next time step, then we need to add its children elements to and provided they are not added yet, and set the associated detail coefficients to zero. We also need to make sure that all the parent elements of the newly added element are in (i.e., no “hole” is allowed in the hash table) and increase the number of children for all its parent elements by one. This step generates the updated hash table and leaf table . Note that (11) corresponds to the -norm based refinement criteria in [21].

Based on the updated hash table , the third step is to evolve the numerical solution by the DG weak formulation with space . Namely, we solve for from to , by the TVD-RK scheme (10) to generate the pre-coarsened numerical solution . Meanwhile, we also evolve the numerical solutions and from to with space .

The last step is to coarsen the mesh by removing elements that become insignificant at time level The hash table that stores the numerical solution is recursively coarsened by the following procedure. The leaf table is traversed, and if an element satisfies the coarsening criterion

 (∑1≤i≤k+1|fji,l|2)12<η, (12)

where is a prescribed error constant, then we remove the element from both table and , and set the associated coefficients . For each of its parent elements in table , we decrease the number of children by one. If the number becomes zero, i.e, the element has no child any more, then it is added to the leaf table accordingly. Repeat the coarsening procedure until no element can be removed from the table . The output of this coarsening procedure are the updated hash table and leaf table, denoted by and respectively, and the compressed numerical solution . In practice, is chosen to be smaller than for safety. In the simulations presented in this paper, we use . For the adaptive sparse grid DG scheme, the properties of conservation of moments are not as clear as the sparse grid DG schemes, and will be subject to the error thresholds , see [21].

## 3 Numerical results

In this section, we consider two numerical tests to benchmark the performance of the proposed schemes.

### 3.1 1D2V streaming Weibel instability

Here, we consider the streaming Weibel (SW) instability, which has been previously considered both analytically and numerically [10, 13, 12].

###### Example 3.1

In this case, a reduced version of the single species VM system with one spatial variable , and two velocity variables is considered:

 ft +ξ2fx2+(E1+ξ2B3)fξ1+(E2−ξ1B3)fξ2=0 , (13) ∂B3∂t =∂E1∂x2,∂E1∂t=∂B3∂x2−j1,∂E2∂t=−j2 , (14)

where

 j1=∫∞−∞∫∞−∞f(x2,ξ1,ξ2,t)ξ1dξ1dξ2,j2=∫∞−∞∫∞−∞f(x2,ξ1,ξ2,t)ξ2dξ1dξ2 . (15)

Here, is the distribution function of electrons, is the 2D electric field, and is the 1D magnetic field. Ions are assumed to form a constant background.

The initial condition is given by

 f(x2,ξ1,ξ2,0) =1πβe−ξ22/β[δe−(ξ1−v0,1)2/β+(1−δ)e−(ξ1+v0,2)2/β], (16) E1(x2,ξ1,ξ2,0) =E2(x2,ξ1,ξ2,0)=0,B3(x2,ξ1,ξ2,0)=bsin(k0x2) . (17)

where denotes the amplitude of the initial perturbation to the magnetic field, is the thermal velocity, which is take to be , and is a parameter measuring the symmetry of the electron beams. Note that when , this initial condition is an equilibrium state representing counter-streaming beams propagating perpendicular to the direction of inhomogeneity. As in [10], the instability can be triggered by taking as a perturbation of the initial magnetic field. The computational domain is chosen to be , where and . We consider two sets of parameters as in [10]

 choice 1–––––––––:  δ = 0.5,v0,1=v0,2=0.3,k0=0.2; choice 2–––––––––:  δ = 1/6,v0,1=0.5,v0,2=0.1,k0=0.2,

which lead to initially symmetric and strongly non-symmetric counter-streaming electron beams, respectively. For all numerical simulations, unless otherwise noted, the time step is chosen according to the mesh on the most refined level, i.e.

 Δt=CFLd∑m=1cmhN,

where is the maximum wave propagation speed in -th direction, and we take .

Accuracy test and comparisons. It is well-known that the VM system is time reversible, and such property provides practical means to test accuracy for VM solvers. To elaborate, let be the initial condition and be the solution at for the VM system. When we reverse the velocity field of the solution and the magnetic filed, yielding , and evolve the VM system again to , then we can recover , which is the initial condition with the reverse velocity field and the reverse magnetic field. For the accuracy test, we compute the solutions to and then reversely back to , and compare the numerical solutions with the initial condition. The errors of are defined as

 for f: √1|Ω|∫Ω(f(x2,ξ1,ξ2)−fh(x2,ξ1,ξ2))2dx2dξ1dξ2, for E: √1Ly∫Ωx(E1(x2)−E1,h(x2))2+(E2(x2)−E2,h(x2))2dx2, (18) for B: √1Ly∫Ωx(B3(x2)−B3,h(x2))2dx2,

where are the numerical approximations to the exact solutions .

We test accuracy for the sparse grid DG method with on different levels of meshes. For , we take to match the temporal and spatial orders in the convergence study. The errors and orders of the numerical solutions with upwind and alternating fluxes for parameter choice 1 are reported in Tables 1 and 2. Similar to [20], we observe at least -th order accuracy for both fluxes. When comparing the results of the two tables, we find that the errors are identical for , while there are some slight differences in the errors of the electromagnetic fields. This is expected because the solvers only differ in the discretization of Maxwell’s equations.