1 Introduction

The Dirac equation, which plays an important role in particle physics, is a relativistic wave equation derived by the British physicist Paul Dirac in 1928 [28,29,30, 74]. It provided a description of elementary spin-1 / 2 massive particles, such as electrons and positrons, consistent with both the principle of quantum mechanics and the theory of special relativity. It was the first theory to fully account for relativity in the context of quantum mechanics. It addressed the fine details of the hydrogen spectrum in a completely rigorous way and predicted the existence of a new form of matter, antimatter [4]. Since the graphene was first produced in the lab in 2003 [1, 63,64,65, 67], the Dirac equation has been extensively adopted to study theoretically the structures and/or dynamical properties of graphene and graphite as well as two dimensional (2D) materials [62]. This experimental advance renewed extensively the research interests on the mathematical analysis and numerical simulations of the Dirac equation and/or the (nonlinear) Schrödinger equation without/with external potentials, especially the honeycomb lattice potential [3, 35].

We consider the three dimensional (3D) Dirac equation for describing the time evolution of spin-1 / 2 massive particles, such as electrons and positrons, within external time-dependent electromagnetic potentials [28, 29]

$$\begin{aligned} i\hbar \partial _t\varPsi = \left[ -ic\hbar \sum _{j=1}^3\alpha _j\partial _j +mc^2\beta \right] \varPsi +e\left[ V(t,{\mathbf{x}})I_4 -\sum _{j=1}^3A_j(t,{\mathbf {x}})\alpha _j\right] \varPsi . \end{aligned}$$
(1.1)

Here, \(i=\sqrt{-1}\), t is time, \(\mathbf{x} =(x_1,x_2,x_3)^T\in {\mathbb {R}}^3\) (equivalently written as \(\mathbf{x} =(x,y,z)^T\)) is the spatial coordinate vector, \(\partial _k=\frac{\partial }{\partial x_k}\) (\(k=1,2,3\)), \(\varPsi :=\varPsi (t,\mathbf{x} )=(\psi _1(t,\mathbf{x} ),\psi _2(t,\mathbf{x} ), \psi _3(t,\mathbf{x} ), \psi _4(t,\mathbf{x} ))^T\in {\mathbb {C}}^4\) is the complex-valued vector wave function of the “spinorfield”. \(I_n\) is the \(n\times n\) identity matrix for \(n\in {{\mathbb {N}}}\), \(V:=V(t,\mathbf{x} )\) is the real-valued electrical potential and \(\mathbf{A}:=\mathbf{A}(t,\mathbf{x} )=(A_1(t,\mathbf{x} ), A_2(t,\mathbf{x} ), A_3(t,\mathbf{x} ))^T\) is the real-valued magnetic potential vector, and hence the electric field is given by \(\mathbf{E}(t,\mathbf{x} )=-\nabla V-\partial _t \mathbf{A}\) and the magnetic field is given by \(\mathbf{B}(t,\mathbf{x} )=\mathrm{curl}\, \mathbf{A}=\nabla \times \mathbf{A}\). The physical constants are: c for the speed of light, m for the particle’s rest mass, \(\hbar \) for the Planck constant and e for the unit charge. In addition, the \(4\times 4\) matrices \(\alpha _1\), \(\alpha _2\), \(\alpha _3\) and \(\beta \) are defined as

$$\begin{aligned} \alpha _1=\left( \begin{array}{cc} {\mathbf {0}} &{} \sigma _1 \\ \sigma _1 &{} {\mathbf {0}} \\ \end{array} \right) ,\quad \alpha _2=\left( \begin{array}{cc} {\mathbf {0}} &{} \sigma _2 \\ \sigma _2 &{} {\mathbf {0}} \\ \end{array} \right) , \quad \alpha _3=\left( \begin{array}{cc} {\mathbf {0}} &{} \sigma _3 \\ \sigma _3 &{} {\mathbf {0}} \\ \end{array} \right) ,\quad \beta =\left( \begin{array}{cc} I_{2}&{} {\mathbf {0}} \\ {\mathbf {0}} &{} -I_{2} \\ \end{array} \right) , \end{aligned}$$
(1.2)

with \(\sigma _1\), \(\sigma _2\), \(\sigma _3\) (equivalently written \(\sigma _x\), \(\sigma _y\), \(\sigma _z\)) being the Pauli matrices defined as

$$\begin{aligned} \sigma _{1}=\left( \begin{array}{cc} 0 &{} 1 \\ 1 &{} 0 \\ \end{array} \right) , \quad \sigma _{2}=\left( \begin{array}{cc} 0 &{} -i \\ i &{} 0 \\ \end{array} \right) ,\quad \sigma _{3}=\left( \begin{array}{cc} 1 &{} 0 \\ 0 &{} -1 \\ \end{array} \right) . \end{aligned}$$
(1.3)

In order to scale the Dirac equation (1.1), we introduce

$$\begin{aligned} \tilde{t}=\frac{t}{t_s}, \; {\tilde{\mathbf{x} }}=\frac{\mathbf{x} }{x_s}, \;{\tilde{\varPsi }}({\tilde{t}}, {\tilde{\mathbf{x} }})=x_s^{3/2}\,\varPsi (t,\mathbf{x} ), \; \tilde{V}({\tilde{t}}, {\tilde{\mathbf{x} }})=\frac{V(t,\mathbf{x} )}{A_s},\; {\tilde{A}}_j(\tilde{t}, {\tilde{\mathbf{x} }}) =\frac{A_{j}(t, \mathbf{x} )}{A_s}, \end{aligned}$$
(1.4)

where \(j=1,2,3\), and \(x_s\), \(t_s\) and \(A_s\) are the dimensionless length unit, time unit and potential unit, respectively, satisfying \(t_s=\frac{mx_s^2}{\hbar }\) and \(A_s=\frac{m v^2}{e}\) with \(v=\frac{x_s}{t_s}\) being the wave speed. Plugging (1.4) into (1.1), multiplying by \(\frac{t_sx_s^{3/2}}{\hbar }\), and then removing all \(\tilde{ }\), we obtain the following dimensionless Dirac equation in 3D

$$\begin{aligned} i\partial _t\varPsi =\left[ -\frac{i}{\varepsilon }\sum _{j=1}^{3}\alpha _j \partial _j+\frac{1}{\varepsilon ^2}\beta \right] \varPsi + \left[ V(t,\mathbf{x} )I_4-\sum _{j=1}^{3}A_j(t,\mathbf{x} )\alpha _j\right] \varPsi , \end{aligned}$$
(1.5)

where \(\mathbf{x} \in {{\mathbb {R}}}^3\), and \(\varepsilon \) is a dimensionless parameter inversely proportional to the speed of light given by

$$\begin{aligned} 0<\varepsilon := \frac{x_s}{t_s\,c}=\frac{v}{c}\le 1. \end{aligned}$$
(1.6)

We remark here that if one chooses the dimensionless length unit \(x_s=\frac{\hbar }{mc}\), \( t_s=\frac{x_s}{c}\) and \(A_s=\frac{mc^2}{e}\) in (1.4), then \(\varepsilon =1\) in (1.6) and Eq. (1.5) with \(\varepsilon =1\) takes the form often appearing in the literature [2, 17, 21, 23, 33, 41, 49, 53]. This choice of \(x_s\) is appropriate when the wave speed is at the same order of the speed of light. However, when the wave speed is much smaller than the speed of light, a different choice of \(x_s\) is more appropriate. Note that the choice of \(x_s\) determines the observation scale of the time evolution of the particles and decides: (i) which phenomena are ‘visible’ by asymptotic analysis, and (ii) which phenomena can be resolved by discretization by specified spatial/temporal grids. In fact, there are two important parameter regimes: One is \(\varepsilon =1\) (\(\Longleftrightarrow x_s=\frac{\hbar }{mc}\), \(t_s=\frac{x_s}{c}\) and \(A_s=\frac{mc^2}{e}\)), then Eq. (1.5) describes the case that wave speed is at the same order of the speed of light; the other one is \(0<\varepsilon \ll 1\), then Eq. (1.5) is in the nonrelativistic limit regime.

Similarly to the dimension reduction of the nonlinear Schrödinger equation and/or the Schrödinger–Poisson equations with/without anisotropic external potentials [8], when the initial data \(\varPsi (0,\mathbf{x} )\) and the electromagnetic potentials \(V(t,\mathbf{x} )\) and \(\mathbf{A}(t,\mathbf{x} )\) are independent of z and thus the wave function \(\varPsi \) is formally assumed to be independent of z, or when the electromagnetic potentials \(V(t,\mathbf{x} )\) and \(\mathbf{A}(t,\mathbf{x} )\) are strongly confined in the z-direction and thus \(\varPsi \) is formally assumed to be concentrated on the xy-plane, then the 3D Dirac equation (1.5) can be reduced to the Dirac equation in 2D with \(\mathbf{x} =(x,y)^T\in {\mathbb {R}}^2\) as

$$\begin{aligned} i\partial _t\varPsi =\left[ -\frac{i}{\varepsilon }\sum _{j=1}^{2}\alpha _j \partial _j+\frac{1}{\varepsilon ^2}\beta \right] \varPsi + \left[ V(t,\mathbf{x} )I_4-\sum _{j=1}^{2}A_j(t,\mathbf{x} )\alpha _j\right] \varPsi . \end{aligned}$$
(1.7)

This 2D Dirac equation has been widely used to model the electron structure and/or dynamical properties of graphene since they share the same dispersion relation on the Dirac points [1, 63,64,65, 67, 35,36,37]. Similarly, under the proper assumptions on the initial data and the external electromagnetic potential, the 3D Dirac equation (1.5) can be reduced to the Dirac equation in 1D with \(\varPsi =\varPsi (t,x)\) as

$$\begin{aligned} i\partial _t\varPsi (t,x)=\left[ -\frac{i}{\varepsilon }\alpha _1 \partial _x+\frac{1}{\varepsilon ^2}\beta \right] \varPsi (t,x)+\left[ V(t,x)I_4-A_1(t,x)\alpha _1\right] \varPsi (t,x), \quad x\in {{\mathbb {R}}}. \end{aligned}$$
(1.8)

In fact, the Dirac equation in 3D (1.5), in 2D (1.7) and in 1D (1.8) can be written in a unified way in d-dimensions (\(d=1,2,3\))

$$\begin{aligned} i\partial _t\varPsi =\left[ -\frac{i}{\varepsilon }\sum _{j=1}^{d}\alpha _j \partial _j+\frac{1}{\varepsilon ^2}\beta \right] \varPsi +\left[ V(t,\mathbf{x} )I_4-\sum _{j=1}^{d}A_j(t,\mathbf{x} )\alpha _j\right] \varPsi , \end{aligned}$$
(1.9)

where \(\mathbf{x} \in {{\mathbb {R}}}^d\) and the initial condition for dynamics is given as

$$\begin{aligned} \varPsi (t=0,\mathbf{x} )=\varPsi _0(\mathbf{x} ), \quad \mathbf{x} \in {{\mathbb {R}}}^d. \end{aligned}$$
(1.10)

The Dirac equation (1.9) is dispersive and time symmetric. Introducing the position density \(\rho _j\) for the j-component (\(j=1,2,3,4\)) and the total density \(\rho \) as well as the current density \(\mathbf{J} (t,\mathbf{x} )=(J_1(t,\mathbf{x} ),J_2(t,\mathbf{x} )\), \(J_3(t,\mathbf{x} ))^T\) for \(j=1,2,3,4\) and \(l=1,2,3\)

$$\begin{aligned} \rho (t,\mathbf{x} )=\sum _{j=1}^4\rho _j(t,\mathbf{x} )=\varPsi ^*\varPsi , \quad \rho _j(t,\mathbf{x} )=|\psi _j(t,\mathbf{x} )|^2;\; J_l(t,\mathbf{x} )=\frac{1}{\varepsilon }\varPsi ^*\alpha _l\varPsi , \end{aligned}$$
(1.11)

where \(\overline{f}\) denotes the complex conjugate of f and \(\varPsi ^*=\overline{\varPsi }^T\), then the following conservation law can be obtained from the Dirac equation (1.9)

$$\begin{aligned} \partial _t\rho (t,\mathbf{x} )+\nabla \cdot \mathbf{J} (t,\mathbf{x} ) = 0, \quad \mathbf{x} \in {{\mathbb {R}}}^d, \quad t\ge 0. \end{aligned}$$
(1.12)

Thus the Dirac equation (1.9) conserves the total mass as

$$\begin{aligned} \Vert \varPsi (t,\cdot )\Vert ^2:= & {} \int _{{{\mathbb {R}}}^d}|\varPsi (t,\mathbf{x} )|^2\,d\mathbf{x} = \int _{{{\mathbb {R}}}^d}\sum _{j=1}^4|\psi _j(t,\mathbf{x} )|^2\,d\mathbf{x} \nonumber \\\equiv & {} \Vert \varPsi (0,\cdot )\Vert ^2 =\Vert \varPsi _0\Vert ^2, \quad t\ge 0. \end{aligned}$$
(1.13)

If the electric potential V is perturbed by a real constant \(V^0\), e.g. \(V(t,\mathbf{x} )\rightarrow V(t,\mathbf{x} )+V^0\), then the solution \(\varPsi (t,\mathbf{x} )\rightarrow e^{-iV^0t}\varPsi (t,\mathbf{x} )\) which implies the density of each component \(\rho _j\) (\(j=1,2,3,4\)) and the total density \(\rho \) unchanged. When \(d=1\), if the magnetic potential \(A_1\) is perturbed by a real constant \(A_1^0\), e.g. \(A_1(t,\mathbf{x} )\rightarrow A_1(t,\mathbf{x} )+A_1^0\), then the solution \(\varPsi (t,\mathbf{x} )\rightarrow e^{iA_1^0t\alpha _1}\varPsi (t,\mathbf{x} )\) which implies the total density \(\rho \) unchanged; but this property is not valid when \(d=2,3\). In addition, when the electromagnetic potentials are time-independent, i.e. \(V(t,\mathbf{x} )=V(\mathbf{x} )\) and \(A_j(t,\mathbf{x} )=A_j(\mathbf{x} )\) for \(j=1,2,3\), the following energy functional is also conserved

$$\begin{aligned} E(t):= & {} \int _{{\mathbb {R}}^d}\left( -\frac{i}{\varepsilon } \sum _{j=1}^d\varPsi ^*\alpha _j\partial _j\varPsi +\frac{1}{\varepsilon ^2}\varPsi ^*\beta \varPsi +V(\mathbf{x} )|\varPsi |^2- \sum _{j=1}^dA_j(\mathbf{x} )\varPsi ^*\alpha _j\varPsi \right) d\mathbf{x} \nonumber \\\equiv & {} E(0), \quad t\ge 0. \end{aligned}$$
(1.14)

Furthermore, if the external electromagnetic potentials are constants, i.e. \(V(t,\mathbf{x} )\equiv V^0\) and \(A_j(t,\mathbf{x} )\equiv A_j^0\) for \(j=1,2,3\) with \(\mathbf{A}^0=(A_1^0,\ldots ,A_d^0)^T\), the Dirac equation (1.9) admits the plane wave solution as \(\varPsi (t,\mathbf{x} )=\mathbf{B}\,e^{i(\mathbf{k} \cdot \mathbf{x} -\omega t)}\), where the time frequency \(\omega \), amplitude vector \(\mathbf{B} \in {{\mathbb {R}}}^4\) and spatial wave number \(\mathbf{k} =(k_1,\ldots ,k_d)^T\in {{\mathbb {R}}}^d\) satisfy the following dispersion relation

$$\begin{aligned} \omega \mathbf{B} =\left[ \sum _{j=1}^{d}\left( \frac{k_j}{\varepsilon }-A_j^0\right) \alpha _j +\frac{1}{\varepsilon ^2}\beta +V^0I_{4}\right] \mathbf{B} , \end{aligned}$$
(1.15)

which immediately implies the dispersion relation of the Dirac equation (1.9) as

$$\begin{aligned} \omega :=\omega (\mathbf{k} )=V^0\pm \frac{1}{\varepsilon ^2}\sqrt{1+\varepsilon ^2\left| \mathbf{k} -\varepsilon \mathbf{A}^0\right| ^2}=O\left( \frac{1}{\varepsilon ^2}\right) ,\quad \mathbf{k} \in {{\mathbb {R}}}^d. \end{aligned}$$
(1.16)

Plugging (1.2) and (1.3) into (1.7), the 2D Dirac equation (1.7) can be decoupled for \(\mathbf{x} \in {\mathbb {R}}^2\) as

$$\begin{aligned} {\begin{matrix} &{}i\partial _t\psi _1=-\frac{i}{\varepsilon }\left( \partial _x-i\partial _y\right) \psi _4 +\frac{1}{\varepsilon ^2}\psi _1+V(t,\mathbf{x} )\psi _1-\left[ A_1(t,\mathbf{x} )-iA_2(t,\mathbf{x} )\right] \psi _4,\\ &{}i\partial _t\psi _4 =-\frac{i}{\varepsilon }\left( \partial _x+i\partial _y\right) \psi _1 -\frac{1}{\varepsilon ^2}\psi _4 +V(t,\mathbf{x} )\psi _4-\left[ A_1(t,\mathbf{x} )+iA_2(t,\mathbf{x} )\right] \psi _1, \end{matrix}} \end{aligned}$$
(1.17)
$$\begin{aligned} {\begin{matrix} &{}i\partial _t\psi _2=-\frac{i}{\varepsilon }\left( \partial _x+i\partial _y\right) \psi _3 +\frac{1}{\varepsilon ^2}\psi _2+V(t,\mathbf{x} )\psi _2-\left[ A_1(t,\mathbf{x} )+iA_2(t,\mathbf{x} )\right] \psi _3,\\ &{}i\partial _t\psi _3 =-\frac{i}{\varepsilon }\left( \partial _x-i\partial _y\right) \psi _2 -\frac{1}{\varepsilon ^2}\psi _3 +V(t,\mathbf{x} )\psi _3-\left[ A_1(t,\mathbf{x} )-iA_2(t,\mathbf{x} )\right] \psi _2. \end{matrix}} \end{aligned}$$
(1.18)

Equation (1.18) will collapse to (1.17) under the transformation \(y\rightarrow -y\) and \(A_2\rightarrow -A_2\). Thus, in 2D, the Dirac equation (1.7) can be reduced to the following simplified PDEs with \(\varPhi :=\varPhi (t,\mathbf{x} )=(\phi _1(t,\mathbf{x} ),\phi _2(t,\mathbf{x} ))^T \in {{\mathbb {C}}}^2\)

$$\begin{aligned} i\partial _t\varPhi =\left[ -\frac{i}{\varepsilon }\left( \sigma _1\partial _x+\sigma _2\partial _y\right) +\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi + \left[ V(t,\mathbf{x} )I_2-A_1(t,\mathbf{x} )\sigma _1-A_2(t,\mathbf{x} )\sigma _2\right] \varPhi , \end{aligned}$$
(1.19)

where \(\varPhi =(\psi _1,\psi _4)^T\) (or \(\varPhi =(\psi _2,\psi _3)^T\) under the transformation \(y\rightarrow -y\) and \(A_2\rightarrow -A_2\)). Similarly, in 1D, the Dirac equation (1.8) can be reduced to the following simplified PDEs with \(\varPhi =\varPhi (t,x)=(\phi _1(t,x),\phi _2(t,x))^T\)

$$\begin{aligned} i\partial _t\varPhi =\left[ -\frac{i}{\varepsilon }\sigma _1\partial _x +\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi +\left[ V(t,x)I_2-A_1(t,x)\sigma _1\right] \varPhi , \quad x\in {{\mathbb {R}}}, \end{aligned}$$
(1.20)

where \(\varPhi =(\psi _1,\psi _4)^T\) (or \(\varPhi =(\psi _2,\psi _3)^T\)). Again, the Dirac equation in 2D (1.19) and in 1D (1.20) can be written in a unified way for \( \mathbf{x} \in {{\mathbb {R}}}^d\) in d-dimensions (\(d=1,2\))

$$\begin{aligned} i\partial _t\varPhi =\left[ -\frac{i}{\varepsilon }\sum _{j=1}^{d}\sigma _j \partial _j+\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi +\left[ V(t,\mathbf{x} )I_2-\sum _{j=1}^{d}A_j(t,\mathbf{x} )\sigma _j\right] \varPhi , \end{aligned}$$
(1.21)

and the initial condition for dynamics is given as

$$\begin{aligned} \varPhi (t=0,\mathbf{x} )=\varPhi _0(\mathbf{x} ), \quad \mathbf{x} \in {{\mathbb {R}}}^d. \end{aligned}$$
(1.22)

The Dirac equation (1.21) is dispersive and time symmetric. By introducing the position density \(\rho _j\) for the j-th component (\(j=1,2\)) and the total density \(\rho \) as well as the current density \(\mathbf{J} (t,\mathbf{x} )=(J_1(t,\mathbf{x} ),J_2(t,\mathbf{x} ))^T\)

$$\begin{aligned} \rho (t,\mathbf{x} )=\sum _{j=1}^2\rho _j(t,\mathbf{x} )=\varPhi ^*\varPhi , \; \rho _j(t,\mathbf{x} )=|\phi _j(t,\mathbf{x} )|^2, \; J_j(t,\mathbf{x} )=\frac{1}{\varepsilon }\varPhi ^*\sigma _j\varPhi , \quad j=1,2, \end{aligned}$$
(1.23)

the conservation law (1.12) is also satisfied [23]. In addition, the Dirac equation (1.21) conserves the total mass as

$$\begin{aligned} \Vert \varPhi (t,\cdot )\Vert ^2:= & {} \int _{{{\mathbb {R}}}^d}|\varPhi (t,\mathbf{x} )|^2\,d\mathbf{x} =\int _{{{\mathbb {R}}}^d}\sum _{j=1}^2|\phi _j(t,\mathbf{x} )|^2\,d\mathbf{x} \nonumber \\\equiv & {} \Vert \varPhi (0,\cdot )\Vert ^2=\Vert \varPhi _0\Vert ^2, \quad t\ge 0. \end{aligned}$$
(1.24)

Again, if the electric potential V is perturbed by a real constant \(V^0\), e.g. \(V(t,\mathbf{x} )\rightarrow V(t,\mathbf{x} )+V^0\), the solution \(\varPhi (t,\mathbf{x} )\rightarrow e^{-iV^0t}\varPhi (t,\mathbf{x} )\) which implies the density of each component \(\rho _j\) (\(j=1,2\)) and the total density \(\rho \) unchanged. When \(d=1\), if the magnetic potential \(A_1\) is perturbed by a real constant \(A_1^0\), e.g. \(A_1(t,\mathbf{x} )\rightarrow A_1(t,\mathbf{x} )+A_1^0\), the solution \(\varPhi (t,\mathbf{x} )\rightarrow e^{iA_1^0t\sigma _1}\varPhi (t,\mathbf{x} )\) implying the total density \(\rho \) unchanged; but this property is not valid when \(d=2\). When the electromagnetic potentials are time-independent, i.e. \(V(t,\mathbf{x} )=V(\mathbf{x} )\) and \(A_j(t,\mathbf{x} )=A_j(\mathbf{x} )\) for \(j=1,2\), the following energy functional is also conserved

$$\begin{aligned} E(t):= & {} \int _{{\mathbb {R}}^d}\left( -\frac{i}{\varepsilon } \sum _{j=1}^d\varPhi ^*\sigma _j\partial _j\varPhi +\frac{1}{\varepsilon ^2} \varPhi ^*\sigma _3\varPhi +V(\mathbf{x} )|\varPhi |^2- \sum _{j=1}^dA_j(\mathbf{x} )\varPhi ^*\sigma _j\varPhi \right) d\mathbf{x} \nonumber \\\equiv & {} E(0), \quad t\ge 0. \end{aligned}$$
(1.25)

Furthermore, if the external electromagnetic potentials are constants, i.e. \(V(t,\mathbf{x} )\equiv V^0\) and \(A_j(t,\mathbf{x} )\equiv A_j^0\) for \(j=1,2\), the Dirac equation (1.21) admits the plane wave solution as \(\varPhi (t,\mathbf{x} )=\mathbf{B}\,e^{i(\mathbf{k} \cdot \mathbf{x} -\omega t)}\), where the time frequency \(\omega \), amplitude vector \(\mathbf{B} \in {\mathbb {R}}^2\) and spatial wave number \(\mathbf{k} =(k_1,\ldots ,k_d)^T\in {\mathbb {R}}^d\) satisfy the following dispersion relation

$$\begin{aligned} \omega \mathbf{B} =\left[ \ \sum _{j=1}^{d}\left( \frac{k_j}{\varepsilon }-A_j^0\right) \sigma _j +\frac{1}{\varepsilon ^2}\sigma _3 +V^0I_{2}\right] \mathbf{B} , \end{aligned}$$
(1.26)

which again implies the dispersion relation (1.16) of the Dirac equation (1.21) for \(d=2,1\).

For the Dirac equation (1.9) with \(\varepsilon =1\), i.e. O(1)-speed of light regime, there are extensive analytical and numerical results in the literatures. For the existence and multiplicity of bound states and/or standing wave solutions, we refer to [47, 32, 25, 26, 31, 44, 75] and references therein. For the analysis of the classical/semiclassical limits via the Wigner transform techniques, we refer to [43, 7, 20, 22, 57, 72] and references therein. For the numerical methods and comparison such as the finite difference time domain (FDTD) methods and the Gaussian beam methods, we refer to [5, 7, 77, 27, 69, 45, 38, 39] and references therein. However, for the Dirac equation (1.9) with \(0<\varepsilon \ll 1\), i.e. nonrelativistic limit regime (or the scaled speed of light goes to infinity), the analysis and efficient computation of the Dirac equation (1.9) (or 1.21) are mathematically rather complicated. The main difficulty is due to that the solution is highly oscillatory in time and the corresponding energy functionals (1.14) and (1.25) are indefinite [18, 33] and become unbounded when \(\varepsilon \rightarrow 0\). There are extensive mathematical analysis of the (semi)-nonrelativistic limit of the Dirac equation (1.9) to the Pauli equation [54, 19, 18, 24, 40, 46, 59,60,61, 68, 76] and/or the Schrödinger equation when \(\varepsilon \rightarrow 0\) [18]. These rigorous analytical results show that the solution propagates waves with wavelength \(O(\varepsilon ^2)\) and O(1) in time and space, respectively, when \(0<\varepsilon \ll 1\). In fact, the oscillatory structure of the solution of the Dirac equation (1.9) when \(0<\varepsilon \ll 1\) can be formally observed from its dispersion relation (1.15) (or 1.26). To illustrate this further, Fig. 1 shows the solution of the Dirac equation (1.21) with \(d=1\), \(V(t,x)=\frac{1-x}{1+x^2}\), \(A_1(t,x)=\frac{(1+x)^2}{1+x^2}\) and \(\varPhi _0(x)=\left( \exp (-x^2/2),\exp (-(x-1)^2/2)\right) ^T\) for different \(\varepsilon \). This highly oscillatory nature of the solution of (1.9) (or 1.21) causes severe numerical burdens in practical computation, making the numerical approximation of (1.9) (or 1.21) extremely challenging and costly in the nonrelativistic regime \(0<\varepsilon \ll 1\). In [53], the resolution of the time-splitting Fourier pseudospectral (TSFP) method was studied for the Maxwell–Dirac equation in the nonrelativistic limit regime.

Fig. 1
figure 1

The solution \(\phi _1(t=1,x)\) and \(\phi _1(t,x=0)\) of the Dirac equation (1.21) with \(d=1\) for different \(\varepsilon \). \(\mathrm{Re}(f)\) denotes the real part of f

Recently, different numerical methods were proposed and analyzed for the efficient computation of the Klein–Gordon equation in the nonrelativistic limit regime [11, 12, 34] and/or highly oscillatory dispersive partial differential equations (PDEs) [9, 10, 13, 14]. To our knowledge, so far there are few results on the numerics of the Dirac equation in the nonrelativistic limit regime. The aim of this paper is to study the efficiency of the frequently used FDTD and TSFP methods applied to the Dirac equation in the nonrelativistic limit regime, to propose the symmetric exponential wave integrator Fourier pseudospectral (sEWI-FP) method and to compare their resolution capacities in this regime. We start with the detailed analysis on the stability and convergence of several standard implicit/semi-implicit/explicit FDTD methods [71]. Here we pay particular attention to how the error bounds depend explicitly on the small parameter \(\varepsilon \) in addition to the mesh size h and time step \(\tau \). Based on the estimates, in order to obtain ‘correct’ numerical approximations when \(0<\varepsilon \ll 1\), the meshing strategy requirement (\(\varepsilon \)-scalability) for those frequently used FDTD methods is: \(h = O(\sqrt{\varepsilon })\) and \(\tau = O(\varepsilon ^3)\), which suggests that the standard FDTD methods are computationally expensive for the Dirac equation (1.9) as \(0<\varepsilon \ll 1\). To relax the \(\varepsilon \)-scalability, we then propose the sEWI-FP method and compare it with the TSFP method, whose \(\varepsilon \)-scalability are optimal for both time and space in view of the inherent oscillatory nature. The key ideas of the sEWI-FP are: (i) to apply the Fourier pseudospectral discretization for spatial derivatives; and (ii) to adopt the symmetric exponential wave integrator (sEWI) for integrating the ordinary differential equations (ODEs) in phase space [42, 50] which was well demonstrated in the literatures that it has favorable properties compared to standard time integrators for oscillatory differential equations [42, 50,51,52]. Rigorous error estimates show that the \(\varepsilon \)-scalability of the sEWI-FP method is \(h = O(1)\), and \(\tau = O(\varepsilon ^2)\) for the Dirac equation with external electromagnetic potentials, meanwhile, the \(\varepsilon \)-scalability of TSFP method is \(h = O(1)\) and \(\tau = O(\varepsilon ^2)\). Thus, the sEWI-FP and TSFP offer compelling advantages over commonly used FDTD methods in temporal and spatial resolution when \(0<\varepsilon \ll 1\).

The rest of this paper is organized as follows. In Sect. 2, several second-order FDTD methods are reviewed and their stabilities and convergence are analyzed in the nonrelativistic limit regime. In Sect. 3, a symmetric exponential wave integrator Fourier pseudospectral method is proposed and analyzed rigorously. In Sect. 4, a time-splitting Fourier pseudospectral method is reviewed and analyzed rigorously. In Sect. 5, numerical comparison results are reported. Finally, some concluding remarks are drawn in Sect. 6. The mathematical proofs of the error estimates are given in the appendices, where extensions of sEWI-FP and TSFP to higher dimensions are also presented. Throughout the paper, we adopt the standard notations of Sobolev spaces, use the notation \(p \lesssim q\) to represent that there exists a generic constant C which is independent of h, \(\tau \) and \(\varepsilon \) such that \(|p|\le C\,q\).

2 FDTD Methods and Their Analysis

In this section, we apply the commonly used FDTD methods to the Dirac equation (1.9) (or 1.21) and analyze their stabilities and convergence in the nonrelativistic limit regime. For simplicity of notations, we shall only present the numerical methods and their analysis for (1.21) in 1D. Generalization to (1.9) and/or higher dimensions is straightforward and results remain valid without modifications. Similarly to most works in the literatures for the analysis and computation of the Dirac equation (cf. [17, 23, 48, 49, 53, 66, 77] and references therein), in practical computation, we truncate the whole space problem onto an interval \(\varOmega = (a,b)\) with periodic boundary conditions, which is large enough such that the truncation error is negligible. In 1D, the Dirac equation (1.21) with periodic boundary conditions collapses to

$$\begin{aligned} i\partial _t\varPhi =&\left[ -\frac{i}{\varepsilon }\sigma _1 \partial _x+\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi +\left[ V(t,x)I_2-A_1(t,x)\sigma _1\right] \varPhi , \;x\in \varOmega , \; t>0, \end{aligned}$$
(2.1)
$$\begin{aligned} \varPhi (t,a)=&\varPhi (t,b),\;\partial _x\varPhi (t,a) =\partial _x \varPhi (t,b),\; t\ge 0; \; \varPhi (0,x) = \varPhi _0(x),\quad x\in \overline{\varOmega }, \end{aligned}$$
(2.2)

where \(\varPhi :=\varPhi (t,x)\), \(\varPhi _0(a)=\varPhi _0(b)\) and \(\varPhi _0^\prime (a)=\varPhi _0^\prime (b)\).

2.1 FDTD Methods

Choose mesh size \(h:=\varDelta x =\frac{b-a}{M}\) with M being an even positive integer, time step \(\tau := \varDelta t >0\) and denote the grid points and time steps as:

$$\begin{aligned} x_j:=a+jh,\quad j=0, 1, \ldots ,M;\quad t_n:= n\tau ,\quad n=0, 1, 2,\ldots . \end{aligned}$$

Denote \(X_M=\{{ U} =(U_0,U_1,\ldots ,U_M)^T\ |\ U_j\in {{\mathbb {C}}}^2, j=0,1,\ldots ,M, \ U_0=U_M\}\) and we always use \(U_{-1}=U_{M-1}\) and \(U_{M+1}=U_1\) if they are involved. For any \({ U} \in X_M\), we denote its Fourier representation as

$$\begin{aligned} U_j=\sum _{l=-M/2}^{M/2-1} \widetilde{U}_l\, e^{i\mu _l(x_j-a)} =\sum _{l=-M/2}^{M/2-1} \widetilde{U}_l\, e^{2ijl\pi /M}, \quad j=0,1,\ldots , M, \end{aligned}$$
(2.3)

where \(\mu _l\) and \(\widetilde{U}_l\in {{\mathbb {C}}}^2\) are defined as

$$\begin{aligned} \mu _l=\frac{2l\pi }{b-a},\quad \widetilde{U}_l=\frac{1}{M}\sum _{j=0}^{M-1}U_j\, e^{-2ijl\pi /M}, \quad l=-\frac{M}{2}, \ldots ,\frac{M}{2}-1. \end{aligned}$$
(2.4)

The standard \(l^2\)-norm in \(X_M\) is given as

$$\begin{aligned} \Vert { U} \Vert ^2_{l^2}=h\sum ^{M-1}_{j=0}|U_j|^2, \quad { U} \in X_M. \end{aligned}$$
(2.5)

Let \(\varPhi _{j}^{n}\) be the numerical approximation of \(\varPhi (t_n,x_j)\) and \(V_j^n=V(t_n,x_j)\), \(V_j^{n+1/2}=V(t_n+\tau /2,x_j)\), \(A_{1,j}^n=A_1(t_n,x_j)\) and \(A_{1,j}^{n+1/2}=A_1(t_n+\tau /2,x_j)\) for \(0\le j\le M\) and \(n\ge 0\). Denote \(\varPhi ^n=\left( \varPhi _0^n, \varPhi _1^n, \ldots , \varPhi _M^n\right) ^T\in X_M\) as the solution vector at \(t=t_n\). Introduce the finite difference discretization operators for \(j=0,1,\ldots , M\) and \(n\ge 0\) as:

$$\begin{aligned} \delta _t^+\varPhi _{j}^{n}=\frac{\varPhi _{j}^{n+1}-\varPhi _{j}^{n}}{\tau },\quad \delta _t\varPhi _{j}^{n}=\frac{\varPhi _{j}^{n+1}-\varPhi _{j}^{n-1}}{2\tau }, \quad \delta _x\varPhi _{j}^{n}=\frac{\varPhi _{j+1}^{n}-\varPhi _{j-1}^{n}}{2h}, \end{aligned}$$

and the average as

$$\begin{aligned} \varPhi _{j}^{n+\frac{1}{2}}=\frac{\varPhi _{j}^{n+1}+\varPhi _{j}^{n}}{2}. \end{aligned}$$

Here we consider several frequently used FDTD methods to discretize the Dirac equation (2.1) for \(j=0,1,\ldots , M-1\).

I. Leap-frog finite difference (LFFD) method, for \(n\ge 1\),

$$\begin{aligned} i\delta _t \varPhi _{j}^{n}=\left[ -\frac{i}{\varepsilon }\sigma _1 \delta _x +\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi _{j}^{n}+\left[ V_j^nI_2-A_{1,j}^n \sigma _1\right] \varPhi _{j}^{n}. \end{aligned}$$
(2.6)

II. Semi-implicit finite difference (SIFD1) method, for \(n\ge 1\),

$$\begin{aligned} i\delta _t \varPhi _{j}^{n}=-\frac{i}{\varepsilon }\sigma _1\delta _x \varPhi _{j}^{n}+\left[ \frac{1}{\varepsilon ^2}\sigma _3+V_j^{n}I_2-A_{1,j}^{n}\sigma _1\right] \frac{\varPhi _{j}^{n+1}+\varPhi _{j}^{n-1}}{2}. \end{aligned}$$
(2.7)

III. Another semi-implicit finite difference (SIFD2) method, for \(n\ge 1\),

$$\begin{aligned} i\delta _t \varPhi _{j}^{n}=\left[ -\frac{i}{\varepsilon }\sigma _1\delta _x +\frac{1}{\varepsilon ^2}\sigma _3\right] \frac{\varPhi _{j}^{n+1}+\varPhi _{j}^{n-1}}{2} +\left[ V_j^nI_2- A_{1,j}^n\sigma _1\right] \varPhi _{j}^{n}. \end{aligned}$$
(2.8)

IV. Crank-Nicolson finite difference (CNFD) method, for \(n\ge 0\),

$$\begin{aligned} i\delta _t^+\varPhi _{j}^{n}=\left[ -\frac{i}{\varepsilon }\sigma _1\delta _x +\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi _{j}^{n+1/2} +\left[ V_j^{n+1/2}I_2-A_{1,j}^{n+1/2}\sigma _1\right] \varPhi _{j}^{n+1/2}. \end{aligned}$$
(2.9)

The initial and boundary conditions in (2.2) are discretized as:

$$\begin{aligned} \varPhi _{M}^{n+1}=\varPhi _{0}^{n+1},\; \varPhi _{-1}^{n+1}=\varPhi _{M-1}^{n+1},\; n\ge 0; \quad \varPhi _{j}^{0}=\varPhi _0(x_j),\; j=0,1,\ldots ,M. \end{aligned}$$
(2.10)

Using Taylor expansion and noticing (2.1), the first step for the LFFD (2.6), SIFD1 (2.7) and SIFD2 (2.8) can be computed as

$$\begin{aligned} \varPhi _j^1=\varPhi _j^0 -\sin \left( \frac{\tau }{\varepsilon }\right) \sigma _1\varPhi _0^\prime (x_j)-i \left[ \sin \left( \frac{\tau }{\varepsilon ^2}\right) \sigma _3 +\tau V_j^0I_2-\tau A_{1,j}^0\sigma _1\right] \varPhi _j^0, \end{aligned}$$
(2.11)

where \(j=0,1,\ldots , M\). In the above, we adopt \(\frac{1}{\tau }\sin \left( \frac{\tau }{\varepsilon }\right) \) and \(\frac{1}{\tau }\sin \left( \frac{\tau }{\varepsilon ^2}\right) \) instead of \(\frac{1}{\varepsilon }\) and \(\frac{1}{\varepsilon ^2}\) such that (2.11) is second order in term of \(\tau \) for any fixed \(0<\varepsilon \le 1\) and \(\Vert \varPhi ^1\Vert _{\infty }:=\max \limits _{0\le j\le M}|\varPhi _j^1|\lesssim 1\) for \(0<\varepsilon \le 1\). We remark here that they can be simply replaced by 1 when \(\varepsilon =1\).

The above four methods are all time symmetric, i.e. they are unchanged under \(\tau \leftrightarrow -\tau \) and \(n+1\leftrightarrow n-1\) in the LFFD, SIFD1 and SIFD2 methods or \(n+1\leftrightarrow n\) in the CNFD method, and the memory cost is the same at O(M). The LFFD method (2.6) is explicit and its computational cost per step is O(M). In fact, it might be the simplest and most efficient discretization for the Dirac equation when \(\varepsilon =1\) and thus it has been widely used when \(\varepsilon =1\). The SIFD1 method (2.7) is implicit, however at each time step for \(n\ge 1\), the corresponding linear system is decoupled and can be solved explicitly for \(j=0,1,\ldots ,M-1\) as

$$\begin{aligned} \varPhi _j^{n+1}=\left[ (i-\tau V_j^n)I_2-\frac{\tau }{\varepsilon ^2}\sigma _3+\tau A_{1,j}^n\sigma _1\right] ^{-1}H^n_j, \end{aligned}$$

with \(H^n_j=\left[ \left( (i+\tau V_j^n)I_2+\frac{\tau }{\varepsilon ^2}\sigma _3-\tau A_{1,j}^n\sigma _1\right) \varPhi _j^{n-1} -\frac{2i\tau }{\varepsilon }\sigma _1\delta _x\varPhi _j^n\right] \), and thus its computational cost per step is O(M).

The SIFD2 method (2.8) is implicit, however at each time step for \(n\ge 1\), the corresponding linear system is decoupled in phase (Fourier) space and can be solved explicitly in phase space for \(l=-M/2,\ldots ,M/2-1\) as

$$\begin{aligned} \widetilde{(\varPhi ^{n+1})}_l=\left( iI_2-\frac{\tau \sin (\mu _l h)}{\varepsilon h}\sigma _1-\frac{\tau }{\varepsilon ^2}\sigma _3\right) ^{-1} L_l^n, \end{aligned}$$
(2.12)

where

$$\begin{aligned} L_l^n=\left[ \left( iI_2+\frac{\tau \sin (\mu _l h)}{\varepsilon h}\sigma _1+\frac{\tau }{\varepsilon ^2}\sigma _3\right) \widetilde{(\varPhi ^{n-1})}_l+2\tau \widetilde{(G^n\varPhi ^n)}_l\right] , \end{aligned}$$

and \(G^n=(G_0^n,G_1^n,\ldots ,G_M^n)^T\in X_M\) with \(G_j^n=- A_{1,j}^n\sigma _1+V_j^nI_2\) for \(j=0,1,\ldots ,M\), and thus its computational cost per step is \(O(M\ln M)\). The CNFD method (2.9) is implicit and at each time step for \(n\ge 0\), the corresponding linear system is coupled and needs to be solved via either a direct solver or an iterative solver, and thus its computational cost per step depends on the linear system solver, which is usually much larger than O(M), especially in 2D and 3D. Based on the computational cost per time step, the LFFD method is the most efficient one and the CNFD method is the most expensive one.

2.2 Linear Stability Analysis

In order to carry out the linear stability analysis for the FDTD methods via the von Neumann method [71], we assume that \(A_1(t,x)\equiv A_1^0\) and \(V(t,x)\equiv V^0\) with \(A_1^0\) and \(V^0\) being two real constants in the Dirac equation (2.1). Then we have the following results for the FDTD methods:

Lemma 2.1

  1. (i)

    The LFFD method (2.6) is stable under the stability condition

    $$\begin{aligned} 0<\tau \le \frac{\varepsilon ^2h}{|V^0|\varepsilon ^2h+\sqrt{h^2+\varepsilon ^2(1+\varepsilon h|A_1^0|)^2}}, \quad h>0, \quad 0<\varepsilon \le 1. \end{aligned}$$
    (2.13)
  2. (ii)

    The SIFD1 method (2.7) is stable under the stability condition

    $$\begin{aligned} 0<\tau \le \varepsilon h, \quad h>0, \quad 0<\varepsilon \le 1. \end{aligned}$$
    (2.14)
  3. (iii)

    The SIFD2 method (2.8) is stable under the stability condition

    $$\begin{aligned} 0<\tau \le \frac{1}{|V^0|+|A_1^0|}, \quad h>0, \quad 0<\varepsilon \le 1. \end{aligned}$$
    (2.15)
  4. (iv)

    The CNFD method (2.9) is unconditionally stable, i.e. it is stable for any \(\tau ,h>0\) and \(0<\varepsilon \le 1\).

Proof

(i) Plugging

$$\begin{aligned} \varPhi ^n_{j}=\sum _{l=-M/2}^{M/2-1} \xi _l^n\, \widetilde{(\varPhi ^0)}_l\,e^{i\mu _l(x_j-a)} =\sum _{l=-M/2}^{M/2-1} \xi _l^n \, \widetilde{(\varPhi ^0)}_l\, e^{2ijl\pi /M},\;0\le j\le M, \end{aligned}$$
(2.16)

with \(\xi _l\in {{\mathbb {C}}}\) and \(\widetilde{(\varPhi ^0)}_l\) being the amplification factor and the Fourier coefficient at \(n=0\), respectively, of the l-th mode in the phase space into (2.6), using the orthogonality of the Fourier series, we obtain for \(l = -\frac{M}{2},\ldots , \frac{M}{2}-1\),

$$\begin{aligned} \left| (\xi _l^2-1)I_2-2i\tau \xi _l\left( A_1^0 \sigma _1-V^0I_2-\frac{1}{\varepsilon ^2}\sigma _3-\frac{\sin (\mu _l h)}{\varepsilon h}\sigma _1\right) \right| =0. \end{aligned}$$
(2.17)

Substituting (1.3) into (2.17), we get that the amplification factor \(\xi _l\) satisfies

$$\begin{aligned} \xi _l^2-2i\tau \theta _l\xi _l-1=0, \quad l = -\frac{M}{2},\ldots , \frac{M}{2}-1, \end{aligned}$$
(2.18)

where

$$\begin{aligned} \theta _l=-V^0\pm \frac{1}{\varepsilon ^2h}\sqrt{h^2+\varepsilon ^2 \left( A_1^0\varepsilon h-\sin (\mu _l h)\right) ^2}, \quad l = -\frac{M}{2},\ldots , \frac{M}{2}-1. \end{aligned}$$

Then the stability condition for the LFFD method (2.6) becomes

$$\begin{aligned} |\xi _l|\le 1 \iff |\tau \theta _l|\le 1,\quad l = -\frac{M}{2},\ldots , \frac{M}{2}-1, \end{aligned}$$
(2.19)

which immediately implies the condition (2.13).

(ii) Similarly to (i), plugging (2.16) into the SIFD1 method (2.7), we have for \(l = -\frac{M}{2},\ldots , \frac{M}{2}-1\),

$$\begin{aligned} \left| (\xi _l^2-1)I_2-i\tau (\xi _l^2+1) \left( A_1^0 \sigma _1-V^0I_2-\frac{1}{\varepsilon ^2}\sigma _3\right) +\frac{2i\tau \xi _l \sin (\mu _l h)}{\varepsilon h}\sigma _1\right| =0. \end{aligned}$$
(2.20)

Noticing (1.3), under the condition (2.14), we can get \(|\xi _l|\le 1\) for \(l = -\frac{M}{2},\ldots , \frac{M}{2}-1\), and thus it is stable.

(iii) Similarly to (i), plugging (2.16) into the SIFD2 method (2.8), we have for \(l = -\frac{M}{2},\ldots , \frac{M}{2}-1\),

$$\begin{aligned} \left| (\xi _l^2-1)I_2+i\tau (\xi _l^2+1) \left( \frac{1}{\varepsilon ^2}\sigma _3+\frac{\sin (\mu _l h)}{\varepsilon h}\sigma _1\right) -2i\tau \xi _l(A_1^0 \sigma _1-V^0I_2)\right| =0. \quad \end{aligned}$$
(2.21)

Noticing (1.3), under the condition (2.15), we obtain

$$\begin{aligned} |\xi _l|\le 1, \quad l = -\frac{M}{2},\ldots , \frac{M}{2}-1, \end{aligned}$$

and thus it is stable.

(iv) Similarly to (i), plugging (2.16) into the CNFD method (2.9), we obtain for \(l = -\frac{M}{2},\ldots , \frac{M}{2}-1\),

$$\begin{aligned} \left| (\xi _l-1)I_2+\frac{i\tau }{2} (\xi _l+1) \left( \frac{1}{\varepsilon ^2}\sigma _3-A_1^0 \sigma _1-V^0I_2+\frac{\sin (\mu _l h)}{\varepsilon h}\sigma _1\right) \right| =0. \end{aligned}$$
(2.22)

Noticing (1.3), we have for \(l = -\frac{M}{2},\ldots , \frac{M}{2}-1\),

$$\begin{aligned} |\xi _l|=\left| \frac{2+i\tau \theta _l}{2-i\tau \theta _l}\right| =1, \quad \theta _l=V^0\pm \frac{1}{\varepsilon ^2h}\sqrt{h^2+\varepsilon ^2\left( A_1^0\varepsilon h- \sin (\mu _l h)\right) ^2}. \end{aligned}$$
(2.23)

Thus it is unconditionally stable. \(\square \)

2.3 Mass and Energy Conservation

For the CNFD method (2.9), we have the following conservative properties.

Lemma 2.2

The CNFD (2.9) conserves the mass in the discretized level, i.e.

$$\begin{aligned} \Vert \varPhi ^n\Vert _{l^2}^2:=h\sum _{j=0}^{M-1}|\varPhi _j^{n}|^2\equiv h\sum _{j=0}^{M-1}|\varPhi _j^{0}|^2 =\Vert \varPhi ^0\Vert _{l^2}^2=h\sum _{j=0}^{M-1}|\varPhi _0(x_j)|^2,\ n\ge 0. \end{aligned}$$
(2.24)

Furthermore, if \(V(t,x)=V(x)\) and \(A_1(t,x)=A_1(x)\) are time independent, the CNFD (2.9) conserves the energy as well,

$$\begin{aligned} E_h^n=&h\sum \limits _{j=0}^{M-1}\left[ -\frac{i}{\varepsilon }(\varPhi _j^{n})^*\sigma _1\delta _x\varPhi _j^{n} +\frac{1}{\varepsilon ^2}(\varPhi _j^{n})^*\sigma _3\varPhi _j^{n} +V_j|\varPhi _j^{n}|^2 -A_{1,j}(\varPhi _j^{n})^*\sigma _1\varPhi _j^{n}\right] \nonumber \\ \equiv&E_h^0,\quad n\ge 0, \end{aligned}$$
(2.25)

where \(V_j=V(x_j)\) and \(A_{1,j}=A_1(x_j)\) for \(j=0,1,\ldots ,M\).

Proof

(i) Firstly, we prove the mass conservation (2.24). Multiplying both sides of (2.9) from left by \(h\tau \, (\varPhi _j^{n+1/2})^*\) and taking the imaginary part, we have for \(j=0,1,\ldots ,M-1\),

$$\begin{aligned} h|\varPhi _j^{n+1}|^2=h|\varPhi _j^{n}|^2-\frac{\tau h}{2\varepsilon }\left[ (\varPhi _j^{n+1/2})^*\sigma _1\delta _x\varPhi _j^{n+1/2}+(\varPhi _j^{n+1/2})^T\sigma _1\delta _x \overline{\varPhi }_j^{n+1/2}\right] .\quad \end{aligned}$$
(2.26)

Summing (2.26) for \(j=0,1,\ldots ,M-1\) and noticing (1.3), we get

$$\begin{aligned} \Vert \varPhi ^{n+1}\Vert _{l^2}^2= & {} \Vert \varPhi ^{n}\Vert _{l^2}^2-\frac{\tau h}{2\varepsilon }\sum _{j=0}^{M-1}\left[ (\varPhi _j^{n+1/2})^*\, \sigma _1 \delta _x \varPhi _j^{n+1/2}+(\varPhi _j^{n+1/2})^T\, \sigma _1 \delta _x \overline{\varPhi }_j^{n+1/2}\right] \nonumber \\= & {} \Vert \varPhi ^{n}\Vert _{l^2}^2-\frac{\tau }{2\varepsilon }\sum _{j=0}^{M-1}\Bigl [ (\varPhi _j^{n+1/2})^*\, \sigma _1 \varPhi _{j+1}^{n+1/2}+(\varPhi _j^{n+1/2})^T\, \sigma _1 \overline{\varPhi }_{j+1}^{n+1/2}\nonumber \\&\quad \quad \quad \quad -(\varPhi _{j+1}^{n+1/2})^*\, \sigma _1 \varPhi _{j}^{n+1/2}-(\varPhi _{j+1}^{n+1/2})^T\, \sigma _1 \overline{\varPhi }_{j}^{n+1/2}\Bigr ]\nonumber \\= & {} \Vert \varPhi ^{n}\Vert _{l^2}^2, \quad n\ge 0, \end{aligned}$$
(2.27)

which immediately implies (2.24) by induction.

(ii) Secondly, we prove the energy conservation (2.25). Multiplying both sides of (2.9) from left by \(2h\, (\varPhi _j^{n+1}-\varPhi _j^n)^*\) and taking the real part, we have

$$\begin{aligned}&-h\,\text {Re}\left[ \frac{i}{\varepsilon }(\varPhi _j^{n+1}-\varPhi _j^n)^*\sigma _1\delta _x(\varPhi _j^{n+1}+\varPhi _j^n)\right] +\frac{h}{\varepsilon ^2}\left[ (\varPhi _j^{n+1})^*\sigma _3\varPhi _j^{n+1}-(\varPhi _j^{n})^*\sigma _3\varPhi _j^{n}\right] \nonumber \\&\ +hV_j(|\varPhi _j^{n+1}|^2-|\varPhi _j^n|^2)- hA_{1,j}\left[ (\varPhi _j^{n+1})^*\sigma _1\varPhi _j^{n+1}-(\varPhi _j^{n})^*\sigma _1\varPhi _j^{n}\right] =0. \end{aligned}$$
(2.28)

Summing (2.28) for \(j=0,1,\ldots ,M-1\) and noticing the summation by parts formula, we have

$$\begin{aligned}&h\sum \limits _{j=0}^{M-1}\text {Re}\left( \frac{i}{\varepsilon }(\varPhi _j^{n+1}-\varPhi _j^n)^*\sigma _1\delta _x(\varPhi _j^{n+1}+\varPhi _j^n)\right) \\ =&\frac{i h}{\varepsilon }\sum \limits _{j=0}^{M-1}(\varPhi _j^{n+1})^*\sigma _1\delta _x\varPhi _j^{n+1}- \frac{i h}{\varepsilon }\sum \limits _{j=0}^{M-1}(\varPhi _j^n)^*\sigma _1\delta _x\varPhi _j^n, \end{aligned}$$

and

$$\begin{aligned}&-\frac{ih}{\varepsilon }\sum \limits _{j=0}^{M-1}(\varPhi _j^{n+1})^*\sigma _1\delta _x\varPhi _j^{n+1}+ \frac{ih}{\varepsilon }\sum \limits _{j=0}^{M-1}(\varPhi _j^n)^*\sigma _1\delta _x\varPhi _j^n\nonumber \\&+\frac{h}{\varepsilon ^2}\sum \limits _{j=0}^{M-1}\left( (\varPhi _j^{n+1})^*\sigma _3\varPhi _j^{n+1}-(\varPhi _j^{n})^*\sigma _3\varPhi _j^{n}\right) +h\sum \limits _{j=0}^{M-1}V_j(|\varPhi _j^{n+1}|^2-|\varPhi _j^n|^2) \nonumber \\ {}&- h\sum \limits _{j=0}^{M-1}A_{1,j}\left( (\varPhi _j^{n+1})^*\sigma _1\varPhi _j^{n+1}-(\varPhi _j^{n})^*\sigma _1\varPhi _j^{n}\right) =0, \end{aligned}$$
(2.29)

which immediately implies (2.25). \(\square \)

2.4 Error Estimates

Let \(0<T<T^*\) with \(T^*\) being the maximal existence time of the solution, and denote \(\varOmega _{T}=[0,T]\times \varOmega \). Motivated by the nonrelativistic limit of the Dirac equation [18] and the dispersion relation (1.26), we assume that the exact solution of (2.1) satisfies \(\varPhi \in C^{3}([0,T]; (L^{\infty }(\varOmega ))^2)\cap C^{2}([0,T]; (W_p^{1,\infty }(\varOmega ))^2) \cap C^{1}([0,T]; (W_p^{2,\infty }(\varOmega ))^2)\cap C([0,T]; (W_p^{3,\infty }(\varOmega ))^2)\) and

$$\begin{aligned} (A) \ \left\| \frac{\partial ^{r+s}}{\partial t^{r} \partial x^{s}}\varPhi \right\| _{L^\infty ([0,T];(L^{\infty }(\varOmega ))^2)} \lesssim \frac{1}{\varepsilon ^{2r}}, \ 0\le r\le 3,\ 0\le r+s\le 3, \; 0<\varepsilon \le 1, \end{aligned}$$
(2.30)

where \(W_p^{m,\infty }(\varOmega )=\{u\ |\ u\in W^{m,\infty }(\varOmega ),\ \partial _x^l u(a)=\partial _x^l u(b),\ l=0,\ldots ,m-1\}\) for \(m\ge 1\) and here the boundary values are understood in the trace sense. In the subsequent discussion, we will omit \(\varOmega \) when referring to the space norm taken on \(\varOmega \). In addition, we assume the electromagnetic potentials \(V\in C(\overline{\varOmega }_T)\) and \(A_1\in C(\overline{\varOmega }_T)\) and denote

$$\begin{aligned} (B) V_{\mathrm{max}}:=\max _{(t,x)\in \overline{\varOmega }_T}|V(t,x)|, \quad A_{1,\mathrm max}:=\max _{(t,x)\in \overline{\varOmega }_T}|A_1(t,x)|.\quad \quad \quad \end{aligned}$$
(2.31)

Remark 2.1

From the analysis point of view, if \(V(t,x),A_1(t,x)\) and initial data \(\varPhi _0\) are sufficiently smooth, e.g. \(V(t,x),A(t,x)\in C([0,T];W_p^{4,2})\cap C^{1}([0,T];W_p^{2,2})\cap C^{2}([0,T];W_p^{1,2})\) and \(\varPhi _0\in (W_p^{4,2})^2\), the assumption (A) would hold [18]. In practice, if the exact solution \(\varPhi (t,x)\) remains well localized for \(t<T\) and the errors due to the periodic truncation of \(V(t,x)\varPhi (t,x)\) and \(A_1(t,x)\varPhi (t,x)\) onto the bounded domain \(\varOmega \) are negligible, the error estimates presented below would still hold without the periodicity assumptions on V(tx), \(A_1(t,x)\) and \(\varPhi _0\). It is worth noticing that the honeycomb lattice potential [3] and many other external electromagnetic potentials have the desired smoothness.

Define the grid error function \(\mathbf{e} ^n=(\mathbf{e} _0^n,\mathbf{e} _1^n,\ldots ,\mathbf{e} _M^n)^T\in X_M\) as:

$$\begin{aligned} \mathbf{e} _{j}^n = \varPhi (t_n,x_j) - \varPhi _{j}^n, \quad j=0,1,\ldots ,M, \quad n\ge 0, \end{aligned}$$
(2.32)

with \(\varPhi _j^n\) being the approximations obtained from the FDTD methods.

For the LFFD (2.6), we assume the stability condition

$$\begin{aligned} 0<\tau \le \frac{\varepsilon ^2h}{\varepsilon ^2hV_{\mathrm{max}}+\sqrt{h^2+\varepsilon ^2(1+\varepsilon hA_{1,\mathrm max})^2}}, \quad h>0, \quad 0<\varepsilon \le 1, \end{aligned}$$
(2.33)

and establish the following error estimate (see its proof in “Appendix 1”).

Theorem 2.1

Under the assumptions (A) and (B), there exist constants \(h_{0}>0\) and \(\tau _0>0\) sufficiently small and independent of \(\varepsilon \), such that for any \(0<\varepsilon \le 1\), when \(0<h\le h_{0}\) and \(0<\tau \le \tau _0\) and under the stability condition (2.33), we have the following error estimate for the LFFD (2.6) with (2.10) and (2.11)

$$\begin{aligned} \Vert \mathbf{e} ^{n}\Vert _{l^{2}}\lesssim \frac{h^{2}}{\varepsilon }+\frac{\tau ^{2}}{\varepsilon ^{6}}, \quad 0\le n\le \frac{T}{\tau }. \end{aligned}$$
(2.34)

Similar to the proof of the LFFD method, error estimates for the CNFD (2.9), SIFD1 (2.7) and SIFD2 (2.8) under the stability condition

$$\begin{aligned} 0<\tau \le \frac{1}{V_{\mathrm{max}}+A_{1,\mathrm max}}, \quad h>0, \quad 0<\varepsilon \le 1, \end{aligned}$$
(2.35)

can be derived and the details are omitted here for brevity.

Theorem 2.2

Under the assumptions (A) and (B), there exist constants \(h_{0}>0\) and \(\tau _0>0\) sufficiently small and independent of \(\varepsilon \), such that for any \(0<\varepsilon \le 1\), \(0<h\le h_{0}\) and \(0<\tau \le \tau _0\), we have the following error estimate for the CNFD (2.9) with (2.10)

$$\begin{aligned} \Vert \mathbf{e} ^{n}\Vert _{l^{2}}\lesssim \frac{h^{2}}{\varepsilon }+\frac{\tau ^{2}}{\varepsilon ^{6}}, \quad 0\le n\le \frac{T}{\tau }. \end{aligned}$$
(2.36)

Theorem 2.3

Under the assumptions (A) and (B), there exist constants \(h_{0}>0\) and \(\tau _0>0\) sufficiently small and independent of \(\varepsilon \), such that for any \(0<\varepsilon \le 1\), when \(0<h\le h_{0}\) and \(0<\tau \le \tau _0\) and under the stability condition (2.14), we have the following error estimate for the SIFD1 (2.7) with (2.10) and (2.11)

$$\begin{aligned} \Vert \mathbf{e} ^{n}\Vert _{l^{2}}\lesssim \frac{h^{2}}{\varepsilon }+\frac{\tau ^{2}}{\varepsilon ^{6}}, \quad 0\le n\le \frac{T}{\tau }. \end{aligned}$$
(2.37)

Theorem 2.4

Under the assumptions (A) and (B), there exist constants \(h_{0}>0\) and \(\tau _0>0\) sufficiently small and independent of \(\varepsilon \), such that for any \(0<\varepsilon \le 1\), when \(0<h\le h_{0}\) and \(0<\tau \le \tau _0\) and under the stability condition (2.35), we have the following error estimate for the SIFD2 (2.8) with (2.10) and (2.11)

$$\begin{aligned} \Vert \mathbf{e} ^{n}\Vert _{l^{2}}\lesssim \frac{h^{2}}{\varepsilon }+\frac{\tau ^{2}}{\varepsilon ^{6}}, \quad 0\le n\le \frac{T}{\tau }. \end{aligned}$$
(2.38)

Based on Theorems 2.22.4, the four FDTD methods studied here share the same temporal/spatial resolution capacity in the nonrelativistic limit regime. In fact, given an accuracy bound \(\delta >0\), the \(\varepsilon \)-scalability of the four FDTD methods is:

$$\begin{aligned} \tau =O\left( \varepsilon ^3 \sqrt{\delta }\right) =O(\varepsilon ^3), \quad h=O\left( \sqrt{\delta \varepsilon }\right) =O\left( \sqrt{\varepsilon }\right) , \quad 0<\varepsilon \ll 1. \end{aligned}$$
(2.39)

3 A sEWI-FP Method and Its Analysis

In this section, we propose a symmetric exponential wave integrator Fourier pseudospectral (sEWI-FP) method to solve the Dirac equation (1.9) (or 1.21) and establish its stability and convergence in the nonrelativistic limit regime. Again, for simplicity of notations, we shall only present the numerical method and its analysis for (2.1) in 1D. Generalization to (1.9) and/or higher dimensions is straightforward and the results remain valid without modifications (see generalizations in “Appendix 3”).

3.1 The sEWI-FP Method

Denote

$$\begin{aligned} Y_{M}=Z_M\times Z_M, \; Z_M=\mathrm{span}\left\{ \phi _l(x)=e^{i\mu _l(x-a)},\ l=-\frac{M}{2},\ldots , \frac{M}{2}-1\right\} . \end{aligned}$$

Let \([C_p(\overline{\varOmega })]^2\) be the function space consisting of all periodic vector function \(U(x):\ \overline{\varOmega }=[a,b]\rightarrow {{\mathbb {C}}}^2\). For any \(U(x)\in [C_p(\overline{\varOmega })]^2\) and \(U\in X_M\), define \(P_M:\ [L^2(\varOmega )]^2\rightarrow Y_M\) as the standard projection operator [70], \(I_M:\ [C_p(\overline{\varOmega })]^2\rightarrow Y_M\) and \(I_M:X_M\rightarrow Y_M\) as the standard interpolation operator [70], i.e. for \(a\le x\le b\)

$$\begin{aligned} (P_MU)(x)=\sum _{l=-M/2}^{M/2-1}\widehat{U}_l\, e^{i\mu _l(x-a)},\quad (I_MU)(x)=\sum _{l=-M/2}^{M/2-1}\widetilde{U}_l\, e^{i\mu _l(x-a)},\; \end{aligned}$$
(3.1)

with

$$\begin{aligned} \widehat{U}_l=\frac{1}{b-a}\int _a^bU(x)\,e^{-i\mu _l(x-a)}\,dx,\quad \widetilde{U}_l=\frac{1}{M}\sum _{j=0}^{M-1}U_j\, e^{-2ijl\pi /M}, \end{aligned}$$
(3.2)

where \(l=-\frac{M}{2}, -\frac{M}{2}+1,\ldots , \frac{M}{2}-1\) and \(U_j=U(x_j)\) when U is a function.

The Fourier spectral discretization for the Dirac equation (2.1) is as follows:

Find \(\varPhi _{M}(t,x)\in Y_M\), i.e.

$$\begin{aligned} \varPhi _{M}(t,x)=\sum ^{M/2-1}_{l=-M/2}\widehat{(\varPhi _M)}_l(t)\, e^{i\mu _l(x-a)},\quad a\le x\le b, \quad t\ge 0, \end{aligned}$$
(3.3)

such that, for \(a<x<b\) and \(t>0\), \(\varPhi _{M}:=\varPhi _{M}(t,x)\) satisfies

$$\begin{aligned} i\partial _t\varPhi _{M}=\left[ -\frac{i}{\varepsilon }\sigma _1\partial _x +\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi _{M}+P_M(V\varPhi _M)(t,x)-\sigma _1 P_M(A_1\varPhi _M). \end{aligned}$$
(3.4)

Substituting (3.3) into (3.4), noticing the orthogonality of \(\phi _l(x)\), we get for \(l=-\frac{M}{2},\ldots ,\frac{M}{2}-1\) and \(t\ge 0\)

$$\begin{aligned} i\,\frac{d}{dt}\widehat{(\varPhi _M)}_{l}(t)=\left[ \frac{\mu _l}{\varepsilon }\sigma _1+\frac{1}{\varepsilon ^2}\sigma _3\right] \widehat{(\varPhi _M)}_{l}(t)+\widehat{(V\varPhi _M)}_l(t)-\sigma _1 \widehat{(A_1\varPhi _{M})}_l(t)=0. \end{aligned}$$
(3.5)

For each l (\(l=-\frac{M}{2}, -\frac{M}{2}+1,\ldots , \frac{M}{2}-1\)), when t is near \(t=t_n\) \((n\ge 0)\), we rewrite the above ODEs as

$$\begin{aligned} i\,\frac{d}{ds}\widehat{(\varPhi _M)}_{l}(t_n+s)=\frac{1}{\varepsilon ^2}\varGamma _l\, \widehat{(\varPhi _M)}_{l}(t_n+s)+\widehat{F}_l^n(s),\quad s\in {{\mathbb {R}}}, \end{aligned}$$
(3.6)

where

$$\begin{aligned} \widehat{F}_l^n(s)=\widehat{(G\varPhi _M)}_l(t_n+s),\quad G(t,x)=V(t,x)I_2-\sigma _1A_1(t,x), \quad s,t\in {{\mathbb {R}}}, \end{aligned}$$
(3.7)

and \(\varGamma _l=\mu _l\varepsilon \sigma _1+\sigma _3=Q_l\, D_l\, (Q_l)^*\) with \(\delta _l=\sqrt{1+\varepsilon ^2\mu _l^2}\) and

$$\begin{aligned} \varGamma _l=\begin{pmatrix} 1 &{}\mu _l\varepsilon \\ \mu _l\varepsilon &{}-1 \end{pmatrix}, \quad Q_l=\begin{pmatrix} \frac{1+\delta _l}{\sqrt{2\delta _l(1+\delta _l)}} &{}-\frac{\varepsilon \mu _l}{\sqrt{2\delta _l(1+\delta _l)}}\\ \frac{\varepsilon \mu _l}{\sqrt{2\delta _l(1+\delta _l)}} &{}\frac{1+\delta _l}{\sqrt{2\delta _l(1+\delta _l)}} \end{pmatrix}, \quad D_l=\begin{pmatrix} \delta _l &{}0\\ 0 &{}-\delta _l\\ \end{pmatrix}. \end{aligned}$$
(3.8)

Solving the above ODE (3.6) via the integrating factor method, we obtain

$$\begin{aligned} \widehat{(\varPhi _M)}_l(t_n+s)=e^{-is\varGamma _l/\varepsilon ^2}\widehat{(\varPhi _M)}_l(t_n) -i\int _0^{s}e^{i(w-s)\varGamma _l/\varepsilon ^2}\widehat{F}_l^n(w)\,dw, \; s\in {{\mathbb {R}}}. \quad \end{aligned}$$
(3.9)

We note here that \(e^{is\varGamma _l}=\cos (s\varGamma _l)+i\sin (s\varGamma _l)\) (\(s\in \mathbb {R}\), \(l=-\frac{M}{2},\ldots ,M-1\)) and

$$\begin{aligned} \sin (s\varGamma _l)=Q_l\begin{pmatrix}\sin (s\delta _l)&{}0\\ 0&{}-\sin (s\delta _l)\end{pmatrix}Q_l^*,\quad \cos (s\varGamma _l)=\cos (s\delta _l) I_2. \end{aligned}$$
(3.10)

Setting \(n=0\) and \(s=\tau \), we get

$$\begin{aligned} \widehat{(\varPhi _M)}_l(\tau )=e^{-is\varGamma _l/\varepsilon ^2}\widehat{(\varPhi _M)}_l(0) -i\int _0^{\tau }e^{i(w-\tau )\varGamma _l/\varepsilon ^2}\widehat{F}_l^0(w)\,dw. \end{aligned}$$
(3.11)

For \(n\ge 1\), taking \(s=\tau \) and \(s=-\tau \) in (3.9), respectively, and subtracting one from the other, we have

$$\begin{aligned} \widehat{(\varPhi _M)}_l(t_{n+1})=&\widehat{(\varPhi _M)}_l(t_{n-1})-2i\sin (\tau \varGamma _l/\varepsilon ^2)\widehat{(\varPhi _M)}_l(t_{n})\nonumber \\&-i\int _0^{\tau }\cos \left( \frac{(w-\tau )\delta _l}{\varepsilon ^2}\right) \left( \widehat{F}_l^n(w)+\widehat{F}_l^n(-w)\right) \,dw\nonumber \\&+\int _0^\tau \sin \left( \frac{(w-\tau )\varGamma _l}{\varepsilon ^2}\right) \left( \widehat{F}_l^n(w)-\widehat{F}_l^n(-w)\right) \,dw, \end{aligned}$$
(3.12)

To obtain an explicit numerical method with second order accuracy in time, we approximate the integrals in (3.11) and (3.12) via the Gautschi-type/trapezoidal rules [42, 50, 51], which have been widely used for integrating highly oscillatory ODEs [6, 12, 42, 50, 51, 55, 56], as

$$\begin{aligned} \int _0^{\tau }e^{\frac{i(w-\tau )}{\varepsilon ^2}\varGamma _l}\widehat{F}_l^0(w)\, dw\approx & {} \int _0^{\tau }e^{\frac{i(w-\tau )}{\varepsilon ^2}\varGamma _l}\,dw\, \widehat{F}_l^0(0)\nonumber \\= & {} -i\varepsilon ^2\varGamma _l^{-1}\left[ I_2-e^{-\frac{i\tau }{\varepsilon ^2}\varGamma _l}\right] \widehat{F}_l^0(0), \end{aligned}$$
(3.13)

and for \(n\ge 1\)

$$\begin{aligned}&\int _0^{\tau }\cos \left( \frac{(w-\tau )}{\varepsilon ^2}\delta _l\right) \left( \widehat{F}_l^n(w)+\widehat{F}_l^n(-w)\right) dw\nonumber \\&\approx \int _0^{\tau }\cos \left( \frac{(w-\tau )}{\varepsilon ^2}\delta _l\right) \left( 2\widehat{F}_l^n(0)+ \partial _t\widehat{F}_l^n(0)(w-w)\right) dw =\frac{2\varepsilon ^2}{\delta _l}\sin (\tau \delta _l/\varepsilon ^2)\widehat{F}_l^n(0), \end{aligned}$$
(3.14)
$$\begin{aligned}&\int _0^\tau \sin ((w-\tau )\varGamma _l/\varepsilon ^2)\left( \widehat{F}_l^n(w)-\widehat{F}_l^n(-w)\right) \,dw\nonumber \\&\approx \frac{\tau }{2}\left[ \sin \left( \frac{-\tau \varGamma _l}{\varepsilon ^2}\right) \mathbf{0} +\sin \left( \frac{0\varGamma _l}{\varepsilon ^2}\right) \left( \widehat{F}_l^n(\tau )-\widehat{F}_l^n(-\tau )\right) \right] =\mathbf{0}. \end{aligned}$$
(3.15)

Now, we are ready to describe our scheme. Let \(\varPhi _M^n(x)\) be the approximation of \(\varPhi _{M}(t_n,x)\) (\(n\ge 0\)). Choosing \(\varPhi _M^0(x)=(P_M\varPhi _0)(x)\), a symmetric exponential wave integrator Fourier spectral (sEWI-FS) discretization for the Dirac equation (2.1) is to update the numerical approximation \(\varPhi ^{n+1}_M(x)\in Y_M\) (\(n=0,1,\ldots \)) as

$$\begin{aligned} \varPhi _M^{n+1}(x)= \sum _{l=-M/2}^{M/2-1}\widehat{(\varPhi _M^{n+1})}_l\, e^{i\mu _l(x-a)},\quad a\le x\le b,\quad n \ge 0, \end{aligned}$$
(3.16)

where for \(l = -\frac{M}{2}, \ldots , \frac{M}{2}-1\),

$$\begin{aligned} \widehat{(\varPhi _M^{n+1})}_l=\left\{ \begin{array}{ll} e^{-i\tau \varGamma _l/\varepsilon ^2}\widehat{(\varPhi _M^0)}_l -\;\varepsilon ^2\varGamma _l^{-1}\left[ I_2-e^{-\frac{i\tau }{\varepsilon ^2}\varGamma _l}\right] \widehat{(G(t_0)\varPhi _M^0)}_l, &{}n=0,\\ -2i\sin (\tau \varGamma _l/\varepsilon ^2)\,\widehat{(\varPhi _M^n)}_l+\widehat{(\varPhi _M^{n-1})}_l -i\frac{2\varepsilon ^2}{\delta _l}\sin (\frac{\tau \delta _l}{\varepsilon ^2})\widehat{(G(t_n)\varPhi _M^n)}_l, &{}n\ge 1,\\ \end{array}\right. \end{aligned}$$
(3.17)

with \(G(t):=G(t,x)\). Notice that the above scheme for \(n\ge 1\) is unchanged if we interchange \(n+1\leftrightarrow n-1\) and \(\tau \leftrightarrow -\tau \).

The above procedure is not suitable in practice due to the difficulty in computing the Fourier coefficients through integrals in (3.2). Here we present an efficient implementation by choosing \(\varPhi _M^0(x)\) as the interpolant of \(\varPhi _0(x)\) on the grids \(\left\{ x_j, j = 0, 1,\ldots , M\right\} \) and approximate the integrals in (3.2) by a quadrature rule.

Let \(\varPhi _j^n\) be the numerical approximation of \(\varPhi (t_n,x_j)\) for \(j = 0, 1, 2, \ldots , M\) and \(n\ge 0\), and denote \(\varPhi ^n\in X_M\) as the vector with components \(\varPhi _j^n\). Choosing \(\varPhi ^0_j=\varPhi _0(x_j)\) (\(j = 0, 1,\ldots , M\)), the sEWI Fourier pseudospectral (sEWI-FP) method for computing \(\varPhi ^{n+1}\) for \(n\ge 0\) reads

$$\begin{aligned} \varPhi _{j}^{n+1} = \sum _{l=-M/2}^{M/2-1}\widetilde{(\varPhi ^{n+1})}_le^{2ijl\pi /M}, \quad j = 0, 1, \ldots , M, \end{aligned}$$
(3.18)

where

$$\begin{aligned} \widetilde{(\varPhi ^{n+1})}_l=\left\{ \begin{array}{ll} e^{-i\tau \varGamma _l/\varepsilon ^2}\widetilde{(\varPhi _0)}_l-\varepsilon ^2\varGamma _l^{-1} \left[ I_2-e^{-\frac{i\tau }{\varepsilon ^2}\varGamma _l}\right] \widetilde{(G(t_0)\varPhi _0)}_l, &{}\quad n=0,\\ -2i\sin (\tau \varGamma _l/\varepsilon ^2)\,\widetilde{(\varPhi ^n)}_l+\widetilde{(\varPhi ^{n-1})}_l -i\frac{2\varepsilon ^2}{\delta _l}\sin (\frac{\tau \delta _l}{\varepsilon ^2})\widetilde{(G(t_n)\varPhi ^n)}_l, &{}\quad n\ge 1.\\ \end{array}\right. \end{aligned}$$
(3.19)

The sEWI-FP (3.183.19) is explicit, and can be computed efficiently by the fast Fourier transform (FFT). The memory cost is O(M) and the computational cost per time step is \(O(M \log M)\).

3.2 Linear Stability Analysis

To consider the linear stability, we assume that in the Dirac equation (2.1), the external potential fields are constants, i.e. \(A_1(t,x)\equiv A_1^0\) and \(V(t,x)\equiv V^0\) with \(A_1^0\) and \(V^0\) being two real constants. Then we have

Lemma 3.1

The sEWI-FP method (3.18)–(3.19) and sEWI-FS method (3.16)–(3.17) are stable under the condition

$$\begin{aligned} 0<\tau \le \min \left\{ \frac{h\varepsilon ^2\pi }{3\sqrt{h^2+\varepsilon ^2\pi ^2}},\frac{2-\sqrt{3}}{2(|V^0|+|A_1^0|)}\right\} , \quad 0<\varepsilon \le 1. \end{aligned}$$
(3.20)

Proof

We shall only prove the sEWI-FP case (3.19), as the sEWI-FP method case (3.163.17) is quite the same.

Similarly to the proof of Lemma 2.1, noticing (3.17), (3.7), (3.12) and (3.14), we find that

$$\begin{aligned} \xi _l^2(\widetilde{\varPhi ^0})_l= -2i\xi _l\sin (\tau \varGamma _l/\varepsilon ^2)(\widetilde{\varPhi ^0})_l+(\widetilde{\varPhi ^{0}})_l -2i\xi _l\varepsilon ^2\delta _l^{-1}\sin (\tau \delta _l/\varepsilon ^2)(V^0I_2-A_1^0\sigma _1)(\widetilde{\varPhi ^0})_l. \end{aligned}$$
(3.21)

Multiplying both sides of (3.21) by \(\overline{\xi _l}(\widetilde{\varPhi ^0})^*_l\) and then taking the real part and dividing both sides by \((\widetilde{\varPhi ^0})^*_l(\widetilde{\varPhi ^0})_l\), in view of Hermitian matrices \(\varGamma _l\), \(\sigma _1\), we get

$$\begin{aligned} |\xi _l|^2\text {Re}(\xi _l)=\text {Re}(\overline{\xi _l}), \end{aligned}$$
(3.22)

which implies \(|\xi _l|=1\) if \(\text {Re}(\xi _l)\ne 0\). On the other hand, if \(\text {Re}(\xi _l)=0\), we can take \(\xi _l=i c_l\) with \(c_l\in \mathbb {R}\), and (3.21) leads to

$$\begin{aligned} -c_l^2(\widetilde{\varPhi ^0})_l= 2c_l\sin (\tau \varGamma _l/\varepsilon ^2)(\widetilde{\varPhi ^0})_l+(\widetilde{\varPhi ^{0}})_l +2c_l\varepsilon ^2\delta _l^{-1}\sin (\tau \delta _l/\varepsilon ^2)(V^0I_2-A_1^0\sigma _1)(\widetilde{\varPhi ^0})_l. \end{aligned}$$
(3.23)

Denoting \(C=|V^0|+|A_1^0|\), multiplying both sides of (3.23) by \((\widetilde{\varPhi ^0})^*_l\) and then dividing both sides by \((\widetilde{\varPhi ^0})^*_l(\widetilde{\varPhi ^0})_l\), noticing \(\sin (\tau \delta _l/\varepsilon ^2)\le \frac{\sqrt{3}}{2}\) under the stability constraint and \(|\varepsilon ^2\delta _l^{-1}\sin (\tau \delta _l/\varepsilon ^2)|\le \tau \), we obtain

$$\begin{aligned} c_l^2+1\le \sqrt{3}|c_l|+2\tau C|c_l|, \end{aligned}$$
(3.24)

where no real number \(c_l\) can satisfy the above inequality if \(\tau <\frac{2-\sqrt{3}}{2C}\). It follows that the sEWI-FS (3.163.17) is stable under the constraint (3.20). \(\square \)

3.3 Error Estimates

In order to obtain an error estimate for the sEWI methods (3.163.17) and (3.183.19), motivated by the results in [19, 24], we assume that there exists an integer \(m_0\ge 2\) such that the exact solution \(\varPhi (t,x)\) of the Dirac equation (2.1) satisfies

$$\begin{aligned} (C)\Vert \varPhi \Vert _{ L^\infty ([0,T]; (H_p^{m_0})^2)}\lesssim 1,\; \Vert \partial _t^s\varPhi \Vert _{L^{\infty }([0, T];(L^2)^2)}\lesssim \frac{1}{\varepsilon ^{2s}},\quad s=1,2,\end{aligned}$$

where \(H^k_p(\varOmega )=\{u\ |\ u\in H^{k}(\varOmega ),\ \partial _x^l u(a)=\partial _x^l u(b),\ l=0,\ldots ,k-1\}\). In addition, we assume the electromagnetic potentials satisfy

$$\begin{aligned} (D)\Vert V\Vert _{W^{2,\infty }([0,T];L^\infty )}+\Vert A_1\Vert _{W^{2,\infty }([0,T];L^\infty )}\lesssim 1.\end{aligned}$$

The following estimate can be established (see its proof in “Appendix 2”).

Theorem 3.1

Let \(\varPhi _M^n(x)\) be the approximation obtained from the sEWI-FS (3.16)–(3.17). Under the assumptions (C) and (D), there exists \(h_0>0\) and \(\tau _0>0\) sufficiently small and independent of \(\varepsilon \) such that, for any \(0<\varepsilon \le 1\) under the stability constraint

$$\begin{aligned} 0<\tau \le \frac{h\varepsilon ^2\pi }{3\sqrt{h^2+\varepsilon ^2\pi ^2}}, \end{aligned}$$
(3.25)

when \(0<h\le h_0\) and \(0<\tau \le \tau _0\) satisfying the stability condition (3.25), we have the following error estimate

$$\begin{aligned} \Vert \varPhi (t_n,x)-\varPhi _M^n(x)\Vert _{L^2}\lesssim \frac{\tau ^2}{\varepsilon ^4}+h^{m_0},\quad 0\le n\le \frac{T}{\tau }. \end{aligned}$$
(3.26)

Remark 3.1

If we apply a filter in sEWI-FS (3.163.17), where we modify the coefficients in front of \(\widehat{(\varPhi _M^n)}_l\) as \(-2i\sin (\tau \varGamma _l/\varepsilon ^2)\rightarrow -2i\cos (\tau \delta _l/\varepsilon ^2)\sin (\tau \varGamma _l/\varepsilon ^2)\), the resulting scheme will be stable for \(\tau \lesssim 1\), i.e. the stability will be independent of \(\varepsilon \) and h. Accordingly, the error estimates will become \(\tau ^2/\varepsilon ^6+h^{m_0}\) under proper regularity assumptions on the exact solution.

Remark 3.2

The same error estimate in Theorem 3.1 holds for the sEWI-FP (3.183.19) and the proof is quite similar to that of Theorem 3.1.

4 A TSFP Method and Its Analysis

In this section, we present a time-splitting Fourier pseudospectral (TSFP) method to solve the Dirac equation(1.9) (or 1.21) which has been proposed and studied for the Maxwell–Dirac equation [17, 53]. Again, for simplicity of notations, we shall only present the numerical method and its analysis for (2.1) in 1D. Generalization to (1.9) and/or higher dimensions is straightforward and results remain valid without modifications (see generalizations in “Appendix 3”).

From time \(t = t_n\) to time \(t = t_{n+1}\), the Dirac equation (2.1) is split into two steps. One solves first

$$\begin{aligned} i\partial _t\varPhi (t,x)=\left[ -\frac{i}{\varepsilon }\sigma _1 \partial _x+\frac{1}{\varepsilon ^2}\sigma _3\right] \varPhi (t,x), \quad x\in \varOmega , \end{aligned}$$
(4.1)

with the periodic boundary condition (2.2) for the time step of length \(\tau \), followed by solving

$$\begin{aligned} i\partial _t\varPhi (t,x)=\left[ -A_1(t,x)\sigma _1 +V(t,x)I_2\right] \varPhi (t,x), \quad x\in \varOmega , \end{aligned}$$
(4.2)

for the same time step. Equation (4.1) will be first discretized in space by the Fourier spectral method and then integrated (in phase or Fourier space) in time exactly [17]. For the ODEs (4.2), we can integrate analytically in time as

$$\begin{aligned} \varPhi (t,x)=e^{-i\int _{t_n}^t \left[ V(s,x)\, I_2-A_1(s,x)\, \sigma _1\right] ds}\,\varPhi (t_n,x), \; a\le x\le b, \; t_n\le t\le t_{n+1}. \end{aligned}$$
(4.3)

In practical computation, from time \(t=t_n\) to \(t=t_{n+1}\), one often combines the splitting steps via the standard Strang splitting [73]—which results in a second order time-splitting Fourier pseudospectral (TSFP) method—as

$$\begin{aligned} \varPhi _j^{(1)}= & {} \sum _{l=-\frac{M}{2}}^{M/2-1} e^{-i\frac{\tau \varGamma _l}{2\varepsilon ^2}}\,\widetilde{(\varPhi ^n)}_l\, e^{i\mu _l(x_j-a)} =\sum _{l=-\frac{M}{2}}^{\frac{M}{2}-1} Q_l\, e^{-i \frac{\tau D_l}{2\varepsilon ^2}}\,(Q_l)^*\, \widetilde{(\varPhi ^n)}_l\, e^{\frac{2ijl\pi }{M}},\nonumber \\ \varPhi _j^{(2)}= & {} e^{-i\int _{t_n}^{t_{n+1}} G(t,x_j)\,dt}\,\varPhi _j^{(1)} = P_j\, e^{-i \varLambda _j}\, P_j^*\, \varPhi _j^{(1)}, \quad 0\le j\le M,\; n\ge 0,\\ \varPhi _j^{n+1}= & {} \sum _{l=-\frac{M}{2}}^{\frac{M}{2}-1} e^{-i \frac{\tau \varGamma _l}{2\varepsilon ^2}}\,\widetilde{(\varPhi ^{(2)})}_l\, e^{i\mu _l(x_j-a)} =\sum _{l=-\frac{M}{2}}^{\frac{M}{2}-1} Q_l\, e^{-i \frac{\tau D_l}{2\varepsilon ^2}}\,(Q_l)^*\, \widetilde{(\varPhi ^{(2)})}_l\, e^{\frac{2ijl\pi }{M}},\nonumber \end{aligned}$$
(4.4)

where \(\int _{t_n}^{t_{n+1}}G(t,x_j)dt=V_j^{(1)}\, I_2- A_{1,j}^{(1)}\,\sigma _1=P_j\, \varLambda _j\, P_j^*\) with \(V_j^{(1)}=\int _{t_n}^{t_{n+1}}V(t,x_j)dt\), \(A_{1,j}^{(1)}=\int _{t_n}^{t_{n+1}}A_1(t,x_j)dt\), \(\varLambda _j=\mathrm{diag}(\varLambda _{j,+},\varLambda _{j,-})\) with \(\varLambda _{j,\pm }=V_j^{(1)}\pm A_{1,j}^{(1)}\), and \(P_j=I_2\) if \(A_{1,j}^{(1)}=0\) and otherwise

$$\begin{aligned} P_j=P^{(0)}:=\begin{pmatrix} \frac{1}{\sqrt{2}} &{}-\frac{1}{\sqrt{2}}\\ \frac{1}{\sqrt{2}} &{}\frac{1}{\sqrt{2}}\end{pmatrix}. \end{aligned}$$
(4.5)

Remark 4.1

Again, if the definite integrals in \(\int _{t_n}^{t_{n+1}}\varLambda (t,x_j)\,dt\) cannot be evaluated analytically, we can evaluate them numerically via the Simpson’s quadrature rule as

$$\begin{aligned}&\int _{t_n}^{t_{n+1}}A_1(t,x_j)\,dt\approx \frac{\tau }{6}\left[ A_1(t_n,x_j)+4A_1\left( t_n+\frac{\tau }{2},x_j\right) +A_1(t_{n+1},x_j)\right] ,\\&\int _{t_n}^{t_{n+1}}V(t,x_j)\,dt\approx \frac{\tau }{6}\left[ V(t_n,x_j)+4V\left( t_n+\frac{\tau }{2},x_j\right) +V(t_{n+1},x_j)\right] . \end{aligned}$$

Lemma 4.1

The TSFP (4.4) conserves the mass in the discretized level, i.e.

$$\begin{aligned} \Vert \varPhi ^n\Vert _{l^2}^2:=h\sum _{j=0}^{M-1}|\varPhi _j^{n}|^2\equiv h\sum _{j=0}^{M-1}|\varPhi _j^{0}|^2 =\Vert \varPhi ^0\Vert _{l^2}^2=h\sum _{j=0}^{M-1}|\varPhi _0(x_j)|^2,\quad n\ge 0. \end{aligned}$$
(4.6)

Proof

The proof is quite standard and similar to that of Lemma 2.2. We omit it here. \(\square \)

From Lemma 4.1, we conclude that the TSFP (4.4) is unconditionally stable. In addition, under proper assumptions of the exact solution \(\varPhi (t,x)\) and electromagnetic potentials, it is easy to show the following error estimate via the formal Lie calculus introduced in [58],

$$\begin{aligned} \Vert \varPhi (t_n,x)-I_M(\varPhi ^n)\Vert _{L^2}\lesssim h^{m_0}+\frac{\tau ^2}{\varepsilon ^4}, \quad 0\le n\le \frac{T}{\tau }, \end{aligned}$$
(4.7)

where \(m_0\) depends on the regularity of \(\varPhi (t,x)\). We omit the details here for brevity.

5 Numerical Comparison and Applications

In this section, we compare the accuracy of different numerical methods including the FDTD, sEWI-FP and TSFP methods for the Dirac equation (1.21) in 1D in terms of the mesh size h, time step \(\tau \) and the parameter \(0<\varepsilon \le 1\). We will pay particular attention to the \(\varepsilon \)-scalability of different methods in the nonrelativistic limit regime, i.e. \(0<\varepsilon \ll 1\). Then we simulate the dynamics of the Dirac equation (1.21) in 2D with a honeycomb lattice potential by the TSFP method.

5.1 Comparison of Spatial/Temporal Resolution

To test the accuracy, we choose the electromagnetic potentials in the Dirac equation (1.21) with \(d=1\) as

$$\begin{aligned} A_1(t,x) = \frac{(x+1)^2}{1+x^2},\quad V(t,x) = \frac{1-x}{1+x^2}, \quad x\in {{\mathbb {R}}}, \quad t\ge 0, \end{aligned}$$
(5.1)

and the initial data as

$$\begin{aligned} \phi _1(0,x) = e^{-x^2/2}, \quad \phi _2(0,x) = e^{-(x-1)^2/2}, \quad x\in {{\mathbb {R}}}. \end{aligned}$$
(5.2)

The problem is solved numerically on an interval \(\varOmega =(-16, 16)\) with periodic boundary conditions on \(\partial \varOmega \). The ‘reference’ solution \(\varPhi (t,x)=(\phi _1(t, x),\phi _2(t, x))^T\) is obtained numerically by using the TSFP method with a small time step and a very fine mesh size, e.g. \(\tau _e = 10^{-7}\) and \(h_e = 1/16\) or \(h_e = 1/4096\) for the comparison of the sEWI-FP/TSFP methods or the FDTD methods, respectively. Denote \(\varPhi ^n_{h,\tau }\) as the numerical solution obtained by a numerical method with mesh size h and time step \(\tau \). In order to quantify the convergence, we introduce

$$\begin{aligned} e_{h,\tau }(t_n)=\Vert \varPhi ^n-\varPhi (t_n,\cdot )\Vert _{l^2}=\sqrt{h\sum _{j=0}^{M-1}|\varPhi ^n_j-\varPhi (t_n,x_j)|^2}. \end{aligned}$$
Table 1 Spatial and temporal error analysis of the LFFD method for the Dirac equation (1.21) in 1D
Table 2 Spatial and temporal error analysis of the SIFD1 method for the Dirac equation (1.21) in 1D

Table 1 lists spatial errors \(e_{h,\tau _e}(t=2)\) with different h (upper part) and temporal errors \(e_{h_e,\tau }(t=2)\) with different \(\tau \) (lower part) for the LFFD method (2.6). Tables 2, 3, 4, 5 and 6 show similar results for the SIFD1 method (2.7), SIFD2 method (2.8), CNFD method (2.9), sEWI-FP method (3.183.19) and TSFP method (4.4), respectively. For the LFFD and SIFD1 methods, due to the stability condition and accuracy requirement, we take

$$\begin{aligned} \delta _j(\varepsilon ) = \left\{ \begin{array}{ll} \varepsilon ^2, &{}\varepsilon _0/2^j\le \varepsilon \le 1,\\ \varepsilon _0^2/4^j, &{}0<\varepsilon <\varepsilon _0/2^j,\\ \end{array} \right. \quad j=0,1,\ldots \end{aligned}$$

in Tables 1 and 2. For comparison, Table 7 depicts temporal errors of different numerical methods when \(\varepsilon =1\) for different \(\tau \), Table 8 depicts temporal errors of different numerical methods under different \(\varepsilon \)-scalability.

Table 3 Spatial and temporal error analysis of the SIFD2 method for the Dirac equation (1.21) in 1D
Table 4 Spatial and temporal error analysis of the CNFD method for the Dirac equation (1.21) in 1D
Table 5 Spatial and temporal error analysis of the sEWI-FP method for the Dirac equation (1.21) in 1D
Table 6 Spatial and temporal error analysis of the TSFP method for the Dirac equation (1.21) in 1D
Table 7 Comparison of temporal errors of different methods for the Dirac equation (1.21) with \(\varepsilon = 1\)
Table 8 Comparison of temporal errors of different numerical methods for the Dirac equation (1.21) under proper \(\varepsilon \)-scalability

From Tables 1, 2, 3, 4, 5, 6, 7, and 8, and additional numerical results not shown here for brevity, we can draw the following conclusions for the Dirac equation by using different numerical methods:

(i). For the discretization error in space, for any fixed \(\varepsilon =\varepsilon _0>0\), the FDTD methods are second-order accurate, and resp., the sEWI-FP and TSFP methods are spectrally accurate (cf. each row in the upper parts of Tables 1, 2, 3, 4, 5, 6 and 7). For \(0<\varepsilon \le 1\), the errors are independent of \(\varepsilon \) for the sEWI-FP and TSFP methods (cf. each column in the upper parts of Tables 5, 6), and resp., are almost independent of \(\varepsilon \) for the FDTD methods (cf. each column in the upper parts of Tables 1, 2, 3, 4). In general, for any fixed \(0<\varepsilon \le 1\) and \(h>0\), the sEWI-FP and TSFP methods perform much better than the FDTD methods in spatial discretization.

(ii). For the discretization error in time, in the O(1) speed-of-light regime, i.e. \(\varepsilon =O(1)\), all the numerical methods including FDTD, sEWI-FP and TSFP are second-order accurate (cf. the first row in the lower parts of Tables 1, 2, 3, 4, 5, 6). In general, the sEWI-FP and TSFP methods perform much better than the FDTD methods in temporal discretizations for a fixed time step. In the non-relativistic limit regime, i.e. \(0<\varepsilon \ll 1\), for the FDTD methods, the ‘correct’ \(\varepsilon \)-scalability is \(\tau =O(\varepsilon ^3)\) which verifies our theoretical results; for the sEWI-FP and TSFP methods, the ‘correct’ \(\varepsilon \)-scalability is \(\tau =O(\varepsilon ^2)\) which again confirms our theoretical results. In fact, for \(0<\varepsilon \le 1\), one can observe clearly second-order convergence in time for the FDTD methods only when \(\tau \lesssim \varepsilon ^3\) (cf. upper triangles above the diagonal labelled by bold letters in the lower parts of Tables 1, 2, 3, 4), and resp., for the sEWI-FP and TSFP methods when \(\tau \lesssim \varepsilon ^2\) (cf. upper triangles above the diagonal labelled by bold letters in the lower parts of Tables 5 and 6). In general, for any fixed \(0<\varepsilon \le 1\) and \(\tau >0\), the TSFP method performs the best, and the sEWI-FP method performs much better than the FDTD methods in temporal discretization (cf. Table 8).

(iii). From Table 6, our numerical results suggest the following error bound for the TSFP method when \(\tau \lesssim \varepsilon ^2\),

$$\begin{aligned} \Vert \varPhi (t_n,\cdot )-I_M(\varPhi ^n)\Vert _{L^2}\lesssim h^{m_0}+\frac{\tau ^2}{\varepsilon ^2},\quad 0\le n\le \frac{T}{\tau }, \end{aligned}$$
(5.3)

which is much better than (4.7) for the TSFP method in the nonrelativistic limit regime. Rigorous mathematical justification for (5.3) is on-going.

Table 9 Spatial error analysis of the CNFD method for the free Dirac equation with different h

From Tables 1, 2, 3, and 4, in the numerical example, we could not observe numerically the \(\varepsilon \)-dependence in the spatial discretization error for the FDTD methods, i.e. \(\frac{1}{\varepsilon }\) in front of \(h^2\), which was proven in Theorems 2.22.4. In order to investigate the spatial \(\varepsilon \)-resolution of the FDTD methods, we consider the Dirac equation (2.1) on \(\varOmega =(-1, 1)\) with no electromagnetic potential—the free Dirac equation, i.e.

$$\begin{aligned} A_1(t,x) \equiv 0,\quad V(t,x) \equiv 0, \quad x\in (-1,1), \quad t\ge 0. \end{aligned}$$
(5.4)

The initial data in (2.2) is taken as

$$\begin{aligned} \phi _1(0,x) = e^{9\pi i(x+1)}, \quad \phi _2(0,x) = e^{9\pi i(x+1)}, \quad -1\le x\le 1. \end{aligned}$$
(5.5)

Table 9 shows the spatial errors \(e_{h,\tau _e}(t=2)\) of the CNFD method with different h. The results for the LFFD, SIFD1 and SIFD2 methods are similar and they are omitted here for brevity. From Table 9 where the error is of order \(h^2/\varepsilon \) (each row of the table), we can conclude that the error bounds in the Theorems 2.12.4 are sharp.

Based on the above comparison, in view of both temporal and spatial accuracies and resolution capacity, we conclude that the sEWI-FP and TSFP methods perform much better than the FDTD methods for the discretization of the Dirac equation, especially in the nonrelativistic limit regime. For the reader’s convenience, we summarize the properties of different numerical methods in Table 10.

Table 10 Comparison of properties of different numerical methods for solving the Dirac equation with M being the number of grid points in space
Table 11 Temporal errors for density and current of the TSFP for the Dirac equation (1.21) in 1D

As observed in [15, 16], the time-splitting spectral (TSSP) method for the Schrödinger equation performs much better for the physical observable, e.g. density and current, than for the wave function, in the semiclassical limit regime with respect to the scaled Planck constnat \(0<\varepsilon \ll 1\). In order to see whether this is still valid for the TSFP method for the Dirac equation in the nonrelativistic limit regime, let \(\rho ^n=|\varPhi ^n_{h,\tau }|^2\), \(\mathbf{J}^n=\frac{1}{\varepsilon }(\varPhi ^n_{h,\tau })^*\sigma _1\varPhi ^n_{h,\tau }\) with \(\varPhi ^n_{h,\tau }\) the numerical solution obtained by the TSFP method with mesh size h and time step \(\tau \), and define the errors

$$\begin{aligned}&e_{\rho }^{h,\tau }(t_n) := \Vert \rho ^n-\rho (t_n,\cdot )\Vert _{l^1}=h\sum _{j=0}^{N-1}|\rho _j^n-\rho (t_n,x_j)|,\\&e_{\mathbf{J}}^{h,\tau }(t_n) := \Vert \mathbf{J}^n-\mathbf{J}(t_n,\cdot )\Vert _{l^1}= h\sum _{j=0}^{N-1}|\mathbf{J}_j^n-\mathbf{J}(t_n,x_j)|. \end{aligned}$$

Table 11 lists temporal errors \(e_{\rho }^{h,\tau }(t=2)\) and \(e_\mathbf{J}^{h,\tau }(t=2)\) with different \(\tau \) for the TSFP method (4.4). From this Table, we can see that the approximations of the density and current are at the same order as for the wave function by using the TSFP method. The reason that we can speculate is that \(\rho =O(1)\) and \(\mathbf{J} =O(\varepsilon ^{-1})\) (see details in Eqs. 1.11 or 1.23) in the Dirac equation, where in the Schrödinger equation both density and current are all at O(1), when \(0<\varepsilon \ll 1\).

5.2 Dynamics of the Dirac Equation in 2D

Here we study numerically the dynamics of the Dirac equation (1.21) in 2D with a honeycomb lattice potential, i.e. we take \(d=2\), \(A_1(t,\mathbf{x} )=A_2(t,\mathbf{x} )\equiv 0\) and

$$\begin{aligned} V(t,\mathbf{x} )=\cos \left( \frac{4\pi }{\sqrt{3}}{} \mathbf{e}_1\cdot \mathbf{x} \right) +\cos \left( \frac{4\pi }{\sqrt{3}}{} \mathbf{e}_2\cdot \mathbf{x} \right) +\cos \left( \frac{4\pi }{\sqrt{3}}{} \mathbf{e}_3\cdot \mathbf{x} \right) , \end{aligned}$$
(5.6)

with

$$\begin{aligned} \mathbf{e}_1=(-1,0)^{T},\quad \mathbf{e}_2=(1/2,\sqrt{3}/2)^T,\quad \mathbf{e}_3=(1/2,-\sqrt{3}/2)^T. \end{aligned}$$
(5.7)

The initial data in (1.22) is taken as

$$\begin{aligned} \phi _1(0,\mathbf{x} )=e^{-\frac{x^2+y^2}{2}},\quad \phi _2(0,\mathbf{x} )=e^{-\frac{(x-1)^2+y^2}{2}}, \quad \mathbf{x} =(x,y)^T\in {{\mathbb {R}}}^2. \end{aligned}$$
(5.8)

The problem is solved numerically on \(\varOmega =[-10,10]^2\) by the TSFP method with mesh size \(h=1/16\) and time step \(\tau =0.01\). Figures 2 and 3 depict the densities \(\rho _j(t,\mathbf{x} )=|\phi _j(t,\mathbf{x} )|^2\) (\(j=1,2\)) for \(\varepsilon =1\) and \(\varepsilon =0.2\), respectively.

From Figs. 2 and 3, we find that the dynamics of the Dirac equation depends significantly on \(\varepsilon \). For \(\varepsilon =1\), the dynamics is strange and the densities are fluctuating in a random pattern, featured as quantum Zitterbewegung [30], well-known for the relativistic Dirac dynamics. As \(\varepsilon \rightarrow 0^+\), the relativistic effects will vanish and the Dirac equation will reduce to Schrödinger equations. Indeed, from Fig. 3 where \(\varepsilon =0.2\), we find the dynamics is more like Schrödinger dynamics and the densities spread over the lattice potential in a smoother way. In addition, the TSFP method can capture the dynamics very accurately and efficiently.

Fig. 2
figure 2

Dynamics of the densities \(\rho _1(t,\mathbf{x} )=|\phi _1(t,\mathbf{x} )|^2\) (left) and \(\rho _2(t,\mathbf{x} )=|\phi _2(t,\mathbf{x} )|^2\) (right) of the Dirac equation in 2D with a honeycomb lattice potential when \(\varepsilon =1\)

Fig. 3
figure 3

Dynamics of the densities \(\rho _1(t,\mathbf{x} )=|\phi _1(t,\mathbf{x} )|^2\) (left) and \(\rho _2(t,\mathbf{x} )=|\phi _2(t,\mathbf{x} )|^2\) (right) of the Dirac equation in 2D with a honeycomb potential when \(\varepsilon =0.2\)

6 Conclusion

Three types of numerical methods based on different time integrations were analyzed rigorously and compared numerically for simulating the Dirac equation in the nonrelativistic limit regime, i.e. \(0<\varepsilon \ll 1\) or the speed of light goes to infinity. The first class consists of the second order standard FDTD methods, including energy conservative/ nonconservative and implicit/semi-implicit/explicit ones. In the nonrelativistic limit regime, the error estimates of the FDTD methods were rigorously analyzed, which suggest that the \(\varepsilon \)-scalability of the FDTD methods is \(\tau =O(\varepsilon ^3)\) and \(h=O(\sqrt{\varepsilon })\). The second class applies the Fourier spectral discretization in space and Gautschi-type integration in time, resulting in an sEWI-FP method. Rigorous error bounds for the sEWI-FP method were derived, which show that the \(\varepsilon \)-scalability of the sEWI-FP method is \(\tau =O(\varepsilon ^2)\) and \(h=O(1)\). The last class combines the Fourier spectral discretization in space and splitting technique in time, which leads to a TSFP method. Based on the rigorous error analysis, the \(\varepsilon \)-scalability of the TSFP method is \(\tau =O(\varepsilon ^2)\) and \(h=O(1)\), which is similar to the sEWI-FP method. From the error analysis and numerical results, the sEWI-FP and TSFP methods perform much better than the FDTD methods, especially in the nonrelativistic limit regime. Extensive numerical results indicate that the TSFP method is superior than the sEWI-FP in terms of accuracy and efficiency, and thus the TSFP method is favorable for solving the Dirac equation directly, especially in the nonrelativistic limit regime. Finally, we studied the dynamics of the Dirac equation in 2D with a honeycomb lattice potential and observed some interesting dynamics for different \(\varepsilon \).