## Abstract

We present a new numerical method for solving time dependent Maxwell equations, which is also suitable for general linear hyperbolic equations. It is based on an unstructured partitioning of the spacetime domain into tent-shaped regions that respect causality. Provided that an approximate solution is available at the tent bottom, the equation can be locally evolved up to the top of the tent. By mapping tents to a domain which is a tensor product of a spatial domain with a time interval, it is possible to construct a fully explicit scheme that advances the solution through unstructured meshes. This work highlights a difficulty that arises when standard explicit Runge Kutta schemes are used in this context and proposes an alternative structure-aware Taylor time-stepping technique. Thus explicit methods are constructed that allow variable time steps and local refinements without compromising high order accuracy in space and time. These Mapped Tent Pitching (MTP) schemes lead to highly parallel algorithms, which utilize modern computer architectures extremely well.

Download conference paper PDF

## 1 Introduction

Electromagnetic waves propagate at the speed of light. Thus, the field at a certain point in space and time depends only on field values within a dependency cone. A tent pitching method introduces a special “causal” spacetime mesh that respects this finite speed of propagation. It is not limited to Maxwell equations, but can be applied to general hyperbolic equations. A tent pitching method requires a numerical scheme to discretize the equation on that mesh. Discontinuous Galerkin (DG) methods are of particular interest since they offer a systematic avenue to build high order methods. For a given initial condition at the bottom of a tent, the discrete equations may be solved within each individual tent, up to the tent top. The computed solution at the tent top provides initial conditions for the tents that follow later in time. This method is highly parallel, since many tents can be solved independently. Methods using such tent-pitched meshes may be traced back to [5, 7]. More recent works [1, 6, 8] develop Spacetime DG (SDG) methods within tents by formulating local variational problems, for which linear systems are set up and solved. Although these systems are local, the matrix size can grow rapidly with the polynomial order, especially in four-dimensional spacetime tents. In this context it is natural to ask if one can develop explicit schemes (which usually perform well under low memory bandwidth) that take advantage of tents.

A key ingredient to answer this question was presented in [2], where Mapped Tent Pitching (MTP) schemes were introduced. The MTP discretization, which proceeds by mapping tents to a spacetime cylinder, allows one to evolve the solution either implicitly or explicitly within tents. The memory requirements of the explicit MTP scheme are limited to what is needed for storing the spatial mesh, the solution coefficients at one time step, and the topology of the tents.

In this work, we show that notwithstanding the above-mentioned advantages of the explicit MTP scheme, one may lose higher order convergence if a naive time stepping strategy (involving a standard explicit Runge-Kutta scheme) is used. We then develop a new Taylor time-stepping for the local problems within tents. Despite its simplicity, our numerical experiments show that it delivers optimal order of convergence.

## 2 Mesh Generation by Tent Pitching

We start with a conforming spatial mesh consisting of elements \({\mathcal T} = \{ T \}\) and vertices \({\mathcal V} = \{ V \}\). We progress in time by defining a sequence of advancing fronts *τ*
_{i}. A front *τ*
_{i} is given as a standard nodal finite element function on this mesh. It is defined by storing the current time for every vertex of the mesh. We move from *τ*
_{i} to the next front *τ*
_{i+1} by moving one vertex forward in time, while keeping all other vertices fixed. The spacetime domain between *τ*
_{i} and *τ*
_{i+1} we call a tent. In Fig. 1, the red domain is the tent between *τ*
_{i} and *τ*
_{i+1}.

Its projection to the spatial domain is exactly the vertex patch *ω*
_{V} around *V* of the original mesh. The data to be stored for one tent are the bottom and top-times of the central vertex, plus the times for all neighboring vertices.

Note that although the algorithm is described sequentially, it is highly parallel. Vertices with graph-distance of at least two can be moved forward independently. For example, in Fig. 1, all blue tents can be built and processed in parallel.

The distance for advancing a vertex is limited by the speed of light, a constraint often referred to in the literature as the *causality condition.* Under this condition, the Maxwell problem inside the tent is solvable using the initial conditions at the tent bottom. Thus, the top boundary is an outgoing boundary and no boundary conditions are needed there.

Note that the spatial mesh is refined towards the right boundary, which leads to smaller tent heights at the right boundary. Hence, smaller time steps in locally refined regions is a very natural feature of tent pitching methods.

## 3 The MTP Discretization

Now, we consider the discretization method for one tent domain *K* = {(*x*, *t*): *x* ∈ *ω*
_{V}, *φ*
_{b}(*x*) ≤ *t* ≤ *φ*
_{t}(*x*))}, where *ω*
_{V} is the union of elements containing the vertex *V* , and *φ*
_{b} and *φ*
_{t} are the bottom and top fronts, respectively, restricted to *ω*
_{V}. Our aim is to numerically solve the Maxwell system on *K*, namely

where boundary values for both fields are given at the tent bottom and ∇ = ∇_{x} denotes the spatial gradient.

The approach of MTP schemes is to map the tent domain to a spacetime cylinder *ω*
_{V} × (0, 1) and solve the transformed equation there. The transformation from the cylinder to the tent is denoted by *Φ*: *ω*
_{V} × (0, 1) → *K* and is defined by \(\varPhi (x, \hat t) = (x, \varphi (x,\hat t))\) where

It is similar to the Duffy transformation mapping a square to a triangle.

With the notation

we can rephrase the curl operator as \( \nabla \times E = \operatorname {div} \operatorname {skew} E, \) where the divergence of the matrix function is taken row-wise. To simplify notation further, we define \(u : K \rightarrow { {\mathbb R} }^6\) by *u* = (*E*, *H*), and set \(g : K \rightarrow {\mathbb R} ^6\) and \(f : K \rightarrow {\mathbb R} ^{6 \times 3}\) by

Then (1) may be rewritten as the conservation law \(\partial _t g(u) + \operatorname {div}_x f(u) = 0.\) Furthermore, we define \(F(u) \in {\mathbb R} ^{6 \times 4}\) as

which allows us to write Maxwell’s system (1) as the spacetime conservation law

For each row of *F*, the spacetime divergence \(\operatorname {div}_{x,t}\) sums the spatial divergence of the first three components with the time-derivative of the last component (Fig. 2).

Now, we apply the Piola transformation to pull back *F* from the tent *K* to the cylinder using the mapping *Φ*. The derivative of *Φ* and its transposed inverse are

The Piola transform of *F* is \( \widehat F(\hat u) \,{=}\, {\mathcal P} \{ F \} \,{=}\, (\det \varPhi ^\prime ) (F \circ \varPhi ) (\varPhi ^\prime )^{-T} \) with \(\hat u\,{=}\,u\circ \varPhi \). Since the Piola transform provides an algebraic transformation of the divergence, Eq. (3) is simply transformed to \(\operatorname {div}_{x, \hat t} \widehat F(\hat u) = 0\) on the spacetime cylinder. Then, inserting the Jacobian of *Φ* leads us to the transformed equation

where *δ*(*x*) = *φ*
_{t}(*x*) − *φ*
_{b}(*x*) is the local height of the tent. Note that ∇*φ* is an affine-linear function in quasi-time \(\hat t\). Equation (4) describes the evolution of \(\hat u\) along quasi-time from \(\hat t = 0\) to \(\hat t = 1\). Details of the calculations are given in [2].

The next step is the space discretization of (4) by a standard discontinuous Galerkin method. Let *V*
_{h} ⊂ [*L*
_{2}]^{6} be the DG finite element space of degree *p* on \(\mathcal {T}\). On each tent we search for \(\hat u : [0,1] \rightarrow V_h\) such that

holds for all *v*
_{h} ∈ *V*
_{h} and all \(\hat t \in [0,1]\). Only the restriction of *V*
_{h} on the patch *ω*
_{V} is used in this equation. The numerical flux \(f_n(\hat u^+, \hat u^-)\) depends on the positive trace \(\lim _{s \rightarrow 0^+} \hat u(x+sn)\) and negative trace \(\lim _{s \rightarrow 0^+} \hat u(x-sn)\), where *n* is a unit normal vector of arbitrary orientation to the face. The jump is defined as usual by \([\![ \hat u ]\!] := \hat u^+ - \hat u^-\) and the mean value by \(\{ \hat u \} := \tfrac {1}{2}( \hat u^+ + \hat u^- )\). One example is the upwind flux [3, p. 434]

with the tangential components \(\hat E_t=-(\hat E\times n)\times n\) and \(\hat H_t=-(\hat H\times n)\times n\) of \(\hat E = E\circ \varPhi \) and \(\hat H = H\circ \varPhi \). Note that the local tent height *δ* enters the boundary integrals as a multiplicative factor. At the outer boundary of the vertex patch we have *δ* = 0, so the facet integrals on the outer boundary disappear. For the above semidiscrete system, initial values for the tent problem are given finite element functions at the tent bottom. The finite element solution on the tent top provides the initial conditions for the next level tent. Therefore, no projection of initial values is needed when propagating from one tent to the next.

After the semi-discretization, as usual, we are left to solve a system of \(N = \dim V_h(\omega _V)\) ordinary differential equations for \(U : [0,1] \rightarrow {\mathbb R} ^N\),

given *U*(0). The non-standard feature of (5) is that *M* is an affine-linear function of the quasi-time \(\hat t\) (since our mapping enters the mass matrix *M* through ∇*φ*). The matrix *A* is independent of \(\hat t\). A straightforward approach is to substitute *Y* = *MU* and solve

instead of (5). Although first order convergence was observed with this strategy, further numerical studies showed reduced order of convergence if the stage-order of the Runge Kutta (RK) method is not high enough—see Fig. 3 (right). While the implicit MTP schemes discussed in [2] do not show this problem, the issue remains critical for explicit schemes. Thus, we propose to use a new type of explicit time-stepping for time discretization, discussed next.

## 4 Structure-Aware Taylor Time-Stepping

Returning to the ordinary differential equation (5) and continuing to make the substitution *Y* = *MU*, we now reconsider the previous equation as the following differential-algebraic system:

We begin by subdividing the interval (0, 1) into \(m\in \mathbb {N}\) smaller intervals of size \(\frac {1}{m}\), defined by \((\hat t_i,\hat t_{i+1})=(\frac {i}{m},\frac {i+1}{m})\), for \(i\in \mathbb {N}\) and 0 ≤ *i* ≤ *m* − 1. Recall that *A* is independent of quasi-time \(\hat t\), and *M* is an affine function of \(\hat t\), i.e.,

where \(M_i = M(\hat t_i)\) and the derivative *M′* is a constant matrix. We want to design a time-stepping scheme that is aware of this structure.

Consider the approximations to *Y*, *U* on \((\hat t_i,\hat t_{i+1})\) in the form of Taylor polynomials *Y*
_{i}, *U*
_{i} of degree *q*, defined by

where \(Y_{i,n}=Y_i^{(n)}(\hat t_i)\) and \(U_{i,n}=U_i^{(n)}(\hat t_i).\) To find these derivatives, we differentiate both equations of (6) *n* times to get

For the second equation we used Leibnitz’ formula \((fg)^{(n)} = \sum _{i=0}^n { n \choose i } f^{(i)} g^{(n-i)}\), and the fact that *M* is affine-linear. Evaluating these equations for the Taylor polynomials *Y*
_{i}, *U*
_{i} at \(\hat t = \hat t_i\), we obtain a recursive formula for *Y*
_{i,n} and *U*
_{i,n} in terms of *U*
_{i,n−1}, namely

for all 0 ≤ *i* ≤ *m* − 1. Given \(Y_{0,0} = Y(\hat t_0)\), *M*
_{0}
*U*
_{0,0} = *Y*
_{0,0}, applying (8) with *i* = 0 gives the approximate functions \(Y_0(\hat t), U_0(\hat t)\) in the first subinterval \((\hat t_0, \hat t_1)\). The recursive formulas are initiated for later subintervals at *n* = 0 by

After the final subinterval, we get *Y*
_{m−1}(*t*
_{m}), our approximation to *Y* (1). We shall refer to the new time-stepping scheme generated by (8) as the *q*-stage *SAT (structure-aware Taylor) time-stepping.*

Note that *Y*
_{m−1}(*t*
_{m}) is our approximation to *Y* = *MU* at the top of the tent. This value is then passed to the next tent in time. The time dependence of *M* arises from the time dependence of ∇*φ*. This gradient is continuous along spacetime lines of constant spatial coordinates. Therefore, when passing from one element of a tent to the same element within the next tent in time, *Y* is continuous (since the solution *U* is continuous). Of course, on flat fronts ∇*φ* = ∇*τ* = 0, so there *M* is just a diagonal matrix containing the material parameters.

To briefly remark on the expected convergence rate of a *q*-stage SAT time-stepping, recall that due to the mapping of the MTP method we solve for \(\hat u = u \circ \varPhi \), which satisfies \( \partial ^n_{\hat t} \hat u = \delta ^n (\partial ^n_tu) \circ \varPhi \). The causality condition implies that *δ* → 0 if the mesh size *h* → 0. Thus we may expect the *n*th temporal derivative of \(\hat u\), and correspondingly *U*
^{(n)}, to go to zero at the rate \(\mathcal {O}(h^n)\). By using a *q*-stage SAT time-stepping, we approximate the first *q* − 1 terms of the exact Taylor expansion of *U*. Thus we expect the convergence rate to be *O*(*h*
^{q}), the size of the remainder term involving *U*
^{(q)}. The next section provides numerical evidence for this.

Before concluding this section, we should note that in (8) and (9), we tacitly assumed that *M*
_{i} is invertible. Let us show that this is indeed the case whenever the causality condition (see Sect. 2) \(|\nabla \varphi | < \sqrt {\varepsilon \mu }\) is fulfilled. At any quasi-time \(\hat t\), given a \(\hat w = (\hat {w}_E, \hat {w}_H) \in V_h\) whose coefficient vector in the basis expansion is \(W \in \mathbb {R}^N\), consider the equation \(M(\hat t) U = W\) for the coefficient vector *U* of \( \hat u \in V_h\). This equation, in variational form, is

Let \(a(\hat u, \hat v)\) denote the left hand side of (10). To prove solvability of (10), it suffices to prove that *a*(⋅, ⋅) is a coercive bilinear form on [*L*
_{2}]^{6} for any \(\hat t\). By inserting \(g(\hat u) = [\varepsilon \hat E, \mu \hat H ]^T\) and \(f(\hat u) = [-\operatorname {skew} \hat H, \operatorname {skew} \hat E]^T\) into \(a(\hat u, \hat u)\),

where we used the Cauchy-Schwarz inequality and inserted \(\sqrt {\varepsilon }\) and \(\sqrt {\mu }\) to achieve the desired scaling. By applying Young’s inequality and \(|\nabla \varphi | < \sqrt {\varepsilon \mu }\),

form some constant *C* > 0. Thus *M*
_{i} is invertible and the SAT time-stepping is well defined on all tents respecting the causality condition.

One may exploit the specific details of the Maxwell problem to avoid the assembly and the inversion of matrices *M*
_{i} (as we have done in our implementation). In fact, instead of (10), we can explicitly solve the corresponding exact undiscretized equation obtained by replacing *V*
_{h} by [*L*
_{2}]^{6} in (10). The solution \(\hat u = ( \hat {E}, \hat {H})\) in closed form reads

We then perform a projection of these into *V*
_{h} to obtain the coefficients \(U(\hat t_i)\). For uncurved elements, this just involves the inversion of a diagonal mass matrix. For the small number of curved elements, we use a highly optimized algorithm which uses an approximation instead of the exact inverse mass matrix.

## 5 Numerical Results

The MTP discretization in combination with the SAT time-stepping on tents is implemented within the Netgen/NGSolve finite element library. In this section numerical results concerning accuracy as well as performance are reported.

### 5.1 Convergence Studies in Two Space Dimensions

We consider the model problem in two space dimensions

on the spacetime cube \([0,\pi ]^2 \times [0,\sqrt {2}\pi ]\). Parameters are set *ε* = *μ* = 1 such that speed of light is *c* = 1. Initial and boundary values are set such that the exact solution is given by

Based on a spatial mesh with mesh size *h*, we generate a tent pitched mesh such that the maximal slope |∇*φ*| is bounded by (2*c*)^{−1} and apply a discontinuous Galerkin method in space using polynomials of order *p*, with 1 ≤ *p* ≤ 4. On each cylinder we perform a (*p* + 1)-stage SAT time-stepping with *m* = 2*p* intervals. The spatial *L*
_{2} error of all field components at the final time is reported in the left plot of Fig. 3. We observe that the error goes to zero at the optimal rate of \(\mathcal {O}(h^{p+1})\) until we are close to machine precision.

In contrast, the right plot in Fig. 3 illustrates the previously mentioned loss of convergence rates when the classical Runge-Kutta method is used. The convergence rates stagnate at first order no matter what *p* is used. A similar behavior was also observed for other explicit Runge-Kutta methods.

### 5.2 Large Scale Problem in Three Space Dimensions

As a second example we present a simulation on a domain similar to the resonator shown in [4]. The geometry is given as body of revolution of smooth B-spline curves. The mesh consisting of 489,593 curved tetrahedral elements is shown in Fig. 4. Due to higher curvature the mesh is refined along the inner roundings, where the ratio of the largest to the smallest element is approximately 5:1. We used a Gaussian peak (located at the axis of revolution and the position of the fifth inner rounding) for the electric field as initial data. The explicit MTP scheme with SAT time-stepping then computed the solution at *t* = 260 using time slabs of height 1, with each slab composed of *N*
_{tents} = 149, 072 tents. On each tent we used a (*p* + 1)-stage SAT time-stepping with *m* = 2*p* intervals, where *p* denotes the spatial polynomial order. With the spatial degrees of freedom *N*
_{dof,i} of the *i*th tent and the number of stages *q* = *p* + 1, we obtain the total spacetime degrees of freedom per time slab

The corresponding numbers of degrees of freedom and the simulation times are shown in Table 1. In [4] a similar problem is solved using a discontinuous Galerkin method with quadratic elements, combined with a polynomial Krylov subspace method in time. Using 96 cores it took them 7:10 h to reach the final time. Our simulation with polynomial order *p* = 3, which has a comparable number of unknowns, took 3:33 h on 64 cores. This significant speed up is an illustration of the capability of the new method. The *H*
_{y} component of the obtained solution at *t* = 260, using third order polynomials in space, is shown in Fig. 4.

## References

Abedi, R., Petracovici, B., Haber, R.B.: A spacetime discontinuous Galerkin method for elastodynamics with element-wise momentum balance. Comput. Methods Appl. Mech. Eng.

**195**, 3247–3273 (2006)Gopalakrishnan, J., Schöberl, J., Wintersteiger, C.: Mapped tent pitching schemes for hyperbolic systems. SIAM J. Sci. Comput.

**39**, B1043–B1063 (2017)Hesthaven, J.S., Warburton, T.: Nodal Discontinuous Galerkin Methods. Texts in Applied Mathematics, vol. 54. Springer, New York (2008). Algorithms, analysis, and applications

Hochbruck, M., Pažur, T., Schulz, A., Thawinan, E., Wieners, C.: Efficient time integration for discontinuous Galerkin approximations of linear wave equations. ZAMM Z. Angew. Math. Mech.

**95**(3), 237–259 (2015)Lowrie, R.B., Roe, P.L., van Leer, B.: A space-time discontinuous Galerkin method for the time-accurate numerical solution of hyperbolic conservation laws. In: Proceedings of the 12th AIAA Computational Fluid Dynamics Conference, pp. 95–1658 (1995)

Monk, P., Richter, G.R.: A discontinuous Galerkin method for linear symmetric hyperbolic systems in inhomogeneous media. J. Sci. Comput.

**22/23**, 443–477 (2005)Richter, G.R.: An explicit finite element method for the wave equation. Appl. Numer. Math.

**16**(1–2), 65–80 (1994)Yin, L., Acharia, A., Sobh, N., Haber, R.B., Tortorelli, D.A.: A spacetime discontinuous Galerkin method for elastodynamics analysis. In: Cockburn, B., Karniadakis, G., Shu, C.W. (eds.) Discontinuous Galerkin Methods: Theory, Computation and Applications, pp. 459–464 (2000)

## Acknowledgement

This work was supported in part by the National Science Foundation.

## Author information

### Authors and Affiliations

### Corresponding author

## Editor information

### Editors and Affiliations

## Rights and permissions

**Open Access** This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

## Copyright information

© 2020 The Author(s)

## About this paper

### Cite this paper

Gopalakrishnan, J., Hochsteger, M., Schöberl, J., Wintersteiger, C. (2020). An Explicit Mapped Tent Pitching Scheme for Maxwell Equations. In: Sherwin, S.J., Moxey, D., Peiró, J., Vincent, P.E., Schwab, C. (eds) Spectral and High Order Methods for Partial Differential Equations ICOSAHOM 2018. Lecture Notes in Computational Science and Engineering, vol 134. Springer, Cham. https://doi.org/10.1007/978-3-030-39647-3_28

### Download citation

DOI: https://doi.org/10.1007/978-3-030-39647-3_28

Published:

Publisher Name: Springer, Cham

Print ISBN: 978-3-030-39646-6

Online ISBN: 978-3-030-39647-3

eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)