1 Introduction

In this paper we consider the convective Allen–Cahn (CAC) equation in the following form:

$$\begin{aligned} u_t+{\textbf{v}}\cdot \nabla u=\epsilon ^2\varDelta u+f(u),\quad t >0,\,{\textbf{x}}\in \varOmega , \end{aligned}$$
(1.1)

subject to the periodic or homogeneous Neumann boundary condition. Here, \(\varOmega \subset {\mathbb {R}}^{d}\) \((d=2,3)\) is a connected, open, and bounded domain, \(\varDelta =\nabla ^2\) is the Laplace operator, the order parameter \(u({\textbf{x}}, t)\in {\mathbb {R}}\) is the unknown function, the parameter \(\epsilon \) is related to the thickness of the transition layers, the bulk velocity \(\textbf{v}({\textbf{x}},t)\in {\mathbb {R}}^d\) is solenoidal, i.e., \(\nabla \cdot \textbf{v}=0\). The reaction term f(u) is a nonlinear function which will be specified in the following context.

The classic Allen–Cahn (AC) equation [1], obtained from (1.1) by removing the convective term \({\textbf{v}}\cdot \nabla u\), can be regarded as the \(L^2\) gradient flow with respect to the following energy functional

$$\begin{aligned} E[u]=\frac{\epsilon ^2}{2}(\nabla u,\nabla u)+(F(u),1), \end{aligned}$$
(1.2)

with \(f(u)=-F'(u)\) (F is often called the potential function), where \((\cdot ,\cdot )\) represents the \(L^2\) inner product on \(\varOmega \) associated with the \(L^2\) norm \(\Vert \cdot \Vert _0\). In this case, the classic AC equation satisfies the so-called energy dissipation law in the sense that

$$\begin{aligned} \begin{aligned} \frac{d}{dt}E[u]&=\int _\varOmega \frac{\delta E}{\delta u}u_td{\textbf{x}}=-\int _{\varOmega }\left| \epsilon ^2\varDelta u+f(u)\right| ^{2}d{\textbf{x}}\le 0. \end{aligned} \end{aligned}$$

However, the CAC equation (1.1) does not possess the above energy dissipation law even with a divergence-free velocity field. As an another well-known characteristic of the AC equation, the maximum bound principle (MBP) states that if the initial value and/or the boundary values are pointwisely bounded by a certain positive constant in the absolute value, then the solution is bounded by the same constant everywhere for all time. The CAC equation (1.1) inherits the same MBP from the AC equation, which turns to be an indispensable mathematical tool to study the underlying physical characteristics [22, 44], particularly for the case of logarithmic nonlinear potential. Therefore, it is also crucial to maintain the MBP in the discrete settings for discretization of the AC type equations. In addition, we should note neither the above AC or CAC equation preserves the total mass.

Many numerical methods that preserve discrete MBPs have been proposed and studied for the AC type equations in recent years. For the spatial discretization, different methods have been considered, such as lumped-mass finite element method in [53, 54], finite difference method in [8, 58], and finite volume method in [41, 42]. For the temporal integration, some stabilized linear first-order semi-implicit schemes were developed in [50, 55, 56] to unconditionally preserve the MBP, but the corresponding second-order schemes only preserve the MBP conditionally. The cut-off post-processing methods were studied in [35, 59] to preserve the MBP of the AC equation. However, there are still few similar works for unconditionally MBP-preserving numerical schemes for the CAC equation, especially for those with higher than first-order accuracy in both space and time. Recently, the exponential time differencing (ETD) method [6, 11,12,13, 25, 26, 31, 32], has been widely applied and studied, in combination with linear stabilization techniques, to discretely preserve the MBP for the AC equation. Du et al. [18] proposed the first- and second-order stabilized ETD schemes for the nonlocal Allen–Cahn equation that preserve the MBP unconditionally. Moreover, an abstract framework on MBP-preserving ETD schemes for a class of semilinear parabolic equations was established by Du et al. [19]. Then, their framework was extended further to the mass-conserving AC equations in [29, 36]. In addition, an arbitrarily high-order ETD multi-step method was presented by [35] by enforcing the maximum bound via an extra cut-off post-processing.

As an another significant feature of the CAC equation (1.1), the convective term poses extra difficulties for constructing efficient, stable and high-order accurate numerical schemes. A common approach to deal with the convective term and design stable schemes is the upwind strategy [9]. Shen et al. [46] and Cai et al. [8] both designed unconditionally MBP-preserving schemes for the CAC equation based on the upwind approach. The former used the upwind finite difference method and achieved the first-order accuracy. The latter used the ETD framework and achieved the first- and second-order accuracy in time. The upwind approach also has some drawbacks. It leads to variable coefficients in the linear system at each time step, which impedes the implementation of FFT-based fast solver and significantly increases the computational cost. It only has first-order spatial accuracy and is subject to a strict CFL stability condition [20, Chapter 7], which make it hard to capture the dynamic interface behavior of phase evolution in realistic simulations. To resolve these issues, a numerical method with second-order spatial accuracy via the splitting approach was proposed in [33], where the convective term is integrated separately as a fractional step and the reconstruction with the limiter is adopted to achieve higher spatial accuracy. However, this scheme still suffers from the strict CFL condition due to the convection part solver and thus only preserve the MBP conditionally.

The semi-Lagrangian (SL) scheme (or called “the modified method of characteristic”) [2, 16, 43] is an another popularly used approach to handle the convective term and achieve high-order accuracy in space. It finds the previous positions of the fluid particles that will end up at the current mesh nodes. This way, the equation is solved on the fixed mesh, which avoids remeshing and results in the linear systems with time-independent entries. It also potentially allows for arbitrarily large time steps without breaking the CFL condition. The SL method has been applied to solve many fluid models, e.g. see [5, 7, 47, 52,53,54, 57] and the references cited therein. Error estimates for SL schemes often encounter a factor \(\frac{1}{\tau }\) (\(\tau \) denotes the time step size) due to the interpolation, which ruins optimal convergence results. Charles et al. [10] recently developed a new technique for enhanced convergence analysis of SL schemes, in which they applied the shifted Strang’s schemes [28, 48] for the stability and the B-splines techniques [45] for the truncation error. As a result, the factor \(\frac{h}{\tau }\) is then replaced by \(\min \left\{ \frac{h}{\tau },1\right\} \) in the corresponding error estimates. The analysis framework in [10] was only discussed for the one-dimensional case with constant-in-space velocity field (i.e., \({\textbf{v}}({\textbf{x}},t):= {\textbf{v}}(t)\)), and it still remains open how to conduct enhanced error estimation for the SL schemes on higher-dimensional cases with variable (in both time and space) velocities. We also note that the techniques in [10, 48] do not apply to the SL schemes with variable coefficients, because they rely on [34, Theorem 3.1], which requires that the characteristic roots of different grid points are shifted by the same number of cells. This condition is not met by the SL schemes with variable velocity cases, unlike the numerical schemes that Strang [48] proved to be stable.

The primary objective of this paper is twofold: one is to design unconditionally MBP-preserving second-order numerical schemes for solving the CAC equation (1.1) by combining the ETD and SL methods, the other one is to conduct the enhanced error estimation on the proposed method with variable coefficients in two or higher dimensions. We shall consider the operator splitting approach [41, 42] by decoupling the CAC equation into two AC equations and one linear transport equation at each time step. Then finite difference method is used to spatially discrete each subsystem, especially the central finite difference scheme is applied for the AC equation. For the linear transport part, we will reformulate it into the characteristic form and apply the SL method for its solution. Meanwhile, the Runge–Kutta method is used to trace the characteristic curve, and the centered cubic Lagrange interpolation with the cut-off post-processing is applied to approximate the value at the spatial mesh nodes. Cut-off post-processing is usually not appropriate for the general transport equation with discontinuities. However, since we have a smooth transported quantity for the CAC equation (1.1) and a prescribed smooth velocity, we do not encounter any discontinuity. Therefore, we can apply cut-off post-processing. For the AC equation part, the stabilized ETD schemes will be used for its solution, where FFT-based fast implementation [32] can be naturally used for solving the resulting linear systems on rectangular meshes. Furthermore, we are also devoted to prove enhanced error estimate for the proposed scheme on the fully discretized system where high dimensions and variable coefficients are present.

The rest of this paper is organized as follows. Section 2 presents the conditions on the nonlinear function for the MBP satisfaction of the CAC equation and introduces the characteristic form for the linear transport equation. In Sect. 3, we present the second-order operator splitting scheme which decouples the CAC equation into two classic AC equations and one linear transport equation in the characteristic form. Their corresponding solvers, stabilized ETDRK2 scheme for the AC equations and the SL scheme for the transport equation, are then discussed with finite difference discretization in space. In Sect. 4, fully discrete second-order SL-ETD scheme for the CAC equation is presented and its unconditional MBP preservation and enhanced error estimate are proved. Various numerical experiments in two and three dimensions are performed to verify the theoretical results in Sect. 5. Finally, some conclusions are drawn in Sect. 6.

2 Maximum Bound Principle and Characteristic Form

Let us briefly go over the prerequisites for the CAC equation (1.1) to retain the MBP property. Suppose that \(f:\text {Dom}(f)(\subset {\mathbb {R}})\rightarrow {\mathbb {R}}\) is continuously differentiable and the initial value of u is given by

$$\begin{aligned} u({\textbf{x}},0)=u_0({\textbf{x}}),\quad {\textbf{x}}\in {\overline{\varOmega }}. \end{aligned}$$
(2.1)

For simplicity, we will consider the rectangular domain \(\varOmega =\prod _{i=1}^d(a_i,b_i)\) imposed with the periodic boundary condition. Note that the results derived below can be easily extended to the case of homogeneous Neumann boundary condition. According to the classical theory for the semilinear parabolic equations [51], there exists a unique smooth solution to the CAC equation (1.1) under some suitable conditions on the nonlinear function f and the velocity field \({\textbf{v}}\). As shown in [19], the following assumption on f is crucial for establishing the MBP for (1.1).

Assumption 1

There exists a constant \(\beta >0\) such that

$$\begin{aligned} f(\beta )\le 0\le f(-\beta ). \end{aligned}$$

There are two types of classic potential functions F(u) (and \(f(u)=-F'(u)\)) commonly used in practice: one is the Flory–Huggins potential:

$$\begin{aligned} F(u)=\frac{\theta }{2}\left[ (1+u) \ln (1+u)+(1-u) \ln (1-u)\right] -\frac{\theta _{c}}{2}u^{2} \end{aligned}$$
(2.2)

with \(\theta _{c}>\theta >0\) for which \(\beta \in [\rho ,1)\) with \(\rho \) being the positive root of \(f(\rho )=0\), the other is the double-well potential:

$$\begin{aligned} F(u)=\frac{1}{4}\left( u^{2}-1\right) ^{2} \end{aligned}$$
(2.3)

for which \(\beta \in [1,\infty )\). Under Assumption 1, the convective Allen–Cahn equation (1.1) with the potential function (2.2) or (2.3) satisfies the MBP [22, 46], i.e., if \(|u_0({\textbf{x}})|\le \beta \) for all \({\textbf{x}}\in \varOmega \), then \(|u( {\textbf{x}},t)|\le \beta \) for all \({\textbf{x}}\in \varOmega \) and \(t \ge 0\). The CAC equation (1.1) can be regarded as a special case of [46] with a constant mobility.

With respect to the supremum norm, the Laplace operator \(\varDelta \) can generate a contraction semigroup \(\{{\mathcal {S}}_{\varDelta }(t)=e^{\varDelta t}\}_{t\ge 0}\) on \(C_\textrm{per}({\bar{\varOmega }})\) [19, 21], where \(C_\textrm{per}({\bar{\varOmega }})\) is the subspace of \({C}({\bar{\varOmega }})\) satisfying the periodic boundary condition. Let \(\Vert \cdot \Vert _{\infty }\) denote the supremum norm on \({C}({\bar{\varOmega }})\). The following result holds with regard to the semigroup generated by \({\mathcal {A}}=\varDelta -\alpha {\mathcal {I}}\), where \(\alpha >0\) is a constant and \( {\mathcal {I}}\) is the identity operator.

Lemma 2.1

[19] The Laplace operator \(\varDelta \) generates a contraction semigroup with respect to the supremum norm on the subspace \(C_{\textrm{per}}({\bar{\varOmega }})\). Furthermore, for any \(\alpha >0\), we have

$$\begin{aligned} \Vert {\mathcal {S}}_{{\mathcal {A}}}(t)u\Vert _{\infty }\le e^{-\alpha t}\Vert u\Vert _{\infty },\quad \forall \, u\in {C}_{\textrm{per}}({\bar{\varOmega }}), t\ge 0, \end{aligned}$$

where \(\{{\mathcal {S}}_{{\mathcal {A}}}(t)\}_{t\ge 0}\) is the semigroup generated by \({\mathcal {A}}=\varDelta -\alpha {\mathcal {I}}\).

Thanks to Lemma 2.1, we now transform the CAC equation to the the following stabilized form:

$$\begin{aligned}&u_t+{\textbf{v}}\cdot \nabla u={\mathcal {L}}_\kappa u+f_\kappa (u), \end{aligned}$$
(2.4)

with

$$\begin{aligned} {\mathcal {L}}_\kappa =\epsilon ^2\varDelta -\kappa {\mathcal {I}},\quad f_\kappa (u)=\kappa u+f(u), \end{aligned}$$

where \(\kappa \) is a stabilizing parameter satisfying

$$\begin{aligned} \kappa \ge \max _{|\xi |\le \beta }|f'(\xi )|. \end{aligned}$$
(2.5)

Since f is continuously differentiable, (2.5) is always well-defined. Moreover, the new nonlinear term \(f_\kappa (u)\) has the following properties.

Lemma 2.2

[19] Assume that Assumption 1 and the stabilizing parameter condition (2.5) hold, then we have

  1. (I)

    \(|f_\kappa (\xi )|\le \kappa \beta \) for any \(\xi \in [-\beta ,\beta ]\).

  2. (II)

    \(|f_\kappa (\xi _1)-f_\kappa (\xi _2)|\le 2\kappa |\xi _1-\xi _2|\) for any \(\xi _1,\xi _2\in [-\beta ,\beta ]\).

Next we review the material derivative and the characteristic form for the linear transport equation

$$\begin{aligned} u_t+{\textbf{v}} \cdot \nabla u=0. \end{aligned}$$
(2.6)

Let \(({\textbf{X}}(t), t)\) be the characteristic curve of the above transport equation (2.6) in \(\varOmega \times (0, T]\), where \({\textbf{X}}(t)\) represents the position of the particle at time t. By the chain rule, we have

$$\begin{aligned} \frac{Du}{Dt}:=\frac{du({\textbf{X}}(t), t)}{dt}=u_t({\textbf{x}},t)\big |_{{\textbf{x}}={\textbf{X}}(t)}+\frac{\partial {\textbf{X}}(t)}{\partial t}\cdot \nabla _{{\textbf{x}}} u({\textbf{x}}, t)\big |_{{\textbf{x}}={\textbf{X}}(t)}=u_t+\frac{\partial {\textbf{X}}(t)}{\partial t}\cdot \nabla u,\nonumber \\ \end{aligned}$$
(2.7)

where \(\frac{Du}{Dt}\) denotes the material derivative of u. Thus, by comparing (2.6) and (2.7), one can find that if \({\textbf{X}}(t)\) is determined by

$$\begin{aligned} \frac{\partial {\textbf{X}}(t)}{\partial t}={\textbf{v}}({\textbf{X}}(t), t), \end{aligned}$$
(2.8)

or equivalently

$$\begin{aligned} {\textbf{X}}(t)={\textbf{X}}(0)+\int _0^t{\textbf{v}}({\textbf{X}}(s), s)ds, \end{aligned}$$

and the linear transport equation (2.6) is equivalent to

$$\begin{aligned} \frac{du({\textbf{X}}(t),t)}{dt}= 0. \end{aligned}$$
(2.9)

3 Operator Splitting Scheme for the CAC Equation and Subsystem Solvers

3.1 Second-Order Operator Splitting Scheme with the Characteristic Form

In this subsection, we shall adopt the operator splitting approach with the characteristic form to decouple the convection part and the AC part in the CAC equation (2.4). Given a terminal time \(T>0\) and a positive integer \(N>0\), for simplicity we choose the uniform time steps as \(\{t_n=n\tau \}_{n\ge 0}\) with \(\tau =\frac{T}{N}\). Introduce \({\textbf{X}}({\textbf{x}},t_{n+1}; t)\) as the position vector at time t of a fluid particle whose position is \({\textbf{x}}\) at time \(t=t_{n+1}\). We consider the three-stage second-order operator splitting, also known as the “Strang splitting”. Since the transport velocity \({\textbf{v}}\) is time-dependent, we need to put the AC equations at the first and third stages, and leave the transport equation in the middle. Then the second-order operator splitting of (2.4) is written as [33]: given \(u^0({\textbf{x}})=u_0({\textbf{x}})\), for \(n=0,1,\ldots ,N-1\), find \(u^{n+1}({\textbf{x}})= u^{***}({\textbf{x}},\tau /2)\) such that

$$ \begin{aligned} \left\{ \begin{aligned}&\frac{\partial u^{*}({\textbf{x}},s)}{\partial s}= {\mathcal {L}}_{\kappa } u^{*}({\textbf{x}},s)+f_\kappa (u^{*}({\textbf{x}},s)),\;\; s\in [0,\tau /2] \quad \& \;\; u^{*}({\textbf{x}},0)=u^{n}({\textbf{x}}), \quad {\mathrm{(Allen--Cahn)}}\\&\frac{du^{**}({\textbf{X}}({\textbf{x}},t_{n+1}; t_n+s),s)}{ds}= 0,\;\; s\in [0, \tau ] \quad \& \;\; u^{**}({\textbf{x}},0)=u^{*}({\textbf{x}},\tau /2),\quad {\mathrm{(Linear Transport)}}\\&\frac{\partial u^{***}({\textbf{x}},s)}{\partial s}= {\mathcal {L}}_{\kappa } u^{***}({\textbf{x}},s)+f_\kappa (u^{***}({\textbf{x}},s)),\;\; s\in [0,\tau /2] \quad \& \;\; u^{***}({\textbf{x}},0)=u^{**}({\textbf{x}},\tau ). \quad {\mathrm{(Allen--Cahn)}} \end{aligned}\right. \end{aligned}$$
(3.1)

According to [27, Chapter IV], the splitting scheme (3.1) bears a local splitting error of \(O(\tau ^3)\) in time.

For the linear transport equation (the second equation) in (3.1), the solution remains a constant along the characteristic curve. For the simplicity, we denote the trajectory of such a particle (i.e., the characteristic curve) \({\textbf{X}}({\textbf{x}},t_{n+1}; t)\) as \({\textbf{X}}(t)\), which is determined by the following equation:

$$\begin{aligned} \left\{ \begin{aligned} \frac{d}{dt}{\textbf{X}}(t)&={\textbf{v}}({\textbf{X}}(t),t),\quad \forall \, t\in [t_{n},t_{n+1}],\\ {\textbf{X}}(t_{n+1})&={\textbf{x}}, \end{aligned} \right. \end{aligned}$$
(3.2)

The solution \({\textbf{X}}(t)\) for \(t\in [t_{n},t_{n+1}]\) also can be expressed as

$$\begin{aligned} {\textbf{X}}(t)={\textbf{x}}-\int _{t}^{t_{n+1}}{\textbf{v}}({\textbf{X}}(s),s)ds, \end{aligned}$$
(3.3)

which is the integral form of the characteristic line equation.

To avoid the accuracy reduction, we shall adopt the second-order strong stability preserving Runge–Kutta (SSPRK2) method for (3.3) to numerically compute \({\textbf{X}}^n\) as the approximation of \({\textbf{X}}(t_n)\) in (3.1), that is

$$\begin{aligned} {\left\{ \begin{array}{ll} {\textbf{X}}^{(1)} = {\textbf{x}}- \tau {\textbf{v}}({\textbf{x}},t_{n+1}),\\ {\textbf{X}}^n = \frac{1}{2}{\textbf{x}}+\frac{1}{2}\left( {\textbf{X}}^{(1)} - \tau {\textbf{v}}({\textbf{X}}^{(1)},t_n )\right) . \end{array}\right. } \end{aligned}$$
(3.4)

The error estimate regarding the SSPRK2 scheme (3.4) is given as follows [24, Chapter II.3].

Lemma 3.1

Assuming that \({\textbf{v}}\in {C}^2([0,T],{C}^2({\bar{\varOmega }})^d)\) and the exact solution \({\textbf{X}}(t)\) to the characteristic curve equation (3.3) belongs to \({C}^3[0,T]\). Let \({\textbf{X}}^n\) be generated by SSPRK2 in the interval \([t_n,t_{n+1}]\), then it holds that for any \(\tau >0\),

$$\begin{aligned} \Vert {\textbf{X}}(t_n)-{\textbf{X}}^n\Vert _{\infty }\le C\tau ^3. \end{aligned}$$

Remark 1

When we just conduct one step time-marching from \(t_n\) to \(t_{n+1}\), Lemma 3.1 in fact gives us the the truncation error of the SSPRK2 method.

3.2 Spatial Discretization and Subsystem Solvers

From now on, we are going to construct the numerical solvers for the two subsystems: the AC equation and the transport equation. For simplicity, we here only consider the two-dimensional case in terms of the illustration and analysis but all results can be again extended to higher-dimensional cases.

Let the uniform discrete mesh \(\varOmega _h\) of domain \(\varOmega \) be a set of nodes \({\textbf{x}}_{i,j}=\left( x_i,y_j\right) \) with \(x_i=a_1+ih,\ y_j=a_2+jh\), \(0\le i\le N_x\) and \(0\le j\le N_y\), where \(h=\frac{b_1-a_1}{N_x}=\frac{b_2-a_2}{N_y}\). Let \(u_h({\textbf{x}})\) (or abbreviated as \(u_h\)) be a grid function on \(\varOmega _h\) with \(u_h({\textbf{x}}_{i,j})=u_{i,j}\) (\({\textbf{x}}_{i,j}\in \varOmega _h\)). To deal with the periodic boundary condition, we set \(u_h({\textbf{x}}_{N_x\pm i,j})=u_h({\textbf{x}}_{0\pm i,j})\) and \(u_h({\textbf{x}}_{i,N_y\pm j})=u_h({\textbf{x}}_{i,0\pm j})\). For convenience, we can also view the discrete grid function \(u_h({\textbf{x}})\) as a \(N_x\times N_y\) dimensional vector with entries \(u_{i,j}\).

3.2.1 Central Difference in Space and Exponential Time Differencing for the Allen–Cahn Equation

The classic Allen–Cahn equation in the stabilized form reads

$$\begin{aligned} \frac{\partial u({\textbf{x}},s)}{\partial s}= {\mathcal {L}}_{\kappa } u({\textbf{x}},s)+f_{\kappa }(u({\textbf{x}},s)),\quad {\textbf{x}}\in \varOmega ,\quad s>0. \end{aligned}$$
(3.5)

Note here \(u({\textbf{x}},s)\) represents \(u^*({\textbf{x}},t)\) or \(u^{***}({\textbf{x}},t)\) in (3.1). The second-order central difference scheme is adopted to discretize the Laplacian \(\varDelta \) as follows:

$$\begin{aligned} \begin{aligned} \varDelta _h u_h({\textbf{x}}_{i,j})&= \frac{u_h({\textbf{x}}_{i+1,j})-2u_h({\textbf{x}}_{i,j})+u_h({\textbf{x}}_{i-1,j})}{h^2} +\frac{u_h({\textbf{x}}_{i,j+1})-2u_h({\textbf{x}}_{i,j})+u_h({\textbf{x}}_{i,j-1})}{h^2}. \end{aligned} \end{aligned}$$

Then the spatial-discretization of (3.5) reads

$$\begin{aligned} \frac{du_h({\textbf{x}},s)}{ds}= {\mathcal {L}}_{\kappa , h} u_h({\textbf{x}},s)+f_{\kappa }(u_h({\textbf{x}},s)),\quad {\textbf{x}}\in \varOmega _h,\, s>0, \end{aligned}$$
(3.6)

where \({\mathcal {L}}_{\kappa , h}=\epsilon ^2\varDelta _h -\kappa {\mathcal {I}}_h\) and \({\mathcal {I}}_h\) is the identity operator (or the identity matrix if \(u_h({\textbf{x}},s)\) is viewed as a vector function). For the grid function \(u_h:=u_h({\textbf{x}})\) (\({\textbf{x}}\in \varOmega _h\)) with \(u_{i,j}=u_h({\textbf{x}}_{i,j})\), its discrete \(L^\infty \) norm \(\Vert \cdot \Vert _{\infty ,h}\), and the \(L^2\) norm \(\Vert \cdot \Vert _h\) are respectively defined as

$$\begin{aligned} \Vert u_h \Vert _{\infty ,h}:=\max _{0\le i\le N_x-1,0\le j\le N_y-1 }|u_{i,j}|,\qquad \Vert u_h \Vert _h:=\sqrt{ h^2\sum _{i=0}^{N_x-1}\sum _{j=0}^{N_y-1}u_{i,j}^2}. \end{aligned}$$

We will apply the second-order ETD Runge–Kutta scheme for the temporal integration of the ODE system (3.6). By the definition of \({\mathcal {L}}_{\kappa ,h}\), it can generate the semigroup \({\mathcal {S}}_{{\mathcal {L}}_{\kappa ,h}}(t) = e^{{\mathcal {L}}_{\kappa ,h}t}\), which is a matrix exponential. Denoting \(U_h^n\) as the numerical approximation of \(u_h(t_n)\), we compute \(U_h^{n+1}\) as follows:

$$\begin{aligned} \left\{ \begin{aligned} {\tilde{U}}_h^{n+1}&= e^{{\mathcal {L}}_{\kappa ,h}\tau }U_h^{n} + \int _{0}^{\tau } e^{{\mathcal {L}}_{\kappa ,h}(\tau -s)} f_\kappa (U_h^{n})ds,\\ U_h^{n+1}&=e^{{\mathcal {L}}_{\kappa ,h}\tau }U_h^{n} + \int _{0}^{\tau } e^{{\mathcal {L}}_{\kappa ,h}(\tau -s)} \left( \frac{\tau -s}{\tau }f_{\kappa }(U_h^{n}) +\frac{s}{\tau }f_{\kappa }({\tilde{U}}_h^{n+1}) \right) ds, \end{aligned}\right. \end{aligned}$$
(3.7)

where the first row in (3.7) in fact is produced from the first-order ETD scheme. We will denote (3.7) as \(U_h^{n+1} ={\text {sETDRK2}}\,(U_h^{n},\tau )\). Note that FFT-based fast algorithms can be easily implemented for the aforementioned sETDRK2, see [19, 36] for more details.

3.2.2 Semi-Lagrangian Method for the Linear Transport Equation with Variable Coefficients

Consider the linear transport equation (2.6) with variable coefficients in two dimensions

$$\begin{aligned} u_t + {\textbf{v}}\cdot \nabla u=0, \quad t \in (0,T),\,{\textbf{x}}\in \varOmega , \end{aligned}$$
(3.8)

where \({\textbf{v}} ({\textbf{x}},t)=(v_x, v_y)^T\) is a space- and time-dependent velocity field. Note here \(u({\textbf{x}},s)\) represents \(u^{**}({\textbf{x}},t)\) in (3.1). Recalling (2.8) and (2.9), for \({\textbf{X}}(t_n)={\textbf{X}}({\textbf{x}},t_{n+1};t_n)\) defined in (3.3), we have \(u({\textbf{x}}, t_{n+1}) = u({\textbf{X}}(t_n), t_n).\) In practice, the position of the characteristic curve is traced by numerical procedure as

$$\begin{aligned} {\textbf{X}}_{i,j}(t_n)={\textbf{X}}({\textbf{x}}_{i,j},t_{n+1};t_n)\approx {\textbf{X}}_{i,j}^n \end{aligned}$$

with the SSPRK2 scheme (3.4), i.e., \(u({\textbf{x}}_{i,j}, t_{n+1}) \approx u({\textbf{X}}_{i,j}^n, t_n).\)

Since \({\textbf{X}}_{i,j}(t_n)\) (and \({\textbf{X}}^n_{i,j}\)) may not locate at the spatial grid points, the polynomial interpolation is usually adopted for the SL method. Assume that \({\textbf{X}}_{i,j}^n=\left( x_{i,j}^n,y_{i,j}^n\right) ^T\) is obtained by using the SSPRK2 scheme (3.4), we have

$$\begin{aligned} \begin{aligned}&x_{i,j}^n=x_i-v_{x,i}^n\tau ,\qquad y_{i,j}^n=y_j-v_{y,j}^n\tau ,\\&(v_{x,i}^n,v_{y,j}^n)^T=\frac{1}{2} ({\textbf{v}}({\textbf{x}}_{i,j},t_{n+1})+{\textbf{v}}({\textbf{X}}^{(1)}_{i,j},t_n)), \end{aligned} \end{aligned}$$

where \({\textbf{X}}^{(1)}_{i,j} = {\textbf{x}}_{i,j} - \tau {\textbf{v}}({\textbf{x}}_{i,j},t_{n+1})\) is obtained from the forward Euler scheme (i.e., the first step of (3.4)). This implies

$$\begin{aligned} |v_{x,i}^n|,|v_{y,j}^n|\le \Vert {\textbf{v}}(\cdot ,\cdot )\Vert _{L^\infty (\varOmega \times [t_n,t_{n+1}])}. \end{aligned}$$

Without loss of generality, let us assume \(v_{x,i}^n,v_{y,j}^n>0\) and the other cases can be treated similarly. We first locate the interval containing \({\textbf{X}}_{i,j}^n\). It holds

$$\begin{aligned} \left( x_i-v_{x,i}^n\tau , y_j-v_{y,j}^n\tau \right) \in [x_{i+r_x},x_{i+r_x+1})\times [y_{j+r_y},y_{j+r_y+1}) \end{aligned}$$

such that

$$\begin{aligned} r_x\le -v_{x,i}^n\frac{\tau }{h}<r_x+1,\quad r_y\le -v_{y,j}^n\frac{\tau }{h}<r_y+1. \end{aligned}$$

Define \(s_x=i+r_x\), \(e_x=i+r_x+1\), \(s_y=j+r_y\), and \(e_y=j+r_y+1\). Following the notations from [10], we introduce the reduced Courant number \(\mu _{x}\) and \(\mu _{y}\) as follows:

$$\begin{aligned} \begin{aligned} \mu _x = r_x+1+\frac{v_{x,i}^n\tau }{h},\quad \mu _y = r_y+1+\frac{v_{y,j}^n\tau }{h},\\ \end{aligned} \end{aligned}$$
(3.9)

and clearly \(\mu _x, \mu _y\in (0,1]\). Moreover, for the general cases of \(v_{x,i}^n,v_{y,j}^n\) (even without the positivity assumption), it can be verified that the following estimates hold:

$$\begin{aligned} (1-\mu _x)\mu _x\le \min \left\{ \frac{|v_{x,i}^n|\tau }{h}, 1\right\} , \qquad (1-\mu _y)\mu _y\le \min \left\{ \frac{|v_{y,j}^n|\tau }{h}, 1\right\} . \end{aligned}$$
(3.10)

As mentioned above, the interpolation is unavoidable for the SL method. To obtain a stable interpolation scheme, Strang’s stencils [10, 15, 28, 48] are widely used. For a grid function \(u^n_{i,j}\) (for \({\textbf{x}}_{i,j}\in \varOmega _h\)) under the periodic boundary condition, let us consider the Lagrange interpolation \({\mathcal {I}}_{k,p}\) over the sub-domain \(I_{x,i}\times I_{y,j}\), where k and p are two non-negative integers and determined by the specifically chosen interpolation, \(I_{x,i}=[x_{i+r_x+1+k-p}, x_{i+r_x+1+k}]\) and \(I_{y,j}=[y_{j+r_y+1+k-p}, y_{j+r_y+1+k}]\):

$$\begin{aligned} {\mathcal {I}}_{k,p}u^n(x,y) = \sum \limits _{l_x=k-p}^{l_x=k}\sum \limits _{l_y=k-p}^{l_y=k}{\mathcal {I}}_{e_x+l_x}^x(x){\mathcal {I}}_{e_y+l_y}^y(y)u^n_{e_x+l_x, e_y+l_y}, \end{aligned}$$

where the Lagrangian polynomials are defined respectively by

$$\begin{aligned} \begin{aligned}&{\mathcal {I}}_{e_x+l_x}^x(x) = \prod \limits _{q=k-p,q\ne l_x}^{k}\frac{x-x_{e_x+q}}{x_{e_x+l_x}-x_{e_x+q}}, \qquad {\mathcal {I}}_{e_y+l_y}^y(y) = \prod \limits _{q=k-p,q\ne l_y}^{k}\frac{y-y_{e_y+q}}{y_{e_y+l_y}-y_{e_y+q}}. \end{aligned} \end{aligned}$$

Let us define the function \(\alpha _{l_x}(\mu _x,k,p)\) [10] as

$$\begin{aligned} \alpha _{l_x}(\mu _x,k,p)={\mathcal {I}}_{e_x+l_x}^x(x_i^n) ={\mathcal {I}}_{e_x+l_x}^x(x_i-v_{x,i}^n\tau ) = \prod \limits _{q=k-p,q\ne l_x}^{k}\frac{q+\mu _x}{q-l_x}, \end{aligned}$$

and \(\alpha _{l_y}(\mu _y,k,p)\) can be defined similarly. Then the SL method for solving the linear transport equation (3.8) can be written as

$$\begin{aligned} \begin{aligned} u_{i,j}^{n+1}&= \sum \limits _{l_x=k-p}^{l_x=k} \sum \limits _{l_y=k-p}^{l_y=k}\alpha _{l_x}(\mu _x,k,p) \alpha _{l_y}(\mu _y,k,p) u^n_{e_x+l_x, e_y+l_y}, \end{aligned} \end{aligned}$$
(3.11)

where \(u^n({\textbf{x}}_{i,j})=u_{i,j}^n\) is the numerical approximation of \(u({\textbf{x}}_{i,j},t_n)\), and the parameters \(\mu _x,\mu _y\) at each index (ij) is determined from \({\textbf{X}}_{i,j}^n\) which is produced from the SSPRK2 scheme (3.4). We also note that the interpolation parameters \(\mu _x\) and \(\mu _y\) in (3.11) (or (3.12)) are generally different for each \({\textbf{x}}_{i,j}\) and n. Equivalently, we also can write the SL method (3.11) for \(u^n:=u^n({\textbf{x}})\) (\({\textbf{x}}\in \varOmega _h\), \(n\ge 0\)) as

$$\begin{aligned} \begin{aligned} u^{n+1}&= {\mathcal {R}}_{\mu _x,\mu _y,k,p,s} u^n, \end{aligned} \end{aligned}$$
(3.12)

where \(s=2\) stands for the SSPRK2 scheme (3.4) (s indicates the order of solvers for tracing the characteristic curve). By standard interpolation results, it yields that

$$\begin{aligned} u({\textbf{X}}_{i,j}^n, t_{n}) - {\mathcal {R}}_{\nu _x,\nu _y,k,p,s} u({\textbf{x}}_{i,j},t_n) = O(h^{p+1}),\quad s=2, \end{aligned}$$

which often leads to the term \(O(\left( \frac{h}{\tau }\right) h^{p})\) in the error estimate of the SL method for the linear transport equation (3.8). In [10], an enhanced error estimate was successfully established for the one-dimensional transport equation with constant-in-space velocity field. Their analysis technique controls the interpolation errors and successfully proves an enhanced global error estimate involving

$$\begin{aligned} O\left( \min \left\{ \frac{h}{\tau }, 1\right\} h^p\right) . \end{aligned}$$

Here we shall extend their results to the high-dimensional transport equation with variable coefficients.

The local truncation error function \({\varvec{G}}^n\) for the SL scheme (3.12) at time \(t_n\) and point \({\textbf{x}}_{i,j}\) can be expressed as

$$\begin{aligned} {\varvec{G}}_{i,j}^n= & {} u({\textbf{X}}_{i,j}(t_n),t_{n})-\sum \limits _{l_x=k-p}^{l_x=k} \sum \limits _{l_y=k-p}^{l_y=k}\alpha _{l_x}(\mu _x,k,p) \alpha _{l_y}(\mu _y,k,p) u({\textbf{x}}_{e_x+l_x, e_y+l_y},t_n)\nonumber \\= & {} u({\textbf{X}}_{i,j}(t_n),t_{n})-u({\textbf{X}}_{i,j}^n,t_n)+{\varvec{g}}_{i,j}^n,\nonumber \\ \end{aligned}$$
(3.13)

where \({\varvec{g}}_{i,j}^n\) is the interpolation error given as

$$\begin{aligned} \begin{aligned} {\varvec{g}}_{i,j}^n&= u({\textbf{X}}_{i,j}^n,t_{n})-\sum \limits _{l_x=k-p}^{l_x=k} \sum \limits _{l_y=k-p}^{l_y=k}\alpha _{l_x}(\mu _x,k,p)\alpha _{l_y} (\mu _y,k,p) u({\textbf{x}}_{e_x+l_x, e_y+l_y},t_n). \end{aligned} \end{aligned}$$
(3.14)

By Taylor expansion, we can directly obtain \(u({\textbf{X}}_{i,j}(t_n),t_{n})-u({\textbf{X}}_{i,j}^n,t_n)=O(\tau ^3)\) for the SSPRK2 scheme (3.4). We are left with estimating the interpolation error \({\varvec{g}}_{i,j}^n\).

Let us first consider the one-dimensional problem. In [10], the authors derived and obtained the interpolation error by using the spline function and the Peano representation for the divided differences [45] (although they only took into account of constant-in-space velocities), which will be followed in our analysis. Suppose \(Q_i^{p+1}\) is the spline function over the \(p+2\) points \(x_i-v_{x,i}^n\tau \) and \(x_{i+r+1+l}\) for \(l=k-p\le i\le k\) (following the same notations before by ignoring the y variable). Then the residue for the interpolation formula on a function w(x) is given by

$$\begin{aligned} g_i^n&=w(x_i-v_{x,i}^n\tau )-\sum \limits _{l_x=k-p}^{l_x=k} \alpha _{l_x}(\mu _x,k,p)w(x_{e_x+l_x})\nonumber \\&=\frac{\omega _i}{p!}\int _{x_{i+r+1+k-p}}^{x_{i+r+1+k}} Q_i^{p+1}(x)w^{(p+1)}(x)dx, \end{aligned}$$
(3.15)

with

$$\begin{aligned} \omega _i=\prod \limits _{l=e_x+k-p}^{l=e_x+k}(x_{e_x}-\mu _xh-x_l). \end{aligned}$$

Assuming \(p=2k+m\) with \(m\in \{0, 1, 2\}\), \(k\ge 0\), then \(\omega _i\) can be bounded by

$$\begin{aligned} |\omega _i|\le 2\mu _x(1-\mu _x)h^{p+1}((p-k)!)^2\le 2\max \{\mu _x(1-\mu _x)\}h^{p+1}((p-k)!)^2, \end{aligned}$$
(3.16)

which implies an enhanced interpolation error estimates for \(g_i^n\) in (3.15) as

$$\begin{aligned} |g_i^n|\le C\max \{\mu _x(1-\mu _x)\}h^{p+1}\le C\min \left\{ 1,\frac{\tau }{h}\right\} h^{p+1}. \end{aligned}$$

With the help of this bound, the refined estimations on the interpolation error \(\Vert {{\varvec{g}}}^n\Vert _{\infty ,h}\) and the local truncation error \(\Vert {\varvec{G}}^n\Vert _{\infty ,h}\) can be easily obtained for the one-dimensional case. Now we turn to deal with the more complicated two dimensional problem and our derivation and result can be directly extended to higher dimensions \(d\ge 3\).

Lemma 3.2

Assume \(p=2k+m\) with \(m\in \{0, 1, 2\}\) and \(k\ge 0\). If \(u(\cdot ,t_n)\) is a sufficiently smooth periodic function defined on \(\varOmega \), then the interpolation error (3.14) satisfies

$$\begin{aligned} \Vert {{\varvec{g}}}^n\Vert _{\infty ,h}\le C_{k,p}\mu (1-\mu )h^{p+1}\left( \bigg \Vert \frac{\partial ^{p+1}u(\cdot ,t_n)}{\partial x^{p+1}}\bigg \Vert _{L^\infty (\varOmega )}+\bigg \Vert \frac{\partial ^{p+1}u(\cdot ,t_n)}{\partial y^{p+1}}\bigg \Vert _{L^\infty (\varOmega )}\right) ,\nonumber \\ \end{aligned}$$
(3.17)

where

$$\begin{aligned} \mu (1-\mu )=\max \{\max \limits _{{\textbf{x}}_{i,j}}\{\mu _x(1-\mu _x)\}, \max \limits _{{\textbf{x}}_{i,j}}\{\mu _y(1-\mu _y)\}\}, \end{aligned}$$

and \(C_{k,p}>0\) is a positive constant depending on k and p. In particular, we have the enhanced error estimate as

$$\begin{aligned} \Vert {{\varvec{g}}}^n\Vert _{\infty ,h}\le C_{k,p}\min \left\{ 1,\frac{v_\infty \tau }{h}\right\} h^{p+1}\left( \bigg \Vert \frac{\partial ^{p+1}u(\cdot ,t_n)}{\partial x^{p+1}}\bigg \Vert _{L^\infty (\varOmega )}+\bigg \Vert \frac{\partial ^{p+1}u(\cdot ,t_n)}{\partial y^{p+1}}\bigg \Vert _{L^\infty (\varOmega )}\right) .\nonumber \\ \end{aligned}$$
(3.18)

where \(v_\infty =\Vert {\textbf{v}}(\cdot ,\cdot )\Vert _{L^\infty (\varOmega \times [t_n,t_{n+1}])}\).

Proof

We will make use of the tensor polynomial interpolation error formula discussed in [14]. At \({\textbf{X}}_{i,j}^n=(x_{i,j}^n,y_{i,j}^n)^T\), we have

$$\begin{aligned} x_{i,j}^n= & {} x_i-v_{x,i}^n\tau ,\quad y_{i,j}^n=y_j-v_{y,j}^n\tau ,\\ x_{i,j}^n= & {} x_{e_x}-\mu _xh,\quad y_{i,j}^n=y_{e_y}-\mu _yh, \end{aligned}$$

where the set of mesh nodes used for interpolation are \((x_{l_x},y_{l_y})\) with \(e_x+k-p\le l_x\le e_x+k\) and \(e_y-p\le l_y\le e_y+k\). Recalling the tensor interpolation (3.11), the error \({{\varvec{g}}}_{i,j}^n\) (3.14) can be decomposed as (see [14]):

$$\begin{aligned} {\varvec{g}}_{i,j}^n=\omega _x(x_{i,j}^n) \sum \limits _{l_y=k-p}^{l_y=k} {\mathcal {I}}_{e_y+l_y}^y(y_{i,j}^n)\xi _x(y_{l_y})+\omega _y(y_j^n) \sum \limits _{l_x=k-p}^{l_x=k}{\mathcal {I}}_{e_x+l_x}^x(x_{i,j}^n)\xi _y(x_{l_x}),\nonumber \\ \end{aligned}$$
(3.19)

where

$$\begin{aligned} \omega _x(x_{i,j}^n)=\prod \limits _{l=e_x+k-p}^{l=e_x+k}(x_{e_x}-\mu _xh-x_l),\quad \omega _y(y_{i,j}^n)=\prod \limits _{l=e_y+k-p}^{l=e_y+k}(y_{e_y}-\mu _yh-y_l), \end{aligned}$$

the function \(\xi _x(y)\) is given by

$$\begin{aligned} \xi _x(y)=\int _0^1\int _0^{s_1}\cdots \int _0^{s_{p-1}} \partial _{x}^{p+1}u({\textbf{x}}_{0}^n+s_1\delta {\textbf{x}}_1^n+\cdots s_p\delta {\textbf{x}}_p^n,t_n)\,ds_p\,ds_{p-1}\cdots \,ds_1\nonumber \\ \end{aligned}$$
(3.20)

with \({\textbf{x}}_l^n=(x_{e_x+k-p+l},y)\) (for \(l=0,1,\ldots ,p\)) and \(\delta {\textbf{x}}_l^n={\textbf{x}}_l^n-{\textbf{x}}_{l-1}^n\), and the function \(\xi _y(x)\) is given by

$$\begin{aligned} \xi _y(x)=\int _0^1\int _0^{s_1}\cdots \int _0^{s_{p-1}} \partial _{y}^{p+1}u({\textbf{y}}_{0}^n+s_1\delta {\textbf{y}}_1^n+\cdots s_p\delta {\textbf{y}}_p^n,t_n)\,ds_p\,ds_{p-1}\cdots \,ds_1\nonumber \\ \end{aligned}$$
(3.21)

with \({\textbf{y}}_l^n=(x,y_{e_y+k-p+l})\) (for \(l=0,1,\ldots ,p\)) and \(\delta {\textbf{y}}_l^n={\textbf{y}}_l^n-{\textbf{y}}_{l-1}^n\). Based on (3.19) and (3.16), it is straightforward to get

$$\begin{aligned} | \omega _x(x_{i,j}^n)|, | \omega _y(y_{i,j}^n)|\le C \mu (1-\mu ). \end{aligned}$$
(3.22)

On the other hand, the Lagrangian polynomials \({\mathcal {I}}_{e_y+l_y}^y(\cdot )\) and \({\mathcal {I}}_{e_x+l_x}^x(\cdot )\) are bounded on the intervals \(I_{y,j}\) and \(I_{x,i}\), respectively. Thus, combining (3.20), (3.21), (3.22) and (3.19) together, we get the estimates (3.17) and (3.18) by taking the supremum over all mesh nodes \({\textbf{x}}_{i,j}\). \(\square \)

By using Lemma 3.2, we can easily obtain the following estimates for the local truncation error \({\varvec{G}}^n\) defined in (3.13).

Lemma 3.3

Assume \({\textbf{v}}({\textbf{x}},t)\in C^2([0,T];C^1(\varOmega ))\) and \(u({\textbf{x}},t)\in C([0,T]; C^{p+1}(\varOmega ))\). The local truncation error (3.13) for the SL scheme (3.12) with the SSPRK2 characteristic curve solver satisfies

$$\begin{aligned} \Vert {\varvec{G}}^n\Vert _{\infty ,h}\le C_1\tau ^3+C_2\min \left\{ 1, \frac{\tau }{h}\right\} h^{p+1},\quad 0\le n\le T/\tau -1, \end{aligned}$$
(3.23)

where \(C_1\) and \(C_2\) are independent of \(\tau \), h and n.

To obtain the error estimates for the SL scheme (3.12), we also need its stability result in addition to the local truncation errors presented in Lemma 3.3. Next we will present the stability analysis of the SL scheme (3.12). Note that Ferretti showed in [23] the unconditional stability of the SL method with the centered Lagrange interpolation of odd degrees up to 13 for the one-dimensional case with constant-in-space velocity and the tensor product of these Lagrange interpolations for higher-dimensional cases. He first uncovered the equivalence between the SL method and the area-weighted Lagrange–Galerkin (LG) finite element method [3, 4, 20, 43, 52] by showing that there exists an \(L^2\) basis such that the SL scheme can be recast as an LG scheme with such a basis. As analyzed in [23], these results also can be extended to higher-dimensional cases.

For simplicity, we will use the one-dimensional case to briefly review the idea and then derive the result we need. Let us first denote \(\{\eta _k\}\) and \(\{\zeta _k\}\) as the basis functions for the SL scheme and the LG scheme defined on the uniform grids, which are obtained by the affine mappings of two reference functions \(\eta \) and \(\zeta \), respectively. Then the SL method reads as: given \(u_{h}^{n}=\{u^n_{k,h}\}\), find \(u_{h}^{n+1}\) such that

$$\begin{aligned} u_{i,h}^{n+1} = \sum \limits _{k}u_{k,h}^{n}\eta _k({\textbf{X}}_{i}^{n}), \end{aligned}$$
(3.24)

or in the matrix form,

$$\begin{aligned} U_{h}^{n+1} = {\varvec{\varPsi }}^nU_{h}^{n}, \end{aligned}$$
(3.25)

where \(U_{h}^{n+1}\) is the vector with \(u_{i,h}^{n+1}\) as its i-th component, \({\varvec{\varPsi }}^n\) is the matrix with entries \({\varvec{\varPsi }}_{i,k}^n=\eta _k({\textbf{X}}_{i}^{n})\). The area-weighted LG method read: given \(u_{h}^{n}=\{u^n_{k,h}\}\), find \(u_{h}^{n+1}\) such that

$$\begin{aligned} \sum \limits _{k}u_{k,h}^{n+1}\int _{\varOmega }\zeta _i(\xi )\zeta _k(\xi )d\xi =\sum \limits _{k}u_{k,h}^{n}\int _{\varOmega }\zeta _i(\xi )\zeta _k(\xi -{\textbf{x}}_i+{\textbf{X}}_i^n)d\xi , \end{aligned}$$
(3.26)

or in the matrix form,

$$\begin{aligned} {\varvec{M}}U_{h}^{n+1} = {\varvec{{{\tilde{\varPhi }}}}}^nU_{h}^{n}, \end{aligned}$$
(3.27)

where \({\varvec{M}}\) is the mass matrix and \({\varvec{{{\tilde{\varPhi }}}}}^n\) is the matrix with entries

$$\begin{aligned} {\varvec{{{\tilde{\varPhi }}}}}_{jk}^n = \displaystyle \int _{\varOmega }\zeta _i(\xi )\zeta _k(\xi -{\textbf{x}}_i+{\textbf{X}}_i^n)d\xi . \end{aligned}$$

It was shown in [23] that there exists a basis for the area-weighted LG scheme satisfying \({\varvec{M}}={\varvec{I}}\) and \({\varvec{{{\tilde{\varPhi }}}}}^n={\varvec{\varPsi }}^n\), i.e., the equivalence between the SL method and the area-weighted LG method, and consequently the unconditional stability of the SL scheme in \(L^2\) norm is obtained from [40, Theorems 3.3 and 3.4].

Among the centered Lagrange interpolation, the centered cubic Lagrange interpolation (\(k=1,\ p=3\)) belongs to the Strang’s stencils, which will be applied in our SL scheme (3.12) so that the analysis techniques and results in [23] and [10] can be utilized. Moreover, the SSPRK2 scheme is able to provide the consistent approximations for \({\textbf{X}}^n\) to meet the assumption in [23]. Thus the stability of the SL scheme with the centered cubic Lagrange interpolation is stated below without proof.

Lemma 3.4

Assume \({\textbf{v}}\in L^{\infty }(0,T;W^{1,\infty }(\varOmega ))\) and consider the SL method (3.12) with \(k=1\), \(p=3\), and the SSPRK2 scheme (3.4) for tracking the characteristic curve. Then there exists a constant M, independent of h, n and \(\tau \), such that

$$\begin{aligned} \Vert u_{h}^{n+1} \Vert _{h} \le (1+M\tau )\Vert u_h^n \Vert _{h}. \end{aligned}$$
(3.28)

We remark that it was first shown in [40] that the area-weighted LG scheme provides the above estimation (3.28) in the whole domain \(R^d\) (\(d=1, 2, 3\)), and then it was proven later in [23] that the equivalence between the SL and area-weighted LG schemes also holds for the bounded domain \(\varOmega \).

4 Second-Order Semi-Lagrangian Exponential Time Differencing Scheme

Now we present our fully discrete second-order semi-Lagrangian exponential time differencing scheme for solving the CAC equation (1.1). For the linear transport equation (3.8), the SL method often fails to preserve the MBP due to the use of high order interpolation, thus an extra cut-off post-process is imposed to guarantee that. Suppose the transported quantity w by the transport equation is continuous in the domain and should lie in the interval \([{{\tilde{m}}},{{\tilde{M}}}]\), then we shall define the corrected quantity \(w^{c}\) as

$$\begin{aligned} w^{c}({\textbf{x}}_{i,j})=\max \{\min \{w({\textbf{x}}_{i,j}),{{\tilde{M}}}\},{{\tilde{m}}}\},\quad 0\le i\le N_x-1,0\le j\le N_y-1. \end{aligned}$$

As shown in [35], the cut-off operator is contractive, i.e.,

$$\begin{aligned} \Vert w^{c} - {{\tilde{w}}}^{c}\Vert _h \le \Vert w - {{\tilde{w}}}\Vert _h. \end{aligned}$$

for any two quantity functions w and \({{\tilde{w}}}\) with the same expected minimum and maximum values \({{\tilde{m}}}\) and \({{\tilde{M}}}\).

Combining the sETDRK2 scheme with the SL method, the fully discretization of (3.1) is as follows: given \(U_h^0({\textbf{x}}) = u_0({\textbf{x}})\) (\({\textbf{x}}\in \varOmega _h\)), for \(n=0,1,\ldots ,N-1\), find \(U_h^{n+1}\), such that

$$\begin{aligned} \left\{ \begin{aligned} U_h^{*,n+\frac{1}{2}}&= {\text {sETDRK2}}\,(U_h^{n},\tau /2),\\ U_h^{**,n+1}&= {\mathcal {R}}_{\mu _x,\mu _y,1,3,2}U_h^{*,n+\frac{1}{2}},\\ U_h^{**,n+1,c}&= \max \{\min \{U_h^{**,n+1},{{\tilde{M}}}\},{{\tilde{m}}}\},\\&\quad \text { with }{{\tilde{m}}}=\min _{i,j}\{ U_h^{*,n+\frac{1}{2}}\}, {{\tilde{M}}}=\max _{i,j}\{U_h^{*,n+\frac{1}{2}}\},\\ U_h^{n+1}&= {\text {sETDRK2}}\,(U_h^{**,n+1,c},\tau /2). \end{aligned}\right. \end{aligned}$$
(4.1)

We specially note that the values of \({{\tilde{m}}}\) and \({{\tilde{M}}}\) are updated based on the numerical solution produced from the first AC equation solve by sETDRK at each time step. We will call (4.1) as the SL-ETD2 scheme. Since the sETDRK2 scheme unconditionally preserves the discrete MBP for solving the AC equation [19], we naturally have the following result.

Theorem 4.1

(Discrete MBP of SL-ETD2) Suppose that Assumption 1 and the condition (2.5) hold, then the SL-ETD2 scheme (4.1) unconditionally preserves the discrete MBP, i.e., for any time step size \(\tau >0\), the SL-ETD2 solution satisfies \(\Vert U_h^n\Vert _{\infty ,h}\le \beta \) for any \(n\ge 0\).

Next, we can turn to the error estimation.

Theorem 4.2

(Error estimate of SL-ETD2) Suppose that \(f(\cdot )\in C^4\), Assumption 1 and the requirement (2.5) hold. Given the fixed terminal time \(T>0\), assume that \({\textbf{v}}\in {C}^3([0,T],{C}^5({\bar{\varOmega }})^d)\), the exact solution u to the model equation (1.1) belongs to \({C}^2([0, T], {C}^4_{per}({\bar{\varOmega }}))\) and \(\{U_h^n\}_{n\ge 1}\) is generated by the fully discrete SL-ETD2 scheme (4.1) with \(U_h^0({\textbf{x}})=u_0({\textbf{x}})\) for \({\textbf{x}}\in \varOmega _h\). Then for any \(\tau \in (0,1]\), we have

$$\begin{aligned} \Vert u({\textbf{x}},t_n)-U_h^n({\textbf{x}})\Vert _h\le C\left( \tau ^2+h^2+\min \left\{ \frac{h}{\tau },1\right\} h^3\right) ,\quad 0\le n\le T/\tau . \end{aligned}$$
(4.2)

Proof

For \(0\le n\le T/\tau -1\), setting \(u^*({\textbf{x}},0)=u({\textbf{x}},t_n)\) (\({\textbf{x}}\in \varOmega \)) in (3.1), we claim that for \(s\in [0,\tau /2],s_1\in [0,\tau ]\),

$$\begin{aligned} \Vert u^*({\textbf{x}},s)\Vert _{H^4}+\Vert u^{**}({\textbf{x}},s_1)\Vert _{H^4}+\Vert u^{***}({\textbf{x}},s)\Vert _{H^4}\le {\tilde{C}}, \end{aligned}$$
(4.3)

and

$$\begin{aligned} \Vert u({\textbf{x}},t_{n+1})-u^{***}({\textbf{x}},\tau /2)\Vert \le C\tau ^3 \end{aligned}$$
(4.4)

where C and \({\tilde{C}}\) are constants independent of \(\tau \), h and n.

The estimate (4.3) follows the MBP and regularity assumptions as well as theories for parabolic and transport equations, and we shall omit the proof of this part. In addition, it follows that \(\partial _s^ku^{*}({\textbf{x}},s)\), \(\partial _s^ku^{***}({\textbf{x}},s)\), and \(\partial _{s_1}^ku^{**}({\textbf{x}},s_1)\) (\(k=1,2\)) are bounded in \(L^2\) space.

Next, we turn to prove the estimate (4.4), which is the local error for the semi-discrete-in-time splitting scheme (3.1). Recalling the splitting scheme (3.1), we have

$$\begin{aligned} \left\{ \begin{aligned} u^{*}({\textbf{x}},s)&= {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(s)u({\textbf{x}},t_n) + \int _{0}^{s} {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(s-w) f_{\kappa }(u^*({\textbf{x}},w))dw,\quad s\in [0,\tau /2],\\ u^{**}({\textbf{x}},s)&=u^{*}({\textbf{x}},\tau /2)-\int _0^s{\textbf{v}}({\textbf{x}},t_n+w)\cdot \nabla u^{**}({\textbf{x}},w)\,dw,\quad s\in [0,\tau ],\\ u^{***}({\textbf{x}},s)&={\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(s)u^{**}({\textbf{x}},\tau ) + \int _{0}^{s} {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}\left( s-w\right) f_{\kappa }(u^{***}({\textbf{x}},w))dw,\quad s\in [0,\tau /2]. \end{aligned}\right. \end{aligned}$$
(4.5)

By the property of the semigroup, it can be rewritten as

$$\begin{aligned} u^{***}({\textbf{x}},\tau /2)&={\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau )u({\textbf{x}},t_n) -\int _0^\tau {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}\left( {\tau }/{2}\right) \left( {\textbf{v}}({\textbf{x}},t_n+s)\cdot \nabla u^{**}({\textbf{x}},s)\right) \,ds\nonumber \\&\quad +\int _0^{\frac{\tau }{2}} {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau -s)f_{\kappa }(u^*({\textbf{x}},s))\,ds +\int _0^{\frac{\tau }{2}} {\mathcal {S}}_{{\mathcal {L}}_{\kappa }} \left( {\tau }/{2}-s\right) f_{\kappa }(u^{***}({\textbf{x}},s))\,ds. \end{aligned}$$
(4.6)

In addition, we have

$$\begin{aligned}{} & {} u^{*}({\textbf{x}},s)-u({\textbf{x}},t_n+s)=O(\tau ), \quad u^{***}({\textbf{x}},s)-u({\textbf{x}},t_n+s+\tau /2)=O(\tau ),\\{} & {} u^{**}({\textbf{x}},s)-u^{*}({\textbf{x}},\tau /2)=O(\tau ). \end{aligned}$$

Noticing

$$\begin{aligned} u^{**}({\textbf{x}},\tau /2)=u^{*}({\textbf{x}}+\tau /2)-\displaystyle \int _0^{\frac{\tau }{2}} {\textbf{v}}({\textbf{x}},t_n+s)\cdot \nabla u^{*}({\textbf{x}},\tau /2)\,ds+O(\tau ^2), \end{aligned}$$

and applying the midpoint rule to the first line of (4.6) and the Trapezoidal rule to the integrals on the second line of (4.6), respectively, we obtain

$$\begin{aligned} \begin{aligned} u^{***}(\tau /2)&={\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau )u(t_n) -\tau {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}\left( {\tau }/{2}\right) \left( {\textbf{v}}\left( t_{n+\frac{1}{2}}\right) \cdot \nabla \left( u^{*}({\tau }/{2})-\int _0^{\frac{\tau }{2}}{\textbf{v}}(t_n+s)\cdot \nabla u^{*}(\tau /2)\,ds\right) \right) \\&\quad +\frac{\tau }{4} \left( {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau )f_{\kappa }(u(t_n))+{\mathcal {S}}_{{\mathcal {L}}_{\kappa }}({\tau }/{2})\left( f_{\kappa }(u^*({\tau }/{2})) + f_{\kappa }(u^{***}(0))\right) +f_{\kappa }(u^{***}({\tau }/{2}))\right) \\&\quad +O(\tau ^3), \end{aligned}\nonumber \\ \end{aligned}$$
(4.7)

where we have omitted the spatial variable \({\textbf{x}}\) for simplicity. Recalling the Duhamel formula for \(u(t_{n+1})\) as

$$\begin{aligned} \begin{aligned} u(t_{n+1})&={\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau )u(t_n)+\int _0^\tau {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau -s)f_{\kappa }(u(t_n+s))\,ds\\&\quad -\int _0^\tau {\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau -s) \left( {\textbf{v}}(t_n+s)\cdot \nabla u(t_n+s)\right) \,ds. \end{aligned}\nonumber \\ \end{aligned}$$
(4.8)

Applying the Simpson’s rule to the first integral and the midpoint rule to the second integral in (4.8), respectively, we reach

$$\begin{aligned} u(t_{n+1})&={\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau )u(t_n) -\tau {\mathcal {S}}_{{\mathcal {L}}_{\kappa }} \left( {\tau }/{2}\right) \left( {\textbf{v}}\left( t_{n+\frac{1}{2}}\right) \cdot \nabla u(t_n+\tau /2)\right) \nonumber \\&\quad +\frac{\tau }{4} \left( {\mathcal {S}}_{{\mathcal {L}}_{\kappa }} (\tau )f_{\kappa }(u(t_n))+2{\mathcal {S}}_{{\mathcal {L}}_{\kappa }} ({\tau }/{2})f_{\kappa }(u({\tau }/{2}))+f_{\kappa }(u(t_{n+1}))\right) +O(\tau ^3), \end{aligned}$$
(4.9)

which implies that \(u^{***}(\tau /2)-u(t_{n+1})=O(\tau ^2)\). By the Duhamel’s formula for \(u(t_{n+1/2})\) (similar to (4.8)) and in view of that \(u^{*}(s)-u(t_n+s)=O(\tau )\) and \({\mathcal {S}}_{{\mathcal {L}}_{\kappa }}(\tau /2-s)=Id+O(\tau )\), we have

$$\begin{aligned} u(t_{n}+\tau /2)=u^*({\tau }/{2})-\int _0^{\frac{\tau }{2}} {\textbf{v}}(t_n+s)\cdot \nabla u^*({\tau }/{2})\,ds+O(\tau ^2). \end{aligned}$$
(4.10)

Since

$$\begin{aligned} \frac{1}{2}\left( u^*({\tau }/{2}) +u^{***}(0)\right) =\frac{1}{2}\left( u^{**}(0) +u^{**}(\tau )\right) =u^{**}(\tau /2)+O(\tau ^2), \end{aligned}$$

by Taylor expansion, it yields

$$\begin{aligned} \frac{1}{2}\left( f_{\kappa }(u^*({\tau }/{2})) + f_{\kappa }(u^{***}(0))\right) =f_{\kappa }(u(t_n+\tau /2))+O(\tau ^2). \end{aligned}$$
(4.11)

Combining the estimate \(u^{***}(\tau /2)-u(t_{n+1})=O(\tau ^2)\), (4.10), (4.11), (4.7) and (4.9), we then obtain (4.4).

Let \({\mathcal {E}}^n({\textbf{x}})=u({\textbf{x}},t_{n})-U_h^n({\textbf{x}})\) (\({\textbf{x}}\in \varOmega _h,n\ge 0\)) be the error function. From \(t_n\) to \(t_{n+1}\), on the computational domain \({\textbf{x}}\in \varOmega _h\), by Taylor expansion and Duhamel’s formula the first equation in (3.1) can be rewritten as

$$\begin{aligned} u^*({\textbf{x}},\tau /2) = {\mathcal {S}}_{{\mathcal {L}}_{\kappa ,h}}\left( {\tau }/{2}\right) u({\textbf{x}},t_n) + \int _{0}^{\frac{\tau }{2}} {\mathcal {S}}_{{\mathcal {L}}_{\kappa ,h}}\left( {\tau }/{2}-s\right) f_\kappa (u^*({\textbf{x}},s))\big )ds+O(\tau h^2),\quad {\textbf{x}}\in \varOmega _h. \end{aligned}$$

Subtracting the first equation in (4.1) from the above equation, we have

$$\begin{aligned} u^*({\textbf{x}},\tau /2)-U^{*,n+\frac{1}{2}}_h= {\mathcal {S}}_{{\mathcal {L}}_{\kappa ,h}}\left( {\tau }/{2}\right) \left( u^n({\textbf{x}})-U^{n}_h\right) +R_1({\textbf{x}})+R_2({\textbf{x}})+O(\tau h^2),\quad {\textbf{x}}\in \varOmega _h,\nonumber \\ \end{aligned}$$
(4.12)

where

$$\begin{aligned} R_1({\textbf{x}})=\int _0^{\frac{\tau }{2}} {\mathcal {S}}_{{\mathcal {L}}_{\kappa ,h}}\left( {\tau }/{2}-s\right) \Big ( f_\kappa (u^*({\textbf{x}},s)) - \left( 1-\frac{2s}{\tau }\right) f_\kappa (u^{*}({\textbf{x}},0)) -\frac{2s}{\tau }f_\kappa (u^{*}({\textbf{x}},{\tau }/{2}))\Big )ds, \end{aligned}$$

and

$$\begin{aligned} R_2({\textbf{x}})&=\int _0^{\frac{\tau }{2}} {\mathcal {S}}_{{\mathcal {L}}_{\kappa ,h}} \left( {\tau }/{2}-s\right) \Big ( \frac{\tau -2s}{\tau } \left( f_\kappa (u^{n}({\textbf{x}})) - f_\kappa (U_h^{n})\right) \\&\quad +\frac{2s}{\tau }(f_\kappa (u^{*}({\textbf{x}},t_{n+\frac{1}{2}})) -f_\kappa ({\widetilde{U}}_h^{*,n+\frac{1}{2}}))\Big )ds. \end{aligned}$$

Here \({\widetilde{U}}_h^{*,n+\frac{1}{2}}\) is obtained via ETD1 with given \(U^{n}_h\), i.e.,

$$\begin{aligned} \begin{aligned} {\widetilde{U}}_h^{*,n+\frac{1}{2}}&= {\mathcal {S}}_{{\mathcal {L}}_{k,h}}\left( {\tau }/{2}\right) U^{n}_h+\int _0^{\frac{\tau }{2}} {\mathcal {S}}_{{\mathcal {L}}_{k,h}}\left( {\tau }/{2}-s\right) \left( f_{\kappa }(U^{n}_h)\right) ds. \end{aligned} \end{aligned}$$

By the linear interpolation properties, it is easy to show that

$$\begin{aligned} f_\kappa (u^*({\textbf{x}},s)) - \frac{\tau -2s}{\tau }f_\kappa (u^{*}({\textbf{x}},0)) -\frac{2s}{\tau }f_\kappa (u^{*}({\textbf{x}},\tau /2))=O(\tau ^2),\quad {\textbf{x}}\in \varOmega ,\,s\in [0,\tau /2], \end{aligned}$$

which implies

$$\begin{aligned} \Vert R_1\Vert _h\le C\tau ^2. \end{aligned}$$
(4.13)

By Lemma 2.2, using Taylor expansion, we have

$$\begin{aligned} \begin{aligned} \Vert u^{*}({\textbf{x}},\tau /2)-{\widetilde{U}}_h^{*,n+\frac{1}{2}}\Vert _h&\le e^{-\frac{\kappa \tau }{2}} \Vert {\mathcal {E}}^n\Vert _h + (2\kappa \Vert {\mathcal {E}}^n\Vert _h+C(\tau +h^2) ) \int _0^{\frac{\tau }{2}}e^{-\kappa (\frac{\tau }{2}-s)}ds \\&\le \left( 1+\frac{\kappa \tau }{2}\right) \Vert {\mathcal {E}}^n\Vert _h + C(\tau ^2+\tau h^2). \end{aligned} \end{aligned}$$

Thus we have

$$\begin{aligned} \begin{aligned}&\bigg \Vert \left( 1-\frac{2s}{\tau }\right) \left( f_\kappa (u^{*}({\textbf{x}},0)) - f_\kappa (U_h^{n})\right) +\frac{2s}{\tau } \left( f_\kappa (u^{*}({\textbf{x}},\tau /2)) -f_\kappa ({\widetilde{U}}_h^{*,n+\frac{1}{2}})\right) \bigg \Vert _h\\&\quad \le \left( 1-\frac{2s}{\tau }\right) 2\kappa \Vert {\mathcal {E}}^n\Vert _h+\frac{2s}{\tau } \left[ 2\kappa \left( 1+\frac{\kappa \tau }{2}\right) \Vert {\mathcal {E}}^n\Vert _h + C(\tau ^2+\tau h^2)\right] \\&\quad \le 2\kappa (1+\kappa s)\Vert {\mathcal {E}}^n\Vert _h+C(\tau +h^2)s, \end{aligned}\nonumber \\ \end{aligned}$$
(4.14)

and consequently

$$\begin{aligned} \begin{aligned} \Vert R_2 \Vert _h&\le \int _0^{\frac{\tau }{2}} e^{-\kappa (\frac{\tau }{2}-s)}[2\kappa (1+\kappa s) \Vert {\mathcal {E}}^n\Vert _h+C(\tau +h^2)s]ds\\&\le 2(1-e^{-\frac{\kappa \tau }{2}})\Vert {\mathcal {E}}^n\Vert _h +2(e^{-\frac{\kappa \tau }{2}}-1+\frac{\kappa \tau }{2})\Vert {\mathcal {E}}^n\Vert _h+C(\tau ^3+\tau ^2 h^2)\\&\le \kappa \tau \Vert {\mathcal {E}}^n\Vert _h+C(\tau ^3+\tau ^2 h^2), \end{aligned}\nonumber \\ \end{aligned}$$
(4.15)

where we have used the inequality \(e^{-s}\le 1-s+\frac{s^2}{2}\) (\(s>0\)). Combining (4.12)-(4.15), we get

$$\begin{aligned} \begin{aligned} \Vert u^*({\textbf{x}},\tau /2)-U^{*,n+\frac{1}{2}}_h \Vert _h&\le \left( 1+\frac{\kappa \tau }{2}+\frac{\kappa ^2\tau ^2}{8}\right) \Vert {\mathcal {E}}^n\Vert _h+C\left( \tau ^3+\tau ^2 h^2 + \tau h^2\right) . \end{aligned} \end{aligned}$$
(4.16)

By the same argument, using the local error bound in (4.4), we can have the following estimate for the last step of SL-ETD2:

$$\begin{aligned} \begin{aligned} \Vert {\mathcal {E}}^{n+1} \Vert _h&\le \Vert u^{***}({\textbf{x}},\tau /2)-U_h^{n+1} \Vert _h+ \Vert u^{***}({\textbf{x}},\tau /2)-u_({\textbf{x}},t_{n+1}) \Vert _h \\&\le \left( 1+\frac{\kappa \tau }{2}+\frac{\kappa ^2\tau ^2}{8}\right) \Vert u^{**}({\textbf{x}},\tau )-U^{**,n+1,c}_h \Vert _h+C\left( \tau ^3+\tau ^2 h^2 + \tau h^2\right) . \end{aligned}\nonumber \\ \end{aligned}$$
(4.17)

Since \({{\tilde{m}}}\le u^{**}({\textbf{x}},\tau )\le {{\tilde{M}}} \), in view of the cut-off process, we get

$$\begin{aligned} \Vert u^{**}({\textbf{x}},\tau )-U^{**,n+1,c}_h({\textbf{x}}) \Vert _{h}&= \Vert \max \{\min \{u^{**}({\textbf{x}},\tau ),{{\tilde{M}}}\}, {{\tilde{m}}}\}-\max \{\min \{U_h^{**,n+1}({\textbf{x}}), {{\tilde{M}}}\},{{\tilde{m}}}\}\Vert _{h}\nonumber \\&\le \Vert u^{**}({\textbf{x}},\tau ) -U_h^{**,n+1}({\textbf{x}}) \Vert _{h}, \end{aligned}$$

where

$$\begin{aligned} \begin{aligned} u^{**}({\textbf{x}},\tau ) -U_h^{**,n+1}({\textbf{x}})&= u^{*}({\textbf{X}}(t_n),\tau ) - {\mathcal {R}}_{\mu _x,\mu _y,1,3,2} U_h^{*}({\textbf{x}},\tau )\\&= u^{*}({\textbf{X}}(t_n),\tau ) - u^{*}({\textbf{X}}_n,\tau )+ u^{*}({\textbf{X}}_n,t_{n+1}) - {\mathcal {R}}_{\mu _x,\mu _y,1,3,2}u^{*}({\textbf{x}},\tau )\\&\quad +{\mathcal {R}}_{\mu _x,\mu _y,1,3,2}(u^{*}({\textbf{x}},\tau )-U_h^{*}({\textbf{x}},\tau )). \end{aligned} \end{aligned}$$

By using Lemmas 3.1, 3.4, 3.3 and 3.2, we obtain

$$\begin{aligned} \begin{aligned} \Vert u^{**}({\textbf{x}},\tau )-U^{**,n+1}_h \Vert _h&\le (1+M\tau )\big \Vert u^{*}({\textbf{x}},\frac{\tau }{2})-U^{*,n+\frac{1}{2}}_h \big \Vert _h+C\left( \tau ^3+\min \left\{ 1, \frac{\tau }{h}\right\} h^{4}\right) . \end{aligned} \end{aligned}$$

Therefore,

$$\begin{aligned} \begin{aligned} \Vert u^{**}({\textbf{x}},\tau )-U^{**,n+1,c}_h \Vert _h&\le \big \Vert u^{**}({\textbf{x}},\tau )-U^{**,n+1}_h \big \Vert _h\\&\le (1+M\tau )\big \Vert u^{*}\left( {\textbf{x}},\frac{\tau }{2}\right) -U^{*,n+\frac{1}{2}}_h \big \Vert _h+C\left( \tau ^3+\min \left\{ 1, \frac{\tau }{h}\right\} h^{4}\right) . \end{aligned}\nonumber \\ \end{aligned}$$
(4.18)

Next, combining (4.16), (4.17) and (4.18), we have for \(\tau \in (0,1]\),

$$\begin{aligned} \Vert {\mathcal {E}}^{n+1} \Vert _h&\le (1+M\tau )\left( 1+\frac{\kappa \tau }{2}+\frac{\kappa ^2\tau ^2}{8}\right) ^2 \Vert {\mathcal {E}}^n \Vert _h+C\left( \tau ^3+\min \left\{ 1, \frac{\tau }{h}\right\} h^{4}\right) \nonumber \\&\le (1+C\tau )\Vert {\mathcal {E}}^n \Vert _h+C\left( \tau ^3+\min \left\{ 1, \frac{\tau }{h}\right\} h^{4}\right) ,\quad 0\le n\le T/\tau -1. \end{aligned}$$
(4.19)

Recalling \(\Vert {\mathcal {E}}^0\Vert _h=0\), we finally obtain the desired estimates (4.2) by using the discrete Gronwall’s inequality. \(\square \)

Remark 2

From Lemma 3.3 and Theorem 4.2, we can see that the term \(\frac{\tau }{h}\) or \(\frac{h}{\tau }\) always appears in the derivations, which is a well-known feature of the SL method. On the other hand, through our delicate error analysis, it only appears inside \(\min \left\{ 1, \frac{\tau }{h}\right\} \) or \(\min \left\{ 1, \frac{h}{\tau }\right\} \), which produces an enhanced error estimate.

5 Numerical Experiments

In this section, we will demonstrate the performance of our proposed scheme via various two- and three-dimensional numerical experiments. The computational domain is set to be \([0,1]^2\) in two dimensions and \([0,1]^3\) in three dimensions. Because of the periodic boundary condition, FFT-based fast solvers are implemented in the computation of ETD scheme.

5.1 Convergence Tests

Consider the CAC equation (1.1) in two dimensions with the initial condition

$$\begin{aligned} u_0(x,y)=\cos (2\pi x)\cos (2\pi y) \end{aligned}$$

and \(\epsilon =0.1\). Additionally, the nonlinear function \(f=-F'\) is chosen as the double-well potential (2.3), i.e., \(f(u)=u-u^3\). The stabilizing coefficient is \(\kappa =2\) and the terminal time is \(T=1\). The velocity term is set to be

$$\begin{aligned} {\textbf{v}}(x,y)=e^{-t}[\sin (2\pi y),\sin (2\pi x)]^T \end{aligned}$$

satisfying the divergence-free condition. The centered cubic polynomial interpolation is used in the SL method.

For the purpose of calculating approximation errors without knowing the exact solution, the numerical solution obtained by the SL-ETD2 scheme with \(h=1/2048\) and \(\tau =1/2048\) is treated as the referential value. We first simultaneously and repeatedly decrease the the time step size \(\tau \) and the spatial mesh size h by a factor of 2. The discrete \(L^\infty \) and \(L^2\) norm of the numerical errors and their corresponding convergence rates are presented in Table 1, where the expected second-order temporal rate is clearly observed. Next we test the special property of the enhanced error estimate by fixing h (\(\frac{1}{128}\) and \(\frac{1}{256}\), respectively ) and only repeatedly decrease \(\tau \). The discrete \(L^\infty \) and \(L^2\) errors and their corresponding convergence rates in time are given in Table 2. As we can see, the errors get smaller with the smaller \(\tau \), which implies that the reciprocal of \(\tau \) does not impact the error. Along with the decrease of \(\tau \), the spatial error gradually dominates the whole error and the convergence rate degrades from 2 and gets smaller and smaller.

Table 1 The discrete \(L^\infty \) and \(L^2\) norm errors and their corresponding convergence rates produced the fully discrete SL-ETD2 schemes for the two-dimensional CAC (1.1) with the double-well potential
Table 2 The discrete \(L^\infty \) and \(L^2\) norm errors and their corresponding convergence rates in time produced the SL-ETD2 schemes for the two-dimensional CAC (1.1) with the double-well potential, where the time step size \(\tau \) is repeatedly halved while the spatial mesh size h being fixed

5.2 MBP Tests

We numerically simulate the CAC equation in two dimensions with \(\epsilon = 0.01\) and study the discrete MBP with long-term phase separation processes. We start the simulations using the SL-ETD2 scheme with the initial value given by the quasi-uniform state

$$\begin{aligned} u_0(x,y)=0.9\sin (100\pi x)\sin (100\pi y) \end{aligned}$$

and the velocity

$$\begin{aligned} {\textbf{v}}(x,y)=e^{-t}[\sin (2\pi y);\sin (2\pi x)]^T. \end{aligned}$$

The spatial mesh size is chosen as \(h=1/512\), and two different time steps \(\tau =0.1\) and \(\tau =0.01\) are tested.

We first consider f as the double-well potential function case (2.3) with the bounding constant \(\beta =1\) and the stabilizing coefficient is \(\kappa =2\) correspondingly. Figure 1 shows the snapshots of the numerical solution at t = 0.1, 0.8, 5 and 20 respectively, which are obtained with \(\tau =0.1\). The SL-ETD2 scheme with \(\tau =0.01\) produces similar results. The time evolutions of the supremum norm and energy (defined in (1.2)) with \(\tau =0.1\) and \(\tau =0.01\) are presented in Fig. 2. We observe that the energy decreases monotonically and the discrete MBP is preserved perfectly under both time step sizes. Next we consider the case of Flory–Huggins potential (2.2) with two parameters \(\theta =0.8\) and \(\theta _c=1.6\). In this case, the bounding constant \(\beta \approx 0.9575\) and the stabilizing coefficient is \(\kappa =8.02\) correspondingly [19]. Figure 3 presents the configurations of the numerical solution at t = 0.1, 0.8, 5 and 20 respectively, obtained with \(\tau =0.1\). The time evolutions of the supremum norm and energy with \(\tau =0.1\) and \(\tau =0.01\) are plotted in Fig. 4, and it is again observed that the energy decreases monotonically and the discrete MBP is well-preserved numerically under both time step sizes. In addition, we can observe the double-well potential and the Flory–Huggins potential in the CAC equation behave very similarly in this problem.

Fig. 1
figure 1

Numerical solution at \(t = 0.1\), 0.8, 5 and 20 (top to bottom and left to right) for the two-dimensional CAC equation (1.1) with the double-well potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

Fig. 2
figure 2

Evolutions of the the energy (left) and supremum norm (right) of the numerical solution for the two-dimensional CAC equation (1.1) with the double-well potential, produced by the SL-ETD2 scheme with \(\tau =0.1\) and \(\tau =0.01\)

Fig. 3
figure 3

Numerical solutions at \(t = 0.1\), 0.8, 5 and 20 (top to bottom and left to right) for the two-dimensional CAC equation (1.1) with the Flory–Huggins potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

Fig. 4
figure 4

Evolutions of the the energy (left) and supremum norm (right) of the numerical solution for the two-dimensional CAC equation (1.1) with the Flory–Huggins potential, produced by the SL-ETD2 scheme with \(\tau =0.1\) and \(\tau =0.01\)

5.3 Convective Tests

This subsection will consider the two-dimensional convective Allen–Cahn equation with \(\epsilon = 0.01\). The initial value is generated by the random uniform distribution between \(-\)0.9 and 0.9. The velocity filed is chosen as a clockwise rotational one, taking the form

$$\begin{aligned} {\textbf{v}}(x,y)=[y-0.5;0.5-x]^T. \end{aligned}$$

The spatial mesh size is chosen as \(h = 1/512\).

Figure 5 presents the snapshots of the numerical solutions at t = 0.1, 5, 20, and 100 respectively for the double-well potential case, produced by the SL-ETD2 scheme with \(\tau =0.1\). The corresponding evolutions of supremum norm and energy are illustrated in Fig. 6. The discrete MBP is indeed well preserved and the energy decays monotonically. Moreover, we clearly observe the ordering and coarsening phenomena as well as the rotation effect due to the convective term along the time evolution. We then simulate the case of Flory Huggins potential function with \(\theta =0.8\) and \(\theta _c=1.6\). Figure 7 depicts the configurations of the numerical solution at t = 0.1, 5, 20 and 100 respectively, produced by the SL-ETD2 scheme with \(\tau =0.1\). Corresponding evolutions of the supremum norm and the energy are given in Fig. 8. It is observed that the discrete MBP is indeed well preserved and the energy decays monotonically. Moreover, the rotational phenomena is also observed as expected.

Fig. 5
figure 5

Numerical solutions at \(t = 0.1\), 5, 20 and 100 (top to bottom and left to right) for the two-dimensional CAC equation (1.1) with the double-well potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

Fig. 6
figure 6

Evolutions of the the energy (left) and supremum norm (right) of the numerical solution for the two-dimensional CAC equation (1.1) with the double-well potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

Fig. 7
figure 7

Numerical solutions at t = 0.1, 5, 20 and 100 (top to bottom and left to right) for the two-dimensional CAC equation (1.1) with the Flory–Huggins potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

Fig. 8
figure 8

Evolutions of the the energy (left) and supremum norm (right) of the numerical solution for for the two-dimensional CAC equation (1.1) with the Flory–Huggins potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

5.4 Rotating Bubble in Three Dimenisons

We finally perform a three-dimensional simulation of the rotating bubble governed by the convective Allen–Cahn equation with \(\epsilon =0.01\). The simulations starts with the initial configuration described by the discontinuous state

$$\begin{aligned} u_0(x,y,z)= \left\{ \begin{array}{ll} 0.9,&{}\quad (x-0.3)^2+(y-0.3)^2+(z-0.5)^2<0.2^2,\\ -0.9,&{}\quad \text{ otherwise }. \end{array} \right. \end{aligned}$$

The components of \({\textbf{v}}\) are given by a clockwise rotational velocity field along z direction, taking the form

$$\begin{aligned} {\textbf{v}}(x,y,z)=[y-0.5, 0.5-x, 0]^T. \end{aligned}$$

The spatial mesh size is chosen as h = 1/512 and the time step size \(\tau =0.1\).

We first test the case of the double-well potential function (2.3). Figure 9 presents the configurations of the numerical solutions at t = 1, 10 and 50. The corresponding evolutions of the supremum norm, the energy, and the radius of the ball (zero level set) are plotted in Fig. 10. It is clearly observed that the energy decays monotonically and the radius of the ball gradually decreases to 0. When the radius is smaller than h, the mesh can not capture the ball anymore, and jump occurs in the radius plot. Moreover, the discrete MBP for the CAC equation is preserved perfectly. Next we consider the case of the Flory–Huggins potential (2.2) with \(\theta =0.8\) and \(\theta _c=1.6\). Figure 11 gives the configurations of the numerical solutions at t = 1, 10 and 50 respectively. The corresponding developments of the supremum norm, energy, and radius are plotted in Fig. 12 which shows the similar behaviors as those of the double-well potential case.

Fig. 9
figure 9

Numerical solutions at t = 1, 10, and 50 respectively (from left to right) for the three-dimensional CAC equation (1.1) with the double-well potential, produced by the SL-ETD2 scheme with \(\tau =0.1\). In each time panel, the top represents the isosurface (\(u=0\)) and the bottom represents the numerical solution across \(z=0.5\)

Fig. 10
figure 10

Evolution of the energy (left), the supremum norm (middle) and the radius of the ball (right) in the numerical solution for the three-dimensional CAC equation (1.1) with the double-well potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

Fig. 11
figure 11

Numerical solution at \(t = 1\), 10, and 50 respectively for the three-dimensional CAC (1.1) with the Flory Huggins potential, produced by the SL-ETD2 scheme with \(\tau =0.1\). In each time panel, the top represents the isosurface and the bottom represents the approximated solution across the \(z=0.5\)

Fig. 12
figure 12

Evolution of the energy (left), the supremum norm (middle) and the radius of the ball (right) in the numerical solution for the three-dimensional CAC equation (1.1) with the Flory Huggins potential, produced by the SL-ETD2 scheme with \(\tau =0.1\)

6 Conclusion

In this paper, we develop a second-order operator splitting-based unconditional MBP-preserving numerical scheme, SL-ETD2, for the the convective Allen–Cahn equation. At each time step, the CAC equation is split into three stages: the AC equation at the first and third stage, and the linear transport equation at the second stage. For the AC part, we use the stabilized ETDRK2 scheme for its time integration. Note that FFT-based fast algorithm can be implemented for its solution. For the transport part, we rewrite it into a characteristic form and solve it with a semi-Lagrangian method. A second-order SSPRK method is used to back-track the roots of the characteristic curve at the previous time step and approximate their values using a centered cubic polynomial interpolation. In addition, we apply a cut-off post-processing on the SL solution to preserve the MBP. We prove that the proposed SL-ETD2 scheme are second-order accurate in both space and time by conducting an enhanced error estimation for the SL method with variable velocity. Finally, we conduct some numerical experiments to confirm the theoretical results and demonstrate our proposed scheme’s performance. As an important application, the CAC equation is often part of a multiphase flows system, and our future research will focus on how to extend our proposed scheme to solve more complex coupled models and conserve their physical quantities.