Skip to main content

Advertisement

We’d like to understand how you use our websites in order to improve them. Register your interest.

Simulation of advection–diffusion–dispersion equations based on a composite time discretization scheme

Abstract

In this work, we develop a high-order composite time discretization scheme based on classical collocation and integral deferred correction methods in a backward semi-Lagrangian framework (BSL) to simulate nonlinear advection–diffusion–dispersion problems. The third-order backward differentiation formula and fourth-order finite difference schemes are used in temporal and spatial discretizations, respectively. Additionally, to evaluate function values at non-grid points in BSL, the constrained interpolation profile method is used. Several numerical experiments demonstrate the efficiency of the proposed techniques in terms of accuracy and computation costs, compare with existing departure traceback schemes.

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.

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.

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

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)

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
figure1

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
figure2

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.

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.

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\)

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
figure3

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\)

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
figure4

(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

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
figure5

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 η

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
figure6

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

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
figure7

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

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.

References

  1. 1.

    Allievi, A., Bermejo, R.: Finite element modified method of characteristics for the Navier–Stokes equations. Int. J. Numer. Methods Fluids 32(4), 439–463 (2000)

  2. 2.

    Arora, G., Singh, B.K.: Numerical solution of Burgers’ equation with modified cubic B-spline differential quadrature method. Appl. Math. Comput. 224, 166–177 (2013)

  3. 3.

    Bak, S.: High-order characteristic-tracking strategy for simulation of a nonlinear advection–diffusion equations. Numer. Methods Partial Differ. Equ. 35(5), 1756–1776 (2019)

  4. 4.

    Bak, S., Kim, P., Kim, D.: A semi-Lagrangian approach for numerical simulation of coupled Burgers’ equations. Commun. Nonlinear Sci. Numer. Simul. 69, 31–44 (2019)

  5. 5.

    Bak, S., Kim, P., Piao, X., Bu, S.: Numerical solution of advection–diffusion type equation by modified error correction scheme. Adv. Differ. Equ. 2018, 432 (2018)

  6. 6.

    Bermúdez, A., Nogueiras, M.R., Vázquez, C.: Numerical analysis of convection-diffusion-reaction problems with higher order characteristics/finite elements. Part I: time discretization. SIAM J. Numer. Anal. 44, 1829–1853 (2006)

  7. 7.

    Bermúdez, A., Nogueiras, M.R., Vázquez, C.: Numerical analysis of convection-diffusion-reaction problems with higher order characteristics/finite elements. Part II: fully discretized scheme and quadrature formulas. SIAM J. Numer. Anal. 44, 1854–1876 (2006)

  8. 8.

    Bhatt, H.P., Khaliq, A.Q.M.: Fourth-order compact schemes for the numerical simulation of coupled Burgers’ equation. Comput. Phys. Commun. 200, 117–138 (2016)

  9. 9.

    Burgers, J.M.: A mathematical model illustrating the theory of turbulence. Adv. Appl. Mech. 1, 171–199 (1948)

  10. 10.

    Chen, Y., Zhang, T.: A weak Galerkin finite element method for Burgers’ equation. J. Comput. Appl. Math. 348, 103–119 (2019)

  11. 11.

    Cole, J.D.: On a quasi-linear parabolic equation occurring in aerodynamics. Q. Appl. Math. 9, 225–236 (1951)

  12. 12.

    Egidi, N., Maponi, P., Quadrini, M.: An integral equation method for numerical solution of the Burgers’ equation. Comput. Math. Appl. 76, 35–44 (2018)

  13. 13.

    Esipov, S.E.: Coupled Burgers’ equations: a model of poly-dispersive sedimentation. Phys. Rev. 52, 3711–3718 (1995)

  14. 14.

    Ewing, R.E., Wang, H.: A summary of numerical methods for time-dependent advection-dominated partial differential equations. J. Comput. Appl. Math. 128, 423–445 (2001)

  15. 15.

    Filbet, F., Prouveur, C.: High order time discretization for backward semi-Lagrangian methods. J. Comput. Appl. Math. 303, 171–188 (2016)

  16. 16.

    Fornberg, B.: Calculation of weights in finite difference formulas. SIAM Rev. 40(3), 685–691 (1998)

  17. 17.

    Gowrisankar, S., Natesan, S.: An efficient robust numerical method for singularly perturbed Burgers’ equation. Appl. Math. Comput. 346, 385–394 (2019)

  18. 18.

    Hairer, E., Wanner, G.: Solving Ordinary Differential Equations II. Stiff and Differential-Algebraic Problems. Springer Series in Computational Mathematics. Springer, Berlin (1996)

  19. 19.

    Haq, S., Ghafoor, A.: An efficient numerical algorithm for multi-dimensional time dependent partial differential equations. Comput. Math. Appl. 75, 2723–2734 (2018)

  20. 20.

    Jiwari, R.: A harr wavelet quasilinearization approach for numerical simulation of Burgers’ equation. Comput. Phys. Commun. 183, 2413–2423 (2012)

  21. 21.

    Jiwari, R.: A hybrid numerical scheme for the numerical solution of the Burgers’ equation. Comput. Phys. Commun. 188, 59–67 (2015)

  22. 22.

    Jiwari, R., Kumar, S., Mittal, R.C.: Meshfree algorithms based on radial basis functions for numerical simulation and to capture shocks behavior of Burgers’ type problems. Eng. Comput. 36(4), 1142–1168 (2019)

  23. 23.

    Jiwari, R., Tomasiello, S., Tornabene, F.: A numerical algorithm for computational modelling of coupled advection–diffusion–reaction systems. Eng. Comput. 35(3), 1383–1401 (2018)

  24. 24.

    Kaya, D.: An explicit solution of coupled viscous Burgers’ equation by the decomposition method. Int. J. Math. Math. Sci. 27, 675–680 (2001)

  25. 25.

    Khater, A.H., Temash, R.S., Hassan, M.M.: A Chebyshev spectral collocation method for solving Burgers’-types equations. J. Comput. Appl. Math. 222, 333–350 (2008)

  26. 26.

    Kim, D., Song, O., Ko, H.: A semi-Lagrangian CIP fluid solver without dimensional splitting. Comput. Graph. Forum 27, 467–475 (2008)

  27. 27.

    Kim, P., Kim, D., Piao, X., Bak, S.: A completely explicit scheme of Cauchy problem in BSLM for solving the Navier–Stokes equations. J. Comput. Phys. 401, 109028 (2020)

  28. 28.

    Kim, P., Piao, X., Kim, S.D.: An error corrected Euler method for solving stiff problems based on Chebyshev collocation. SIAM J. Numer. Anal. 49, 2211–2230 (2011)

  29. 29.

    Mittal, R.C., Jiwari, R.: A differential quadrature method for solving Burgers’ type equation. Int. J. Numer. Methods Heat Fluid Flow 22(7), 880–895 (2012)

  30. 30.

    Piao, X., Bu, S., Bak, S., Kim, P.: An iteration free backward semi-Lagrangian scheme for solving incompressible Navier–Stokes equations. J. Comput. Phys. 283, 189–204 (2015)

  31. 31.

    Robert, A.: A stable numerical integration scheme for the primitive meteorological equations. Atmos.-Ocean 19(1), 35–46 (1981)

  32. 32.

    Seydaoğlu, M., Erdoğan, U., Öziş, T.: Numerical solution of Burgers’ equation with high order splitting methods. J. Comput. Appl. Math. 291, 410–421 (2016)

  33. 33.

    Staniforth, A., Coté, J.: Semi-Lagrangian integration schemes for atmospheric models—a review. Mon. Weather Rev. 119, 2206–2223 (1991)

  34. 34.

    Su, C.H., Gardner, C.S.: Korteweg–de Vries equation and generalizations. III. Derivation of the Korteweg–de Vries equation and Burgers equation. J. Math. Phys. 10(3), 536–539 (1969)

  35. 35.

    Tamsir, M., Srivastava, V.K., Jiwari, R.: An algorithm based on exponential modified cubic B-spline differential quadrature method for nonlinear Burgers’ equation. Appl. Math. Comput. 290, 111–124 (2016)

  36. 36.

    Yadav, O.P., Jiwari, R.: Finite element analysis and approximation of Burgers’–Fisher equation. Numer. Methods Partial Differ. Equ. 33(5), 1652–2677 (2017)

  37. 37.

    Zhang, J., Yan, G.: Lattice Boltzmann method for one and two-dimensional Burgers’ equation. Physica A 387, 4771–4786 (2008)

  38. 38.

    Zhang, X., Tian, H., Chen, W.: Local method of approximate particular solutions for two-dimensional unsteady Burgers’ equations. Comput. Math. Appl. 66, 2425–2432 (2014)

Download references

Acknowledgements

The authors would like to thank the reviewers for their valuable comments and suggestions, which helped improve its presentation overall.

Availability of data and materials

Data sharing not applicable to this article as no datasets were generated or analysed during the current study.

Funding

This work was supported by National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (grant number NRF-2019R1F1A1058378).

Author information

Affiliations

Authors

Contributions

All authors provided the basic idea of this work. The corresponding author S. Bak simulated the numerical examples and write the draft of the manuscript, and the other author S. Bu revised the manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Soyoon Bak.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Appendices

Appendix A: Finite difference method for space discretization

To implement the proposed BSL, we require fourth-order finite difference formulas of order k (\(k=1,2,3\)) to approximate a function’s partial derivatives. Therefore, this appendix introduces fourth-order finite difference matrices of size \((J_{x}+1) \times (J_{x}+1)\) from the discrete partial derivative operators for the Dirichlet boundary condition [16]

$$\begin{aligned}& \mathcal{D}_{x}^{(1)}=\frac{1}{12 \Delta x} \begin{bmatrix} -25 & 48 & -36 & 16 & -3 & \cdots & \\ -3 & -10 & 18 & -6 & 1 & & \\ 1 & -8 & 0 & 8 & -1 & & \\ & \ddots & \ddots & \ddots & \ddots & & \\ & & 1 & -8 & 0 & 8 & -1 \\ & & -1 & 6 & -18 & 10 & 3 \\ & \cdots & 3 & -16 & 36 & -48 & 25 \end{bmatrix}, \\& \mathcal{D}_{x}^{(2)}:= \frac{1}{12\triangle x^{2}} \begin{bmatrix} 45 & -154 & 214 & -156 & 61 &-10 & \\ 10 & -15 & -4 & 14 &-6 & 1 & \\ -1 & 16 & -30 & 16 &-1 & & \\ &\ddots &\ddots &\ddots &\ddots &\ddots & \\ & & -1 & 16 &-30 &16 &-1 \\ & 1 & -6 & 14 &-4 & -15 &10 \\ & -10 & 61 & -156 &214 &-154 &45 \end{bmatrix}, \end{aligned}$$
(17)

and

$$ \mathcal{D}_{x}^{(3)}= \frac{1}{8 \Delta x^{3}} \begin{bmatrix} -49 & 232 & -461 & 496 & -307 & 104 & -15 & \cdots & \\ -15 & 56 & -83 & 64 & -29 & 8 & -1 & & \\ -1 & -8 & 35 & -48 & 29 & -8 & 1 & & \\ 1 & -8 & 13 & 0 & -13 & 8 & -1 & & \\ & \ddots & \ddots & \ddots & \ddots & \ddots & \ddots & & \\ & & 1 & -8 & 13 & 0 & -13 & 8 & -1 \\ & & -1 & 8 & -29 & 48 & -35 & 8 & 1 \\ & & 1 & -8 & 29 & -64 & 83 & -56 & 15 \\ & \cdots & 15 & -104 & 307 & -496 & 461 & -232 & 49 \end{bmatrix}, $$
(18)

where the matrix elements were obtained from MATHEMATICA. Using these finite difference matrices [16], partial derivatives \(\frac{\partial ^{k}}{\partial x^{k}}f_{i}\) or \(\frac{\partial ^{k}}{\partial x^{k}}f_{i,j}\) (\(k=1,2,3\)) of a given function f can be approximated as follows.

1D case

$$ \frac{\partial ^{k}}{\partial x^{k}}f_{i}= \bigl(\mathcal{D}^{(k)}_{x} \boldsymbol{f} \bigr)_{i}+\mathcal{O}\bigl(\Delta x^{4} \bigr), $$

2D case

$$ \begin{aligned} \frac{\partial ^{k}}{\partial x^{k}}f_{i,j}&= \bigl( \mathcal{D}^{(k)}_{x}\boldsymbol{F} \bigr)_{i,j}+\mathcal{O}\bigl(\Delta x^{4}\bigr), \quad\quad \frac{\partial ^{k}}{\partial y^{k}}f_{i,j}= \bigl(\boldsymbol{F} \bigl( \mathcal{D}^{(k)}_{y} \bigr)^{T} \bigr)_{i,j}+\mathcal{O}\bigl(\Delta y^{4}\bigr), \end{aligned} $$

where \(f_{i}=f({{\mathbf{{x}}}_{i}})\); \(f_{i,j}=f({{\mathbf{{x}}}_{i,j}})\); \(\boldsymbol{f}= (f_{i} )_{(J_{x}+1)\times 1}\) and \(\boldsymbol{F}= (f_{i,j} )_{(J_{x}+1)\times (J_{y}+1)}\); Δx and Δy are uniform spatial grid sizes along the x- and y-directions, respectively; T denotes matrix transposition; and \((\boldsymbol{a} )_{i}\) and \((\boldsymbol{A} )_{i,j}\) denote the \(i^{\text{th}}\) and \((i,j)^{\text{th}}\) components of vector a and matrix A, respectively.

Appendix B: Collocation method for equidistant collocation nodes

This section reviews classical one-step collocation as a solver of the IVP,

$$ \textstyle\begin{cases} \boldsymbol{\phi }'(t)={\mathbf{f}}(t,\boldsymbol{\phi }(t)),\quad t \in (t_{m},t_{m+1}], \\ \boldsymbol{\phi }(t_{m})=\boldsymbol{\phi }_{m}, \end{cases} $$
(19)

where f is assumed to satisfy the conditions guaranteeing the existence of a unique solution.

Suppose that we have an approximation to the solution for (19) at point \(t_{m}\) for a set of equally spaced points on the integration interval \(t_{s}=t_{0}< t_{1} < \cdots <t_{M}=t_{f}\), where we set \(t_{m}=t_{s}+mh\) (\(m=0,1,2,\ldots,M\)) and \(h=(t_{f}-t_{s})/M\). We employed the classical collocation method [18] to obtain the approximation \(\boldsymbol{\varphi }(t_{m+1})\) for \(\boldsymbol{\phi }(t_{m+1})\). To design the fourth-order scheme in the BSL, we used equidistant collocation nodes \(t_{m,j}:=t_{m}+c_{j} h\) (\(j=0,1,2,3\)) with \(c_{j}=\frac{j}{3}\). Consider the Lagrange form of the interpolating polynomial,

$$ \begin{aligned} &\boldsymbol{\phi }'(t)= \sum_{k=0}^{3}\boldsymbol{\phi }'(t_{m,k}) \mathcal{L}_{k}(\xi )+\mathcal{R}(\xi ), \\ &\mathcal{L}_{k}(\xi )=\prod_{j=0,j\neq k}^{3} \frac{\xi -c_{j}}{c_{k}-c_{j}},\quad\quad \mathcal{R}(\xi ):=\boldsymbol{\phi }'[t_{m,0},\ldots,t_{m,3}] \prod _{j=0}^{3} (\xi -c_{j}), \end{aligned} $$
(20)

for some \(t=t_{m}+\xi h\) (\(0\leq \xi \leq 1\)) and divided difference \(\boldsymbol{\phi }'[t_{m,0},\ldots,t_{m,3}]\).

By integrating and evaluating (20) at the collocation points,

$$ \begin{aligned} &\boldsymbol{\phi }(t_{m,j})= \boldsymbol{\phi }(t_{m})+h\sum_{k=0}^{3}{ \mathbf{f}}(t_{m,k}) \int _{0}^{c_{j}} \mathcal{L}_{k}(\eta ) \,d \eta +h \int _{0}^{c_{j}} \mathcal{R}(\eta ) \,d\eta . \end{aligned} $$
(21)

By truncating the last term in (21), we obtain a four-stage implicit collocation method (or implicit Runge–Kutta method),

$$ \boldsymbol{\varphi }(t_{m+1})=\boldsymbol{\varphi }(t_{m})+h\sum_{k=0}^{3} b_{k} K_{m,k}, \quad K_{m,k}={\mathbf{f}} \Biggl(t_{m,k},\boldsymbol{\varphi }(t_{m})+h\sum _{j=0}^{3} a_{kj} K_{m,j} \Biggr) $$
(22)

with Butcher tableau

figureh

where

$$ a_{jk}:= \int _{0}^{c_{j}} \mathcal{L}_{k}(\eta ) \,d \eta , \quad\quad b_{k}= \int _{0}^{1}\mathcal{L}_{k}(\eta ) \,d \eta ,\quad j, k=0,1,2,3. $$

We remark that both the stage and the convergence orders of the collocation method (22) are four, which can be easily checked (see [18] for details).

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

Verify currency and authenticity via CrossMark

Cite this article

Bu, S., Bak, S. Simulation of advection–diffusion–dispersion equations based on a composite time discretization scheme. Adv Differ Equ 2020, 132 (2020). https://doi.org/10.1186/s13662-020-02580-6

Download citation

Keywords

  • Time-discretization method
  • Semi-Lagrangian method
  • Advection–diffusion equation
  • Advection–dispersion equation
  • Burgers’ equations
  • Korteweg-de Vries–Burgers’ equation