Abstract
In this paper we propose and analyze an unconditionally stable leapfrog method for Maxwell’s equations that removes the time step constraint for stability, which makes the proposed scheme more efficient in computation and easier in algorithm implementation compared to the same order Crank–Nicolson scheme. We also prove the unconditional stability and the optimal error estimate of the proposed scheme. To show the generality of our technique, we further develop similar unconditionally stable leapfrog schemes for other complicated Maxwell’s equations. Numerical results are presented to justify our theoretical analysis and demonstrate the practical applications in simulating wave propagation in metamaterials.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The FDTD method and the finite element method (FEM) are arguably the two most popular numerical methods for solving Maxwell’s equations. Due to the advantage of FEM in dealing with complex geometry problems, there exist many excellent works on FEMs for solving Maxwell’s equations in free space (e.g., [2, 6, 8, 10, 12, 13, 17, 29]) and in complex media (cf. [3, 5, 7, 9, 24, 32, 33, 35, 37] and references therein). A comprehensive review [34] of FDTD and FEMs on Maxwell’s equations in complex media contains more than 300 papers. Here we propose an unconditionally stable leapfrog scheme by combining the advantage of finite element method in dealing with complex geometry problems with the nice unconditional stability for the leapfrog scheme. Our newly proposed scheme not only inherits the simple implementation property of the traditional leapfrog scheme for the 3D Maxwell’s equations, but also is unconditionally stable. Compared to the classical Crank–Nicolson scheme for Maxwell’s equations [22, 25, 26], this scheme is much more efficient in computation and enjoys the same convergence rate.
The rest of the paper is organized as follows. In Sect. 2, we first provide the details on how to construct an unconditionally stable leapfrog scheme for the standard Maxwell’s equations. Then we prove an energy conservation identity for this leapfrog scheme, which immediately yields the unconditional stability. Furthermore, we prove the optimal error estimate for this scheme. In Sect. 3, we extend the similar idea to develop an unconditionally stable leapfrog scheme to solve the more complicated Drude metamaterial Maxwell’s equations. The unconditional stability and optimal error estimate are proved for the proposed scheme. For practical applications, we further extend the same idea to construct a leapfrog scheme for a perfectly matched layer (PML) model developed by Cohen and Monk [11]. In Sect. 5, we present some numerical results to confirm our theoretical analysis and further apply our scheme to simulate some interesting wave propagation phenomena which happen in metamaterials. We conclude the paper in Sect. 6.
2 The Unconditionally Stable Leapfrog Scheme for Maxwell’s Equations
In this section, first we demonstrate how to develop an unconditionally stable leapfrog scheme for the standard Maxwell’s equations, then we present the stability analysis and error estimate for the proposed scheme.
2.1 Construction of the Semi-Discrete Scheme
Consider the time-dependent Maxwell’s equations in a linear, lossy, and non-dispersive medium with electric conductivity \(\sigma \) in domain \(\Omega \):
where T is the final simulation time, \(\epsilon _0\) and \(\mu _0\) are the vacuum permittivity and permeability, respectively, and \({{\varvec{E}}}(\mathbf{x} ,t)\) and \({{\varvec{H}}}(\mathbf{x} ,t)\) are the electric and magnetic fields, respectively. Furthermore, the conductivity is assumed to be spatially dependent and bounded above by positive constant \(\sigma _{max}\), i.e., \(\sigma (\varvec{x})\in [0,\sigma _{max}]\). To make the problem complete, we assume that the model (2.1)–(2.2) satisfies the perfect electric conductor (PEC) boundary condition:
where \({{\varvec{n}}}\) is the unit outward normal vector on the boundary \(\partial \Omega \). Here we consider a bounded and simply connected Lipschitz polyhedral domain \(\Omega \subset R^3\).
To develop our unconditionally stable leapfrog scheme, we divide the time interval [0, T] into \(N_t\) uniform subintervals, i.e., we have discrete times \(t_k=k \tau \) for \(k=0, 1, \cdots , N_t\), where the time step size \(\tau =\frac{T}{N_t}\).
First, we consider a two step scheme for (2.1)–(2.2):
Step 1: backward
Step 2: forward
Note that Step 1 is a backward leapfrog scheme, and Step 2 is a forward leapfrog scheme. Now we will develop an unconditionally stable leapfrog scheme for (2.1)–(2.2) by using (2.4)–(2.7).
Substituting \({{\varvec{H}}}^{n+\frac{1}{2}}\) of (2.5) into (2.4), we have
Substituting \({{\varvec{H}}}^{n+\frac{1}{2}}\) of (2.7) into (2.6) and reducing all \(n's\) by 1 , we have
Adding (2.8) and (2.9) together, and adding (2.5) and (2.7) together, respectively, we obtain
Using the average operator and central difference operator in time: \( {\overline{u}}^{n}=\frac{u^{n+\frac{1}{2}}+u^{n-\frac{1}{2}}}{2}\), and \(\delta _{\tau } u^{n}=\frac{u^{n+\frac{1}{2}}-u^{n-\frac{1}{2}}}{\tau }\), we can rewrite (2.10)–(2.11) as follows:
It is interesting to note that (2.12) is a small perturbation of a discretization of (2.1) at time level n.
2.2 The Fully Discrete Finite Element Scheme
First, let us introduce some common Hilbert spaces to be used in the rest paper [22, 27]:
where \(H^s(curl; \Omega )\) is equipped with norm \(\Vert \varvec{u}\Vert _{H^s(curl; \Omega )} = (\Vert \varvec{u}\Vert _s^2 + \Vert \nabla \times \varvec{u}\Vert _s^2)^{\frac{1}{2}}\), where \(\Vert \cdot \Vert _s\) denotes the standard Sobolev space \(H^s\) norm over \(\Omega \). When \(s=0\), we simply denote \(H(curl; \Omega ):=H^0(curl; \Omega )\) and \(\Vert \cdot \Vert _0\) for the \(L^2(\Omega )\) norm.
To design our finite element method, we partition the domain \(\Omega \) by a family of regular cubic (or tetrahedral) elements \(T_h\). We denote \(h_K\) for the diameter of element \(K \in T_h\) and set the mesh size \(h=\max _{K\in T_h}h_K\). Depending on the regularity of the solution, a proper order \(Raviart-Thomas-N\acute{e}d\acute{e}lec\) (RTN) mixed finite element spaces can be chosen [27, 30]. For a cubic mesh, the RTN spaces are: For any \(l \ge 1\),
where \(Q_{i,j,k}\) denote the spaces of polynomials whose degrees are less than or equal to i, j and k in variables x, y and z, respectively. The RTN spaces on the tetrahedral mesh can be defined accordingly [27, 30]. To accommodate the PEC boundary condition, we introduce the subspace
From (2.12)–(2.13), we can develop the following leapfrog FEM scheme: Given proper initial approximations \({{\varvec{E}}}_h^{\frac{1}{2}}\) , \({{\varvec{H}}}_h^{1}\), for any \(n \in [1, N_t-1]\), find \(\varvec{E}_h^{n+\frac{1}{2}} \in \mathbf{U} ^0_h\) and \(\varvec{H}_h^{n+1} \in \mathbf{V} _h\) such that
Note that the scheme (2.14)–(2.15) can be implemented easily by first solving (2.14) for \(\varvec{E}_h^{n+\frac{1}{2}}\), then solving (2.15) for \(\varvec{H}_h^{n+1}.\) In next subsection, we will prove that this scheme is unconditionally stable and has the same convergence rate \(O(\tau ^2)\) in time as the classical implicit Crank–Nicolson (CN) scheme: Given proper initial approximations \({{\varvec{E}}}_h^{0}\) , \({{\varvec{H}}}_h^{0}\), for any \(n \in [0, N_t-1]\), find \(\varvec{E}_h^{n+1} \in \mathbf{U} ^0_h\) and \(\varvec{H}_h^{n+1} \in \mathbf{V} _h\) such that
Remark 2.1
To clarify the differences between our scheme (2.14)–(2.15) and some other CN schemes [25, 26] and leapfrog schemes [15, 16, 36], we introduce mass matrix \(M_E\), mass matrix \(M_{\sigma }\), stiff matrix \(M_S\), convection matrix \(M_C\), and mass matrix \(M_H\), whose elements are given as following:
where \(\psi _j\) and \(\phi _j\) are the elementary basis functions of \(\varvec{U}_h\) and \(\varvec{V}_h\).
With those matrices introduced, it is not difficult to see that our scheme (2.14)–(2.15) can be written as:
where \(M_C^T\) denotes the transpose of \(M_C\), and for simplicity we still use \({{\varvec{E}}}_h^{n+\frac{1}{2}}\) and \({{\varvec{H}}}_h^{n+1}\) to represent the unknown variables at each time step.
Similarly, we can rewrite the corresponding CN scheme (2.16)–(2.17) as:
The straight forward way to implement the CN scheme is to invert a big symmetric matrix\(\left[ \begin{array}{ll} M_E+\frac{\tau }{2}M_{\sigma } &{} - \frac{\tau }{2}M_C \\ -\frac{\tau }{2}M_C^T &{} -M_H \end{array} \right] \) at each time step (taking a minus sign of (2.23)), which takes much more memory and computational time than our scheme (2.20) -(2.21). To reduce the computational cost, we can first solve \({{\varvec{H}}}_h^{n+1}\) from (2.23):
then substitute \({{\varvec{H}}}_h^{n+1}\) of (2.24) into (2.22) to obtain:
Comparing (2.20) with (2.25), we see clearly that they are different in both the signs and coefficient matrices. Hence our scheme (2.14)–(2.15) is not equivalent to the classical CN scheme (2.16)–(2.17).
As for computational cost, implementating the CN scheme by solving that big symmetric matrix of course takes more time and memory than inverting a submatrix as in (2.20). Even the improved CN implementation like (2.25) and (2.24) costs more than (2.21) and (2.20), by noting that (2.20) and (2.25) are almost the same, but (2.24) has one more extra matrix-vector multiplication than (2.21). Of course, we can save the extra matrix-vector multiplication if we do \({{\varvec{E}}}_h^{n+1} + {{\varvec{E}}}_h^{n}\), but this costs one extra memory space for storing \({{\varvec{E}}}_h^{n}\).
Furthermore, our scheme (2.14)–(2.15) is also different from another leapfrog scheme proposed by Verwer [36] and studied by Hochbruck et al. [15, 16]. The leapfrog method (3.7) of [16] (same as (5.13) of [15]) is given as (by dropping the source term \(j_h^n\)):
where \(C_E, C_H, C_E^e, C_H^e\) are some matrices defined in [16]. Left-Multiplying (2.26) by \(\frac{\tau }{2}C_H\) and adding the result to (2.27), we have
Comparing (2.20) with (2.28), we see clearly that these two leapfrog schemes have at least different signs of coefficient matrices on the left and right hand sides even if we reduce \(M_E\) to the identity matrix I and assume \(\sigma =0\).
2.3 Stability Analysis and Error Estimate
Denote \(C_v=\frac{1}{\sqrt{\epsilon _0 \mu _0}} \approx 3\cdot 10^8m/s\) for the wave propagation speed in vacuum. First, we prove the following energy identity, which implies the unconditional stability of the scheme (2.14)–(2.15).
Theorem 2.1
For the solution of (2.14)–(2.15) and any \(m\in [1,N_t-1]\), we have
Proof
Let \(\varvec{\Psi }_h= \tau ({{\varvec{E}}}_h^{n+\frac{1}{2}} + {{\varvec{E}}}_h^{n-\frac{1}{2}})\) in (2.14) and let \(\varvec{\Phi }_h=\tau ({{\varvec{H}}}_h^{n+1} + {{\varvec{H}}}_h^{n})\) in (2.15), respectively, we have
Adding (2.30) and (2.31) together, and using the identity
we have
Using the notation \(C_v=\frac{1}{\sqrt{\epsilon _0 \mu _0}}\), we can rewrite (2.33) as
Summing up (2.34) from \(n=1\) to any \(m\le N_t-1\), we complete the proof. \(\square \)
By the definition of function spaces \(\mathbf{U} _h\) and \(\mathbf{V} _h\), we have \(\nabla \times \varvec{E}_h^{n+\frac{1}{2}} \in \mathbf{V} _h\). Hence, from (2.15), we have
which leads to
Substituting (2.35) into (2.34), and summing up the result from \(n=1\) to any \(m\le N_t-1\), we obtain another energy identity.
Corollary 2.1
For the solution of (2.14)–(2.15) and any \(m\in [1,N_t-1]\), we have
To prove the error estimate, we need the following estimates (cf., Lemma 3.16 and Lemma 3.19 of [22]).
Lemma 2.1
For any \(u \in H^2(0,T;L^2(\Omega ))\), denoting \(u(t_{n})\) as \(u^n\), we have
To make our error analysis easy to follow, we use the script letters to describe the corresponding errors. For example, we define the errors between the exact solutions \((\varvec{E},\varvec{H})\) of (2.1)–(2.2) and the finite element solutions \((\varvec{E}_h^{n+\frac{1}{2}},\varvec{H}_h^{n+1})\) of (2.14)–(2.15):
where we denote \({{\varvec{E}}}^{n+\frac{1}{2}} = {{\varvec{E}}}(t_{n+\frac{1}{2}})\) and \({{\varvec{H}}}^{n+1} = {{\varvec{H}}}(t_{n+1})\), \(\Pi _c{{\varvec{E}}}\in \varvec{U}_h\) for the Nédélec interpolation (i.e., \(H(curl;K)\)) of \({{\varvec{E}}}\), and \(P_h{{\varvec{H}}} \in \varvec{V}_h\) for the \(L^2(\Omega )\) projection of \(\varvec{H}\), i.e.,
Moreover, we have the following interpolation and projection error estimates:
To prove the error estimate, for simplicity we assume that the scheme (2.14)–(2.15) uses the following initial conditions:
Lemma 2.2
For the errors \(\varvec{\mathcal {H}}_h^{m+1}\) and \(\varvec{\mathcal {E}}_h^{m+\frac{1}{2}}\), we have: For any \(m\ge 1\),
Proof
From the error definitions of \(\varvec{\mathcal {H}}_h^{m+1}\) and \(\varvec{\mathcal {E}}_h^{m+\frac{1}{2}}\), we first note that
where in the last step we used the identity (2.35), and the identity \(P_h\left( \nabla \times (\Pi _c\varvec{E}^{m+\frac{1}{2}})\right) =\nabla \times (\Pi _c\varvec{E}^{m+\frac{1}{2}})\) due to the fact that \(\nabla \times (\Pi _c\varvec{E}^{m+\frac{1}{2}})\in \varvec{V}_h.\)
Note that we can rewrite (2.11) as
Taking the projection \(P_h\) of (2.46), we have
Substituting (2.47) into (2.45), and using the error definition of \(\varvec{\mathcal {H}}_h^{m+1}\), we obtain
where we used the property of projection operator \(P_h\) in the last step. This concludes our proof. \(\square \)
With the above preparations, we finally can prove the following optimal estimate for the scheme (2.14)–(2.15).
Theorem 2.2
Suppose that the solutions \((\varvec{E},\varvec{H})\) of (2.1)–(2.2) satisfy the following regularity assumptions:
then the numerical solutions \((\varvec{E}_h^{m+\frac{1}{2}},\varvec{H}_h^{m+1})\) of the scheme (2.14)–(2.15) have the optimal error estimate:
where \(l \ge 1\) is the order of basis function of space \(\mathbf{U} ^0_h\) and \(\mathbf{V} _h\), and the positive constant \(C = C(\epsilon _0, \mu _0, {{\varvec{E}}}, {{\varvec{H}}})\) is independent of \(\tau \), h and T.
Proof
Integrating (2.1) form \(t_{n-\frac{1}{2}}\) to \(t_{n+\frac{1}{2}}\), and integrating (2.2) form \(t_{n}\) to \(t_{n+1}\), then multiplying the respective results by \(\frac{1}{\tau }\varvec{\Phi }_h \in \mathbf{U} ^0_h\) and \(\frac{1}{\tau }\varvec{\Psi }_h \in \mathbf{V} _h\), and integrating over \(\Omega \), we have
Subtracting (2.50)–(2.51) from (2.14)–(2.15), respectively, we obtain
and
Choosing \(\varvec{\Psi }_h= \tau (\varvec{\mathcal {E}}_h^{n+\frac{1}{2}} + \varvec{\mathcal {E}}_h^{n-\frac{1}{2}})=2\tau \overline{\varvec{\mathcal {E}}_h^n}\) in (2.52) and \(\varvec{\Phi }_h=\tau (\varvec{\mathcal {H}}_h^{n+1} + \varvec{\mathcal {H}}_h^{n})=2\tau \overline{\varvec{\mathcal {E}}}_h^{n+\frac{1}{2}} \) in (2.53), adding the results together, and using the projection property of \(P_h\), we obtain
Using the arithmetic and geometric means (AGM) inequality:
Lemma 2.1, and the interpolation estimate (2.41), we have
Similarly, under the assumption that \(\sigma \le \sigma _{max}\), we can obtain
Using integration by parts, the PEC boundary condition (2.3) and inequality (2.55), we have
Again, using integration by parts, Lemma 2.1 and inequality (2.55), we have
Finally, by the inequality (2.55), we have
Substituting the estimates of \(Err_k\) into (2.54), summing up the result from \(n=1\) to any \(m\in [1,N_t]\), then choosing
and using the initial assumptions (2.43) and the facts \(m\tau \le T\) , we can obtain
Using Lemma 2.2 in (2.61), inequality (2.55) and interpolation estimate (2.41), we have
where in the last step we first took the maximum over all \(n\in [1,N_t-1]\) for the right hand side (RHS) term, and used the fact that \(m\tau \le T\).
Now taking the maximum over m for the left hand side (LHS) terms, then choosing \(\delta _1\) small enough (e.g., \(\delta _1\le \frac{1}{18T}\)) so that the RHS terms can be bounded by the corresponding LHS terms, we obtain
Finally, using the triangle inequality, the estimates (2.41) and (2.42), we completes the proof. \(\square \)
3 Extension to the Drude Metamaterial Model
In this section, we show how to use the similar idea as last section to develop an unconditionally leapfrog scheme for solving the Drude metamaterial model.
3.1 Construction of the Leapfrog Scheme
We consider the Drude metamaterial model given as follows [22]:
where \(\omega _{pe}\) and \(\omega _{pm}\) are the electric and magnetic plasma frequencies respectively, \(\Gamma _e\) and \(\Gamma _m\) are the electric and magnetic damping frequencies respectively, \(\varvec{E}(\varvec{x},t)\) and \(\varvec{H}(\varvec{x},t)\) are the electric and magnetic fields respectively, and \(\varvec{J}(\varvec{x},t)\) and \(\varvec{K}(\varvec{x},t)\) are the induced electric and magnetic currents respectively. To make the problem well-posed, we simply assume that the model (3.1)–(3.4) satisfies the PEC boundary condition (2.3) and the initial conditions:
where \(\varvec{E}_0, \varvec{H}_0, \varvec{J}_0\) and \(\varvec{K}_0\) are some given functions.
To derive our unconditionally stable leapfrog scheme, we first consider the following two step scheme for (3.1)–(3.4):
Step 1:
Step 2:
Reducing all \(n's\) of (3.10) by 1 and adding the result with (3.6), we have
Reducing (3.11)’s n by 1, then subtracting the result from (3.7), we have
Then substituting (3.15) into (3.14), we obtain
Adding (3.7) and (3.11) together, we have
Reducing all \(n's\) of (3.12) by 1 and adding the result with (3.8), we obtain
Finally, adding (3.9) and (3.13) together, we have
Based on (3.16)–(3.19), we propose the following leapfrog scheme for (3.1)–(3.4): Given proper initial approximations \({{\varvec{E}}}_h^{\frac{1}{2}}\), \({{\varvec{J}}}_h^{\frac{1}{2}}\), \({{\varvec{H}}}_h^{1}\), \({{\varvec{K}}}_h^{1}\), for any \(n \ge 1\), find \({{\varvec{E}}}_h^{n+\frac{1}{2}}\), \({{\varvec{J}}}_h^{n+\frac{1}{2}}\) \(\in \mathbf{U} ^0_h\), \({{\varvec{H}}}_h^{n+1}\), \({{\varvec{K}}}_h^{n+1}\) \(\in \mathbf{V} _h\) such that
The scheme (3.20)–(3.23) can be implemented as follows:
Step 1: Regrouping (3.22), we obtain
Then substituting (3.24) into (3.20), and we can solve the resulting equation for \({{\varvec{E}}}_h^{n+\frac{1}{2}}\).
Step 2: Update \({{\varvec{J}}}_h^{n+\frac{1}{2}}\) by using (3.24).
Step 3: Rewritting (3.23), we have
Substituting (3.25) into (3.21), and we can solve the resulting equation for \({{\varvec{H}}}_h^{n+1}\).
Step 4: Finally, update \({{\varvec{K}}}_h^{n+1}\) by using (3.25).
3.2 The Stability Analysis and Error Estimate
Below we will establish the stability analysis and error estimate analysis.
Theorem 3.1
For the solution \((\varvec{E}_h^{n+\frac{1}{2}}, \varvec{H}_h^{n+1},\varvec{J}_h^{n+\frac{1}{2}},\varvec{K}_h^{n+1})\) of (3.1)–(3.4), we have: For any \(m\in [1,N_t-1]\),
Proof
Let \(\varvec{\Psi }_h= \tau ({{\varvec{E}}}_h^{n+\frac{1}{2}} + {{\varvec{E}}}_h^{n-\frac{1}{2}})\) in (3.20), \(\varvec{\Phi }_h=\tau ({{\varvec{H}}}_h^{n+1} + {{\varvec{H}}}_h^{n})\) in (3.21), \(\widetilde{\varvec{\Psi }}_h = \tau ({{\varvec{J}}}_h^{n+\frac{1}{2}} + {{\varvec{J}}}_h^{n-\frac{1}{2}})\) in (3.22), \(\widetilde{\varvec{\Phi }}_h=\tau ({{\varvec{K}}}_h^{n+1} + {{\varvec{K}}}_h^{n})\) in (3.23), respectively, we have
Adding the above four equations together and using (2.32), we have
Summing up (3.31) from \(n = 1\) to any \(m\in [1,N_t-1]\), we complete the proof. \(\square \)
Remark 3.1
Using the similar technique as Sect. 2, we can only obtain
Hence, for the Drude model, we cannot get any simpler stability result like Corrollary 2.1.
Theorem 3.2
For the solution \((\varvec{E}_h^{n+\frac{1}{2}}, \varvec{H}_h^{n+1},\varvec{J}_h^{n+\frac{1}{2}},\varvec{K}_h^{n+1})\) of scheme (3.1)–(3.4) with the following initial conditions:
we have the optimal error estimate: For any \(m\in [1,N_t-1]\),
where \(l \ge 1\) is the order of basis function of space \(\varvec{U}^0_h\) and \(\varvec{V}_h\), and the positive constant \(C = C(\epsilon _0, \mu _0, \varvec{E}, \varvec{H})\) is independent of \(\tau , h\) and T.
Proof
Before we start the error estimate analysis, we denote the script letters \(\varvec{\mathcal {E}}^{n+\frac{1}{2}}\) and \(\varvec{\mathcal {H}}^{n}\), \(\varvec{\mathcal {J}}^{n+\frac{1}{2}}\), \(\varvec{\mathcal {K}}^{n}\) for the errors as defined in last section.
Integrating (3.1) from \(t_{n-\frac{1}{2}}\) to \(t_{n+\frac{1}{2}}\), multiplying the result by \(\frac{1}{\tau }\varvec{\Psi }_h \in \mathbf{U} ^0_h\), integrating over \(\Omega \), then subtracting (3.20), we have
which leads to the first error equation
here and in the rest of this section, we denote \({{\varvec{E}}}^{n+\frac{1}{2}} = {{\varvec{E}}}(t_{n+\frac{1}{2}})\) for simplicity. Similar notations \({{\varvec{J}}}^{n+\frac{1}{2}} = {{\varvec{J}}}(t_{n+\frac{1}{2}})\) , \({{\varvec{H}}}^n = {{\varvec{H}}}(t_n)\), \({{\varvec{K}}}^n = {{\varvec{K}}}(t_n)\) are adopted also.
Similarly, integrating (3.2) form \(t_{n}\) to \(t_{n+1}\), multiplying the resultant by \(\frac{1}{\tau }\varvec{\Phi }_h \in \mathbf{V} _h\), integrating over \(\Omega \), then subtracting (3.21), we obtain the second error equation
Integrating (3.3) form \(t_{n-\frac{1}{2}}\) to \(t_{n+\frac{1}{2}}\), multiplying the resultant by \(\frac{1}{\tau }\widetilde{\varvec{\Psi }}_h \in \mathbf{U} ^0_h\), and integrating over \(\Omega \), then subtracting (3.22), we obtain the third error equation
Similarly, integrating (3.4) form \(t_{n}\) to \(t_{n+1}\), multiplying the resultant by \(\frac{1}{\tau }\widetilde{\varvec{\Phi }}_h \in \mathbf{V} _h\), and integrating over \(\Omega \), then subtracting (3.23), we obtain the fourth error equation
Note that the error equations (3.33)–(3.36) have exactly the same form as the finite element scheme (3.20)–(3.23), except those extra terms added to the right hand sides of (3.33)–(3.36) due to the time and spatial discretization. Moreover, by the interpolation error estimates of \(\Pi _c\) and \(P_h\) , these extra terms have the local truncation errors \(\mathcal {O}(\tau ^2 + h^l)\), where \(l \ge 1\) is the order of basis function of space \(\mathbf{U} ^0_h\) and \(\mathbf{V} _h\). Hence, by following the same techniques developed for proving the discrete stability given in Theorem 3.1 and the error estimate given in Theorem 2.2, we conclude the proof. \(\square \)
4 Extension to the Cohen-Monk PML Model
To simulate a practical wave propagation problem, we usually use a PML model to reduce the unbounded domain simulation problem to a bounded domain simulation. There are many studies on the mathematical analysis of PML models for Maxwell’s equations (cf. [1, 2, 4] and references therein), here we consider the Cohen-Monk PML model, which was originally developed in 1999 by Cohen and Monk [11] by using the stretched coordinates approach. In 2014, we [19] proved the existence, uniqueness, and stability of this PML model. To develop a leapfrog scheme, we introduce two auxiliary variables \(\varvec{J}\) and \(\varvec{K}\) based on the governing equations (1)-(4) of [19] and rewrite the governing equations of the Cohen-Monk PML model as follows:
where \(\epsilon _0\) and \(\mu _0\) are the vacuum permittivity and permeability, respectively, \({{\varvec{E}}}(\mathbf{x} ,t)\) and \({{\varvec{H}}}(\mathbf{x} ,t)\) are the electric and magnetic fields, respectively, and \({{\varvec{E}}}^{*}(\mathbf{x} ,t)\) and \({{\varvec{H}}}^{*}(\mathbf{x} ,t)\) are the auxiliary electric and magnetic fields, respectively. Moreover, \(C_m\), D and G are \(3 \times 3\) diagonal matrices given by
where \(\sigma _x\), \(\sigma _y\) and \(\sigma _z\) are nonnegative functions and represent the dampings along the x, y, and z directions, respectively.
First, we consider the following two step scheme for (4.1)–(4.6):
Step 1:
Step 2:
Then using (4.8)–(4.19), we can construct our leapfrog scheme for (4.1)–(4.6). Reducing all \(n's\) of (4.14) by 1, and adding the resultant with (4.8), we can obtain the scheme for \({{\varvec{J}}}\):
Adding (4.9) and (4.15) together, we obtain the scheme for \({{\varvec{K}}}\):
Reducing all \(n's\) of (4.16) by 1, and adding the resultant with (4.10), we have
Reducing all \(n's\) of (4.19) by 1, and subtracting the result from (4.13), we have
Substituting (4.23) into (4.22) we have
Substituting \({{\varvec{H}}}^{*n+\frac{1}{2}}\) of (4.11) into (4.24), reducing all \(n's\) of (4.17) by 1 and substituting \({{\varvec{H}}}^{*n-\frac{1}{2}}\) of the resultant into (4.24), we can obtain the scheme for \({{\varvec{E}}}^{*}\):
Adding (4.11) and (4.17) together, we obtain the scheme for \({{\varvec{H}}}^*\):
Reducing all \(n's\) of (4.18) by 1, and adding the resultant with (4.12), we can obtain the scheme for \({{\varvec{E}}}\):
Adding (4.13) and (4.19) together, we can obtain the scheme for \({{\varvec{H}}}\):
From (4.20), (4.21), (4.25), (4.26), (4.27), (4.28) and using the finite element spaces \(\mathbf{U} ^0_h\) and \(\mathbf{V} _h\), we can construct the following leapfrog scheme for (4.1)–(4.6): given initial approximations \({{\varvec{E}}}_h^{\frac{1}{2}}\), \({{\varvec{E}}}_h^{*\frac{1}{2}}\), \({{\varvec{J}}}_h^{\frac{1}{2}}\), \({{\varvec{H}}}_h^{1}\), \({{\varvec{H}}}_h^{*1}\), \({{\varvec{K}}}_h^{1}\), for any \(n \ge 1\), find \({{\varvec{E}}}_h^{n+\frac{1}{2}}\), \({{\varvec{E}}}_h^{*n+\frac{1}{2}}\), \({{\varvec{J}}}_h^{n+\frac{1}{2}}\) \(\in \mathbf{U} ^0_h\), \({{\varvec{H}}}_h^{n+1}\), \({{\varvec{H}}}_h^{*n+1}\), \({{\varvec{K}}}_h^{n+1}\) \(\in \mathbf{V} _h\) such that
The scheme (4.29)–(4.34) can be implemented as follows:
Step 1: Obtain \(\varvec{J}_h^{n+\frac{1}{2}}\) from (4.29) and \(\varvec{E}_h^{*n+\frac{1}{2}}\) from (4.31), respectively, then substitute them into (4.33), which can be solved for \(\varvec{E}_h^{n+\frac{1}{2}}\).
Step 2: Solve for \(\varvec{J}_h^{n+\frac{1}{2}}\) from (4.29), \(\varvec{H}_h^{*n+1}\) from (4.32), and \(\varvec{E}_h^{*n+\frac{1}{2}}\) from (4.31), respectively. Note that these three solvers can be done in parallel.
Step 3: Obtain \(\varvec{K}_h^{n+1}\) from (4.30), then substitute the result into (4.34), which can be solved for \(\varvec{H}_h^{n+1}\).
Step 4: Update \(\varvec{K}_h^{n+1}\) by using (4.30).
5 Numerical Results
In this section, we present some numerical results to demonstrate the performance of our proposed leapfrog scheme. Since our 3D theoretical analysis holds true for the corresponding 2D models, all our numerical tests are carried out for 2D models. More specifically, we focus on solving the 2D \(TE_z\) model with unknowns \({{\varvec{E}}} = [E_x, E_y]^T\) and \({{\varvec{H}}}=H_z\). For simplicity, we only employ the lowest order Raviart-Thomas-Nédélec mixed finite element spaces on rectangular elements [22]:
and on triangular elements [22]:
where \(Q_{i,j}\) denotes the set of polynomials of degrees of i and j in x and y variables, and \(\lambda _i\) are the barycentric coordinate functions.
Example 1
The first example is used to justify the convergence rate of our scheme with an exact solution. The \(TE_z\) governing equations of (2.1)–(2.2) with added source terms \({{\varvec{g}}}=[g_x, g_y]^T\) and \({{\varvec{f}}}=f_z\) are given as follows:
where \(\nabla \times {{\varvec{E}}} =\frac{\partial E_y}{\partial x} - \frac{\partial E_x}{\partial y}\) and \(\nabla \times H_z =[\frac{\partial H_z}{\partial y}, -\frac{\partial H_z}{\partial x}]^T\). Moreover, the exact solution and corresponding source terms are given as:
We choose \(\sigma = 3 \pi \), \(\epsilon _0 = \mu _0 = 1\), mesh size h varying from 1/10 to 1/160 for the physical domain \(\Omega =[0,1]^2\), and solve this model problem by the scheme (2.14)–(2.15) till \(T=1\) with various time step sizes satisfying \(\frac{\tau }{h} = 2, 1, \frac{1}{2}\). The obtained errors at \(T = 1\) and convergence rates are presented in Tables 1, 2 and 3. The results clearly show that our scheme is indeed unconditionally stable and convergences as \(\mathcal {O}(h^2 + \tau ^2)\) in both \(L_{\infty }\) and \(L_{2}\) norms (approximated by the numerical solution at element centers). The superconvergence \(O(h^2)\) in the discrete \(L_{2}\) norm for the lowest-order rectangular edge element has been proved in our early work [18].
To compare the numerical performance of our proposed scheme to the classical Crank–Nicolson (CN) scheme, we also solve this example by the CN scheme given as: Given initial approximations \({{\varvec{E}}}_h^{0}\) , \({{\varvec{H}}}_h^{0}\), find \({{\varvec{E}}}_h^{n+1} \in \mathbf{U} ^0_h\) , \({{\varvec{H}}}_h^{n+1} \in \mathbf{V} _h\) for any \(n \ge 0\) such that
The obtained errors at \(T = 1\) and convergence rates are presented in Tables 4, 5 and 6, which clearly shows \(\mathcal {O}(h^2 + \tau ^2)\) in both \(L_{\infty }\) and the discrete \(L_{2}\) norms. The CPU times used by the CN scheme (denoted as \(T_{CN}\)), the improved CN scheme (2.24)–(2.25) (denoted as \(T_{ICN}\)) and our scheme (denoted as \(T_{LF}\)) are compared in Table 7. The ratios \(T_{CN}/T_{LF}\) and \(T_{ICN}/T_{LF}\) show that the CN and ICN schemes take more CPU time than our scheme. We observed that the condition number of the system matrix for our scheme (denoted as \(Cond_{LF}\) in Table 7) deteriorates as the time step increments becomes larger as observed in [28]. Though the overall total simulation time decreases as the Courant number \(C=\frac{u\tau }{h}\) (the velocity \(u=\frac{1}{\sqrt{\epsilon _0\mu _0}}=1\) in our test) becomes larger, a large Courant number increases the solution error as pointed in [28] for general unconditionally stable finite element time-domain schemes. Note that \(Cond_{LF}\) is smaller than the condition number of CN scheme \(Cond_{CN}\) (except the case when \(\tau =2h\)) and always larger than the condition number of ICN scheme \(Cond_{ICN}\). A complicated algebraic multigrid preconditioner such as the auxiliary-space Maxwell solver [14, 20, 31] may be needed to efficiently invert the leapfrog coefficient matrix. We like to remark that our simulation implemented in MATLAB is carried out on a 2009 LENOVO V3000 laptop with a processor of 2.40 GHz Intel Core i7, 4 GB RAM and Ghost Windows7 Sp1 64 system. In our implementation, we just used the direct solver provided in MATLAB.
Example 2
In this example, we consider a popular model showing the backward wave propagation phenomenon in metamaterials originally introduced by Ziolkowski [38] and simulated by various numerical methods (e.g., [23, 33]). In this example, a rectangular metamaterial slab is chosen to be \([0.024, 0.044]m \times [0.002, 0.062]m\), which is embedded in a vacuum with dimension \([0, 0.07]m \times [0, 0.064]m\). The vacuum is surrounded by a PML with thickness \(dd = 20h\), where h denotes the mesh size. Similar to Example 1, we solve the corresponding 2D version of the PML model (4.1)–(4.6) and Drude model (3.1)–(3.4). The 2D Cohn-Monk PML model can be written as follows:
where we denote
We choose the damping functions \(\sigma _x\) and \(\sigma _y\) as fourth-order polynomial functions, more specifically,
where \(\sigma _{max}=-\log (err)\cdot 5 \cdot 0.07 \cdot c_v/(2\cdot dd)\) with \(err=10^{-7}\). The function \(\sigma _y\) has the same form but varies with respect to the y variable.
The source wave is imposed as \(H_z\) field and is excited at the line segment \(x=0.004m\) with y ranging from \(y=0.025m\) to \(y=0.035m\). The source wave varies in space as \(e^{-(y-0.03)^2 / (50h)^2}\) and in time same as [38] (see also [21, p.927]).
The mesh size \(h=2 \cdot 10^{-4}\) and various time step sizes \(\tau =\beta \cdot 10^{-13} \) with \(\beta =1,2,4,8\) (to demonstrate the unconditional stability of our scheme) are used for our simulation. The contour plots of the magnetic field \(H_z\) at various times are presented in Figs. 1 and 2 with \(\beta =1,8\), respectively. The figures clearly show that the wave propagates backwards in the metamaterial slab and demonstrate the refocusing property of metamaterials. Of course the image quality becomes worse as the time step size increases.
Example 3
The setup of this model is basically same as Example 2, and the only difference is that the rectangular metamaterial slab is replaced by a triangular slab with vertices (0.024, 0.002), (0.054, 0.002), and (0.024, 0.062). In this case, a hybrid grid shown as Fig. 3 is used for this example, where triangular mesh is used in the metamaterial slab and its neighboring elements, rectangular mesh is used in the vacuum region and PML region. Some snapshots of \(H_z\) with \(\tau =1 \cdot 10^{-13} \) and \(\tau =8 \cdot 10^{-13} \) are presented in Figs. 4 and 5, respectively. The results clearly show that the propagating wave bends toward the same side after crossing the interface between the metamaterial and the vacuum by obeying the Snell’s Law. Also the image quality becomes worse as the time step size increases, but the wave still propagates correctly and obeys the Snell’s Law.
6 Conclusion
In this paper, we first propose a new idea for constructing unconditionally stable leapfrog schemes for solving the time-dependent Maxwell’s equations with the finite element method. The unconditional stability and second-order in time error estimate of the proposed leapfrog scheme are proved. We then extend the idea to construct an unconditionally stable leapfrog finite element scheme for the Drude metamaterial Maxwell’s equations. Similar unconditional stability and error estimate as the standard Maxwell’s equations are established for this complicated metamaterial Maxwell’s equations. Finally, we extend the similar idea to solve for the Cohen-Monk PML model. Numerical results are presented to support our theoretical analysis with interesting backward wave propagation simulations. The idea of constructing unconditionally stable leapfrog schemes with finite element methods is very interesting, and we will further extend this to more complicated Maxwell’s equations in the future.Maxwell’s equations in the future.
References
Appelo, D., Hagstrom, T., Kreiss, G.: Perfectly matched layers for hyperbolic systems: general formulation, well-posedness, and stability. SIAM J. Appl. Math. 67, 1–23 (2006)
Bao, G., Li, P., Wu, H.: An adaptive edge element method with perfectly matched absorbing layers for wave scattering by biperiodic structures. Math. Comput. 79, 1–34 (2010)
Banks, H., Bokil, V., Gibson, N.: Analysis of stability and dispersion in a finite element method for Debye and Lorentz dispersive media. Numer. Methods Partial Differ. Equ. 25, 885–917 (2009)
Bécache, E., Joly, P., Kachanovska, M., Vinoles, V.: Perfectly matched layers in negative index metamaterials and plasmas. ESAIM Proc. Surv. 50, 113–132 (2015)
Bokil, V.A., Cheng, Y., Jiang, Y., Li, F., Sakkaplangkul, P.: High spatial order energy stable FDTD methods for Maxwell’s equations in nonlinear optical media in one dimension. J. Sci. Comput. 77, 330–371 (2018)
Bonito, A., Guermond, J.-L., Luddens, F.: An interior penalty method with C0 finite elements for the approximation of the Maxwell equations in heterogeneous media: convergence analysis with minimal regularity. ESAIM Math. Model. Numer. Anal. 50(5), 1457–1489 (2016)
Brenner, S.C., Gedicke, J., Sung, L.-Y.: An adaptive \(P_1\) finite element method for two-dimensional transverse magnetic time harmonic Maxwell’s equations with general material properties and general boundary conditions. J. Sci. Comput. 68, 848–863 (2016)
Chen, Z., Du, Q., Zou, J.: Finite element methods with matching and nonmatching meshes for Maxwell equations with discontinuous coefficients. SIAM J. Numer. Anal. 37, 1542–1570 (2000)
Chung, E.T., Ciarlet Jr., P.: A staggered discontinuous Galerkin method for wave propagation in media with dielectrics and meta-materials. J. Comput. Appl. Math. 239, 189–207 (2013)
Cockburn, B., Li, F., Shu, C.-W.: Locally divergence-free discontinuous Galerkin methods for the Maxwell equations. J. Comput. Phys. 194, 588–610 (2004)
Cohen, G.C., Monk, P.: Mur-Nédélec finite element schemes for Maxwell’s equations. Comput. Methods. Appl. Mech. Eng. 169, 197–217 (1999)
Duan, H., Du, Z., Liu, W., Zhang, S.: New mixed elements for Maxwell equations. SIAM J. Numer. Anal. 57, 320–354 (2019)
Hesthaven, J.S., Warburton, T.: Nodal high-order methods on unstructured grids. I. Time-domain solution of Maxwell’s equations. J. Comput. Phys. 181, 186–221 (2002)
Hiptmair, E., Xu, J.: Nodal auxiliary space preconditioning in h(curl) and h(div) spaces. SIAM J. Numer. Anal. 45(6), 2483–2509 (2007)
Hochbruck, M., Maier, B., Stohrer, C.: Heterogeneous multiscale method for Maxwell’s equations. Multiscale Model. Simul. 17(4), 1147–1171 (2019)
Hochbruck, M., Sturm, A.: Error analysis of a second-order locally implicit method for linear Maxwell’s equations. SIAM J. Numer. Anal. 54, 3167–3191 (2016)
Houston, P., Perugia, I., Schneebeli, A., Schötzau, D.: Interior penalty method for the indefinite time-harmonic Maxwell equations. Numer. Math. 100, 485–518 (2005)
Huang, Y., Li, J., Lin, Q.: Superconvergence analysis for time-dependent Maxwell’s equations in metamaterials. Numer. Methods Partial Differ. Equ. 28, 1794–1816 (2012)
Huang, Y., Li, J., Yang, W.: Mathematical analysis of a PML model obtained with stretched coordinates and its application to backward wave propagation in metamaterials. Numer. Methods Partial Differ. Equ. 30, 1558–1574 (2014)
Kolev, T.V., Vassilevski, P.S.: Parallel auxiliary space amg for h(curl) problems. J. Comput. Math. 27, 604–623 (2009)
Li, J., Hesthaven, J.: Analysis and application of the nodal discontinuous Galerkin method for wave propagation in metamaterials. J. Comput. Phys. 258, 915–930 (2014)
Li, J., Huang, Y.: Time-Domain Finite Element Methods for Maxwell’s Equations in Metamaterials. Springer, Berlin (2013)
Li, J., Nan, B.: Simulating backward wave propagation in metamaterial with radial basis functions. Results Appl. Math. 2, 100009 (2019)
Li, J., Shi, C., Shu, C.-W.: Optimal non-dissipative discontinuous Galerkin methods for Maxwell’s equations in Drude metamaterials. Comput. Math. Appl. 73, 1760–1780 (2017)
Li, J., Zhang, Z.: Unified analysis of time domain mixed finite element methods for Maxwell’s equations in dispersive media. J. Comput. Math. 28(5), 693–710 (2010)
Makridakis, ChG, Monk, P.: Time-discrete finite element schemes for Maxwell’s equations. ESAIM-Math Model Numer. 29(2), 171–197 (1995)
Monk, P.: Finite Element Methods for Maxwell’s Equations. Oxford University Press, New York (2003)
Moon, H., Teixeira, F.L., Kim, J., Omelchenk, Y.A.: Trade-Offs for unconditional stability in the finite-element time-domain method. IEEE Microw. Wirel. Compon. Lett. 24(6), 361–363 (2014)
Mu, L., Wang, J., Ye, X., Zhang, S.: A weak Galerkin finite element method for the Maxwell equations. J. Sci. Comput. 65, 363–386 (2015)
Nédélec, J.C.: Mixed finite elements in \(R^3\). Numer. Math. 35, 315–341 (1980)
Phillips, E.G., Shadid, J.N., Cyr, E.C.: Scalable preconditioners for structure preserving discretizations of maxwell equations in first order form. SIAM J. Sci. Comput. 40(3), B723–B742 (2018)
Scheid, C., Lanteri, S.: Convergence of a discontinuous Galerkin scheme for the mixed time domain Maxwell’s equations in dispersive media. IMA J. Numer. Anal. 33, 432–459 (2013)
Shi, C., Li, J., Shu, C.-W.: Discontinuous Galerkin methods for Maxwell’s equations in Drude metamaterials on unstructured meshes. J. Comput. Appl. Math. 342, 147–163 (2018)
Teixeira, F.L.: Time-domain finite-difference and finite-element methods for Maxwell equations in complex media. IEEE Trans. Antennas Propag. 56(8), 2150–2166 (2008)
Tsantili, I.C., Cho, M.H., Cai, W., Karniadakis, G.E.: A computational stochastic methodology for the design of random meta-materials under geometric constraints. SIAM J. Sci. Comput. 40, B353–B378 (2018)
Verwer, J.G.: Component splitting for semi-discrete Maxwell equations. BIT 51, 427–445 (2011)
Yang, Z., Wang, L.-L., Rong, Z., Wang, B., Zhang, B.: Seamless integration of global Dirichlet-to-Neumann boundary condition and spectral elements for transformation electromagnetics. Comput. Methods Appl. Mech. Eng. 301, 137–163 (2016)
Ziolkowski, R.W.: Pulsed and CW Gaussian beam interactions with double negative metamaterial slabs. Opt. Express 11, 662–681 (2003)
Acknowledgements
The authors are very grateful to three referees for pointing out many interesting references and their insightful comments which improve our paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Partially supported by NSF of China Project No. 11971410, and NSF Grant DMS-20-11943.
Rights and permissions
About this article
Cite this article
Huang, Y., Chen, M. & Li, J. Developing and Analyzing New Unconditionally Stable Finite Element Schemes for Maxwell’s Equations in Complex Media. J Sci Comput 86, 35 (2021). https://doi.org/10.1007/s10915-020-01406-7
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10915-020-01406-7
Keywords
- Maxwell’s equations
- Unconditionally stable
- Leapfrog scheme
- Finite element method
- Perfectly matched layer
- Metamaterials