Skip to main content

A novel high accuracy finite-difference time-domain method

Abstract

The finite-difference time-domain (FDTD) method is widely used for numerical simulations of electromagnetic waves and acoustic waves. It is known, however, that the Courant condition is restricted in higher dimensions and with higher order differences in space. Although it is possible to relax the Courant condition by utilizing the third-degree difference in space, there remains a large anisotropy in the numerical dispersion at large Courant numbers. This study aims to reduce the anisotropy in the numerical dispersion and relax the Courant condition simultaneously. A new third-degree difference operator including the Laplacian is introduced to the time-development equations of FDTD(2,4) with second- and fourth-order accuracies. The present numerical simulations have demonstrated that numerical oscillations due to the anisotropic dispersion relation are reduced with the new operator.

Graphical Abstract

Introduction

The FDTD (finite-difference time-domain) method has been used for more than a half century for electromagnetic analyses (Yee 1966; Taflove 1980). The time-development equations of the FDTD method are derived by applying the finite difference of second-order accuracy in both time and space to Maxwell’s equations. The Yee (staggered) grid system is adopted in the spatial differences so that the numerical divergence is always free for both electric and magnetic fields. The FDTD method has been used for acoustic analyses as well (Ikata and Tay 1998). Numerical analyses with the FDTD method have been performed for wide range of studies in the Earth, planetary, and space sciences, such as geomagnetically induced current (GIC) (Nakamura et al. 2018; Watari et al. 2019), extremely low frequency (ELF) and very low frequency (VLF) propagations in the Earth-ionosphere waveguide (Cummer 2000), ground penetrating radars (Ding et al. 2021), kinetic simulations of space plasma (Kimura and Nakagawa 2008; Nakagawa and Kimura 2011; Umeda 2012; Umeda and Fukazawa 2015; Fujiwara et al. 2022), infrasound associated with volcanic activities (Yokoo et al. 2019; Ishii and Yokoo 2021), and seismic wave (Takenaka et al. 2017).

Numerical oscillations occur due to the error between the numerical phase velocity and the theoretical phase velocity. The numerical errors in the phase velocity are reduced with higher order finite differences in space. The fourth-order spatial difference (Fang 1989; Petropoulos 1994) is used in the FDTD(2,4) method, where the FDTD method using tth- and xth-order accuracy in time and space, respectively, is called FDTD(t,x). Although the numerical dispersion relation of FDTD(2,4) is closer to the theoretical one than that of FDTD(2,2), the Courant condition is more restricted. The numerical dispersion relations show that the Courant conditions of FDTD(2,2) and FDTD(2,4) in one dimension are \(C<1\) and \(C< 6/7 \sim 0.857\), respectively. Smaller \(\Delta t\) and larger number of time steps are required for satisfying the Courant condition.

The explicit nonstandard-type methods (Hadi and Piket-May 1997; Cole 1997a, b; Kudo et al. 2002; Yang and Balanis 2006; Ohtani et al. 2009) use additional diagonal difference terms, which correct the numerical dispersion and reduce anisotropic errors. However, optimal coefficients of the additional terms depend on wavenumber or frequency. Furthermore, the Courant condition of the nonstandard-type methods is restricted similarly with the standard FDTD methods.

For relaxation of the Courant condition, implicit methods (Sun and Trueman 2003; Yang et al. 2006; Chen et al. 2018; Namiki 1999; Cooke et al. 2008; Wang et al. 2013; Zhou et al. 2015; Xie et al. 2020) are commonly used. However, implicit equations need larger computational costs than explicit equations because they are solved numerically with iterative convergence or matrix inversion.

Recently, a new numerical method has been developed for relaxing the Courant condition of the FDTD(2,4) (Sekido and Umeda 2023). To derive the time-development equations of this method, the third-degree difference terms are appended to FDTD(2,4). By a brute-force search, optimal coefficients of the third-degree difference terms are obtained, which minimize phase velocity errors and satisfy the Courant condition. However, there remains an anisotropy in the numerical dispersion, which results in numerical oscillations at a specific propagation angle.

In the present study, a non-dissipative and explicit method is developed for reducing the anisotropy in the numerical dispersion by appending a new Laplacian operator to FDTD(2,4).

Numerical dispersion relation

Maxwell’s equations in vacuum are written as follows:

$$\begin{aligned}{} & {} \frac{\partial {\varvec{B}}}{\partial t} + \nabla \times {\varvec{E}} = {\varvec{0}} \end{aligned}$$
(1a)
$$\begin{aligned}{} & {} \frac{\partial {\varvec{E}}}{\partial t} - c^2 \nabla \times {\varvec{B}} = {\varvec{0}} \end{aligned}$$
(1b)
$$\begin{aligned}{} & {} \nabla \cdot {\varvec{E}} = 0 \end{aligned}$$
(1c)
$$\begin{aligned}{} & {} \nabla \cdot {\varvec{B}} = 0 \end{aligned}$$
(1d)

where \({\varvec{E}}\) is electric field, \({\varvec{B}}\) is magnetic field, and c is the speed of light. In the present study, the time-development equations are obtained by the Taylor expansion of Maxwell’s Eq. (1) as follows:

$$\begin{aligned} {\varvec{E}}^{t+\Delta t}=& {} {\varvec{E}}^{t} + \Delta t \left. \frac{\partial {\varvec{E}}}{\partial t} \right| ^{t+\frac{\Delta t}{2}} + \frac{\Delta t^{3}}{24} \left. \frac{\partial ^{3} {\varvec{E}}}{\partial t^{3}} \right| ^{t+\frac{\Delta t}{2}} + \cdots \nonumber \\= & {} {\varvec{E}}^{t} + c^{2} \Delta t \nabla \times {\varvec{B}}^{t+\frac{\Delta t}{2}} + \frac{c^{4} \Delta t^{3}}{24} \nabla \times \nabla ^{2} {\varvec{B}}^{t+\frac{\Delta t}{2}} + \cdots \end{aligned}$$
(2a)
$$\begin{aligned} {\varvec{B}}^{t+\frac{\Delta t}{2}}=& {} {\varvec{B}}^{t-\frac{\Delta t}{2}} + \Delta t \left. \frac{\partial {\varvec{B}}}{\partial t} \right| ^{t} + \frac{\Delta t^{3}}{24} \left. \frac{\partial ^{3} {\varvec{B}}}{\partial t^{3}} \right| ^{t} + \cdots \nonumber \\= & {} {\varvec{B}}^{t-\frac{\Delta t}{2}} - \Delta t \nabla \times {\varvec{E}}^{t} - \frac{c^{2} \Delta t^{3}}{24} \nabla \times \nabla ^{2} {\varvec{E}}^{t} - \cdots \end{aligned}$$
(2b)

These equations consist of the odd-degree difference terms only. If even-degree difference terms are included, then a numerical dissipation occurs.

The following time-development equations are provided as the discretized form of Eqs. (2), in which third-degree spatial difference terms including the Laplacian are appended:

$$\begin{aligned} B_{x}^{t+\frac{\Delta t}{2}} \left( x,y+\frac{\Delta y}{2},z+\frac{\Delta z}{2} \right)=& {} B_{x}^{t-\frac{\Delta t}{2}} \left( x,y+\frac{\Delta y}{2},z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} - {{{\mathcal {D}}}}_{y}^{1,n_{1}} E_{z}^{t} \left( x,y+\frac{\Delta y}{2},z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} - \mathcal{L}_{y}^{3,n_{3}} E_{z}^{t} \left( x,y+\frac{\Delta y}{2},z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} + \mathcal{D}_{z}^{1,n_{1}} E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} + \mathcal{L}_{z}^{3,n_{3}} E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z+\frac{\Delta z}{2} \right) \end{aligned}$$
(3a)
$$\begin{aligned} E_{x}^{t+\Delta t} \left( x+\frac{\Delta x}{2},y,z \right)= & {} E_{x}^{t} \left( x+\frac{\Delta x}{2},y,z \right) \nonumber \\{} & {} + c^{2} \mathcal{D}_{y}^{1,n_{1}} B_{z}^{t+\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y,z \right) \nonumber \\{} & {} + c^{2} \mathcal{L}_{y}^{3,n_{3}} B_{z}^{t+\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y,z \right) \nonumber \\{} & {} - c^{2} \mathcal{D}_{z}^{1,n_{1}} B_{y}^{t+\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y,z \right) \nonumber \\{} & {} - c^{2} \mathcal{L}_{z}^{3,n_{3}} B_{y}^{t+\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y,z \right) \end{aligned}$$
(3b)
$$\begin{aligned} B_{y}^{t+\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y,z+\frac{\Delta z}{2} \right)= & {} B_{y}^{t-\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} - \mathcal{D}_{z}^{1,n_{1}} E_{x}^{t} \left( x+\frac{\Delta x}{2},y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} - \mathcal{L}_{z}^{3,n_{3}} E_{x}^{t} \left( x+\frac{\Delta x}{2},y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} + \mathcal{D}_{x}^{1,n_{1}} E_{z}^{t} \left( x+\frac{\Delta x}{2},y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} + \mathcal{L}_{x}^{3,n_{3}} E_{z}^{t} \left( x+\frac{\Delta x}{2},y,z+\frac{\Delta z}{2} \right) \end{aligned}$$
(3c)
$$\begin{aligned} E_{y}^{t+\Delta t} \left( x,y+\frac{\Delta y}{2},z \right)= & {} E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} + c^{2} \mathcal{D}_{z}^{1,n_{1}} B_{x}^{t+\frac{\Delta t}{2}} \left( x,y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} + c^{2} \mathcal{L}_{z}^{3,n_{3}} B_{x}^{t+\frac{\Delta t}{2}} \left( x,y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} - c^{2} \mathcal{D}_{x}^{1,n_{1}} B_{z}^{t+\frac{\Delta t}{2}} \left( x,y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} - c^{2} \mathcal{L}_{x}^{3,n_{3}} B_{z}^{t+\frac{\Delta t}{2}} \left( x,y+\frac{\Delta y}{2},z \right) \end{aligned}$$
(3d)
$$\begin{aligned} B_{z}^{t+\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right)= & {} B_{z}^{t-\frac{\Delta t}{2}} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} - \mathcal{D}_{x}^{1,n_{1}} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} - \mathcal{L}_{x}^{3,n_{3}} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} + \mathcal{D}_{y}^{1,n_{1}} E_{x}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} + \mathcal{L}_{y}^{3,n_{3}} E_{x}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \end{aligned}$$
(3e)
$$\begin{aligned} E_{z}^{t+\Delta t} \left( x,y,z+\frac{\Delta z}{2} \right)= & {} E_{z}^{t} \left( x,y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} + c^{2} \mathcal{D}_{x}^{1,n_{1}} B_{y}^{t+\frac{\Delta t}{2}} \left( x,y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} + c^{2} \mathcal{L}_{x}^{3,n_{3}} B_{y}^{t+\frac{\Delta t}{2}} \left( x,y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} - c^{2} \mathcal{D}_{y}^{1,n_{1}} B_{x}^{t+\frac{\Delta t}{2}} \left( x,y,z+\frac{\Delta z}{2} \right) \nonumber \\{} & {} - c^{2} \mathcal{L}_{y}^{3,n_{3}} B_{x}^{t+\frac{\Delta t}{2}} \left( x,y,z+\frac{\Delta z}{2} \right) \end{aligned}$$
(3f)

where \(\mathcal{D}_{x}^{m,n}\) is a one-dimensional mth-degree spatial difference operator with the nth-order accuracy, and \(\mathcal{L}_{x}^{m,n}\) is a new mth-degree spatial difference operator including the Laplacian with the nth-order accuracy. Note that \(\mathcal{D}_{z}^{1,n_1}=0\) and \(\mathcal{L}_{z}^{3,n_3}=0\) in two dimensions. By calculating the first-degree difference with the present new operator \(\partial / \partial x = \mathcal{D}_{x}^{1,n_1} + \mathcal{L}_{x}^{3,n_3}\), the divergence free condition is satisfied for both electric and magnetic fields in the time-development Eq. (3).

The first-degree spatial difference operator in the x direction with the fourth-order accuracy \(\mathcal{D}_{x}^{1,4}\) is defined as follows (Sekido and Umeda 2023):

$$\begin{aligned} \begin{aligned} \mathcal{D}_{x}^{1,4} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right)&= \frac{1}{24} \frac{\Delta t}{\Delta x} \left\{ - E_{y}^{t} \left( x+2 \Delta x,y+\frac{\Delta y}{2},z \right) \right. \\&\quad + 27E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \\&\quad \left. - 27E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) \right\} . \end{aligned} \end{aligned}$$
(4)

Second order

This subsection provides a numerical scheme with first-degree difference operator with fourth-order accuracy \(\mathcal{D}_{x}^{1,4}\) and the third-degree difference operator including the Laplacian with the second-order accuracy \(\mathcal{L}_{x}^{3,2}\). The operator \(\mathcal{L}_{x}^{3,2}\) is defined as follows:

$$\begin{aligned} \mathcal{L}_{x}^{3,2} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \\&\quad = \mathcal{D}_{x}^{1,2} \left( \alpha _{1} \mathcal{D}_{x}^{2,2} + \alpha _{2} \mathcal{D}_{y}^{2,2} + \alpha _{2} \mathcal{D}_{z}^{2,2} \right) E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \\&\quad \left. \begin{aligned}&= c^{2} \frac{\Delta t}{\Delta x} \left[ \alpha _{1} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \left\{ E_{y}^{t} \left( x+2 \Delta x,y+\frac{\Delta y}{2},z \right) - 3E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \right. \right. \\&\left. + 3E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) \right\} \end{aligned} \quad \right\} \mathcal{D}_{x}^{1,2} \mathcal{D}_{x}^{2,2} = \mathcal{D}_{x}^{3,2} \\&\qquad \left. \begin{aligned}&+ \alpha _{2} \left( \frac{\Delta t}{\Delta y} \right) ^{2} \left\{ E_{y}^{t} \left( x+\Delta x,y+\frac{3 \Delta y}{2},z \right) \right. \\&\quad - 2E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x+\Delta x,y-\frac{\Delta y}{2},z \right) \\&\left. - E_{y}^{t} \left( x,y+\frac{3 \Delta y}{2},z \right) + 2E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x,y-\frac{\Delta y}{2},z \right) \right\} \end{aligned} \quad \right\} \mathcal{D}_{x}^{1,2} \mathcal{D}_{y}^{2,2} \\&\qquad \left. \begin{aligned}&+ \alpha _{2} \left( \frac{\Delta t}{\Delta z} \right) ^{2} \left\{ E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z+\Delta z \right) \right. \\&\quad - 2E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z-\Delta z \right) \\&\left. \left. - E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z+\Delta z \right) + 2E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z-\Delta z \right) \right\} \right] \end{aligned} \right\} \mathcal{D}_{x}^{1,2} \mathcal{D}_{z}^{2,2} \end{aligned}$$
(5)

where \(\alpha _{1}\) and \(\alpha _{2}\) are coefficients for \(\partial ^3/\partial x^3\) terms and \(\partial ^3/(\partial x \partial y^2)\) (or \(\partial ^3/(\partial x \partial z^2)\)) terms, respectively. The time-development Eq. (3) has the fourth-order accuracy in space with the coefficient of \(\alpha _1 = \alpha _2 = 1/24\) but has the second-order accuracy with other values as shown in Eqs. (2). Here, the second-degree difference operator with the second-order accuracy \(\mathcal{D}_{x}^{2,2}\) is defined as follows (Sekido and Umeda 2023):

$$\begin{aligned} \mathcal{D}_{x}^{2,2} E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) \\&\quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \left\{ E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \right. \\&\qquad \left. - 2E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) \right\} \end{aligned}$$
(6)

This scheme is referred to as “scheme 1” in this paper.

The dispersion relation is derived from the time-development Eq. (3) with Eqs. (4) and (5) as follows:

$$\begin{aligned} \mathcal{W}^{2}&= 16 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right\} \\&\quad - 2 \left[ 4 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \\&\quad + \frac{2}{3} \left\{ C_{x}^{2} \mathcal{K}_{x}^{4} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \\&\quad \left. \left. + C_{z}^{2} \mathcal{K}_{z}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \right] \\&\quad + \left\{ \left( C_{x}^{2} \mathcal{K}_{x}^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} + C_{z}^{2} \mathcal{K}_{z}^{2} \right) + \frac{1}{3} \left( C_{x}^{2} \mathcal{K}_{x}^{4} + C_{y}^{2} \mathcal{K}_{y}^{4} + C_{z}^{2} \mathcal{K}_{z}^{4} \right) + \frac{1}{36} \left( C_{x}^{2} \mathcal{K}_{x}^{6} + C_{y}^{2} \mathcal{K}_{y}^{6} + C_{z}^{2} \mathcal{K}_{z}^{6} \right) \right\} . \end{aligned}$$
(7)

where \(C_{x} = c\Delta t/\Delta x\), \(C_{y} = c\Delta t/\Delta y\), and \(C_{z} = c\Delta t/\Delta z\) is the Courant number. Numerical frequency and wavenumber are defined as \(\mathcal{W} = \sin \left( \omega \Delta t/2 \right)\) and \(\mathcal{K}_{x} = \sin \left( k_{x} \Delta x/2 \right)\), respectively. Note that \(\mathcal{K}_{z}=0\) in two dimensions. The right-hand side must take a value in the range from 0 to 1 for stability of the numerical simulations. The Courant condition is satisfied for \(C \le 6/7\sqrt{2} \sim 0.606\) and \(C \le 6/7\sqrt{3} \sim 0.495\) in two and three dimensions, respectively, at \(\alpha _{1}=\alpha _{2}=0\) and \(C=C_{x}=C_{y}=C_{z}\) (i.e., \(\Delta x = \Delta y = \Delta z\)). The previous study relaxed the Courant condition by adjusting the coefficient \(\alpha _{1}\) (Sekido and Umeda 2023).

Fourth order

This subsection provides a numerical scheme with first-degree difference operator with fourth-order accuracy \(\mathcal{D}_{x}^{1,4}\) and the third-degree difference operator including the Laplacian with the fourth-order accuracy \(\mathcal{L}_{x}^{3,4}\). The operator \(\mathcal{L}_{x}^{3,4}\) is derived by replacing \(\mathcal{D}_{x}^{2,2} + \mathcal{D}_{y}^{2,2} + \mathcal{D}_{z}^{2,2}\) in Eq. (5) with \(\left( 8 - \mathcal{D}_{x}^{2,2} \right) \mathcal{D}_{x}^{2,2} + \left( 8 - \mathcal{D}_{y}^{2,2} \right) \mathcal{D}_{y}^{2,2} + \left( 8 - \mathcal{D}_{z}^{2,2} \right) \mathcal{D}_{z}^{2,2}\):

(8)

This scheme is referred to as “scheme 2” in this paper. The detailed derivation of the operator \(\mathcal{D}_{x}^{3,4}\) is shown in Appendix 1.

The dispersion relation is derived from the time-development Eq. (3) with Eqs. (4) and (8) as follows:

$$\begin{aligned} \mathcal{W}^{2}&= \left[ 16 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right. \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right\} \\&\quad + 16 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \right. \\&\quad + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \right\} \\&\quad + 4 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) ^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) ^{2} \right. \\&\quad \left. \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{4} \right) ^{2} \right\} \right] \\&\quad - 2 \left[ 4 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \\&\quad + \frac{2}{3} \left\{ C_{x}^{2} \mathcal{K}_{x}^{4} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \\&\quad + 2 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \right\} \\&\quad + \frac{1}{3} \left\{ C_{x}^{2} \mathcal{K}_{x}^{4} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) + C_{y}^{2} \mathcal{K}_{y}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \right. \\&\quad \left. \left. + C_{z}^{2} \mathcal{K}_{z}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{4} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{4} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{4} \right) \right\} \right] \\&\quad + \left\{ \left( C_{x}^{2} \mathcal{K}_{x}^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} + C_{z}^{2} \mathcal{K}_{z}^{2} \right) + \frac{1}{3} \left( C_{x}^{2} \mathcal{K}_{x}^{4} + C_{y}^{2} \mathcal{K}_{y}^{4} + C_{z}^{2} \mathcal{K}_{z}^{4} \right) + \frac{1}{36} \left( C_{x}^{2} \mathcal{K}_{x}^{6} + C_{y}^{2} \mathcal{K}_{y}^{6} + C_{z}^{2} \mathcal{K}_{z}^{6} \right) \right\} . \end{aligned}$$
(9)

Note that \(\mathcal{K}_{z}=0\) in two dimensions.

Note that there is another type of the third-degree difference operator with fourth-order accuracy:\(\begin{aligned} \mathcal{L}_{x}^{3,4} = \frac{1}{8} \mathcal{D}_{x}^{1,2} \left( 8 - \mathcal{D}_{x}^{2,2} \right) \left( \alpha _{1} \mathcal{D}_{x}^{2,2} + \alpha _{2} \mathcal{D}_{y}^{2,2} + \alpha _{2} \mathcal{D}_{z}^{2,2} \right) \end{aligned}\)which is presented in Appendix 2.

Two dimensions

Optimal coefficients

A brute-force search is performed in the same way as the previous study (Sekido and Umeda 2023) to find a set of optimal coefficients for the third-degree difference operators. The optimal coefficients are determined to suppress the numerical instability and minimize the phase velocity error. The phase velocity is obtained by solving the dispersion relations for the angular frequency \(\omega\) and dividing the real part of \(\omega\) by the wavenumber k. The numerical error in the phase velocity is calculated as an average of the entire wavenumber space by the following equation:

$$\begin{aligned} \begin{aligned} \varepsilon = \sqrt{\frac{\Delta x \Delta y \Delta z}{\pi ^{3} c^2} \int _{0}^{\pi /\Delta z} \int _{0}^{\pi /\Delta y} \int _{0}^{\pi /\Delta x} \left\{ \frac{\omega (k_{x},k_{y},k_{z})}{\sqrt{k_{x}^{2} + k_{y}^{2} + k_{z}^{2}}} - c \right\} ^{2} \textrm{d}k_{x} \textrm{d}k_{y} \textrm{d}k_{z}}. \end{aligned} \end{aligned}$$
(10)

The numerical error \(\varepsilon\) is a function of the coefficients \(\alpha _1\) and \(\alpha _2\) for a specific Courant number C. A set of optimal coefficients is searched such that \(\varepsilon\) is smallest under the condition of \(\textrm{Im}(\omega ) \le 0\). Hence, the optimal coefficients are obtained as a function of the Courant number C. Table 1 shows the sets of optimal coefficients for scheme 1 for \(0.5 \le C \le 1\). Table 2 shows the sets of optimal coefficients for scheme 2 for \(0.5 \le C \le 1\).

The time-development equations with the first-degree difference operator with fourth-order accuracy \(\mathcal{D}_{x}^{1,4}\) and the one-dimensional third-degree difference operators with fourth-order accuracy \(\mathcal{D}_{x}^{3,4}\) are developed in the previous study (Sekido and Umeda 2023), which is referred to as “Sekido23” in this paper.

Numerical error

The numerical errors in the phase velocity of schemes 1 and 2 are compared with those of Sekido23. Figure 1 shows the phase velocity errors \(\varepsilon\) as a function of the Courant number C. Panels (a–c) show the numerical errors in the entire wavenumber space, at \(\theta = {0}^\circ\) and at \(\theta = {45}^\circ\), respectively. Here, \(\theta\) denotes the propagation angle from the x axis. The black, red and blue lines show the numerical errors with Sekido23, schemes 1 and 2, respectively.

The three schemes suppress the numerical instabilities for \(0.61 \le C \le 1\) where FDTD(2,4) is unstable. Panel (a) shows that the numerical errors of the present schemes are smaller than those of Sekido23. Panel (b) shows that the numerical errors of the present schemes are smaller than those of Sekido23 at \(\theta = {0}^\circ\). Especially, the numerical errors of scheme 1 are smaller than those of scheme 2 for \(C \ge 0.96\). Panel (c) shows that the numerical errors of the present schemes tend to be close to those of Sekido23 at \(\theta = {45}^\circ\).

Figure 2 shows the dependence of the phase velocity errors on wavenumber with Sekido23, schemes 1 and 2. The horizontal and vertical axes are wavenumber \(k_x \Delta x\) and \(k_y \Delta y\), respectively. Panels (a–c) and (d–f) show the phase velocity errors with \(C=0.5\) and 1, respectively. Panels (d–f) show that the phase velocity errors with schemes 1 and 2 have smaller anisotropic errors than those with Sekido23 at \(C=1\). With scheme 2, the phase velocity errors are reduced for a wider range than with scheme 1.

Numerical results

Test simulations are performed with the same settings as the previous study (Sekido and Umeda 2023), i.e., \(c=10.0\), \(\Delta x=\Delta y=1.0\) and \(\Delta t=C\Delta x/c\). The same input current density is also imposed as the previous study (Sekido and Umeda 2023). The boundary conditions in both x and y direction are periodic.

Figure 3 shows the results of the numerical simulations. Panels (a–f) show the spatial profiles of the magnetic field \(B_z\) component with the combination of Sekido23, schemes 1 and 2 versus \(C=0.5\) and 1. The panels focus on the first quadrant of the simulation domain.

With both of the Courant number \(C=0.5\) and \(C=1\), the numerical simulations are stable with the present schemes as well as Sekido23. With \(C=0.5\), Panels (a), (c) and (e) show that the numerical oscillations occur at \(\theta ={0}^\circ\) with schemes 1 and 2, although the phase velocity errors with schemes 1 and 2 are smaller than those with Sekido23 as shown in Fig. 1. Panels (a–c) in Fig. 2 show that the phase velocity errors with schemes 1 and 2 are larger than those with Sekido23 at \(k_{x} \Delta x \approx 0.7\)-0.9 and \(k_y=0\), which corresponds to the wavenumber of the numerical oscillations in Fig. 3. Panels (d) and (f) show that the numerical oscillations at \(C=1\) are reduced with the present schemes. There appear small numerical oscillations at \(\theta ={45}^\circ\) with scheme 1, while there are less numerical oscillations with scheme 2. This result agrees with Fig. 1, which shows that the numerical errors of scheme 1 at \(\theta ={45}^\circ\) are larger than those of the mean value in the whole directions.

Table 3 shows the computational time of the numerical simulations. The computational time is measured on the same processor and the same compiler as the previous study (Sekido and Umeda 2023). In those simulations, the electric field \(E_{x}\) and \(E_{y}\) components and magnetic field \(B_{z}\) component are computed only.

The computational time of the test simulations with \(C=0.5\) is 2 times as long as that with \(C=1.0\). At the same Courant number, the computational time increases as the number of operations increases. With \(C=1\), the computational time with schemes 1 and 2 are 1.052 and 1.604 times as long as that with Sekido23, respectively, although the numbers of operations with schemes 1 and 2 are 1.4 and 2.0 times as large as those with Sekido23, respectively. The numbers of memory load with schemes 1 and 2 are 0.846 and 1.308 times larger than those with Sekido23, respectively. The number of operation, memory load and memory store contribute in the ratio of 1.00 : 3.89 : 1.96 to the computational time. The computational time is obtained from the sum of the memory access time and the processing time of operations. The number of floating-point operations is not proportional to the computational time, since the floating-point operations cost shorter computational time than the memory accesses.

Three dimensions

Optimal coefficients

Table 4 shows the sets of optimal coefficients for scheme 1 for \(0.4 \le C \le 1\). Table 5 shows the sets of optimal coefficients for scheme 2 for \(0.4 \le C \le 1\).

Numerical error

The numerical errors in the phase velocity of schemes 1 and 2 are compared with those of Sekido23. Figure 4 shows the phase velocity errors \(\varepsilon\) as a function of the Courant number C. Panels (a–d) show the numerical errors in the entire wavenumber space, at \((\theta ,\phi )=({0}^\circ ,{0}^\circ )\), at \((\theta ,\phi )=({45}^\circ ,{0}^\circ )\) and at \((\theta ,\phi )=({45}^\circ ,{45}^\circ )\), respectively. Here, \(\theta\) and \(\phi\) denote zenith and azimuth angles, respectively. The black, red and blue lines show the numerical errors with Sekido23, schemes 1 and 2, respectively.

The three schemes suppress the numerical instabilities for \(0.4 \le C \le 1\). Panel (a) shows that the numerical errors of the present schemes are smaller than those of Sekido23. The numerical errors of scheme 2 in the entire wavenumber space are smaller than those of scheme 1. Panels (b) and (c) show that the numerical errors are smaller with the present schemes than with Sekido23 at \((\theta ,\phi )=({0}^\circ ,{0}^\circ )\) and \((\theta ,\phi )=({45}^\circ ,{0}^\circ )\). Panel (d) shows that the numerical errors of the present schemes tend to be close to those of Sekido23 at \((\theta ,\phi )=({45}^\circ ,{45}^\circ )\).

Figure 5 shows the dependence of the phase velocity errors on wavenumber in the \(k_x\)-\(k_y\) and \(k_r\)-\(k_z\) planes at \(C=1\). Here, we define the \(x=y, z=0\) line as an axis “r” (\((\theta ,\phi )=({45}^\circ ,{0}^\circ )\)). Panels (a–f) and (g–l) show the phase velocity errors with \(C=0.4\) and 1, respectively. Panels (g–l) show that the anisotropy in the phase velocity errors with schemes 1 and 2 is smaller than that with Sekido23. With scheme 2, the phase velocity errors are reduced for a wider range than with scheme 1.

Numerical results

Test simulations are performed with the same settings as the previous study (Sekido and Umeda 2023), i.e., \(c=10.0\), \(\Delta x=\Delta y=\Delta z=1.0\) and \(\Delta t=C\Delta x/c\). The same input current density is also imposed as the previous study (Sekido and Umeda 2023). The boundary conditions in all the x, y and z directions are periodic.

Figure 6 shows the results of numerical simulations. Panels (a–l) show the spatial profiles of the magnetic field \(B_z\) component with the combination of Sekido23, schemes 1 and 2 versus \(C=0.4\) and 1. The panels focus on the first quadrant of the x-y and r-z planes.

With both of the Courant number \(C=0.4\) and \(C=1\), the numerical simulations are stable with the present schemes as well as Sekido23. With \(C=0.4\), Panels (a), (c) and (e) show that the numerical oscillations occur at \((\theta ,\phi )=({0}^\circ ,{0}^\circ )\) with schemes 1 and 2, although the phase velocity errors with schemes 1 and 2 are smaller than those with Sekido23 as shown in Fig. 4. Panels (a–c) in Fig. 5 show that the phase velocity errors with schemes 1 and 2 are larger than those with Sekido23 at \(k_{x} \Delta x \approx 0.7\)-0.9 and \(k_y=k_z=0\), which corresponds to the wavenumber of the numerical oscillations in Figs. 6. Panels (i–l) show that the numerical oscillations are reduced at \(C=1\) with the present schemes. The numerical oscillations with scheme 1 are larger than those with scheme 2. These results agree with Fig. 4, which shows that the numerical errors of scheme 1 are larger than those of scheme 2.

Table 6 shows the computational time of the test simulations. The computational time of the test simulations with \(C=0.4\) is 2.5 times as long as those with \(C=1.0\). At the same Courant number, the computational time increases as the number of operations increases. With \(C=1\), the computational time with schemes 1 and 2 are 1.017 and 1.646 times as long as that with Sekido23, respectively, although the numbers of operations with schemes 1 and 2 are 2.0 and 3.0 times as large as those with Sekido23, respectively. The numbers of memory load with schemes 1 and 2 are 1.130 and 2.000 times larger than those with Sekido23, respectively. The number of operations, memory load and memory store contribute in the ratio of 1.00 : 17.7 : 95.9 to the computational time. In three dimensions, the size of the simulation data is much larger than that in two dimensions. The simulation data in three dimensions is stored on main memory while the simulation data in two dimensions is stored on cache memory. Therefore, the contributions of memory load and store to the computational time in three dimensions are much larger than those in two dimensions.

Conclusions

A novel non-dissipative and explicit FDTD method is developed to reduce an anisotropy in the numerical dispersion and relax the Courant condition simultaneously. Although the Courant condition of FDTD(2,4) is relaxed in our previous study (Sekido and Umeda 2023), there remains a large anisotropy in the numerical dispersion.

In the present study, third-degree spatial difference operators including the Laplacian are appended to the time-development equations of FDTD(2,4) (Fang 1989; Petropoulos 1994) in the way similar to the recent study (Sekido and Umeda 2023). A set of the optimal coefficients is searched to minimize the mean value of the phase velocity errors in the whole wavenumber space. The numerical simulations have demonstrated that the anisotropy in the numerical dispersion is reduced. For large Courant numbers up to \(C=1\), the numerical instability is also suppressed.

Note that the present method is able to use acoustic analyses straightforwardly.

Table 1 Sets of optimal coefficients for scheme 1 in two dimensions
Table 2 Sets of optimal coefficients for scheme 2 in two dimensions
Fig. 1
figure 1

Phase velocity errors in two dimensions: a in the entire wavenumber space; b at \(\theta = {0}^\circ\); c at \(\theta = {45}^\circ\)

Fig. 2
figure 2

Dependence of the phase velocity errors on wavenumber in two dimensions: a Sekido23 with \(C=0.5\); b scheme 1 with \(C=0.5\); c scheme 2 with \(C=0.5\); d Sekido23 with \(C=1\); e scheme 1 with \(C=1\); f scheme 2 with \(C=1\)

Fig. 3
figure 3

Spatial profiles of magnetic field \(B_{z}\) in two dimensions at \(t=200\Delta t/C\), where C is the dimensionless Courant number: a Sekido23 with \(C=0.5\); b Sekido23 with \(C=1\); c scheme 1 with \(C=0.5\); d scheme 1 with \(C=1\); e scheme 2 with \(C=0.5\); f scheme 2 with \(C=1\)

Table 3 Computational time of the two-dimensional simulations
Table 4 Sets of optimal coefficients for scheme 1 in three dimensions
Table 5 Sets of optimal coefficients for scheme 2 in three dimensions
Fig. 4
figure 4

Phase velocity errors in three dimensions: a in the entire wavenumber space; b at \((\theta ,\phi )=({0}^\circ ,{0}^\circ )\); c at \((\theta ,\phi )=({45}^\circ ,{0}^\circ )\); d \((\theta ,\phi )=({45}^\circ ,{45}^\circ )\)

Fig. 5
figure 5

Dependence of the phase velocity errors on wavenumber in three dimensions: a Sekido23 with \(C=0.4\) in the \(k_x\)-\(k_y\) plane; b Sekido23 with \(C=0.4\) in the \(k_r\)-\(k_z\) plane; c scheme 1 with \(C=0.4\) in the \(k_x\)-\(k_y\) plane; d scheme 1 with \(C=0.4\) in the \(k_r\)-\(k_z\) plane; e scheme 2 with \(C=0.4\) in the \(k_x\)-\(k_y\) plane; f scheme 2 with \(C=0.4\) in the \(k_r\)-\(k_z\) plane; g Sekido23 with \(C=1\) in the \(k_x\)-\(k_y\) plane; h Sekido23 with \(C=1\) in the \(k_r\)-\(k_z\) plane; i scheme 1 with \(C=1\) in the \(k_x\)-\(k_y\) plane; j scheme 1 with \(C=1\) in the \(k_r\)-\(k_z\) plane; k scheme 2 with \(C=1\) in the \(k_x\)-\(k_y\) plane; l scheme 2 with \(C=1\) in the \(k_r\)-\(k_z\) plane

Fig. 6
figure 6

Spatial profiles of magnetic field \(B_{z}\) in three dimensions at \(t=200\Delta t/C\), where C is the dimensionless Courant number: a Sekido23 with \(C=0.4\) in the x-y plane; b Sekido23 with \(C=0.4\) in the r-z plane; c scheme 1 with \(C=0.4\) in the x-y plane; d scheme 1 with \(C=0.4\) in the r-z plane; e scheme 2 with \(C=0.4\) in the x-y plane; f scheme 2 with \(C=0.4\) in the r-z plane; g Sekido23 with \(C=1\) in the x-y plane; h Sekido23 with \(C=1\) in the r-z plane; i scheme 1 with \(C=1\) in the x-y plane; j scheme 1 with \(C=1\) in the r-z plane; k scheme 2 with \(C=1\) in the x-y plane; l scheme 2 with \(C=1\) in the r-z plane

Table 6 Computational time of the three-dimensional simulations

Availability of data and materials

The numerical code used in the present study is available from the corresponding author on reasonable request.

Abbreviations

FDTD:

Finite-difference time-domain

GIC:

Geomagnetically induced current

ELF:

Extremely low frequency

VLF:

Very low frequency

References

Download references

Acknowledgments

Computations of this work were performed on the CIDAS computer system at the Institute for Space-Earth Environmental Research, Nagoya University as a computational joint research program.

Funding

This work was supported by MEXT/JSPS under Grant-In-Aid (KAKENHI) for Scientific Research (B) No.JP19H01868.

Author information

Authors and Affiliations

Authors

Contributions

HS developed the novel scheme, the numerical codes, performed the numerical tests, analyzed the numerical results, drafted the manuscript. TU suggested the basic concept of the numerical operator. Both of authors read and approved the final manuscript.

Corresponding author

Correspondence to Harune Sekido.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix 1. Derivation of \(\mathcal{D}_{x}^{3,4}\)

The third-degree spatial difference operator in the x direction with the fourth-order accuracy \(\mathcal{D}_{x}^{3,4}\) is defined as follows (Sekido and Umeda 2023):

$$\begin{aligned} \mathcal{D}_{x}^{3,4} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \\&\quad = \frac{c^{2}}{8} \left( \frac{\Delta t}{\Delta x} \right) ^{3} \left\{ - E_{y}^{t} \left( x+3 \Delta x,y+\frac{\Delta y}{2},z \right) \right. \\&\qquad + 13E_{y}^{t} \left( x+2 \Delta x,y+\frac{\Delta y}{2},z \right) - 34 E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \\&\qquad \left. + 34E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) - 13 E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x-2 \Delta x,y+\frac{\Delta y}{2},z \right) \right\} . \end{aligned}$$
(11)

The operator \(\mathcal{D}_{x}^{3,4}\) is factored out as

$$\begin{aligned} \mathcal{D}_{x}^{3,4} = \frac{1}{8} \mathcal{D}_{x}^{1,2} \left( 8 - \mathcal{D}_{x}^{2,2} \right) \mathcal{D}_{x}^{2,2}, \end{aligned}$$
(12)

which is derived as follows.

The combined operators \(\mathcal{D}_{x}^{1,2} \mathcal{D}_{x}^{2,2}\) and \(\mathcal{D}_{x}^{1,2} \mathcal{D}_{x}^{2,2} \mathcal{D}_{x}^{2,2}\) are derived from Eq. (6) as follows:

$$\begin{aligned} \mathcal{D}_{x}^{1,2} \mathcal{D}_{x}^{2,2} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} \quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \left\{ E_{y}^{t} \left( x+2\Delta x,y+\frac{\Delta y}{2},z \right) - 2 E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) \right. \nonumber \\{} & {} \qquad \left. - E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) + 2 E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) \right\} \nonumber \\{} & {} \quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \left\{ E_{y}^{t} \left( x+2\Delta x,y+\frac{\Delta y}{2},z \right) - 3 E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \right. \nonumber \\{} & {} \qquad \left. + 3 E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) \right\} \nonumber \\ \end{aligned}$$
(13)
$$\begin{aligned} \mathcal{D}_{x}^{1,2} \mathcal{D}_{x}^{2,2} \mathcal{D}_{x}^{2,2} E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} \quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \mathcal{D}_{x}^{1,2} \left\{ E_{y}^{t} \left( x+\frac{5\Delta x}{2},y+\frac{\Delta y}{2},z \right) - 2 E_{y}^{t} \left( x+\frac{3\Delta x}{2},y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \right. \nonumber \\{} & {} \qquad - 2 E_{y}^{t} \left( x+\frac{3\Delta x}{2},y+\frac{\Delta y}{2},z \right) + 4 E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) - 2 E_{y}^{t} \left( x-\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} \qquad \left. + E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) - 2 E_{y}^{t} \left( x-\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x-\frac{3\Delta x}{2},y+\frac{\Delta y}{2},z \right) \right\} \nonumber \\{} & {} \quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \mathcal{D}_{x}^{1,2} \left\{ E_{y}^{t} \left( x+\frac{5\Delta x}{2},y+\frac{\Delta y}{2},z \right) - 4 E_{y}^{t} \left( x+\frac{3\Delta x}{2},y+\frac{\Delta y}{2},z \right) \right. \nonumber \\{} & {} \qquad \left. + 6 E_{y}^{t} \left( x+\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) - 4 E_{y}^{t} \left( x-\frac{\Delta x}{2},y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x-\frac{3\Delta x}{2},y+\frac{\Delta y}{2},z \right) \right\} \nonumber \\{} & {} \quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \left\{ E_{y}^{t} \left( x+3\Delta x,y+\frac{\Delta y}{2},z \right) - 4 E_{y}^{t} \left( x+2\Delta x,y+\frac{\Delta y}{2},z \right) \right. \nonumber \\{} & {} \qquad + 6 E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) - 4 E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) + E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} \qquad - E_{y}^{t} \left( x+2\Delta x,y+\frac{\Delta y}{2},z \right) + 4 E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \nonumber \\{} & {} \qquad \left. + 6 E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) + 4 E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x-2\Delta x,y+\frac{\Delta y}{2},z \right) \right\} \nonumber \\{} & {} \quad = c^{2} \left( \frac{\Delta t}{\Delta x} \right) ^{2} \left\{ E_{y}^{t} \left( x+3\Delta x,y+\frac{\Delta y}{2},z \right) - 5 E_{y}^{t} \left( x+2\Delta x,y+\frac{\Delta y}{2},z \right) + 10 E_{y}^{t} \left( x+\Delta x,y+\frac{\Delta y}{2},z \right) \right. \nonumber \\{} & {} \qquad \left. - 10 E_{y}^{t} \left( x,y+\frac{\Delta y}{2},z \right) + 5 E_{y}^{t} \left( x-\Delta x,y+\frac{\Delta y}{2},z \right) - E_{y}^{t} \left( x-2\Delta x,y+\frac{\Delta y}{2},z \right) \right\} . \end{aligned}$$
(14)

The Eq. (12) is derived from Eq. (14) as follows:

(15)

Appendix 2. Another type of the third-degree difference with fourth-order accuracy

See Tables 7 and 8

Another type of the operator \(\mathcal{L}_{x}^{3,4}\) is derived by replacing the last part of the one-dimensional difference \(\mathcal{D}_{x}^{2,2}\) with the Laplacian difference \(\mathcal{D}_{x}^{2,2} + \mathcal{D}_{y}^{2,2} + \mathcal{D}_{z}^{2,2}\):

(16)

The dispersion relation is derived from the time-development Eq. (3) with Eqs. (4) and (16):

$$\begin{aligned} \mathcal{W}^{2}&= \left[ 16 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right. \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right\} \\&\quad + 16 \left\{ C_{x}^{2} \mathcal{K}_{x}^{4} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} + C_{y}^{2} \mathcal{K}_{y}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right\} \\&\quad + 4 \left\{ C_{x}^{2} \mathcal{K}_{x}^{6} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} + C_{y}^{2} \mathcal{K}_{y}^{6} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right. \\&\quad \left. \left. + C_{z}^{2} \mathcal{K}_{z}^{6} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) ^{2} \right\} \right] \\&\quad - 2 \left[ 4 \left\{ C_{x}^{2} \mathcal{K}_{x}^{2} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{2} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \\&\quad + \frac{8}{3} \left\{ C_{x}^{2} \mathcal{K}_{x}^{4} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \\&\quad \left. + C_{z}^{2} \mathcal{K}_{z}^{4} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \\&\quad + \frac{1}{3} \left\{ C_{x}^{2} \mathcal{K}_{x}^{6} \left( \alpha _{1} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) + C_{y}^{2} \mathcal{K}_{y}^{6} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{1} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{2} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right. \\&\quad \left. \left. + C_{z}^{2} \mathcal{K}_{z}^{6} \left( \alpha _{2} C_{x}^{2} \mathcal{K}_{x}^{2} + \alpha _{2} C_{y}^{2} \mathcal{K}_{y}^{2} + \alpha _{1} C_{z}^{2} \mathcal{K}_{z}^{2} \right) \right\} \right] \\&\quad + \left\{ \left( C_{x}^{2} \mathcal{K}_{x}^{2} + C_{y}^{2} \mathcal{K}_{y}^{2} + C_{z}^{2} \mathcal{K}_{z}^{2} \right) + \frac{1}{3} \left( C_{x}^{2} \mathcal{K}_{x}^{4} + C_{y}^{2} \mathcal{K}_{y}^{4} + C_{z}^{2} \mathcal{K}_{z}^{4} \right) + \frac{1}{36} \left( C_{x}^{2} \mathcal{K}_{x}^{6} + C_{y}^{2} \mathcal{K}_{y}^{6} + C_{z}^{2} \mathcal{K}_{z}^{6} \right) \right\} . \end{aligned}$$
(17)

Note that \(\mathcal{K}_{z}=0\) in two dimensions. This method is referred to as “scheme 3” in this paper.

Table 7 shows the sets of optimal coefficients for scheme 3 for \(0.5 \le C \le 1\) in two dimensions. Table 8 shows the sets of optimal coefficients for scheme 3 for \(0.4 \le C \le 1\) in three dimensions.

The numerical errors with scheme 3 are almost the same as those with scheme 2 in both two and three dimensions. However, the computational cost with scheme 3 is slightly larger than that with scheme 2.

Table 7 Sets of optimal coefficients for scheme 3 in two dimensions
Table 8 Sets of optimal coefficients for scheme 3 in three dimensions

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sekido, H., Umeda, T. A novel high accuracy finite-difference time-domain method. Earth Planets Space 76, 5 (2024). https://doi.org/10.1186/s40623-023-01934-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s40623-023-01934-0

Keywords