1 Introduction

This study focuses on the advection–diffusion–dispersion equation described as

$$ \textstyle\begin{cases} {\mathbf{{u}}}_{t} + \mathcal{J}{\mathbf{{u}}} -\nu \Delta {\mathbf{{u}}}-\mu \nabla ^{3}{ \mathbf{{u}}}=0, \quad t>t_{s}, {\mathbf{{x}}} \in \varOmega , \\ {\mathbf{{u}}}(t_{s},{\mathbf{{x}}})={\mathbf{{u}}}_{0}({\mathbf{{x}}}),\quad {\mathbf{{x}}} \in \varOmega , \\ {\mathbf{{u}}}(t,{\mathbf{{x}}})={\mathbf{{q}}}(t,{\mathbf{{x}}}), \quad t>t_{s}, {\mathbf{{x}}} \in \partial \varOmega , \end{cases} $$
(1)

where \({\mathbf{{u}}}:=u\) or \([u,v]^{T}\) denotes the solution of (1); ν is a positive kinematic viscosity; μ is a dispersive coefficient; \(\mathcal{J}:=u_{x}\) or [uxuyvxvy]; operator \(\nabla ^{3}\) denotes third-order partial derivatives or their sum; \({\mathbf{{x}}}:=x\) or \([x,y]^{T}\); x and y represent special coordinates in the longitudinal and transverse directions, respectively; and t denotes time. Moreover, \({\mathbf{{u}}}_{0}({\mathbf{{x}}})\) and \({\mathbf{{q}}}(t,{\mathbf{{x}}})\) are the given initial and boundary conditions, and ∂Ω is the boundary of the computational domain \(\varOmega =[x_{L},x_{R}]\) or \([x_{L},x_{R}]\times [y_{L},y_{R}]\).

Many physical phenomena can be described by the advection–diffusion or advection–dispersion equations, including various nonlinear time-dependent partial differential equations (PDEs), such as the Burgers-type and Korteweg–de Vries (KdV) type equations. In particular, the Burgers-type problems are simple models to describe various physical problems, such as turbulence flow, approximate theories of shock waves, vorticity transportation, and dispersion in porous media [9, 11, 13]. Many powerful methods to simulate Burgers-type problems have been proposed [2, 4, 8, 10, 12, 17, 2023, 32, 35, 36] and have drawn research interest to find methodologies for nonlinear time-dependent PDEs in many fields, among which the characteristic methods are very attractive [14].

As one of the characteristic methods, the semi-Lagrangian method is one of the most popular numerical methods to simulate flow problems in computational fluid dynamics [1, 4, 6, 7, 27, 31, 33]. Among them, the backward semi-Lagrangian method (BSL) describes the movement of particles in the Lagrangian description and resets the positions of the particles to the Eulerian grid point at each time level to reduce the accumulation and collision of particles. Moreover, it is well known that BSL exhibits good stability, allowing the use of larger temporal steps than the spatial grid size by solving equations implicitly along characteristic curves of particles in the reverse direction to time evolution [3, 5, 30, 31]. Therefore, this paper proposes a robust high-order BSL algorithm for solving nonlinear advection–diffusion–dispersion equations. To do this, we first observe the abstract model (1) in the Lagrangian description, in which individual fluid particles are followed through time. Suppose that the position of a particle at time t is described by a function \({\mathbf{{x}}}^{*}(t)\). In both the Lagrangian and the Eulerian descriptions, the velocity of the particle at time t is satisfied as follows:

$$ \frac{d {\mathbf{{x}}}^{*}(t)}{dt}={\mathbf{{u}}}\bigl(t,{\mathbf{{x}}}^{*}(t) \bigr). $$
(2)

Then the model equation (1) can be expressed as

$$ \frac{D}{Dt}{\mathbf{{u}}}\bigl(t, {\mathbf{{x}}}^{*} (t)\bigr)=\nu \triangle {\mathbf{{u}}}\bigl(t, { \mathbf{{x}}}^{*}(t) \bigr) +\mu \nabla ^{3}{\mathbf{{u}}} \bigl(t, {\mathbf{{x}}}^{*}(t) \bigr) $$
(3)

about the material derivative. By solving (2) at the same time as (3), we obtain the solution u of the model equation.

In the conventional BSL, several approximate methods are required to solve (3) simultaneously with (2): time and spatial discretization methods for (3), a departure traceback method for nonlinear ordinary differential equation (2), and an interpolation scheme to obtain the solution at non-Eulerian grid points. These approximate methods affect the overall time-to-space accuracy of the BSL. Additionally, a high-order stable temporal discretization method is critical to provide an accurate numerical approximation for the model problem, and it potentially allows for a sparser time step size than lower-order methods. Nevertheless, most current methods focus on developing spatial discretization schemes, since the strong nonlinearity of (3) is coupled with the unknown solution to (2) (or the original problem (1)), which is a significant difficulty for BSLs.

The main contributions of this paper are as follows. We propose an adaptable high-order BSL with good stability to solve nonlinear advection–diffusion–dispersion equations. It is possible to design a high-order departure traceback method, which simultaneously finds the departure points for the three previous time steps in the reverse-flow direction. The departure traceback method combines the methods of classical collocation and error correction, which is called the deferred or defect correction in some literature. The proposed departure traceback method is A-stable, verified by plotting, and determining stability function limits. Also, we use the third-order backward differentiation formula (BDF3) and fourth-order finite difference schemes for diffusion–dispersion problem discretization in the temporal and spatial domains, respectively. Moreover, the constrained interpolation profile (CIP) method [26] is used to evaluate function values at non-grid points. Several numerical experiments demonstrate that the proposed scheme provides third-order accuracy in both temporal and spatial for nonlinear advection–diffusion or –dispersion problems. In terms of computational costs, the proposed scheme is more efficient compared with current methods, including third-order AB (AB3) and fourth-order AM (AM4) [15], since it is not an iterative approach. The proposed scheme allows a more massive time step, which has a particularly significant impact on stiffer initial conditions of smaller viscosity.

The remainder of this paper is structured as follows. Section 2 provides temporal and spatial semi-discretization systems to solve a diffusion–dispersion problem (3). Section 3 designs the departure traceback method to find particle traces along characteristic curves in the reverse time direction by solving the nonlinear initial value problem (IVP) and discusses the stability of the proposed method. Section 4 provides several numerical examples to demonstrate the robustness and adaptability of the proposed scheme as well as the physical behaviors of Burgers-type equations. Finally, Sect. 5 summarizes and concludes the paper.

2 Semi-discretization system of diffusion–dispersion problem

This section provides the implementation of the temporal and spatial discretization method to obtain a semi-discretization system for (3). We find approximate solutions u and u at \(t = t_{m+1}\) on each spatial grid point by assuming that the approximate values \(u_{i}^{k}\) and \({\mathbf{{u}}}_{i,j}^{k}\) of \(u(t_{k},{{\mathbf{{x}}}_{i}})\) and \({\mathbf{{u}}}(t_{k},{\mathbf{{x}}}_{i,j})\) for \(k\leq m\) and particle departure points \({\mathbf{{x}}}_{i,j}^{*}(t_{m-\kappa })\), \(\kappa =0,1,2\), along the characteristic curve arriving at the grid point at target time \(t=t_{m+1}\) have already been calculated at all grid points where a finite set of mesh points \(\{{{\mathbf{{x}}}_{i}} \}\) or \(\{{{\mathbf{{x}}}_{i,j}} \}\), (\(i=1,2,\ldots, J_{x}\), \(j=1,2,\ldots, J_{y}\)) is equally spaced.

For the two-dimensional (2D) case, we first evaluate (3) at \((t,{\mathbf{{x}}})=(t_{m+1},{\mathbf{{x}}}_{i,j})\) and then apply BDF3 to approximate the material derivative on the left side of (3). Then we obtain the Helmholtz equation

$$ {\mathbf{{u}}}(t_{m+1},{\mathbf{{x}}}_{i,j})- \bar{\nu } \triangle {\mathbf{{u}}}(t_{m+1},{ \mathbf{{x}}}_{i,j})- \bar{\mu }\nabla ^{3}{\mathbf{{u}}}(t_{m+1},{ \mathbf{{x}}}_{i,j})= \mathbf{g}^{m+1}_{i,j}({ \mathbf{{u}}})+{\mathcal{O}}\bigl(h^{4}\bigr) $$
(4)

with

$$\mathbf{g}^{m+1}_{i,j}({\mathbf{{u}}}):= \frac{18 {\mathbf{{u}}} (t_{m},{\mathbf{{x}}}_{i,j}^{*}(t_{m}) )-9 {\mathbf{{u}}} (t_{m-1},{\mathbf{{x}}}_{i,j}^{*}(t_{m-1}) )+2 {\mathbf{{u}}} (t_{m-2},{\mathbf{{x}}}_{i, j}^{*}(t_{m-2}) )}{11}, $$

where \(\bar{\nu }=\nu \frac{6h}{11}\) and \(\bar{\mu }=\mu \frac{6h}{11}\) for a uniform temporal step size h.

The one-dimensional (1D) Helmholtz equation can be obtained in the same way as the 2D Helmholtz equation.

To obtain a semi-discretization system for (4), we use finite difference weight matrices ((17) and (18)) for diffusion (or Laplace) and dispersion terms in (3), respectively. We set \(\nabla ^{3}=\frac{\partial ^{3}}{\partial x^{3}}\) and \(\nabla ^{3}=\frac{\partial ^{3}}{\partial x^{3}}+ \frac{\partial ^{3}}{\partial y^{3}}\) for description simplicity and obtain the following systems depending on the problem dimensionality.

  • 1D problems

    $$ \begin{aligned} &\mathcal{L}\mathbf{U}^{m+1}= \mathbf{g}^{m+1}+\bar{\nu } \mathbf{b}^{m+1}_{2}+\bar{ \mu }\mathbf{b}^{m+1}_{3},\quad\quad \mathcal{L}= \bigl( \mathcal{I}_{x}-\bar{\nu }\hat{\mathcal{D}}^{(2)}-\bar{\mu } \hat{\mathcal{D}}^{(3)} \bigr), \\ &\mathbf{U}^{m+1}=\bigl[u^{m+1}_{1},u^{m+1}_{2}, \ldots,u^{m+1}_{{ \widehat{J}}_{x}}\bigr]^{T}, \\ &\mathbf{g}^{m+1}=\bigl[g^{m+1}(x_{1}),g^{m+1}(x_{2}), \ldots,g^{m+1}(x_{{ \widehat{J}}_{x}})\bigr]^{T}, \end{aligned} $$
    (5)

    where \(\mathbf{b}^{m+1}_{2}\) and \(\mathbf{b}^{m+1}_{3}\) are the vectors induced from the boundary conditions.

  • 2D problems

    $$ \begin{aligned} &\mathcal{L}\mathbf{U}^{m+1}= \mathbf{g}^{m+1}(u)+ \bar{\nu }\mathbf{b}^{m+1}_{2}+ \bar{\mu }\mathbf{b}^{m+1}_{3},\quad\quad \mathcal{L} \mathbf{V}^{m+1}=\mathbf{g}^{m+1}(v)+\bar{\nu } \mathbf{b}^{m+1}_{2}+ \bar{\mu }\mathbf{b}^{m+1}_{3} \\ &\mathcal{L}= \bigl(\mathcal{I}_{y}\otimes \mathrm{I}_{x}- \bar{\nu } \bigl(\mathcal{I}_{y} \otimes \hat{\mathcal{D}}_{x}^{(2)}+ \hat{\mathcal{D}}_{y}^{(2)}\otimes \mathcal{I}_{x} \bigr)-\bar{\mu } \bigl(\mathcal{I}_{y} \otimes \hat{ \mathcal{D}}_{x}^{(3)}+ \hat{\mathcal{D}}_{y}^{(3)} \otimes \mathcal{I}_{x} \bigr) \bigr), \\ &\mathbf{U}^{m+1}=\bigl\{ U^{m+1},V^{m+1}\bigr\} , \\ &U^{m+1}=\bigl[u^{m+1}_{1,1},u^{m+1}_{2,1}, \ldots,u^{m+1}_{{\widehat{J}}_{y},1},u^{m+1}_{1,2}, \ldots,u^{m+1}_{{\widehat{J}}_{y},2},\ldots,u^{m+1}_{1,{\widehat{J}}_{x}}, \ldots,u^{m+1}_{{\widehat{J}}_{y},{\widehat{J}}_{x}}\bigr]^{T}, \\ &V^{m+1}=\bigl[v^{m+1}_{1,1},v^{m+1}_{2,1}, \ldots,v^{m+1}_{{\widehat{J}}_{y},1},v^{m+1}_{1,2}, \ldots,v^{m+1}_{{\widehat{J}}_{y},2},\ldots,v^{m+1}_{1,{\widehat{J}}_{x}}, \ldots,v^{m+1}_{{\widehat{J}}_{y},{\widehat{J}}_{x}}\bigr]^{T}, \\ &\mathbf{g}^{m+1}=\bigl[g^{m+1}_{1,1},g^{m+1}_{2,1}, \ldots,g^{m+1}_{{ \widehat{J}}_{y},1},g^{m+1}_{1,2}, \ldots,g^{m+1}_{{\widehat{J}}_{y},2},\ldots,g^{m+1}_{1,{\widehat{J}}_{x}}, \ldots,g^{m+1}_{{\widehat{J}}_{y},{ \widehat{J}}_{x}}\bigr]^{T}, \end{aligned} $$
    (6)

where \(\mathbf{b}^{m+1}_{2}\) and \(\mathbf{b}^{m+1}_{3}\) are vectors induced from the boundary conditions; \(\mathcal{I}_{x}\) and \(\mathcal{I}_{y}\) are identity matrices of size \({\widehat{J}}_{x}=J_{x}-1\) and \({\widehat{J}}_{y}=J_{y}-1\), respectively; and \(\hat{\mathcal{D}}_{x}^{(k)}\) and \(\hat{\mathcal{D}}_{y}^{(k)}\) are constructed from \({\mathcal{D}}_{x}^{(k)}\) and \({\mathcal{D}}_{y}^{(k)}\) (\(k=2,3\)) using interior elements only. (See Appendix A for more details.)

Approximate values for particle departure points \({\mathbf{{x}}}^{*}(t_{m-\kappa })\), (\(\kappa =0,1,2\)) along the characteristic curve arriving at the grid point at target time \(t=t_{m+1}\) are required to obtain full discretization systems for (5) and (6), which is discussed in Sect. 3. Moreover, since \({\mathbf{{x}}}_{i,j}^{*}(t_{m-\kappa })\), (\(\kappa =0,1,2\)) may not coincide with the grid points, an appropriate interpolation scheme is also required.

3 High-order A-stable departure traceback scheme for nonlinear IVP (2)

3.1 Proposed departure traceback scheme

This section develops the proposed third-order composite scheme without iteration to solve the strongly nonlinear IVP (2) by combining error correction [28, 30] and classical collocation methods. Let \({\mathbf{{x}}}^{*}_{i,j}(t)\) be the solution for the following IVP:

$$ \textstyle\begin{cases} &\frac{d{\mathbf{{x}}}^{*}_{i,j}(t)}{dt}={\mathbf{{u}}}(t,{\mathbf{{x}}}^{*}_{i,j}(t)), \quad t\in [t_{m-2},t_{m+1}), \\ &{\mathbf{{x}}}^{*}_{i,j}(t_{m+1})={\mathbf{{x}}}_{i,j}, \end{cases} $$
(7)

where \({\mathbf{{x}}}_{i,j}\) is an arbitrary grid point and u is the solution of the model problem (1).

To find the departure points by solving (2), we first consider the perturbed asymptotically first-order ordinary differential system

$$ \begin{aligned} &\boldsymbol{\psi} _{i,j}^{\prime }(t)= \mathcal{F}\bigl(t,\boldsymbol{\psi }_{i,j}(t)\bigr)+ \mathcal{O} \bigl( \boldsymbol{\psi }^{2}_{i,j}(t) \bigr),\quad t\leq t_{m+1}, \\ &\mathcal{F}\bigl(t,\boldsymbol{\psi }_{i,j}(t)\bigr):={\mathbf{{ \mathcal{J}}}}_{i,j}(t) \boldsymbol{\psi }_{i,j}(t)+{ \mathbf{{w}}}_{i,j}(t),\quad\quad {\mathbf{{w}}}_{i,j}(t):={ \mathbf{{u}}} \bigl(t,{\mathbf{{y}}}_{i,j}(t) \bigr)-{ \mathbf{{u}}}_{i,j}^{m}, \\ &{\mathbf{{\mathcal{J}}}}_{i,j}(t) := \begin{bmatrix} u_{x}(t,{{\mathbf{{y}}}_{i,j}}(t))&u_{y}(t,{{\mathbf{{y}}}_{i,j}}(t)) \\ v_{x}(t,{{\mathbf{{y}}}_{i,j}}(t))&v_{y}(t,{{\mathbf{{y}}}_{i,j}}(t)) \end{bmatrix} \end{aligned} $$
(8)

with initial value \(\boldsymbol{\psi }_{i,j}(t_{m+1})={\mathbf{{0}}}_{2,1}\), where \({\mathbf{{0}}}_{r,s}\) denotes the zero matrix of size \(r\times s\), and \({\mathbf{{y}}}_{i,j}(t)\) is a qth-order approximating polynomial for \({\mathbf{{x}}}^{*}_{i,j}(t)\) obtained by solving (7) that satisfies

$$ \boldsymbol{\psi }_{i,j}(t)={\mathbf{{x}}}^{*}_{i,j}(t)-{ \mathbf{{y}}}_{i,j}(t)= \mathcal{O}\bigl(h^{q+1}\bigr). $$

We choose the first-order polygon \({\mathbf{{y}}}_{i,j}\) defined as

$$ {\mathbf{{y}}}_{i,j}(t):={\mathbf{{x}}}_{i,j}+(t-t_{m+1}){ \mathbf{{u}}}^{m}_{i,j}, \quad {\mathbf{{u}}}^{m}_{i,j}= \bigl[u_{i,j}^{m},v_{i,j}^{m} \bigr]^{T}, $$
(9)

which allows the proposed method to attain up to fourth-order accuracy eventually.

Remark 1

To construct higher-order methods, \({\mathbf{{y}}}_{i,j}(t)\) can be chosen as an explicit second-order polynomial,

$$ {\mathbf{{y}}}_{i,j}(t):={\mathbf{{x}}}_{i,j}+(t-t_{m+1}) \bigl(2{\mathbf{{u}}}^{m}_{i,j}-{ \mathbf{{u}}}^{m-1}_{i,j} \bigr)+\frac{(t-t_{m+1})^{2}}{2h} \bigl( {\mathbf{{u}}}^{m}_{i,j}-{ \mathbf{{u}}}^{m-1}_{i,j} \bigr)+\mathcal{O} \bigl(h^{3}\bigr), $$

which implies that the proposed method could achieve sixth-order accuracy. To maintain fourth-order and above temporal accuracy overall, a stable method for fourth-order and above must be employed rather than BDf3 to discretize the total time derivative.

The proposed method is then completed by developing a method to solve equation (8) with initial condition \(\boldsymbol{\psi }_{i,j}(t_{m+1})=\boldsymbol{0}_{2,1}\) on \([t_{m-2},t_{m+1}]\). By applying (22) with (23) to (8),

$$ \varPsi =\hat{h} \left( \begin{bmatrix} \frac{19}{72}&-\frac{5}{72} &\frac{1}{72} \\ \frac{4}{9} &\frac{1}{9} & 0 \\ \frac{3}{8} & \frac{3}{8} &\frac{1}{8} \end{bmatrix}\otimes \mathcal{I}_{2} \right)\mathbb{F} +\hat{h} \begin{bmatrix} \frac{1}{8} \\ \frac{1}{9} \\ \frac{1}{8} \end{bmatrix}\otimes \mathcal{F} \bigl(t_{m+1},\boldsymbol{\psi }_{i,j}(t_{m+1}) \bigr)+ \mathcal{O}\bigl(h^{4}\bigr), $$
(10)

where \(\varPsi = [[\boldsymbol{\psi }_{i,j}^{m}]^{T},[\boldsymbol{\psi }_{i,j}^{m-1}]^{T},[ \boldsymbol{\psi }_{i,j}^{m-2}]^{T} ]^{T}\); \(\boldsymbol{\psi }_{i,j}^{m-\kappa }\) (\(\kappa =0,1,2\)) is an approximation of \(\boldsymbol{\psi }_{i,j}(t_{m-\kappa })\); \(\mathbb{F}:=[\mathcal{F} (t_{m},\boldsymbol{\psi }_{i,j}(t_{m}) )^{T}, \mathcal{F} (t_{m-1},\boldsymbol{\psi }_{i,j}(t_{m-1}) )^{T}, \mathcal{F} (t_{m-2},\boldsymbol{\psi }_{i,j}(t_{m-2}) )^{T}]^{T}\), \(\hat{h}:=-3h\) and \(\mathcal{I}_{2}\) is the identity matrix of size 2. However, since \(\mathcal{F}(t_{m+1},\boldsymbol{\psi }_{i,j}(t_{m+1}))\) contains the unknown solution u for (1) at time \(t=t_{m+1}\) to be obtained, an approximation tool is required. Therefore, we use extrapolation to find

$$ \varPsi =\hat{h} \left( \begin{bmatrix} \frac{19}{72}&-\frac{5}{72} &\frac{1}{72} \\ \frac{4}{9} &\frac{1}{9} & 0 \\ \frac{3}{8} & \frac{3}{8} &\frac{1}{8} \end{bmatrix}\otimes \mathcal{I}_{2} \right)\mathbb{F} +\hat{h} \begin{bmatrix} \frac{1}{8} \\ \frac{1}{9} \\ \frac{1}{8} \end{bmatrix}\otimes \boldsymbol{\mu }_{p}^{m+1}+\mathcal{O} \bigl(h^{2+p}\bigr), \quad p=1,2, $$
(11)

where

$$ \begin{aligned} &\mathcal{F}\bigl(t_{m+1},\boldsymbol{\psi }_{i,j}(t_{m+1})\bigr)= \boldsymbol{\mu }_{p}^{m+1}+ \mathcal{O}\bigl(h^{2+p}\bigr), \\ &\boldsymbol{\mu }_{1}^{m+1}:=2\mathbf{U}^{m}_{i,j}-3 \mathbf{U}^{m-1}_{i,j}+ \mathbf{U}^{m-2}_{i,j}, \quad\quad \boldsymbol{\mu }_{2}^{m+1}:=3\mathbf{U}^{m}_{i,j}-6 \mathbf{U}^{m-1}_{i,j}+4\mathbf{U}^{m-2}_{i,j}- \mathbf{U}^{m-3}_{i,j}. \end{aligned} $$

We proceed by simplifying (11), and expressing in matrix form

$$\begin{aligned}& \mathcal{A}\varPsi =\mathcal{B}, \\& \begin{aligned} &\mathcal{A}= \begin{bmatrix} 24\mathcal{I}+19h\mathcal{J}_{m} & -5 h\mathcal{J}_{m} & h\mathcal{J}_{m} \\ 32h\mathcal{J}_{m} &24\mathcal{I}+8h\mathcal{J}_{m} & \boldsymbol{0}_{2,2} \\ 27h\mathcal{J}_{m} &27h\mathcal{J}_{m} &24\mathcal{I}+9h\mathcal{J}_{m} \end{bmatrix}, \\ &\mathcal{B}=-h \begin{bmatrix} 19{\mathbf{{w}}}_{i,j}(t_{m})-5{\mathbf{{w}}}_{i,j}(t_{m-1})+{\mathbf{{w}}}_{i,j}(t_{m-2})+9 \boldsymbol{\mu }_{k}^{m+1} \\ 32{\mathbf{{w}}}_{i,j}(t_{m})+8{\mathbf{{w}}}_{i,j}(t_{m-1})+8\boldsymbol{\mu }_{k}^{m+1} \\ 27{\mathbf{{w}}}_{i,j}(t_{m})+27{\mathbf{{w}}}_{i,j}(t_{m-1})+9{\mathbf{{w}}}_{i,j}(t_{m-2})+9 \boldsymbol{\mu }_{k}^{m+1} \end{bmatrix}, \end{aligned} \end{aligned}$$
(12)

where \(\mathcal{I}\) is the \(2\times 2\) identity matrix. Finally, by combining (9) with (12) and truncating the asymptotic error term \(\mathcal{O}(h^{2+p})\), the approximation \({\mathbf{{x}}}_{i,j}^{*,m-\kappa }\) of the three departure points can be approximated as follows:

$$ \begin{aligned} &{\mathbf{{x}}}_{i,j}^{*}(t_{m-\kappa })={ \mathbf{{x}}}_{i,j}^{*,m- \kappa }+\mathcal{O}\bigl(h^{2+p} \bigr), \\ &{\mathbf{{x}}}_{i,j}^{*,m-\kappa }:=\mathbf{y}_{i,j}(t_{m-\kappa })+ \boldsymbol{\psi }_{i,j}^{m-\kappa },\quad \kappa =0,1,2. \end{aligned} $$
(13)

3.2 Linear stability of the proposed departure traceback scheme

In this subsection, to examine the stability of the proposed departure traceback scheme, the scheme is applied to the Dahlquist problem \(\frac{{d\mathbf{{x}}}^{*}(t)}{dt}=\lambda {\mathbf{{x}}}^{*}(t)\) with initial \({\mathbf{{x}}}^{*}(t_{m+1})={\mathbf{{x}}}^{*,m+1}\) and an eigenvalue λ. For each departure position at the previous time steps \(t=t_{m-\kappa } \) (\(\kappa =0,1,2\)), stability functions of the proposed departure traceback scheme hold in the following theorem.

Theorem 1

The three departure points of the proposed departure traceback scheme (13) are allA-stable schemes.

Proof

The linear stability functions of the three departure points described in (13) hold in the following:

$$ \begin{aligned} &{\mathbf{{x}}}^{*,m}= \mathcal{S}^{m}(z){\mathbf{{x}}}^{*,m+1}, \qquad \mathcal{S}^{m}(z)= \bigl(12-6 z - z^{2} + z^{3} \bigr)/ \mathcal{S}(z), \\ &{\mathbf{{x}}}^{*,m-1}=\mathcal{S}^{m-1}(z){ \mathbf{{x}}}^{*,m+1}, \quad\quad \mathcal{S}^{m-1}(z)= \bigl(12+ 6 z - z^{2} - z^{3} \bigr)/\mathcal{S}(z), \\ &{\mathbf{{x}}}^{*,m-2}=\mathcal{S}^{m-2}(z){ \mathbf{{x}}}^{*,m+1}, \quad\quad \mathcal{S}^{m-2}(z)= \bigl(12+ 18 z + 11 z^{2} +3 z^{3} \bigr)/ \mathcal{S}(z), \end{aligned} $$
(14)

where \(\mathcal{S}(z)=12 - 18 z + 11 z^{2} - 3 z^{3}\) and \(z=-\lambda h\). Additionally, the stability regions \(\mathrm{R} (S^{m-\kappa } ):=\{ z \in \mathbb{C} \mid \vert S^{m- \kappa }(z) \vert < 1 \} \) (\(\kappa =0,1,2\)) are plotted in Fig. 1. Since the regions of absolute stability \(R(S^{m-\kappa })\) contain the left half plane \(\{ z \in \mathbb{C} \mid \mathcal{R}(S^{m-\kappa })(z)< 0\}\), one can confirm that the proposed scheme is A-stable.

Figure 1
figure 1

Regions of absolute stability

 □

Remark that \(\boldsymbol{\mu }_{p}^{m+1} \) (\(p=1,2\)) in (11) or (12) does not affect the linear stability of the proposed departure traceback scheme, since \({\mathbf{{u}}}(t,{\mathbf{{x}}}^{*}(t))=\lambda {\mathbf{{x}}}^{*}(t)\) and its Jacobian is λ. As shown numerically in Fig. 2, the approximation order of \(\boldsymbol{\mu }_{p}^{m+1}\) affects the temporal accuracy of the overall algorithm.

Figure 2
figure 2

Verification of numerical temporal convergence for the four considered methods for Example 4.1

Moreover, the existing departure traceback schemes that will be compared with our method in the next section have the stability functions [15]

  • AB3: \({\mathbf{{x}}}^{*,m-\kappa }=\mathcal{S}_{\mathrm{AB3}}^{m-\kappa }(z){\mathbf{{x}}}^{*,m+1}\) (\(\kappa =0,1,2\)) with \(\mathcal{S}_{\mathrm{AB3}}^{m}(z)=\frac{6+2z}{6-4z+z^{2}}\), \(\mathcal{S}_{\mathrm{AB3}}^{m-1}(z)=\frac{6+8z+5z^{2}}{6-4z+z^{2}}\), \(\mathcal{S}_{\mathrm{AB3}}^{m-2}(z)=\frac{6+14z+16z^{2}}{6-4z+z^{2}}\).

  • AM4: \({\mathbf{{x}}}^{*,m-\kappa }=\mathcal{S}_{\mathrm{AM4}}^{m-\kappa }(z){\mathbf{{x}}}^{*,m+1} \) (\(\kappa =0,1,2\)) with \(\mathcal{S}_{\mathrm{AM4}}^{m}(z)=\frac{24-6z-7z^{2}}{24-30z+11z^{2}}\), \(\mathcal{S}_{\mathrm{AM4}}^{m-1}(z)= \frac{4+18z-z^{2}-6z^{3}}{24-30z+11z^{2}}\), \(\mathcal{S}_{\mathrm{AM4}}^{m-2}(z)= \frac{24+42z+29z^{2}-30z^{3}}{24-30z+11z^{2}}\).

Remark 2

Note that while all stability functions of the proposed method are A-stable, the stability functions of AB3 and AM4 are neither A-stable nor L-stable at \(t=t_{m-\kappa }\), \(\kappa =1,2\). The impoverished stability constrains the choice of time step size h, when the problem has small viscosity, hence losing the advantages of the BSL.

4 Numerical experiments of advection–diffusion or –dispersion equation

To assess the efficiency of the proposed method, we simulate six examples. To measure the accuracy, we calculate the computational errors using the maximum norm, \(L_{2}\) norm and relative \(L_{2}\) norm, respectively, defined by

$$ \begin{aligned} &E_{\infty }(t_{k})= \bigl\Vert u^{k}({\mathbf{{x}}}_{i})-u^{k}_{i} \bigr\Vert _{ \infty },\quad\quad E_{2}(t_{k})= \biggl( \Delta x \sum_{i} \bigl\vert u^{k}({ \mathbf{{x}}}_{i})-u^{k}_{i} \bigr\vert ^{2} \biggr)^{1/2}, \\ &E_{R2}(t_{k})= \biggl( \sum_{i} \bigl\vert u^{k}({\mathbf{{x}}}_{i})-u^{k}_{i} \bigr\vert ^{2} \biggr)^{1/2} / \biggl( \sum _{i} \bigl\vert u^{k}({\mathbf{{x}}}_{i}) \bigr\vert ^{2} \biggr)^{1/2}, \end{aligned} $$

where \(u^{k}({\mathbf{{x}}}_{i})\) is the exact solution at \(t=t_{k}\) and each grid point \({\mathbf{{x}}}_{i}\) and \(u^{k}_{i}\) is an approximation. \(E_{\infty }(t_{k})\) and \(E_{R2}(t_{k})\) are similarly defined for the 2D case. The numerical convergence for the proposed method, when the exact solution of the problem is available, is calculated as

$$ \mathit{rate}:=\log _{2} \bigl(E^{k}_{\Delta \tau }/E^{k}_{ \frac{\Delta \tau }{2}} \bigr), $$

where \(E^{k}\) represents \(E_{\infty }(t_{k})\) or \(E_{R2}(t_{k})\) and Δτ represents h or Δx, respectively.

For convenience, we label the proposed departure traceback schemes and current schemes as follows.

  • EAC3: Proposed method (13) with \(\boldsymbol{\mu }_{1}^{m+1}\) in (11)

  • EAC4: Proposed method (13) with \(\boldsymbol{\mu }_{2}^{m+1}\) in (11)

  • AB3: Third-order Adams–Bashforth method in [15]

  • AM4: Fourth-order Adams–Moulton method in [15].

Remark 3

To find departure points \({\mathbf{{x}}}^{*}_{i,j}(t)\) at three previous time levels \(t=t_{m-\kappa }\) (\(\kappa = 0,1,2\)) arriving on the grid points at target \(t=t_{m+1}\), AB3 and AM4 are implicit schemes in our BSL, since they simultaneously find the departure points by solving the strongly nonlinear IVP (2) with initial \({\mathbf{{x}}}^{*}_{i,j}(t_{m+1})={\mathbf{{x}}}_{i,j}\) in the reverse direction to time. Therefore, an iteration method, such as the Newton-like iteration scheme, is required for the current departure traceback schemes. We employed the fixed iteration with maximum iteration \(\mathit{iter}=20\) and tolerance \(\mathit{tol}=10^{-7}\), considering computational costs.

4.1 Linear advection equation

This subsection provides experimental results to demonstrate convergence for the proposed BSL for a linear advection problem. To do this, we consider the linear advection problem

$$ \begin{aligned} & \frac{\partial }{\partial t}\rho (t,\mathbf {x})+{ \bar{\boldsymbol{v}}}(t,\mathbf {x})\cdot \nabla \rho (t,\mathbf {x})=0,\quad \mathbf {x}\in (-6,6)^{2},~0< t\leq 1, \\ & \rho (0,\mathbf {x})=\exp \bigl(- \Vert \mathbf {x}\Vert ^{2}\bigr), \end{aligned} $$
(15)

where \({\bar{\boldsymbol{v}}}(t,\mathbf {x}):=\frac{1}{2}\mathbf {x}\tan (t)\) is a known velocity, and the analytical solution of (15) is \(\rho (t,\mathbf {x})=\exp (- \Vert \mathbf {x}\Vert ^{2}\cos (t))\), \(\Vert \mathbf {x}\Vert ^{2}=x^{2}+y^{2}\). Using the semi-Lagrangian formulation, we rewrite (15) as \(\rho _{T}(t,\mathbf {x})=0 \), along the characteristic curve \({\mathbf{{x}}}^{*}(t;{\mathbf{{x}}},s)\) satisfying \(\frac{d {\mathbf{{x}}}^{*}(t;{\mathbf{{x}}},s)}{dt}={\bar{\boldsymbol{v}}}(t,\mathbf {x})\), which is a different type from the equation discussed previously. Specifically, the distribution function ρ is constant along the characteristic curve, i.e., \(\rho (t_{m+1},\mathbf {x}_{i,j})=\rho (t_{m},{\mathbf{{x}}}_{i,j}^{*}(t_{m}))\), and hence, we only need the departure point \({\mathbf{{x}}}_{i,j}^{*}(t)\) at \(t=t_{m}\).

To verify the temporal convergence order of each method, we measure \(E_{\infty }\) and \(E_{R2}\) and check the computational cost (cpu) for a fixed spatial resolution \(J_{x}=J_{y}=12\times 100\) by varying the temporal step size h from 2−3 to 2−9. The results (the errors versus temporal step size h with a logarithmic scale based on 10) are plotted in Fig. 2 and illustrated in Table 1. The figure shows that the EAC3 and AB3 exhibit third-order convergence rates and EAC4 and AM4 have fourth-order convergence rates. However, EAC3 and EAC4 have greater computational costs than AB3 and AM4, since EAC3 and EAC4 simultaneously compute all three departure points with high accuracy by solving the linear system (12), whereas AB3 and AM4 are designed to calculate with good stability only at \(t=t_{m}\). These results seem that AB3 and AM4 are more efficient than the proposed methods for linear hyperbolic-type problems.

Table 1 Computational costs cpu to obtain the results in Fig. 2 at \(t=1.0\)

4.2 1D Burgers’ equation

This section investigates the performance of the proposed method combined with BDF3 for the nonlinear advection–diffusion problem and demonstrates its superiority compared with AB3 and AM4. As an illustrative example, we consider a 1D Burgers’ equation

$$ u_{t}+u u_{x}=\nu u_{x}x, \quad x\in [0,1], ~t>0 $$
(16)

with the following initial condition \(u(0,x)=\frac{2 \nu \pi \sin (\pi x)}{\sigma +\cos (\pi x)}\), \(x\in [0,1]\) and the Dirichlet boundary condition. The analytic solution for this example is given as [32, 35]

$$ u(t,x)= \frac{2 \nu \pi \exp (-\pi ^{2} \nu t) \sin (\pi x)}{\sigma + \exp (-\pi ^{2} \nu t) \cos (\pi x)}, $$

where \(\sigma > 1\) is a parameter determining the shape of the initial function, and σ and stiffness are inversely proportional.

We first numerically investigate temporal convergence for the four methods by measuring the errors \(E_{\infty }\) and \(E_{R2}\) for the smooth initial condition with \(\sigma =100\) and \(\nu =0.1\). The experiment is conducted by varying the time step h from 2−3 to 2−7 with spatial resolution \(J_{x}=400\), as shown in Table 2. All four methods, EAC3, EAC4, AB3, and AM4, combined with BDF3 achieve third-order time convergence. To check spatial convergence for the proposed method, simulation is performed until final time \(t_{f}=1.0\) for various spatial resolutions \(J_{x}\) from 23 to 27 with \(h=1/4000\) as shown in Table 3. The proposed EAC3 and EAC4 achieve at least third-order spatial accuracy. To demonstrate the superiority of EAC3, \(E_{R2}\) and cpu are obtained via the three methods, EAC3, AB3 and AM4, by using the time step size \(h=1/100,1/200,1/400\), and \(1/800\) and the spatial resolution \(J_{x}=1000\) until \(t=1.0\); we display the cpu versus \(E_{R2}\) in Fig. 3. The figure clearly shows that EAC3 significantly outperforms the other methods, particularly as σ reduces (i.e., increasing initial stiffness or flow velocity). The initial condition becomes steeper and the solution speed increases as σ decreases from 100 to 1.2. Additionally, we measure the \(E_{\infty }(t)\) and \(E_{2}(t)\) by EAC3 and other existing methods introduced in [29, 35]. The results are listed in Table 4 and show that EAC3 is more accurate than the compared methods presented in [29, 35].

Figure 3
figure 3

Accuracy and computational efficiency for Example 4.2 with (a\(\sigma =100\), (b\(\sigma =2\), and (c\(\sigma =1.2\)

Table 2 Temporal convergence rates for Example 4.2 with fixed spatial resolution \(J_{x}=400\)
Table 3 Spatial convergence rates for the proposed methods for Example 4.2 with fixed spatial resolution \(h=1/4000\)
Table 4 Comparison of \(E_{\infty }(t)\) and \(E_{2}(t)\) errors of EAC3 to the existing methods for Example 4.2 with \(h=0.01\) and \(\nu =0.005\), \(\sigma =100\) at \(t=1.0\)

4.3 Coupled Burgers’ equations

As the third test problem, the coupled Burgers’ equations are considered on the domain \([-20,20]\) defined as

$$ \textstyle\begin{cases} u_{t}- u_{xx}-2 uu_{x}+(uv)_{x} =0, \\ v_{t}- v_{xx}-2 vv_{x}+(uv)_{x}=0, \end{cases} $$

where we consider the exact solution to be [4, 22, 24]

$$ u_{1}(t,x)=u_{2}(t,x)=\exp (-t)\sin (x),\quad x\in [-\pi , \pi ], ~ t>0. $$

Boundary and initial conditions are as used for the exact solution.

To demonstrate the robustness and superiority of the proposed method, we numerically estimate the convergence order of EAC3 and cpu. We measure convergence rates for both solutions u and v simultaneously at \(t=1.0\) for the same temporal and spatial step sizes \(h=\Delta x\) from 2−3 to 2−7. As shown in Table 5, EAC3 clearly exhibits the expected third-order convergence rate. To demonstrate the accuracy and superiority of EAC3, we implement the experiment of the example and compare the numerical results obtained by EAC3, AB3, and AM4. We compare the errors, \(E_{\infty }\) and \(E_{R2}\), obtained by the three methods for different time levels \(t= 0.5,1.0,2.0\), and 3.0 with \(h=2^{-7}\) and \(J_{x}=1024\). The results are listed in Table 6 and Fig. 4. EAC3 exhibits significantly superior accuracy, showing excellent agreement with the exact solutions and slightly superior computational costs compared with AB3 and AM4 (see Fig. 4(b)).

Figure 4
figure 4

(a) Approximate and exact solution behaviors for different time steps, and (b) comparison of cpu for the three departure traceback schemes from Table 6

Table 5 Numerical accuracy of EAC3 for Example 4.3 at \(t=1.0\)
Table 6 Comparison of accuracy of three methods for different time steps in Example 4.3

4.4 KdV–Burgers’ equation

This section investigates the adaptability of the proposed method for the problem with dispersive flow. Consider the following KdV–Burgers equation:

$$ u_{t}+\varepsilon u u_{x}-\nu u_{xx}+\eta u_{xxx}=0,\quad x\in [x_{L},x_{R}] $$

with the exact solitary wave solution as given by ([25])

$$ u(t,x)=a_{0} \bigl(9-6 \tanh \bigl(a_{1}(x-a_{2}t) \bigr)-3\tanh ^{2}\bigl(a_{1}(x-a_{2}t)\bigr) \bigr), $$

where \(a_{0}=\frac{\nu ^{2}}{25\varepsilon \eta }\), \(a_{1}= \frac{\nu }{10\eta }\), \(a_{2}=\frac{6\nu ^{2}}{25\eta }\); ε, and ν and η are arbitrary constants. The KdV–Burgers’ equation applies to studying weak effects of dispersion, dissipation, and nonlinearity in waves propagating in a liquid-filled elastic tube [34].

To investigate the accuracy and efficiency of the proposed method, we solve the problem with fixed sparse grid sizes \(h=0.1\) and \(J_{x}=10\) by varying ε, ν, and η, as shown in Table 7. We measure errors \(E_{\infty }\) and \(E_{R2}\) at \(t=0.3,0.6\), and 0.9, and the numerical solutions show very good agreement with the exact solutions. We observe the graphical representation of the time-progressive evolution for the traveling solution with small \(\mu =0.01,0.001\). Hence, we employ \(h=0.02\), \(J_{x}=800\) and \(h=0.01\), \(J_{x}=1000\) as shown in Fig. 5. The figure shows that EAC3 works well providing good performance for the traveling solution with small \(\mu =0.01\) and 0.001.

Figure 5
figure 5

Graphical representation of the time-progressive evolution for traveling solution with (a\(\mu =0.01\), \(h=0.02\), \(J_{x}=800\) and (b\(\mu =0.001\), \(h=0.01\), \(J_{x}=1000\) during \(t\leq 10\)

Table 7 Numerical accuracy for Example 4.4 using EAC3 with \(h=0.1\) and \(J_{x}=20\) on \([-10,10]\) for various values of ε, ν and η

4.5 2D Burgers’ equation

In this subsection, to observe numerical accuracy in 2D nonlinear advection–diffusion equations, we perform the test problem using the 2D unsteady Burgers’ equation,

$$ u_{t}+u(u_{x}+u_{y})=\nu \Delta u,\quad { \mathbf{{x}}}\in [-0.5,0.5]^{2}, $$

with the analytic solution from [37]

$$ u(t,{\mathbf{{x}}})=\frac{1}{2}-\tanh \biggl(\frac{x+y-t}{2\nu } \biggr), \quad {\mathbf{{x}}}=(x,y). $$

Initial and boundary conditions are taken directly from the analytic solution.

We first examine the accuracy of EAC3 for \(\nu =0.1\) by varying the same time step and space grid sizes, \(h=\Delta x=\Delta y\) from \(1/50\) to \(1/400\) for two different time levels. As shown in Table 8, EAC3 provides third-order convergence.

Table 8 Convergence rates of EAC3 for Example 4.5 at \(t=0.5\) and \(t=1.0\) with \(\nu =0.1\)

We also observe the behaviors of the numerical solutions obtained by EAC3 for different viscosities \(\nu =0.1,0.01\), and 0.001 at \(t=1.0,2.0\), and 3.0 using the time step, and spatial grid sizes \(h=\Delta x=\Delta y=0.01,0.002\), and 0.0005 are used. Figure 6 shows that EAC3 has good performance and works well for small viscosity coefficients. Finally, by comparing the errors and computational cost cpu with the results of AB3, we demonstrate the efficiency of the proposed method at two different time levels \(t=0.05\) and 1.0. The results displayed in Table 9 show that the proposed method EAC3 provides more accurate solutions with lower computational cost than AB3, clearly indicating that EAC3 is more efficient than AB3.

Figure 6
figure 6

Time evolution of the numerical solution with (a\(\nu =0.1\), \(h=\Delta x=\Delta y=0.01\); (b\(\nu =0.01\), \(h=\Delta x=\Delta y=0.002\); (c\(\nu =0.001\), \(h=\Delta x=\Delta y=0.0005\)

Table 9 Comparison of numerical results from EAC3 and AB3 for Example 4.5

4.6 System of Burgers’ equations

As the last test problem, consider the system of 2D Burgers’ equations:

$$ {\mathbf{{u}}}_{t}(t,{\mathbf{{x}}}) + \mathcal{J} { \mathbf{{u}}}(t,{\mathbf{{x}}}) -\nu \Delta {\mathbf{{u}}}(t,{\mathbf{{x}}})=0, \quad {\mathbf{{x}}} \in [0,1]^{2} $$

with analytic solution [19, 25, 35, 38]

$$ u(t,{\mathbf{{x}}})=\frac{3}{4}- \frac{1}{4(1+\exp (\frac{4y-4x-t}{32\nu }))},\quad\quad v(t,{ \mathbf{{x}}})= \frac{3}{4}+\frac{1}{4(1+\exp (\frac{4y-4x-t}{32\nu }))}. $$

To observe the behaviors of the numerical solutions, the graphical results of the time evolution for the numerical solutions obtained by EAC3 are observed for small viscosity \(\nu =0.0001\) at three different time levels \(t=1.0,2.0\), and 3.0 with \(h=0.001\) and \(\Delta x=\Delta y=1200\). The results depicted in Fig. 7 show good performance with small viscosity \(\nu =0.0001\).

Figure 7
figure 7

Time evolution of the solution (au (bv with \(\nu =0.0001\), \(h=0.001\), \(J_{x}=J_{y}=1200\) for Example 4.6

To investigate the accuracy and efficiency of EAC3, we measure the errors of u, v, and cpu for different viscosities \(\nu =1.0,0.1,0.01\), and 0.005 for various h and \(J_{x}=J_{y}\) at \(t=0.5\) and 2.0. Table 10 shows that the numerical solutions of EAC3 exhibit very good agreement with the exact solutions for various viscosity coefficients.

Table 10 Numerical accuracy of Example 4.6 using EAC3 with different parameters

5 Conclusions

In this paper, an adaptable and stable BSL was developed to solve advection–diffusion–dispersion problems induced from fluid dynamics by introducing a high-order departure scheme, which is a A-stable with up to fourth-order accuracy. In particular, the scheme is designed to solve the strongly nonlinear IVP and to have high-order accuracy while having good stability for all approximation of the departure points at three previous times. It is experimentally shown to be more suitable for solving advection–diffusion–dispersion type problems than other conventional high-order departure traceback methods. Moreover, it is more efficient, compared with other methods, in that the proposed method does not need an iterative technique that is required to solve the strong nonlinear IVP. Through several numerical experiments, it was shown that the proposed scheme is superior to the conventional high-order departure traceback schemes and the latest solvers of Burgers’ equation, in terms of accuracy and computational costs.