Skip to main content

Advertisement

Two-stage fourth order: temporal-spatial coupling in computational fluid dynamics (CFD)

Abstract

With increasing engineering demands, there need high order accurate schemes embedded with precise physical information in order to capture delicate small scale structures and strong waves with correct “physics”. There are two families of high order methods: One is the method of line, relying on the Runge-Kutta (R-K) time-stepping. The building block is the Riemann solution labeled as the solution element “1”. Each step in R-K just has first order accuracy. In order to derive a fourth order accuracy scheme in time, one needs four stages labeled as “ 1111=4”. The other is the one-stage Lax-Wendroff (LW) type method, which is more compact but is complicated to design numerical fluxes and hard to use when applied to highly nonlinear problems. In recent years, the pair of solution element and dynamics element, labeled as “2”, are taken as the building block. The direct adoption of the dynamics implies the inherent temporal-spatial coupling. With this type of building blocks, a family of two-stage fourth order accurate schemes, labeled as “ 22=4”, are designed for the computation of compressible fluid flows. The resulting schemes are compact, robust and efficient. This paper contributes to elucidate how and why high order accurate schemes should be so designed. To some extent, the “ 22=4” algorithm extracts the advantages of the method of line and one-stage LW method. As a core part, the pair “2” is expounded and LW solver is revisited. The generalized Riemann problem (GRP) solver, as the discontinuous and nonlinear version of LW flow solver, and the gas kinetic scheme (GKS) solver, the microscopic LW solver, are all reviewed. The compact Hermite-type data reconstruction and high order approximation of boundary conditions are proposed. Besides, the computational performance and prospective discussions are presented.

Introduction

In the simulation of compressible fluid flows or related problems, there are two families of commonly-used high order accurate numerical schemes: One is the family of methods of line, for which the fluid dynamical system is written in semi-discrete form and the Runge-Kutta (RK) temporal iteration is employed for the temporal discretization, such as RK-WENO [1], RK-DG [2] and their variants. The building blocks comprises of the solution element, the associated Riemann solution, which is labeled as “1” in order to be in contrast with the Lax-Wendroff (LW) type flow solvers. The fourth order RK temporal iteration is labeled as “ 1111=4”. This family of schemes have very favorable properties such as simplicity in time-stepping for complex engineering problems. The limitation is also obvious such as compactness, efficiency and fidelity. The other is the family of one-stage LW type methods, the numerical realization of Cauchy-Kowalevski (CK) approach [3] for the corresponding partial differential equations. This family of methods have the strong temporal-spatial coupling property, leading to very compact numerical schemes. However, when applied to high nonlinear problems, the complex construction of numerical fluxes hampers to develop high (more than two) order accurate schemes. Particularly, as strong waves (discontinuities) are present in flows (solutions), the CK procedure loses its physical and mathematical meanings, exhibiting the instability of the resulting schemes near discontinuities.

Careful inspection of these two families of methods motivates to combine the merits of both methods: The simplicity of multi-stage RK methods and the temporal-spatial coupling of LW type methods. This straightforward combination immediately yields a two-stage fourth order accurate temporal discretization for the LW type flow solvers [4], which is labeled as “ 22=4”. Here “4” just represents “fourth” order accurate temporal discretization, but “2” has much deeper implications, some of which are enumerated below.

  1. (i)

    “2” represents a pair. Unlike the methods of line, this method adopts the pair, the conservative variables and their dynamics, e.g., the velocity and the acceleration, as the building block to design numerical schemes. In [4], we call this pair as the Riemann solver and the LW type solver.

  2. (ii)

    “2” implies the temporal-spatial coupling. The LW flow solver implies the temporal-spatial coupling property of resulting schemes. This is necessary to simulate the temporal-spatial coherent structures of fluid flows.

  3. (iii)

    “2” stands for second order accuracy in time. Of course,“2” also symbolizes the temporal accuracy of resulting schemes and requires that at each of the two stages the above pair should be the building block.

  4. (iv)

    “2” indicates the exchange of kinematics and thermodynamics. The Gibbs relation plays a fundamental role in compressible fluid flows. In the dynamical process, there is always the interaction of kinematics and thermodynamics. The stronger nonlinear waves, e.g. shocks, exist in the fluid flows, the more fundamental role the thermodynamics plays.

  5. (v)

    “2” guarantees the compactness and efficiency. Since only two stages are taken to achieve fourth order temporal accuracy, half amount of spatial discretization treatments are saved and much smaller computational stencils are needed. Hence the resulting schemes are more compact and efficient.

  6. (vi)

    “2” reflects the consistency of mathematical and physical expressions of fluid dynamics. The fluid dynamical systems essentially consist of balance laws, which say the relation between the change rate of physical quantities and the associated fluxes. The form of balance laws always makes sense no matter whether there are discontinuities in the solution. The Lax-Wendroff type flow solvers inherently reflects the consistency between the physical implication of fluid dynamical systems and their mathematical formulation.

In this paper we will elucidate the idea of this new family of schemes by interpreting the philosophy from ordinary differential equations (ODEs) to fluid dynamical systems, reviewing the well-used GRP and GKS solvers as the representatives of the Lax-Wendroff type solvers, building high order temporal-spatially coupled high order accurate schemes with favorable computational performance.

We organize this paper in the following sections. In Section 2, we propose this new family of methods and the corresponding “ 22” algorithm. In Section 3, we review the generalized Riemann problem (GRP) solver and in Section 4 continue to review a kinetic solver, the gas kinetic scheme (GKS) solver. In Section 5, we introduce the compact Hermite-type interpolation for the data reconstruction. In Section 6, we discuss the approximation of boundary conditions to suit for the 22 algorithm. In Section 7, we remark the computational performance of this approach in terms of computational efficiency, robustness and fidelity.

What is “ 22=4”?

This section serves to elucidate the meaning of “ 22=4” for hyperbolic problems and particularly compressible fluid flows, and review the two-stage fourth order accurate schemes proposed in [4]. We remind that this strategy may not be suitable for incompressible flows or it needs some modifications but certainly awaits for further improvement.

Start with ODEs and philosophic thinking

Let’s recall the Runge-Kutta (RK) method for an ordinary differential equation

$$ {\frac{dy}{dt}} =f(t,y). $$
(1)

The Runge-Kutta method takes the iteration procedure

$$ \begin{array}{l} y_{n+1} =y_{n} + h\sum\limits_{i=1}^{s} b_{i}k_{i}\\ k_{i} = f\left(t_{n}+c_{i} h, y_{n} +h\sum\limits_{j=1}^{i-1} a_{ij}k_{j}\right), \ \ i=1,\cdots, s, \end{array} $$
(2)

where h is the time increment, aij, bi and ci satisfy the Butcher tableau [5]. The building block of RK is the solution element y. In order to devise a s-th order accurate scheme, one needs s-stage iteration, which is parameter-dependent. In this paper, we focus on fourth order accurate schemes and therefore label the fourth order RK schemes as 1111=4. The notation “ ” is an operation satisfying certain requirement such as stability.

The RK method lays the foundation of numerical approximations to ODEs. Note that this method only uses the solution element “y”, but ignores the dynamics element dy/dt. This sounds confusing, however, one may pay his attention to the role of the dynamics element if he is familiar with the symplectic algorithm for Hamitonian system [6] for which the pair of the position and momentum are together used for the computation in order to preserve the symplectic structure. The momentum can be regarded as the dynamics element of the position (solution element). The word “symplectic” itself has the meaning of “pair”.

With this philosophical thinking, it is reasonable to construct multi-stage multi-derivative algorithms for dynamical systems (ODEs). Indeed, this was achieved in [7] with many subsequent works [811]. The building block is the pair, the solution element and the dynamics element (the derivatives). Specifically, a multi-stage two-derivative algorithm is written as

$$ \begin{array}{l} Y_{i} =y_{n} +h\sum\limits_{j=1}^{i-1} a_{ij} f\left(Y_{j}\right) +h^{2} \sum\limits_{j=1}^{i-1} \hat a_{ij} g(Y_{j}), \ \ i=1,\cdots, s,\\ y_{n+1}=y_{n} + h\sum\limits_{i=1}^{s} b_{i}\; f(Y_{i}) +h^{2} \sum\limits_{i=1}^{s} \hat{b}_{i} g(Y_{i}), \end{array} $$
(3)

where we suppress the dependence of f on t for simplicity so that f=f(y), the coefficients aij, \(\hat {a}_{ij}\), bi, and \(\hat {b}_{i}\) can be displayed in an extended Butcher tableau [7]. Here the function g(y)=f(y)f(y) is given using the chain rule

$$ g(y) ={\frac{d}{dt}}f(y) = f^{\prime}(y){\frac{dy}{dt}}=f^{\prime}(y)f(y). $$
(4)

The dynamical element is implicitly used in the construction of algorithm (3). This is why this method is of multi-stage two-derivative type with the pair (y,dy/dt) as the building block. In particular, as s=2, we have the two-stage fourth order accurate time-stepping algorithm in the form

$$ \begin{array}{l} y_{*} =y_{n} +{\frac{h}{2}} f(y_{n}) +\frac{h^{2}}{8} f^{\prime}(y_{n}) f(y_{n}), \\ y_{n+1} =y_{n}+ h f(y_{n}) +\frac{h^{2}}{6}\left(f^{\prime}(y_{n})f(y_{n}) +2f^{\prime}(y_{*}) f(y_{*})\right), \end{array} $$
(5)

labelled as the “ 22=4” algorithm, which was independently derived in [4] for hyperbolic conservation laws. See the discussion in the subsequent sections. For (5), the first “2” represents the two-stage approach, the second “2” means the pair of the solution element and the dynamics element, and “4” stands for the fourth order accurate approximation to (1). Certainly, the first “2” has more implications when applied to the fluid dynamical systems for compressible flows. Besides, the notation “ ” is used here to symbolize the mathematical operation currently. Probably in the future, this notation could be replaced by a better one.

Lax-Wendroff flow solvers

The Lax-Wendroff method [12] plays a fundamental role in the development of high order accurate schemes for hyperbolic equations. The corresponding scheme is unique in the class of three-point schemes of second order both in space and time. The feature of uniqueness implies that it is the reference of high order accurate schemes, and the three-point stencil hints at the compactness. Here we are going to show more fundamentals of this method, which is taken as the building block or higher order accurate schemes. Moreover, we would like to present as many details as possible because it is unusual that it has not been received “enough” attention since its birth. Part of the reason may be the presence of oscillations near discontinuities when used to simulated compressible fluid flows although it was modified, e.g., the flux limiter methods in 1980s ([13] and its successors), to be suited for the capture of discontinuities; part of the reason is, more possibly, the seeming complexity compared to methods of line. Even more seriously, the misuse in various contexts, such as diffusion equations and (dispersive) KdV type equations, leads to many controversial issues.

The revisit of Lax-Wendroff method

Let us first recall the Lax-Wendroff method [12]. Consider the advection equation

$$ u_{t} +a u_{x}=0, \ \ \ t>0,\ \ \ x\in [0,1], $$
(6)

where a is a constant. The boundary condition remains to be discussed in Section 6. We approximate (6) by assuming that the solution is sufficiently regular, and take the Taylor series expansion at any point (x,t) to obtain,

$$ u(x,t+\Delta t) =u(x,t)+\Delta t \frac{\partial u}{\partial t}(x,t) +\frac{\Delta t^{2}}{2}\frac{\partial^{2} u}{\partial t^{2}}(x,t)+\mathcal{O}\left(\Delta t^{3}\right). $$
(7)

A key step is the temporal-spatial coupling technique by taking use of (6) to quantify the differentiation relation between the change rate of u and the spatial variation,

$$ \frac{\partial u}{\partial t} = -a \frac{\partial u}{\partial x}, \ \ \ \ \frac{\partial^{2} u}{\partial t^{2}} = a^{2} \frac{\partial^{2} u}{\partial x^{2}}. $$
(8)

Ignoring truncation errors of order more than three, the Lax-Wendroff scheme is derived as (cf. [12]),

$$ u_{j}^{n+1} =u_{j}^{n} -\frac{\lambda}{2}\left(u_{j+1}^{n}-u_{j-1}^{n}\right) +\frac{\lambda^{2}}{2} \left(u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}\right),\ \ \lambda=a\frac{\Delta t}{\Delta x}, $$
(9)

where central difference approximations are made to guarantee the spatial accuracy, \(u_{j}^{n}\) represents the point value u(xj,tn) at the grid point (xj,tn), xj=jΔx, tn=nΔt, with the spatial and temporal increments Δx and Δt. The Taylor expansion process is the same as that in the Cauchy-Kowaleveski approach (see [3]), and therefore (9) is regarded as the numerical realization of the CK approach. Note that this process determines the feature of this scheme, implying its application only in the range of hyperbolic problems (local behavior or finite propagation property). Any other extension needs serious and cautious treatments.

The Taylor expansion also relies on the smoothness of the solution. The successive differentiation (6) gives rise to the risk in the following sense.

  1. (i)

    Once Eq. 6 admits discontinuities in the solution, the manipulation for (8) does not make any sense. This is the main reason that (9) produces oscillations near discontinuities [12].

  2. (ii)

    As this method is applied to highly nonlinear dynamical systems, this manipulation becomes horrible and hampers to develop higher order accurate schemes, due to the successive differentiations.

We will comment on this manipulation appropriately at later sections. Rather now, we reinspect (6) and (7) from another point of view (after ignoring high order truncation errors), actually in the finite volume framework,

$$ \begin{array}{rl} u(x,t+\Delta t) & =u(x,t) +\Delta t \frac{\partial}{\partial t}\left[u+\frac{\Delta t}{2}\frac{\partial u}{\partial t}\right]\\ & =u(x,t) -a\Delta t \frac{\partial}{\partial x}\left[u+\frac{\Delta t}{2}\frac{\partial u}{\partial t}\right], \end{array} $$
(10)

where the differentiation relation \(\frac {\partial }{\partial t} =-a\frac {\partial }{\partial x}\) is applied. We immediately realize that for any (x,t)

$$ u(x,t) +\frac{\Delta t}{2}\frac{\partial u}{\partial t} =u\left(x,t+\frac{\Delta t}2\right)+\mathcal{O}\left(\Delta t^{2}\right), $$
(11)

as long as the solution is smooth in t (temporal direction or flow direction). Viewing (10) in the finite volume framework, we obtain over the control volume \(\left [x_{j-\frac 12}, x_{j+\frac 12}\right ]\times [t_{n},t_{n+1})\), \(x_{j+\frac 12}=\frac 12\left (x_{j}+ x_{j+1}\right)\),

$$ \begin{array}{l} u_{j+\frac 12}^{*} :=u\left(x_{j+\frac 12},t_{n}\right)+\frac{\Delta t}{2} \frac{\partial u}{\partial t}\left(x_{j+\frac 12},t_{n}\right),\\ u_{j}^{n+1}=u_{j}^{n} -\lambda \left(u_{j+\frac 12}^{*}-u_{j-\frac 12}^{*}\right). \end{array} $$
(12)

The prediction of the value \(u_{j+\frac 12}^{*}\) depends on the approximations to \(u\left (x_{j+\frac 12},t_{n}\right)\) and \(\frac {\partial u}{\partial t}\left (x_{j+\frac 12},t_{n}\right)\). This is achieved by the Lax-Wendroff solver.

Lax-Wendroff solver.A Lax-Wendroff solver for (6) is the numerical algorithm approximating the values

$$ u_{j+\frac 12}^{n}: ={\lim}_{t\rightarrow t_{n}+0} u\left(x_{j+\frac 12}, t\right), \ \ \ \ \left(\frac{\partial u}{\partial t}\right)_{j+\frac 12}^{n}: ={\lim}_{t\rightarrow t_{n}+0} \frac{\partial u}{\partial t} \left(x_{j+\frac 12}, t\right) $$
(13)

for the given initial data at t=tnfor (6).

This pair of values actually provide all quite detailed information along the interface \(x=x_{j+\frac 12}\) of control volume and also the flux

$$ \begin{array}{rl} \frac{1}{\Delta t} {\int\nolimits}_{t_{n}}^{t_{n+1}} au\left(x_{j+\frac 12},t\right)dt & =au\left(x_{j+\frac 12},t_{n}+\frac{\Delta t}2\right)+\mathcal{O}\left(\Delta t^{2}\right)\\ & = a\left[u_{j+\frac 12}^{n} +\frac{\Delta t}{2} \left(\frac{\partial u}{\partial t}\right)_{j+\frac 12}^{n} \right]+\mathcal{O}\left(\Delta t^{2}\right). \end{array} $$
(14)

The two formulae (9) and (12) are equivalent for smooth flows. However, the new formulation (12) is fundamentally different from (9) in the following sense.

  1. (i)

    The formulae (12) is actually the finite volume formulation for (6). The formulation is more straightforward for fluid dynamical systems than other formulations because it is just the numerical version of balance laws and allows discontinuities as its solution.

  2. (ii)

    The manipulation (11) is legal because the flow should be smooth in time (but not in space), unlike the difference approximation for LW approach.

  3. (iii)

    The temporal-spatial coupling feature again plays an important role, e.g.,

    $$ \frac{\partial u}{\partial t}\left(x_{j+\frac 12},t_{n}\right) =-a\frac{\partial u}{\partial x}\left(x_{j+\frac 12}, t_{n}\right). $$
    (15)

    This feature is crucial for a numerical scheme to preserve the fluid dynamical properties such as the Galilean invariance.

  4. (iv)

    The successive differentiation (8) can be avoided, which is extremely important for nonlinear problems when discontinuities are involved because the manipulation (8) makes no sense both mathematically and physically.

For (6), we label “2” for the pair \(\left (u, \frac {\partial u}{\partial t}\right)\) in the Lax-Wendroff solver (13), which is the building block, as we see, in the Lax-Wendorff scheme. It is interesting to observe that (13) can be approximated in an upwind or central way. The upwind approximation can avoid superfluous information in the scheme.

Lax-Wendroff flow solvers for nonlinear hyperbolic balance laws

We consider hyperbolic conservation laws

$$ \mathbf{u}_{t}+\mathbf{f}(\mathbf{u})_{x}=0, $$
(16)

where the vector u is the conservative variable. The natural formulation of (16) is in the finite volume framework, the balance law over any interval \(I_{j}=\left (x_{j-\frac 12},x_{j+\frac 12}\right)\),

$$ \begin{array}{l} \frac{d}{dt}\bar{\mathbf{u}}_{j}(t) =-\frac{1}{\Delta x} \left(\mathbf{f}\left(\mathbf{u}\left(x_{j+\frac{1}{2}},t\right)\right) -\mathbf{f}\left(\mathbf{u}\left(x_{j-\frac{1}{2}},t\right)\right)\right), \\ \bar{\mathbf{u}}_{j}(t)= \frac{1}{\Delta x}{\int\nolimits}_{I_{j}} \mathbf{u}(x,t)dx, \end{array} $$
(17)

or the control volume \(\left (x_{j-\frac 12},x_{j+\frac 12}\right)\times \left (t_{n},t_{n+1}\right)\),

$$ \bar{\mathbf{u}}_{j}^{n+1} =\bar{\mathbf{u}}_{j}^{n} -\frac{\Delta t}{\Delta x}\left(\mathbf{f}_{j+\frac 12}\left(t_{n}; t_{n+1}\right)-\mathbf{f}_{j-\frac 12}\left(t_{n}; t_{n+1}\right)\right), $$
(18)

with

$$ \bar{\mathbf{u}}_{j}^{n}= \frac{1}{\Delta x}{\int\nolimits}_{I_{j}} \mathbf{u}\left(x,t_{n}\right)dx, \ \ \ \mathbf{f}_{j+\frac 12}\left(t_{n}; t_{n+1}\right)=\frac{1}{\Delta t}{\int\nolimits}_{t_{n}}^{t_{n+1}} \mathbf{f}\left(\mathbf{u}\left(x_{j+\frac 12},t\right)\right)dt. $$
(19)

If one would prefer to other formulations, such as the discontinuous Galerkin method [2], the following statements still hold.

We shift (xj,tn) to (0,0) due to the invariance of (16) with respect to the translation of coordinates. In order to proceed in one of those frameworks, we have to solve (16) approximately subject to the initial data

$$ \mathbf{u}(x,0) = \mathbf{P}_{\pm}(x), \ \ \text{for} \pm x>0, $$
(20)

where P±(x) are smooth functions, typically polynomials, with a jump at x=0. The same as in the linear case (13), a Lax-Wendroff flow solver for such a problem is an algorithm approximating

$$ \mathbf{u}_{0}:={\lim}_{t\rightarrow 0^{+}}\mathbf{u}(0,t), \ \ \ \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{0} ={\lim}_{t\rightarrow 0^{+}} \frac{\partial \mathbf{u}}{\partial t}(0,t). $$
(21)

In general, we consider hyperbolic balance laws in multi-dimensions,

$$ \mathbf{u}_{t} + \nabla\cdot \mathbf{F}(\mathbf{u})=\mathbf{h}, \ \ \ \mathbf{F}=\left(\mathbf{f}_{x}, \mathbf{f}_{y}, \mathbf{f}_{z}\right). $$
(22)

where h is the source term resulting from physics or geometry, x=(x,y,z) is the spatial coordinate. The initial data for (22) is set to be

$$ \mathbf{u}(x,y,z,0) = \mathbf{P}_{\pm}(x,y,z), \ \ \ \text{for} \pm \mu \cdot \mathbf{x}>0, $$
(23)

where μ is the unit normal of a line or plane L:μ·x=0 pointing from the negative side to the positive side, corresponding to the outer normal of interfaces of computational volume. The Lax-Wendroff solver for (22) is to find the pair of values with the same form as in (21),

$$ \mathbf{u}_{L, 0} := {\lim}_{t\rightarrow 0^{+}}\mathbf{u}(L, t), \ \ \ \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{L, 0} := {\lim}_{t\rightarrow 0^{+}}\frac{\partial \mathbf{u}}{\partial t}(L, t), $$
(24)

where the limit is taken along the spatial-temporal interface L×(0,Δt).

We want to remark here that the pair (uL,0,(u/t)L,0) can be modulated to any direction in order to suit for an arbitrary Lagrangian-Eulerian (ALE) method.

Rough comments on the correlation between LW solver and temporal-spatial coupling

The instantaneous temporal derivatives in (21) and (24) can be roughly using the Lax-Wendroff approach

$$ \frac{\partial \mathbf{u}}{\partial t} =-\nabla \cdot \mathbf{F}(\mathbf{u}) +\mathbf{h}, $$
(25)

and then −·F(u) and h are approximated using certain technologies such as WENO etc. The same as in (15), the coherent relation of spatial and temporal variations is rooted in this formula.

The intuitive outcome of this coupling is the following.

  1. (i)

    The multidimensional effect, in particular the transversal effect, is input into the flux directly. Thinking of a single advection problem

    $$ u_{t} + {au}_{x} +{bu}_{y}=0, $$
    (26)

    where a,b are constants. For an interface with the normal in the x-direction, the transversal effect, expressed in the y-direction, is ignored for the standard Riemann solver. This is further verified for the wave system

    $$ p_{t}+c_{0}u_{x}+c_{0}v_{y}=0, \ \ \ u_{t} +c_{0}p_{x} =0, \ \ \ v_{t} +c_{0}p_{y}=0, $$
    (27)

    where c0 is a constant. In Table 1, we use three methods to simulate the periodic wave problem. It is observed that even with the same convergence rate, the RK method produces also ten times of errors than what the second order GRP does for which the transversal effect is included. The solution cannot even converge with the refinement of meshes if only normal flux is used but the transversal effect is not included. See [14].

    Table 1 L1 error and convergence order of u for the periodic wave problem at final time t=2 with the methods GRP2D, RK2 and GRP1D
  2. (ii)

    The source effect h is also reflected through such a process. It is simple to see that

    $$ \frac{\partial u}{\partial t} =-\frac{\partial f(u)}{\partial x}+h(u,x), $$
    (28)

    for hyperbolic balance law

    $$ \frac{\partial u}{\partial t} +\frac{\partial f(u)}{\partial x}=h(u,x). $$
    (29)

    This input is essential and indispensable for the well-balancedness, as verified for the shallow water equations [15].

There are more fundamentals, such as the thermodynamical effect [16], resulting from the temporal-spatial coupling.

22=4: Two-stage fourth order accurate schemes

In [4], the fourth order accurate method is developed for hyperbolic conservation laws. We start with the review of the dynamical system

$$ \frac{d}{dt}\mathbf{w} =\mathcal{L}(\mathbf{w}), $$
(30)

where \(\mathcal {L}\) is a linear or nonlinear operator of w. Then we have the following two-stage algorithm for (30).

  • Stage 1. Define intermediate values

    $$ \begin{array}{l} \mathbf{w}^{*} = \mathbf{w}^{n} +\frac 12\Delta t \mathcal{L}\left(\mathbf{w}^{n}\right) +\frac{1}{8} \Delta t^{2} \frac{\partial}{\partial t}\mathcal{L}\left(\mathbf{w}^{n}\right),\\ \frac{\partial}{\partial t}\mathcal{L}\left(\mathbf{w}^{*}\right) =\frac{\partial}{\partial \mathbf{u}}\mathcal{L}\left(\mathbf{w}^{*}\right) \mathcal{L}\left(\mathbf{w}^{*}\right), \end{array} $$
    (31)

    where the second equation follows from (30), using the chain rule.

  • Stage 2. Advance the solution using the formula

    $$ \mathbf{w}^{n+1} =\mathbf{w}^{n} + \Delta t \mathcal{L}\left(\mathbf{w}^{n}\right) + \frac{1}{6} \Delta t^{2} \left(\frac{\partial}{\partial t}\mathcal{L}\left(\mathbf{w}^{n}\right)+2\frac{\partial}{\partial t}\mathcal{L}\left(\mathbf{w}^{*}\right)\right). $$
    (32)

This algorithm provides a fourth order accurate approximation to w. Originally, this algorithm was proposed in [7, 17], and independently in [4] based on Lax-Wendroff flow solvers. Along this direction, one can derive as high order accurate approximations as what he likes [7, 18].

When applied to hyperbolic problems (16) and (22), one can formulate them in any appropriate framework such as finite volume framework [4] or discontinuous Galerkin (DG) framework [19]. Hence we assume that the computational domain Ω is meshed as \(\Omega = \cup _{j\in \mathcal {J}} \Omega _{j}\) and formulate the problem in the form

$$ \frac{d}{dt} \mathbf{w}_{j}(t) =\mathcal{L}_{j}(\mathbf{w}), \ \ \ \ \mathbf{w}_{j} =\frac{1}{|\Omega_{j}|}{\int\nolimits}_{\Omega_{j}} \mathbf{u}(\mathbf{x},t)d\mathbf{x}, \ \ \ \mathbf{w}=\left\{\mathbf{w}_{j}; j\in \mathcal{J}\right\}. $$
(33)

Thus, this problem boils down to the dynamical system in the form (30). Then we have a two-stage fourth order time-stepping method, now symbolized as the “ 22=4” method. The intuitive meaning is that we adopt the second order flow solvers as building blocks and use a two-stage time-stepping to achieve fourth order accurate numerical methods for hyperbolic problems or convection-dominated problems. We make a diagram in the following.

Careful readers may observe the validity of (33) when the above two-stage algorithm applies to the current case, which is why we have to develop the Lax-Wendroff type flow solvers based on hyperbolic balance laws rather than the formal partial differential equations (Ben-Artzi, M, Li, J: On the consistency and convergence of finite volume approximations to hyperbolic balance laws, submitted). There are at least two points that we should concern: (i) System (33) is index-dependent and therefore each equation for fixedjis related to the neighboring equations; (ii) the continuity of\(\mathcal {L}_{j}\)is crucial when applying the above two-stage algorithm. It is at these points that (30) is substantially different from (1). Therefore, the regularity of flux is a key factor to guarantee the validity of this algorithm. Physically speaking, this regularity is natural by recalling the Lagrangian form of fluid dynamical systems [20]. Hence in the computation of instantaneous values (21) or (24), we must be aware of the regularity of the flux that will be further emphasized in the next section about the GRP solver.

The GRP solver: a discontinuous and nonlinear LW flow solver

As is well-known, and also pointed out in the last section, the standard Lax-Wendroff solver results in an algorithm that producing oscillatory solutions if discontinuities are present. The GRP solver, the abbreviation of the generalized Riemann problem (GRP) solver, can be regarded as the discontinuous and nonlinear version of the Lax-Wendroff solver. This solver was originally proposed in [21] for compressible fluid flows and related problems. See [22] for the comprehensive summary of works before 2003. Later on a direct Eulerian version of GRP solver was derived in [23] and further extended to general hyperbolic conservation laws [24, 25]. The presentation below will follow the direct Eulerian GRP. The application to non-conservative systems is referred to [26].

1-D GRP solver

We first review one-dimensional GRP solver for hyperbolic balance laws

$$ \mathbf{u}_{t}+\mathbf{f}(\mathbf{u})_{x}=\mathbf{h}(x,\mathbf{u}), $$
(34)

subject to the initial data of form (20). An important prototype is the compressible Euler equations with cross section,

$$ \begin{array}{l} \frac{\partial (A(x) \rho)}{\partial t}+\frac{\partial (A(x)\rho u)}{\partial x} = 0,\\\\ \frac{\partial (A(x)\rho u)}{\partial t}+\frac{\partial (A(x)\rho u^{2})}{\partial x}+A(x)\frac{\partial p}{\partial x} =0,\\\\ \frac{\partial (A(x)\rho E)}{\partial t}+\frac{\partial (A(x)u(\rho E+p))}{\partial x} =0,\\ \end{array} $$
(35)

where the variables ρ, u, p and E are the density, velocity, pressure and the total specific energy. The total specific energy consists of two parts \(E=\frac {u^{2}}2+e\), e is the internal specific energy. The function A(x) is the area of the duct. When A(x)≡1, the system (35) represents the planar compressible Euler equations. Let T be the temperature. Then the entropy S can be defined, as usual, by Gibbs relation of thermodynamics,

$$ TdS = de- \frac{p}{\rho^{2}}d\rho. $$
(36)

The local sound speed c is defined as

$$ c^{2} =\frac{\partial p(\rho, S)}{\partial \rho}. $$
(37)

We will distinguish the linear (acoustic) and nonlinear GRP solvers. Both are related. However, as strong waves are involved, the nonlinear GRP solver becomes crucial. Details can be found first in [27] and later in [24, 25] for general versions.

We denote

$$ \begin{array}{l} \mathbf{u}_{\ell} =\mathbf{P}_{-}(0-0),\ \ \ \ \ \mathbf{u}_{r} =\mathbf{P}_{+}(0+0), \\ \mathbf{u}_{\ell}^{\prime} =\mathbf{P}^{\prime}_{-}(0-0), \ \ \ \ \ \mathbf{u}_{r} =\mathbf{P}_{+}^{\prime}(0+0). \end{array} $$
(38)

(I) Linear GRP solver. Linear hyperbolic equations describe the propagation of waves linearly. For the single linear case (6),

$$ u_{t} +a u_{x} =\alpha u, $$
(39)

with a damping constant α, we have obviously

$$ u_{0} =\frac{a+|a|}{2} u_{\ell} + \frac{a-|a|}{2} u_{r}, \ \ \ \ \left(\frac{\partial u}{\partial t}\right)_{0} =-\frac{a+|a|}{2} u_{\ell}^{\prime}- \frac{a-|a|}{2} u_{r}^{\prime}+\alpha u_{0}. $$
(40)

For the linear or semi-linear system case

$$ \mathbf{u}_{t} +\mathbf{A} \mathbf{u}_{x}=\mathbf{h}(\mathbf{u},x), $$
(41)

we need to diagonalize the system and pursue the characteristic decomposition. Denote by λ1,,λm the eigenvalues of A, Λ=diag(λ1,,λm), and |Λ|=diag(|λ1|,,|λm|). Then we decompose A as A=RΛR−1, and denote again |A|=R|Λ|R−1. It turns out that the instantaneous values take

$$ \begin{array}{l} \mathbf{u}_{0} = \frac{\mathbf{A}+|\mathbf{A}|}{2}\mathbf{u}_{\ell} + \frac{\mathbf{A}-|\mathbf{A}|}{2} \mathbf{u}_{r}, \\ \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{0} =-\frac{\mathbf{A}+|\mathbf{A}|}{2} \mathbf{u}_{\ell}^{\prime}- \frac{\mathbf{A}-|\mathbf{A}|}{2} \mathbf{u}_{r}^{\prime}+\mathbf{h}\left(u_{0},0\right). \end{array} $$
(42)

Therefore, the GRP solver for the linear system case is substantially the same as that for the single equation case.

(II) Acoustic Approximation

For nonlinear cases, if u=ur, but \(\|\mathbf {u}_{\ell }^{\prime }-\mathbf {u}_{r}^{\prime }\| \neq 0\), only linear waves emanate from the singularity point (0,0). Then we can linearize the system (34), at the value u0=u=ur, as

$$ \theta_{t} + \mathbf{A}(\mathbf{u}_{0}) \theta_{x} =\mathbf{h}(x, \mathbf{u}_{0}), \ \ \ \theta =\mathbf{u}-\mathbf{u}_{0}, $$
(43)

where A(u0) is the Jacobian f(u0). Note that

$$ \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{0} = \left(\frac{\partial \theta}{\partial t}\right)_{0}, \ \ \text{ and} \left(\frac{yyy \mathbf{u}}{y x}\right)_{0} = \left(\frac{\partial \theta}{\partial x}\right)_{0}. $$
(44)

Immediately we have

$$ \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{0}=-\frac{\mathbf{A}(\mathbf{u}_{0})+|\mathbf{A}(\mathbf{u}_{0})|}{2} \mathbf{u}_{\ell}^{\prime}- \frac{\mathbf{A}(\mathbf{u}_{0})-|\mathbf{A}(\mathbf{u}_{0})|}{2} \mathbf{u}_{r}^{\prime}+\mathbf{h}(u_{0},0). $$
(45)

We can proceed to obtain any higher temporal derivatives (mu/tm)0, abbreviated as ADER in [28]. However, in the framework of 22=4, we are satisfied with the first order temporal variation in (45).

As uur1, weakly nonlinear waves emanate from (0,0). Then we can carry out the so-called acoustic approximation. To be precise, we can use either exact or approximate Riemann solvers to obtain the intermediate state u0 and linearize the system (34) to be in the form (43) so that the temporal derivative (u/t)0 is calculated as in (45).

For the Euler Eq. 35, the acoustic approximation is the following.

  1. (i)

    As u0c0>0 or u0+c0<0, the acoustic waves moves to one side of the t-axis. Then (u/t)0 is taken upwind.

  2. (ii)

    As u0c0<0<u0+c0, the t-axis is located between two acoustic waves. Then we have

    $$ \begin{array}{ll} \left(\frac{\partial u}{\partial t}\right)_{0}=& -\frac{1}{2} \left[(u_{0}+c_{0})\left(u_{\ell}^{\prime}+\frac{p_{\ell}^{\prime}}{\rho_{0} c_{0}}\right) +(u_{0}-c_{0}) \left(u_{r}^{\prime}-\frac{p_{r}^{\prime}}{\rho_{0} c_{0}} \right)\right],\\ \left(\frac{\partial p}{\partial t}\right)_{0}=& -\frac{\rho_{0}c_{0}}{2} \left[(u_{0}+c_{0})\left(u_{\ell}^{\prime}+\frac{p_{\ell}^{\prime}}{\rho_{0} c_{0}}\right) -(u_{0}-c_{0}) \left(u_{r}^{\prime}-\frac{p_{r}^{\prime}}{\rho_{0} c_{0}} \right)\right]\\ & -\frac{A^{\prime}(0)}{A(0)} \rho_{0} c_{0}^{2} u_{0}.\\ \end{array} $$
    (46)

    The quantity (ρ/t)0 is solved according to the direction of the contact discontinuity,

    $$ \left(\frac{\partial \rho}{\partial t}\right)_{0}= \frac{1}{c_{0}^{2}} \left[ \left(\frac{\partial p}{\partial t}\right)_{0} +u_{0} \left(p_{\ell}^{\prime}-c_{0}^{2}\rho_{\ell}^{\prime} \right) \right] $$
    (47)

    if u0=u=ur>0; and

    $$ \left(\frac{\partial \rho}{\partial t}\right)_{0}= \frac{1}{c_{0}^{2}} \left[ \left(\frac{\partial p}{\partial t}\right)_{0} +u_{0} \left(p_{r}^{\prime}-c_{0}^{2}\rho_{r}^{\prime} \right) \right] $$
    (48)

    if u0=u=ur<0.

For “cheap” engineering applications, one can use the local Riemann solution u0 to linearize the nonlinear system and obtain a “linear” system so that the above acoustic approximation strategy can be adopted.

(III) Nonlinear GRP solver

As uur1, nonlinear waves emanate from the singularity point (0,0). The larger the difference between u and ur is, the stronger the strength of the waves is. In Fig. 1 we use the acoustic GRP solver to simulate the big density ratio problem and observe that the numerical solution has large disparity from the exact solution. In Fig. 2, we use the nonlinear GRP solver that will be described below, and see that the numerical solution is improved prominently [16]. Hence it is essential to develop the nonlinear GRP solver as long as strong waves need resolving. We just illustrate the nonlinear GRP solver for Euler equations with cross section (35). For general hyperbolic balance laws, readers are referred to [24, 25].

Fig. 1
figure1

The numerical solutions computed by the second order acoustic GRP scheme (with the exact Riemann solver) are compared with the exact solution (only 66 cells are shown)a Acoustic GRP solver with different grid points. b Zoomed solution

Fig. 2
figure2

The GRP simulation (only 100 cells are shown). a GRP with relatively small number of grid points. b Zoomed solution

We just need to assume a typical case, as shown in Fig. 3, that a rarefaction wave moves to the left, a shock moves to the right and a contact discontinuity lies in the middle. When the waves move to one side of t-axis, i.e., uc>0 or ur+cr<0, it is treated as the acoustic case that (u/t)0 is obtained upwind.

Fig. 3
figure3

Typical wave pattern for the generalized Riemann problem. a Wave pattern for the GRP. The initial data \(\mathbf {u}(x, 0) = \mathbf {u}_{\ell } + x\mathbf {u}^{\prime }_{\ell }\) for x<0 and \(\mathbf {u}(x, 0) = \mathbf {u}_{r} + \mathbf {u}^{\prime }_{r} x\) for x>0. b Wave pattern for the associated Riemann problem

We rewrite (35) in terms of (ρ,u,S),

$$ \begin{array}{l} \frac{\partial \rho}{\partial t} + u\frac{\partial \rho}{\partial x}+\rho \frac{\partial u}{\partial x} =-\frac{A^{\prime}(x)}{A(x)}\rho u,\\ \frac{\partial u}{\partial t}+u\frac{\partial u}{\partial x} + \frac{1}{\rho} \frac{\partial p}{\partial x}=0,\\ \frac{\partial S}{\partial t}+u\frac{\partial S}{\partial x}=0, \end{array} $$
(49)

where p is regarded as a function of ρ and S. In terms of ρ, u and p, the third equation of (49) can be replaced by,

$$ \frac{\partial p}{\partial t} +u \frac{\partial p}{\partial x} +\rho c^{2} \frac{\partial u}{\partial x}= -\frac{A^{\prime}(x)}{A(x)} \rho c^{2} u. $$
(50)

In order to resolve strong rarefaction waves, it is particularly essential to introduce the so-called generalized Riemann invariants, as in [24],

$$ \phi= u - {\int\nolimits}^{\rho} \frac{c(\omega,S)}{\omega}d\omega, \ \ \ \ \psi= u +{\int\nolimits}^{\rho} \frac{c(\omega, S)}{\omega}d\omega. $$
(51)

Together with the entropy variable S, system (35) becomes

$$ \left\{ \begin{array}{l} \frac{\partial \phi}{\partial t}+(u-c)\frac{\partial \phi}{\partial x} = B_{1},\\ \frac{\partial \psi}{\partial t}+(u+c)\frac{\partial \psi}{\partial x} =B_{2},\\ \frac{\partial S}{\partial t} + u\frac{\partial S}{\partial x}=0. \end{array} \right. $$
(52)

where \(B_{1}= T\frac {\partial S}{\partial x}+\frac {A^{\prime }(x)}{A(x)} cu\), \(B_{2}=T\frac {\partial S}{\partial x}-\frac {A^{\prime }(x)}{A(x)} cu\). Here it is easily seen that the variable section A(x) acts on the dynamical behavior of ϕ and ψ, and thus on that of (ρ,u,p). The severe change of entropy inevitably leads to the variation of other physical variables. The GRP solver that we will derive tells precisely how the entropy and the cross section affect the dynamics.

The most important ingredient is the application of nonlinear geometric optics for the local expanding of rarefaction waves using local characteristic coordinates (α,β), as shown in Fig. 3. With that, we can obtain the instantaneous temporal derivatives S/t and ψ/t as (restricted to polytropic gases),

$$ \begin{array}{l} T\frac{\partial S}{\partial t}(0,\beta)= - (\beta+c_{\ell}\theta)\theta^{\frac{2\gamma}{\gamma-1}} T_{\ell} S_{\ell}^{\prime},\ \ \ \ \ \theta=c(0,\beta)/c_{\ell},\\ \frac{\partial \psi}{\partial t}(0,\beta) = G_{1}+\frac{A^{\prime}(0)}{2A(0)}G_{2}, \end{array} $$
(53)

where \(T_{\ell } S_{\ell }^{\prime }\) is defined through the Gibbs relation,

$$ T_{\ell} S_{\ell}^{\prime} =e_{\ell}^{\prime} -\frac{p_{\ell}}{\rho^{2}_{\ell}} \rho_{\ell}^{\prime}, $$
(54)

and G1, G2 are given by,

$$ \begin{array}{l} G_{1}= -\frac{\beta+c_{\ell}\theta}{c_{\ell}} \theta^{\frac{\gamma+1}{\gamma-1}}T_{\ell} S_{\ell}^{\prime} + \frac{\beta+2c_{\ell}\theta}{c_{\ell}} \theta^{\frac{3-\gamma}{2(\gamma-1)}}\left[\frac{2\gamma}{3\gamma-1}T_{\ell} S_{\ell}^{\prime}-c_{\ell}\psi_{\ell}^{\prime}\right],\\\\ G_{2}=\beta(\beta+c_{\ell}\theta) -(\beta+2c_{\ell}\theta)\left[u_{\ell} \theta^{\frac{3-\gamma}{2(\gamma-1)}}+ \overline{G_{2}}\right],\\\\ \overline{G_{2}} = \left\{ \begin{array}{ll} \frac{-2(\gamma+1)c_{\ell}\theta}{(\gamma-1)(3\gamma-5)}\left(1-\theta^{\frac{5-3\gamma}{2(\gamma-1)}}\right)- \frac{(\gamma+1)\psi_{\ell}}{\gamma-3}\left[1-\theta^{\frac{3-\gamma}{2(\gamma-1)}}\right], &\text{if}\ \gamma\neq 3,5/3,\\ 2c_{\ell}(\theta-1) -\psi_{\ell}\ln\theta, &\text{if}\ \gamma=3,\\ 2\left[c_{\ell}\theta\ln\theta+\psi_{\ell}\left(1-\theta\right)\right], &\text{if } \gamma =5/3. \end{array} \right. \end{array} $$
(55)

For general cases, please refer to [29].

Several remarks are in order about the role of entropy variation and the cross section on the dynamics.

  1. (i)

    The source term reflecting geometric variation always plays an important role in the dynamics of flows. Inherently, the critical gas indices are clearly exhibited in (55), which cannot be illustrated in other flow solvers. This is just an evidence that only GRP solver can distinguish different gases.

  2. (ii)

    The entropy change rate is essential and acts on other flow variables as its initial variation is severe. This tells why the GRP solver is indispensable when strong waves are simulated. As the involved waves are weak or \(T \frac {\partial S}{\partial x}\) is small, \(\frac {\partial S}{\partial t}\) is negligible and many approximations such as linearization are acceptable.

The shock is resolved by tracking its trajectory described by the Rankine-Hugoniot relation,

$$ \sigma=\frac{\rho u-\overline \rho \overline u}{\rho -\overline \rho},\ \ \ u= \overline u\pm \Phi(p; \overline p, \overline \rho), \ \ \ \ \ \rho=\Psi(p; \overline p,\overline \rho), $$
(56)

where (ρ,u,p) and \((\overline \rho, \overline u,\overline p)\) are the states ahead and behind the shock, respectively, and

$$ \Phi(p; \overline p,\overline \rho)=(p-\overline p)\sqrt{\frac{1-\mu^{2}}{\overline \rho\left(p+\mu^{2} \overline p\right)}}, \ \ \ \ \ \Psi(p; \overline p,\overline\rho)= \overline\rho\frac{p+\mu^{2} \overline p}{\overline p+\mu^{2}p}, \ \ \ \ \mu^{2} =\frac{\gamma-1}{\gamma+1}, $$
(57)

for polytropic gases.

For the contact discontinuity x=x(t), we make use of the continuity property of pressure and velocity on both sides of the trajectory,

$$ u(x(t)-0,t) =u(x(t)+0,t), \ \ \ \ \ p(x(t)-0,t) =p(x(t)+0,t). $$
(58)

Then the differentiation along the contact discontinuity gives

$$ \frac{Du}{Dt} (x(t)-0,t) =\frac{Du}{Dt} (x(t)+0,t), \ \ \frac{Dp}{Dt} (x(t)-0,t) =\frac{Dp}{Dt} (x(t)+0,t), $$
(59)

where D/Dt=/t+u/x is the material derivative. This relation bridges the rarefaction wave and the shock, just like that for the Riemann solver. We just remind that the density and entropy undergo jump across this contact discontinuity.

Thus we come to the nonlinear GRP solver that are distinguished as nonsonic and sonic cases.

Proposition 1

(Non-sonic case.) Assume a typical wave configuration for the generalized Riemann problem for (35) as shown in Fig. 3 that the t-axis is located in the intermediate region. Then (u/t)0 and (p/t)0 satisfies the following pair of linear equations,

$$ \begin{array}{l} a_{\ell}\left(\frac{\partial u}{\partial t}\right)_{0} +b_{\ell}\left(\frac{\partial p}{\partial t}\right)_{0}= d_{\ell}, \\ a_{r} \left(\frac{\partial u}{\partial t}\right)_{0} +b_{r} \left(\frac{\partial p}{\partial t}\right)_{0}= d_{r}, \end{array} $$
(60)

where a, b, d and ar, br, dr are specified below. Also the computation of (ρ/t)0 are computed by the following two cases.

(i) If u0>0, the contact discontinuity moves to the right and separates two states (ρ0,u0,p0), (ρ0r,u0,p0). The coefficients a, b and d are given as,

$$ (a_{\ell}, b_{\ell}, d_{\ell})= (\tilde{a}_{\ell}, \tilde{b}_{\ell}, \tilde{d}_{\ell}). $$
(61)

The coefficients ar, br and dr are given by

$$ \begin{array}{l} a_{r} = \frac{c_{0\ell}^{2}}{c_{0\ell}^{2}-u_{0}^{2}}\left[\tilde{a}_{r} \left(1-\frac{\rho_{0\ell}u_{0}^{2}}{\rho_{0r}c_{0r}^{2}}\right) +\tilde{b}_{r} (\rho_{0r}-\rho_{0\ell})u_{0}\right],\\\\ b_{r} =\frac{1}{c_{0\ell}^{2}-u_{0}^{2}}\left[\tilde{a}_{r} \left(-\frac{1}{\rho_{0\ell}}+\frac{c_{0\ell}^{2}}{\rho_{0r}c_{0r}^{2}}\right)u_{0} -\tilde{b}_{r} \left(-\frac{\rho_{0r}}{\rho_{0\ell}} u_{0}^{2}+c_{0\ell}^{2}\right)\right],\\\\ d_{r} =\tilde{d}_{r} +\frac{A^{\prime}(0)}{A(0)} \frac{u_{0}^{3}}{c_{0\ell}^{2}-u_{0}^{2}}\left[\tilde{a}_{r} \left(1-\frac{\rho_{0\ell}c_{0\ell}^{2}}{\rho_{0r}c_{0r}^{2}}\right) +\tilde{b}_{r} (\rho_{0r}-\rho_{0\ell})c_{0\ell}^{2}\right]. \end{array} $$
(62)

The value (ρ/t)0 is computed from the rarefaction side,

$$ \left(\frac{\partial \rho}{\partial t}\right)_{0} = \frac{1}{c_{0\ell}^{2}}\left[\left(\frac{\partial p}{\partial t}\right)_{0}+(\gamma-1) \rho_{0\ell} u_{0}\left(\frac{c_{0\ell}}{c_{\ell}}\right)^{\frac{1+\mu^{2}}{\mu^{2}}}T_{\ell} S_{\ell}^{\prime}\right], $$
(63)

by using the state equation p=p(ρ,S).

(ii) If u0<0, the contact discontinuity moves to the left. The coefficients ar, br and dr are given as,

$$ \left(a_{r}, b_{r}, d_{r} \right)= \left(\tilde{a}_{r}, \tilde{b}_{r}, \tilde{d}_{r} \right). $$
(64)

While the coefficients a, b and d are computed by

$$ \begin{array}{l} a_{\ell}= \frac{c_{0r}^{2}}{c_{0r}^{2}-u_{0}^{2}}\left[\tilde{a}_{\ell} \left(1-\frac{\rho_{0r}u_{0}^{2}}{\rho_{0\ell}c_{0\ell}^{2}}\right) +\tilde{b}_{\ell} \left(\rho_{0\ell}-\rho_{0r}\right)u_{0}\right],\\\\ b_{\ell}=\frac{1}{c_{0r}^{2}-u_{0}^{2}}\left[\tilde{a}_{\ell} \left(-\frac{1}{\rho_{0r}}+\frac{c_{0r}^{2}}{\rho_{0\ell}c_{0\ell}^{2}}\right)u_{0} -\tilde{b}_{\ell} \left(-\frac{\rho_{0\ell}}{\rho_{0r}} u_{0}^{2}+c_{0r}^{2}\right)\right],\\\\ d_{\ell}=\tilde{d}_{\ell} +\frac{A^{\prime}(0)}{A(0)} \frac{u_{0}^{3}}{c_{0r}^{2}-u_{0}^{2}}\left[\tilde{a}_{\ell} \left(1-\frac{\rho_{0r}c_{0r}^{2}}{\rho_{0\ell}c_{0\ell}^{2}}\right) +\tilde{b}_{\ell}\left(\rho_{0\ell}-\rho_{0r}\right)c_{0r}^{2}\right]. \end{array} $$
(65)

The value (ρ/t)0 is computed from the shock side,

$$ g_{\rho}^{R} \left(\frac{\partial \rho}{\partial t}\right)_{0} +g_{p}^{R} \left(\frac{Dp}{Dt}\right)_{0}+g_{u}^{R}\left(\frac{Du}{Dt}\right)_{0} = u_{0} \cdot f_{r}, $$
(66)

where \(g_{\rho }^{R}\), \(g_{p}^{R}\), \(g_{u}^{R}\) and fr are constant, explicitly given in the following,

$$ \begin{array}{c} g_{\rho}^{R} = u_{0}- \sigma_{0}, \ \ g_{p}^{R}= \frac{\sigma_{0}}{c_{0r}^{2} }-u_{0} H_{1}, \ \ \ g_{u}^{R}= \rho_{2*}(\sigma_{0}-u_{0})\cdot u_{0} \cdot H_{1},\\\\ \begin{array}{rl} f_{r} =& (\sigma_{0}-u_{r})\cdot H_{2} \cdot p_{r}^{\prime}+(\sigma_{0}-u_{r})\cdot H_{3} \cdot\rho_{r}^{\prime} -\rho_{r} \cdot \left(H_{2} c_{r}^{2}+H_{3}\right)\cdot u_{r}^{\prime}\\\\ & -\frac{A^{\prime}(0)}{A(0)}\cdot \left(H_{2} c_{r}^{2}+H_{3}\right)\rho_{r} u_{r}, \end{array}\\\\ \end{array} $$
(67)

and H1, H2 and H3 are expressed by

$$ \begin{array}{c} H_{1}=\frac{ \rho_{r} \left(1-\mu^{4}\right) p_{r} }{\left(p_{r} +\mu^{2} p_{0}\right)^{2}}, \ \ \ H_{2}=\frac{ \rho_{r} \left(\mu^{4}-1\right)p_{0}}{\left(p_{r} +\mu^{2} p_{0}\right)^{2}},\ \ \ H_{3}=\frac{p_{0}+\mu^{2} p_{r} }{ p_{r} +\mu^{2} p_{0}}. \end{array} $$
(68)

The other coefficients \(\left (\tilde {a}_{\ell }, \tilde {b}_{\ell }, \tilde {d}_{\ell }\right)\) and \(\left (\tilde {a}_{r}, \tilde {b}_{r}, \tilde {d}_{r}\right)\) are

$$ \begin{array}{l} \tilde{a}_{\ell}(0,\beta)= 1, \\ \tilde{b}_{\ell}(0,\beta) = \frac{1}{\rho(0,\beta) c(0,\beta)},\\ \tilde{d}_{\ell}(\beta)=\frac{\beta+2\theta c_{\ell}}{c_{\ell}}\cdot \theta^{\frac{3-\gamma}{2(\gamma-1)}}\left(\frac{2\gamma}{3\gamma-1}T_{\ell} S_{\ell}^{\prime}-c_{\ell}\psi_{\ell}^{\prime}\right)+\frac{A^{\prime}(0)}{2A(0)} G_{2}, \end{array} $$
(69)

and

$$ \begin{array}{l} \tilde{a}_{r} =1-\frac{\sigma_{0} u_{0}}{u_{0}^{2}-c_{0r}^{2}}-\frac{\sigma_{0} \rho_{0r}c_{0r}^{2}}{u_{0}^{2}-c_{0r}^{2}}\cdot \Phi_{1},\\ \tilde{b}_{r} = \frac{1}{\rho_{0r}}\frac{\sigma_{0} }{u_{0}^{2}-c_{0r}^{2}}-\left(1-\frac{\sigma_{0} u_{0}}{u_{0}^{2}-c_{0r}^{2}}\right)\Phi_{1},\\ \tilde{d}_{r} =L_{p}^{R} \cdot p_{r}^{\prime}+L_{u}^{R} \cdot u_{r}^{\prime}+L_{\rho}^{R} \cdot \rho_{r}^{\prime} +\frac{A^{\prime}(0)}{A(0)} j_{r}, \end{array} $$
(70)

where we use notations

$$ \begin{array}{l} L_{p}^{R}= -\frac{1}{\rho_{r} }+\left(\sigma_{0}-u_{r} \right)\cdot \Phi_{2}, \\ L_{u}^{R}= \sigma_{0}-u_{r} -\rho_{r} \cdot c_{r}^{2} \cdot \Phi_{2}-\rho_{r} \cdot \Phi_{3},\\ L_{\rho}^{R}= \left(\sigma_{0}-u_{r} \right)\cdot \Phi_{3}, \\ j_{r} = -\left(\Phi_{2} c_{0r}^{2}+\Phi_{3}\right)\rho_{r} u_{r} +\left(1+\Phi_{1}\rho_{0r}u_{0}\right)\frac{\sigma_{0} c_{0r}^{2} u_{0}}{u_{0}^{2}-c_{0r}^{2}}; \\\\ \sigma_{0}=\frac{\rho_{0r}u_{0}-\rho_{r} u_{r} }{\rho_{0r}-\rho_{r} },\\ \Phi_{1} =\frac{1}{2} \sqrt{\frac{1-\mu^{2}}{ \rho_{r} \left(p_{0}+\mu^{2} p_{r} \right)}} \cdot \frac{p_{0}+\left(1+2\mu^{2}\right) p_{r} }{p_{0}+\mu^{2} p_{r} }, \\ \Phi_{2}=-\frac{1}{2} \sqrt{\frac{1-\mu^{2}}{ \rho_{r} \left(p_{0}+\mu^{2} p_{r} \right)}} \cdot \frac{\left(2+\mu^{2}\right)p_{0}+\mu^{2} p_{r} }{p_{0}+\mu^{2} p_{r}}, \\ \Phi_{3} =- \frac{p_{0}- p_{r} }{2 \rho_{r}} \sqrt{\frac{1-\mu^{2}}{ \rho_{r} \left(p_{0}+\mu^{2} p_{r} \right)}}. \end{array} $$
(71)

Proposition 2

(Sonic case). Assume that the t-axis is located inside the rarefaction wave associated with uc. Then we have

$$ \begin{array}{l} \left(\frac{\partial u}{\partial t}\right)_{0} =\frac{1}{2}\left[ \tilde{d}_{\ell}+\theta^{\frac{2\gamma}{\gamma-1}} T_{\ell} S_{\ell}^{\prime}+\frac{A^{\prime}(0)}{A(0)} u_{0}^{2}\right],\\ \left(\frac{\partial p}{\partial t}\right)_{0} =\frac{\rho_{0} c_{0}}{2} \left[ \tilde{d}_{\ell}-\theta^{\frac{2\gamma}{\gamma-1}} T_{\ell} S_{\ell}^{\prime}-\frac{A^{\prime}(0)}{A(0)} u_{0}^{2}\right], \end{array} $$
(72)

where \(\tilde {d}_{\ell }\) is given in (69), with θ=c0/c, and (u0,ρ0,c0) is the limiting value of (u,ρ,c)along the t-axis so that u0c0=0. Then density change rate is given as in (63).

The above formulae look complicated, but seem irreplaceable. We can go to [24] for technical derivation of them.

Temporal-spatial coupling and thermodynamical effect

Thermodynamics distinguishes compressible fluid flows from incompressible ones, and the Mach number can be regarded as a parameter of the compressibility. The entropy dissipation is a necessary condition guaranteeing the stability of numerical schemes. Let’s consider the compressible Euler equations with uniform cross section (A(x)≡constant in (35)). The entropy inequality says

$$ (\rho S)_{t} + (\rho u S)_{x} \geq 0, \ \ \text{in}\ \mathcal{D}^{\prime}. $$
(73)

However, it is a well-known open problem whether this inequality is satisfied at discrete level, particularly for high order accurate schemes. There are two origins of discrete errors: the data projection and the flux approximation. In a general setting of finite volume framework, given the initial data \(\mathbf {u}_{n}(x) \in \mathcal {P}_{k}\) at t=tn, we have to find the solution un+1(x) at next time level t=tn+1, satisfying

$$ \begin{array}{rl} {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}} \rho S\left(\mathbf{u}_{n+1}(x)\right)dx & \geq {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}} \rho S\left(\mathbf{u}_{n}(x)\right) dx\\ & -\Delta t\left[ (\rho u S)_{j+\frac 12}^{approx} - (\rho u S)_{j-\frac 12}^{approx} \right]+ Tol(\Delta x, \Delta t), \\ &. \end{array} $$
(74)

where \((\rho uS)_{j+\frac 12}^{approx}\) is the numerical entropy flux, and Tol(Δx,Δt) is the entropy production that has the maximum tolerance of order three, \(Tol(\Delta x,\Delta t)=\mathcal {O}\left (\Delta t^{3}+\Delta x^{3}\right)\). We comment on how to achieve this inequality at the discrete level in the following.

  1. (i)

    The persistence space \(\mathcal {P}_{k}\) often consists of piecewise polynomials of degree k. Given the initial data \(\mathbf {u}_{n}(x)\in \mathcal {P}_{k}\), we solve (35) and obtain the (analytic) entropy solution u(x,t) for tn<t<tn+1, satisfying

    $$ \begin{array}{rl} & {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}}\rho S\left(\mathbf{u}\left(x,t_{n+1}\right)\right)dx \geq {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}}\rho S\left(\mathbf{u}_{n}(x)\right)dx\\ -& \left[{\int\nolimits}_{t_{n}}^{t_{n+1}}\rho u S\left(x_{j+\frac 12},t\right)dt-{\int\nolimits}_{t_{n}}^{t_{n+1}}\rho u S\left(x_{j-\frac 12},t\right)dt\right]. \end{array} $$
    (75)
  2. (ii)

    The projection of u(x,t) onto \(\mathcal {P}_{k}\) (reconstruction procedure) is required to satisfy

    $$ {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}}\rho S\left(\mathbf{u}_{n+1} (x)\right)dx \geq {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}}\rho S\left(\mathbf{u}\left(x,t_{n+1}\right)\right)dx+\mathcal{O}\left(\Delta x^{3}\right). $$
    (76)

    This is an extremely difficult step. For scalar conservation laws, there was a nice discussion on MUSCL-type linear reconstruction [30]. In general, the Jensen inequality tells that

    $$ \begin{array}{l} \rho S\left(\bar{\mathbf{u}}_{j}^{n+1}\right) \geq \frac{1}{\Delta x} {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}}\rho S\left(x,t_{n+1}\right)dx, \\ \bar{\mathbf{u}}_{j}^{n+1} =\frac{1}{\Delta x} {\int\nolimits}_{x_{j-\frac 12}}^{x_{j+\frac 12}}\mathbf{u}\left(x,t_{n+1}\right)dx. \end{array} $$
    (77)

    Hence, there is still some room to make (76) hold, which remains an open problem.

    Open problem on data projection: Find an optimal reconstruction strategy so that (76) holds.

  3. (iii)

    Assume that (76) holds for certain data projection. As shown above, we approximate the interface value in the following way

    $$ \mathbf{u}(x_{j+\frac 12},t) = \mathbf{u}_{j+\frac 12}^{n} +\left(\frac{\partial \mathbf{u}}{\partial t}\right)_{j+\frac 12}^{n}(t-t_{n}) +\mathcal{O}((t-t_{n})^{2}), \ \ \ t_{n}< t< t_{n+1}. $$
    (78)

    In particular, we make use of the entropy information. It turns out that

    $$ (\rho u S)_{j+\frac 12}^{approx} : = (\rho u S)(x_{j+\frac 12},t_{n+\frac 12})= \frac{1}{\Delta t} \int_{t_{n}}^{t_{n+1}} \rho u S(x_{j+\frac 12},t)dt+\mathcal{O}(\Delta t^{2}). $$
    (79)

    Summarizing all together yields (74).

It is observed that the precise calculation of entropy in (53) is a direct way to achieve (79). Other ways may at most lead to

$$ (\rho u S)_{j+\frac 12}^{approx} : = (\rho u S)\left(x_{j+\frac 12},t_{n+\frac 12} \right)= \frac{1}{\Delta t} \int_{t_{n}}^{t_{n+1}} \rho u S(x_{j+\frac 12},t)dt+\mathcal{O}\left(\|\mathbf{u}\|^{2}\right). $$
(80)

The error of \(\mathcal {O}\left (\|\mathbf {u}\|^{2}\right)\) is not tolerated unless for scalar cases or smooth flows, since this type of errors violate the entropy inequality in the limit.

It is no doubt that the achievement of (79) is the outcome of the direct use of the entropy equation in (49), which is actually the Lax-Wendroff procedure, a temporal-spatial coupling procedure.

M-D GRP solver and transversal effects

When computing multidimensional (M-D) problems, M-D GRP solver is necessary to reflect the transversal effect, which is impossible using the exact or approximate normal Riemann solvers. We restrict to two-dimensional hyperbolic balance laws

$$ \mathbf{u}_{t} +\mathbf{f}(\mathbf{u})_{x} +\mathbf{g}(\mathbf{u})_{y}=\mathbf{h}(x,y,\mathbf{u}), $$
(81)

where f and g are flux functions. 3-D GRP solver is straightforward. The initial data takes the form

$$ \mathbf{u}_{0}(x,y) = \left\{ \begin{array}{ll} \mathbf{u}_{-}(x,y), \ \ & x<0,\\ \mathbf{u}_{+}(x,y), & x>0, \end{array} \right. $$
(82)

where u±(x,y) are two polynomials of degree k. The x-direction is the normal and the y-direction is the transversal. A particular case is

$$ \mathbf{u}_{0}(x,y) =\left\{ \begin{array}{ll} \mathbf{u}_{-} +\nabla\mathbf{u}_{0,-}\cdot \mathbf{x}, \ \ \ x<0,\\ \mathbf{u}_{+} +\nabla\mathbf{u}_{0,+}\cdot \mathbf{x}, \ \ \ x>0. \end{array} \right. $$
(83)

The M-D GRP solver can be classified as M-D linear GRP solver, acoustic GRP solver, nonlinear normal GRP solver with transversal perturbation, and genuinely nonlinear M-D GRP solver.

(I) M-D linear GRP solver. We consider the linear case

$$ \mathbf{u}_{t} +\mathbf{A} \mathbf{u}_{x} +\mathbf{B}\mathbf{u}_{y}=0, $$
(84)

where A and B are constant matrices, and both of them have their respective real eigenvalues and the complete sets of eigenvectors. We first assume that (84) is subject to the initial data (83). Note that u satisfies the same form of (84),

$$ (\nabla \mathbf{u})_{t} +\mathbf{A}(\nabla\mathbf{u})_{x}+\mathbf{B}(\nabla\mathbf{u})_{y}=0, $$
(85)

but subject to the initial data

$$ \nabla\mathbf{u}_{0}(x,y)=\left\{\begin{array}{ll} \nabla\mathbf{u}_{0,-}, & x<0,\\ \nabla\mathbf{u}_{0,+}, & x>0. \end{array} \right. $$
(86)

This boils down to the standard Riemann problem for u. Therefore, the gradient u has an explicit expression,

$$ \nabla\mathbf{u}(x,y,t) = \sum_{\ell=1}^{L(x,t)} \nabla v_{0,+}^{\ell} \mathbf{r}^{\ell} + \sum_{\ell=L(x,t)+1}^{m} \nabla v_{0,-}^{\ell} \mathbf{r}^{\ell}, $$
(87)

where the notations L(x,t) is the maximum value of such that xλt>0, λ is the eigenvalue of A and r is the associated eigenvector, v is so defined that

$$ \mathbf{u} =\sum_{\ell=1}^{m} v^{\ell} \mathbf{r}^{\ell}, \ \ \ \mathbf{v}=\left(v^{1}, \cdots, v^{m}\right). $$
(88)

See [31]. In particular, we have

$$ \nabla\mathbf{u}(0,y,t) = \sum_{\ell: \lambda^{\ell}<0} \nabla v_{0,+}^{\ell} \mathbf{r}^{\ell} + \sum_{\ell:\lambda^{\ell}>0} \nabla v_{0,-}^{\ell} \mathbf{r}^{\ell}. $$
(89)

Then we immediately obtain

$$ \begin{array}{rl} \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{0}& : = {\lim}_{t\rightarrow 0^{+}} \frac{\partial \mathbf{u}}{\partial t}(0,y, t) \\ & = -\mathbf{A} {\lim}_{t\rightarrow 0^{+}} \frac{\partial \mathbf{u}}{\partial x}(0,y, t)-\mathbf{B}{\lim}_{t\rightarrow 0^{+}} \frac{\partial \mathbf{u}}{\partial y}(0,y, t)\\ & =-(\mathbf{A},\mathbf{B})\cdot \nabla\mathbf{u}(0,y,0^{+}). \end{array} $$
(90)

As far as the more general initial data (82) is concerned, the solution u consists of piecewise polynomials of the same degree as the initial data since (84) is a linear system. Here we are satisfied with the second order GRP solver and solve (84) at any point (0,y0,0) to obtain

$$ \left(\frac{\partial \mathbf{u}}{\partial t}\right)_{0} =-(\mathbf{A},\mathbf{B})\cdot \nabla\mathbf{u}\left(0,y_{0},0^{+}\right), $$
(91)

where u(0,y0,0+) are calculated as the same procedure as above.

(II) M-D acoustic GRP solver.

For nonlinear cases (81), if the initial data (82) is continuous but discontinuous in its derivatives, acoustic waves emanate from the interface x=0, just as one-dimensional case. For this case, we might as well take the initial data (83) and assume that u=u+ but u0,−u0,+≠0. Then we linearize (81) around the state u0=u=u+ to obtain

$$ \theta_{t} +\mathbf{f}^{\prime}(\mathbf{u}_{0}) \theta_{x}+\mathbf{g}^{\prime}(\mathbf{u}_{0}) \theta_{y}=\mathbf{h}(x,y,\mathbf{u}_{0}), \ \ \ \theta =\mathbf{u}-\mathbf{u}_{0}. $$
(92)

Then we can exactly follow the linear case to calculate (u/t)0.

The acoustic approximation applies for the case uu+1. We linearize (81) around the intermediate state u0 resulting from the associated Riemann problem. Then the linear GRP solver applies for this case.

(III) M-D genuinely nonlinear GRP solver with transversal description.

As uu+1, we have to deal with genuinely nonlinear GRP. Thinking of the initial value problem for (81) subject to the initial data (83), the solution is the envelope of Riemann solution along x=0 locally at t=0. Hence along x=0, the associated Riemann solution is known. For example, at two points (0,y1,0) and (0,y2,0), we solve the Riemann problem locally for the normal conservation law, respectively,

$$ \mathbf{u}_{t}+\mathbf{f}(\mathbf{u})_{x}=0, $$
(93)

and obtain the local intermediate values u(0,y1,0+) and u(0,y2,0+). Then for any point (0,y,0), y1<y<y2, we can approximate \(\frac {\partial \mathbf {u}}{\partial y}(0,y,0^{+})\). Particularly, we approximate

$$ \mathbf{u}_{y}\left(0,y_{0}, 0^{+}\right) =\frac{\mathbf{u}\left(0,y_{1},0^{+}\right)-\mathbf{u}\left(0,y_{2},0^{+}\right)}{y_{1}-y_{2}}+\mathcal{O}\left((y_{1}-y_{2})^{2}\right). $$
(94)

Then we regard the transversal term g(u)y and h(x,y,u) as a perturbation locally, and solve the following problem,

$$ \mathbf{u}_{t} +\mathbf{f}(\mathbf{u})_{x} =-\mathbf{g}(\mathbf{u})_{y} +\mathbf{h}(x,y,\mathbf{u})=: \mathbf{d}(x,y,\mathbf{u},\mathbf{u}_{y}). $$
(95)

This boils down to the one-dimensional planar problem locally, for which the GRP solver was proposed in [24]. Detailed and complete M-D GRP solver is proposed in [32].

Transversal effects for genuinely M-D schemes

For multidimensional (M-D) problems, the balance law can be always written in the form,

$$ \frac{d}{dt} \int_{\Omega}\mathbf{u}(\mathbf{x},t)d\mathbf{x} =-\int_{\partial\Omega} \mathbf{f}(\mathbf{u})\cdot \mathbf{n} d L, $$
(96)

where Ω is the control volume, Ω is the boundary and n is the outer unit normal. We ignore the external force just for the clarity of presentation.

Thanks to the Galilean invariance, we always assume that (1,0) (the direction x-axis) is the normal direction, and (0,1) (the direction of y-axis) is the transversal direction. The standard Riemann solver just reflects the normal effect. In contrast, the LW procedure can describe the transversal effect precisely. Consider a linear advection problem

$$ u_{t}+a u_{x}+{bu}_{y}=0. $$
(97)

Then we use the temporal-spatial coupling property to obtain

$$ \left(\frac{\partial u}{\partial t} \right)_{\partial \Omega} =-a \left(\frac{\partial u}{\partial x} \right)_{\partial \Omega}-b\left(\frac{\partial u}{\partial y} \right)_{\partial \Omega}, $$
(98)

where \((\frac {\partial u}{\partial x})_{\partial \Omega }\) and \((\frac {\partial u}{\partial y})_{\partial \Omega }\) can be obtained by solving the associated Riemann problem. Also as remarked in Section 2 for the linear wave system, the transversal effect is substantial even though the convergence rate is formally the same.

The kinetic LW flow solver

The fluid dynamics can be described in various viewpoints, such as the kinetic description. The governing equation is the Boltzmann-type equation

$$ f_{t} + \xi\cdot\nabla_{\mathbf{x}} f =\frac{1}{\epsilon} B(f, f), $$
(99)

where f=f(t,x,ξ) is the density distribution, ξ is the velocity of molecules (particle), and B(f,f) is the collision term, ε is the Knusner number. Ideally, for a given initial distribution, we solve (99) to obtain the solution \(f\left (t,x_{j+\frac 12}, \xi \right)\) and define the numerical flux

$$ \mathbf{f}_{j+\frac 12}(t_{n}; t_{n+1}) =\frac{1}{\Delta t} \int_{t_{n}}^{t_{n+1}}\int_{\mathfrak{R}^{3}} \xi \psi f(t,x_{j+\frac 12}, \xi)d \xi dt, $$
(100)

where ψ=(1,ξ,ξ2) is the invariant, and the average of macroscopic variables is

$$ \mathbf{u}_{j}^{n+1}=\frac{1}{\Delta x} \int_{x_{j-\frac 12}}^{x_{j+\frac 12}}\int_{\mathfrak{R}^{3}} \psi f(t_{n+1},x, \xi)d \xi dx. $$
(101)

In general, it is difficult to solve the Eq. 99 analytically. To understand the relation of macroscopic equations (Euler and Navier-Stokes equations) and the kinetic equation, we first take the so-called railroad method in [33] as an example to illustrate how to devise kinetic schemes.

Railroad method

Consider the linear advection equation

$$ u_{t} + a u_{x}=0, \ \ \ u(x,0) =u_{0}(x). $$
(102)

Introduce a distribution function f(t,x,ξ) and define the macroscopic variable u(x,t) as a moment of f,

$$ u(x,t) =\int_{-\infty}^{\infty} f(t,x,\xi)d\xi. $$
(103)

If we choose f to take the form,

$$ f(t,x,\xi)= \frac{u(x,t)}{\sqrt{\pi}}\exp\left[-(\xi-a)^{2}\right], $$
(104)

then f(t,x,ξ) satisfies

$$ f_{t} +\xi f_{x} = Q[f]:= \frac{(\xi-a)}{\sqrt{\pi}}\exp\left[-(\xi-a)^{2}\right]\frac{\partial u}{\partial x}, $$
(105)

subject to initial data

$$ f(0,x,\xi) =\frac{u_{0}(x)}{\sqrt{\pi}}\exp\left[-(\xi-a)^{2}\right]. $$
(106)

The initial value problem (102) and the problem (103)-(106) are equivalent: If one solution is known, then the other is defined. We write the solution of (105)-(106) as

$$ f(t,x,\xi) = f(0, x-\Delta t\xi,\xi) +\int_{0}^{\Delta t} Q[f](\tau,x-(\Delta t-\tau)\xi),\tau,\xi)d\tau. $$
(107)

Then the solution u(x,Δt) is given as

$$ u(x,t) = \int_{-\infty}^{\infty}f(0, x-\Delta t\xi,\xi) d\xi +\int_{-\infty}^{\infty}\int_{0}^{\Delta t} Q[f](\tau,x-(\Delta t-\tau)\xi),\tau,\xi)d\tau d\xi. $$
(108)

Note that the LW approach for (107) yields

$$ f(t,x,\xi) = f(0,x,\xi) + \Delta t \xi \frac{\partial}{\partial x} f(0,x,\xi) + \Delta t Q[f](0, x,\xi)+ \mathcal{O}\left(\Delta t^{2}\right). $$
(109)

Therefore we have

$$ u(x,t) = \int_{-\infty}^{\infty} (f(0,x,\xi) + \Delta t \xi \frac{\partial}{\partial x} f(0,x,\xi) + \Delta t Q[f](0, x,\xi))d\xi +\mathcal{O}\left(\Delta t^{2}\right), $$
(110)

which yields a second order approximation to the exact solution u(x,t).

The numerical solution is

$$ u_{j}(\Delta t) =u_{j}(0) -\frac{\Delta t}{\Delta x} \left[F_{j+\frac 12}-F_{j-\frac 12}\right], $$
(111)

where

$$\begin{array}{l} u_{j}(t)=\frac{1}{\Delta x} \int_{x_{j-\frac 12}}^{x_{j+\frac 12}} \int_{-\infty}^{\infty} f(t,x,\xi)d\xi dx, \\ F_{j+\frac 12}=\int_{0}^{\Delta t} \int_{-\infty}^{\infty} \xi f(t,x_{j+\frac 12},\xi)d\xi dt. \end{array} $$

We assume the initial data for (102) is piecewise smooth with possible discontinuity at \(x=x_{j+\frac 12}\). Correspondingly, the initial data (106) for (105) consists of two parts. It turns out that the numerical flux \(F_{j+\frac 12}\) in (111) becomes

$$ F_{j+\frac 12} =F_{j+\frac 12}^{+} +F_{j+\frac 12}^{-}, $$
(112)

where \(F_{j+\frac 12}^{\pm }\) consist of three parts, respectively,

$$ \begin{array}{l} F_{j+\frac 12}^{\pm} = \int_{0}^{\Delta t} \int_{\pm \xi>0} \xi f\left(\tau,x_{j+\frac 12},\xi\right)d\xi d\tau = \Delta t G_{j+\frac 12}^{\pm} -\frac{\Delta t^{2}}{2} \left(H_{j+\frac 12}^{\pm} -K^{\pm}_{j+\frac 12}\right), \\ G_{j+\frac 12}^{\pm} =\int_{\pm \xi>0} \xi f\left(0,x_{j+\frac 12}\mp 0,\xi\right)d\xi,\\ H_{j+\frac 12}^{\pm} =\int_{\pm \xi>0} \xi^{2}\frac{\partial}{\partial x} f\left(0,x_{j+\frac 12}\mp 0,\xi\right)d\xi,\\ K_{j+\frac 12}^{\pm} = \int_{\pm\xi>0} \xi Q[f]\left(0,x_{j+\frac 12}\mp 0,\xi\right)d\xi. \end{array} $$
(113)

As the solution is smooth, the scheme (111) becomes the LW approach immediately. See [33] for details.

The LW type solver for gas kinetic schemes

Let’s now work on a simplified model, the Bhatnagar-Gross-Krook (BGK) model [34],

$$ f_{t} + \xi f_{\mathbf{x}} =\frac{g-f}{\epsilon}, $$
(114)

where ε is the collision time, and g is the equilibrium state, approached by f as ε goes to zero,

$$ g= \frac{\rho}{m} \left(\frac{m}{2\pi k T}\right)^{\frac 32} e^{-(m/2kT)\xi^{2}}, $$
(115)

where m and k are constant, ρ and T are density and temperature, respectively. Indeed, all macroscopic variables ρ, u and E are defined as

$$ (\rho, \mathbf{u}, E)(\mathbf{x},t) =\int_{\mathfrak{R}^{3}} \left(1,\xi, \xi^{2}\right) f(t,\mathbf{x},\xi)d\xi. $$
(116)

The validity of BGK-model is clearly explained in [34].

Starting with (114), Xu and his collaborators successfully developed gas kinetic scheme (GKS) solver [3539]. A key ingredient is that the explicit solution formula for (114) is used for the numerical flux approximation,

$$ f(t, x_{j+\frac 12}, \xi) = \frac{1}{\epsilon} \int_{0}^{\Delta t} g(t^{\prime}, x^{\prime}, \xi)e^{-(t-t^{\prime})/\epsilon} dt^{\prime}+e^{-t/\epsilon} f_{0}\left(x_{j+\frac 12}-\xi t, \xi\right), $$
(117)

subject to the initial data f0(x,ξ), where \(x^{\prime }=x_{j+\frac 12}-\xi (t-t^{\prime })\). Here just the case of one-dimension is described. The full information contained in (117) provides “exact” expression of flux across the interface \(x=x_{j+\frac 12}\), which is of course consistent with the LW flow solver. We can go to [38] for comprehensive description of the GKS solver. For the gas-kinetic scheme, the gas evolution is a relaxation process from kinetic to hydrodynamic scale through the exponential function, and the corresponding flux is a complicated function of time.

In order to obtain the time derivatives of the flux function at tn and t=tn+Δt/2 with the correct physics, the flux function should be approximated as a linear function of time within a time interval. Let’s first introduce the following notation,

$$\begin{array}{*{20}l} \mathbb{F}_{i+1/2}(W^{n},\delta) =\int_{t_{n}}^{t_{n}+\delta}F_{i+1/2}(W^{n},t)dt&=\int_{t_{n}}^{t_{n}+\delta}\int \xi f,{tmx}_{i+1/2},\xi)d\xi dt. \end{array} $$

In the time interval [tn,tn+Δt], the flux is expanded as the following linear form

$$\begin{array}{*{20}l} F_{i+1/2}(W^{n},t)=F_{i+1/2}^{n}+ \partial_{t} F_{j+1/2}^{n}(t-t_{n}). \end{array} $$
(118)

The coefficients \(F_{j+1/2}^{n}\) and \(\partial _{t}F_{j+1/2}^{n}\) can be determined as follows,

$$\begin{array}{*{20}l} F_{i+1/2}(W^{n},t_{n})\Delta t&+\frac{1}{2}\partial_{t} F_{i+1/2}(W^{n},t_{n})\Delta t^{2} =\mathbb{F}_{i+1/2}(W^{n},\Delta t), \\ \frac{1}{2}F_{i+1/2}(W^{n},t_{n})\Delta t&+\frac{1}{8}\partial_{t} F_{i+1/2}(W^{n},t_{n})\Delta t^{2} =\mathbb{F}_{i+1/2}(W^{n},\Delta t/2). \end{array} $$

By solving the linear system, we have

$$\begin{array}{*{20}l} F_{i+1/2}(W^{n},t_{n})&=(4\mathbb{F}_{i+1/2}(W^{n},\Delta t/2)-\mathbb{F}_{i+1/2}(W^{n},\Delta t))/\Delta t,\\ \partial_{t} F_{i+1/2}(W^{n},t_{n})&=4(\mathbb{F}_{i+1/2}(W^{n},\Delta t)-2\mathbb{F}_{i+1/2}(W^{n},\Delta t/2))/\Delta t^{2}. \end{array} $$
(119)

Similarly, Fi+1/2(W,t),tFi+1/2(W,t) for the intermediate state can be constructed. For the two-dimensional computation, the corresponding fluxes in the y-direction can be obtained as well. Readers are referred to [18].

There are huge numbers of references about kinetic solvers, which are beyond the scope of the current paper. We stop to discuss further.

Compact reconstruction using the Hermite interpolation

The compactness is a key factor in the design of high order schemes, determining the dissipation of the schemes near discontinuities and the numerical treatment of boundary conditions. With the increase of time-stepping, the width of computational stencils is inevitably expanded for multi-stage methods. Hence it is very important to construct the data in a compact way.

Unlike WENO using the Lagrangian interpolation, we adopt the Hermite-type interpolation using both the average values of physical (conservative or primitive) variables, and the approximate gradient of the solution. Going back to the original GRP, we construct the data over the computation cell \(\left (x_{j-\frac 12},x_{j+\frac 12}\right)\) as

$$ u_{n}(x) = \bar{u}_{j}^{n}+\sigma_{j}^{n} (x-x_{j}), \ \ \ x\in \left(x_{j-\frac 12},x_{j+\frac 12}\right), $$
(120)

where the gradient is chosen through the procedure,

$$ \sigma_{j}^{n} =\frac{1}{\Delta x} \text{minmod}\left(\alpha \left(u_{j}^{n}-u_{j-1}^{n}\right), u_{j+\frac 12}^{n,-} - u_{j-\frac 12}^{n,-},\alpha \left(u_{j+1}^{n}-u_{j}^{n}\right)\right), \ \ \alpha\in [0,2). $$
(121)

Usually, α is chosen to be as large as possible. As α(1,2), un(x) behaves as sawtooth and implies that \(\sigma _{j}^{n}\) take mostly

$$ \sigma_{j}^{n} =\frac{1}{\Delta x} \left(u_{j+\frac 12}^{n,-} - u_{j-\frac 12}^{n,-}\right) =\frac{1}{\Delta x} \int_{x_{j-\frac 12}}^{x_{j+\frac 12}} \frac{\partial u}{\partial x} (x,t_{n}-0)dx\approx \left(\overline{\frac{\partial u}{\partial x}}\right)_{j}^{n}. $$
(122)

This is a natural approximation to the gradient. The boundary value \(u_{j+\frac 12}^{n,-}\), as a strong solution along the cell interface \(x=x_{j+\frac 12}\), is calculated from the history,

$$ u_{j+\frac 12}^{n,-} = u_{j+\frac 12}^{n-1} +\Delta t\left(\frac{\partial u}{\partial t}\right)_{j+\frac 12}^{n-1}, $$
(123)

where \(u_{j+\frac 12}^{n-1}\) and \(\left (\frac {\partial u}{\partial t}\right)_{j+\frac 12}^{n-1}\) are obtained already from the GRP solver, and no extra efforts need making.

Some remarks on (121) are made here, and they can be applied for later high order data interpolations.

  1. (i)

    Compared to the classical limiter algorithm, (121) takes (122) in smooth regions, and limit the gradient near discontinuities in order to suppress possible oscillations. This sawtooth-type reconstruction can produce sharper profiles of discontinuities.

  2. (ii)

    The piecewise linear data (120) is the embryonic form of Hermite polynomials for high order schemes. Since all values are already given using the GRP solver, no extra effort is made on the calculation of the gradient, unlike in DG methods or other Hermite interpolation [40]. If one might argue the freedom of solution elements, he could regard the current treatment as the Lagrangian interpolation using five points values.

  3. (iii)

    For the data (120), five points values are used for the data reconstruction. Essentially, these values are defined in three computational cells, rather than in five cell, so that computational stencils are almost half saved. This is one of key factors achieving compactness.

Now we extend this to the two-stage fourth order method, by reviewing the result in [41]. Given the average \(\bar {u}_{j}\) and the derivative Δuj of the function u(x) over the cell Ij,

$$ \bar{u}_{j} = \frac{1}{h} \int_{I_{j}}u(x,t)dx,\ \ \ \ \Delta u_{j} = \frac{1}{h} \int_{I_{j}}\frac{\partial u}{\partial x}(x,t)dx, $$
(124)

we want to construct a polynomial p(x) such that \(u_{j+\frac 12,-}\) is its left limiting values at \(x=x_{j+\frac 12}\). Choose three stencils

$$ S^{(-1)} = I_{j-1}\cup I_{j}, \ \ S^{(0)} = I_{j-1}\cup I_{j} \cup I_{j+1}, \ \ S^{(1)} = I_{j} \cup I_{j+1}. $$
(125)

On stencil S(0), \( \bar {u}_{j-1} \), \( \bar {u}_{j} \) and \( \bar {u}_{j+1} \) are used to construct a polynomial p(0) for the interpolation. Hence at \( x_{j+\frac 12} \), we have

$$ u^{(0)}_{j+\frac 12, -} := p^{(0)}\left(x_{j+\frac 12}\right) = -\frac{1}{6} \bar{u}_{j-1} + \frac{5}{6} \bar{u}_{j} + \frac{1}{3} \bar{u}_{j+1}. $$
(126)

Similarly, p(−1) and p(1) are constructed by using \( \bar {u}_{j} \), \( \bar {u}_{j-1} \), Δuj−1 on S(−1) and by using \( \bar {u}_{j} \), \( \bar {u}_{j+1} \), Δuj+1 on S(1), respectively,

$$ \begin{array}{l} u^{(-1)}_{j+\frac 12, -} := p^{(-1)}\left(x_{j+\frac 12}\right) = -\frac{7}{6} \bar{u}_{j-1} + \frac{13}{6} \bar{u}_{j} - \frac{2h}{3} \Delta u_{j-1},\\ u^{(1)}_{j+\frac 12, -} := p^{(1)}\left(x_{j+\frac 12}\right) = \frac{1}{6} \bar{u}_{j} + \frac{5}{6} \bar{u}_{j+1} - \frac{h}{3} \Delta u_{j+1}. \end{array} $$
(127)

If the solution is smooth on the large stencil I−1I0I1, we have

$$ \tilde{u}_{j+\frac 12,-} = \frac{1}{120}\left(-23\bar{ u}_{j-1}+76\bar{ u}_{j}+67\bar{u}_{j+1}-9h\Delta u_{j-1}-21h\Delta u_{j+1}\right). $$
(128)

Thus the linear weights of the three stencils are

$$ \gamma^{(-1)} = \frac{9}{80}, \ \ \gamma^{(0)} = \frac{29}{80}, \ \ \gamma^{(1)} = \frac{21}{40}, $$
(129)

which ensure

$$\tilde{\mathbf{u}}_{j+\frac 12,-} = \sum_{r=-1}^{1}\gamma^{(r)}\mathbf{u}^{(r)}_{j+\frac 12, -}. $$

The smoothness indicators are defined by

$$ \beta^{(r)} = \sum_{l=1}^{2} \int_{I_{j}} h^{2l-1}\left(\frac{d^{l}}{dx^{l}}p^{(r)}(x)\right)^{2}dx, \ \ r=-1,0,1, $$
(130)

in the same way as in the WENO reconstructions where p(r)(x) is the interpolation polynomial on stencil S(r). Their explicit expressions are

$$ \begin{array}{l} \beta^{(-1)} = \left(-2\bar{u}_{j-1}+2\bar{u}_{j}-h\Delta u_{j-1}\right)^{2} + \frac{13}{3}\left(-\bar{ u}_{j-1}+\bar{u}_{j}-h\Delta u_{j-1}\right)^{2},\\ \beta^{(0)} = \frac{1}{4} \left(-\bar{u}_{j-1}+\bar{u}_{j+1}\right)^{2} + \frac{13}{12}\left(-\bar{u}_{j-1}+2\bar{u}_{j}-\bar{u}_{j+1}\right)^{2},\\ \beta^{(1)} = \left(2\bar{u}_{j+1}-2\bar{u}_{j}-h\Delta u_{j+1}\right)^{2} + \frac{13}{3}\left(\bar{u}_{j+1}-\bar{u}_{j}-h\Delta u_{j+1}\right)^{2}. \end{array} $$
(131)

Then we compute the nonlinear weights in the same way as the WENO-Z method does

$$ \omega^{\mathrm{z}}_{r} = \frac{\alpha^{\mathrm{z}}_{r}}{\sum_{l}\alpha_{l}}, \ \ \ \alpha^{\mathrm{z}}_{r} = \gamma^{(r)}\left(1+\frac{\tau^{\mathrm{z}}}{\beta^{(r)}+\varepsilon}\right), \ \ \ r = -1,0,1, $$
(132)

where τz=|β(1)β(−1)| and ε is a small parameter in order to avoid a zero denominator. Finally we have

$$ u_{j+\frac 12, -} = \sum_{r=-1}^{1} \omega^{\mathrm{z}}_{r} u^{(r)}_{j+\frac 12, -}. $$
(133)

The right interface value \( \mathbf {u}_{j-\frac 12, +} \) can be reconstructed in a similar way by mirroring the above procedure with respect to \( x_{j} = \frac {1}{2}\left (x_{j-\frac 12} + x_{j+\frac 12}\right) \).

Since the GRP solver has to use the spatial derivative \((\partial u/\partial x)_{j+\frac 12,\pm }\), we approximate them using the interpolation,

$$ \Big(\frac{\partial u}{\partial x}\Big)_{j+\frac 12,\pm} := \frac{1}{12h}\left(\bar{u}_{j-1}-15\bar{u}_{j}+15\bar{u}_{j+1}-\bar{u}_{j+2}\right). $$
(134)

It is observed in this interpolation does not need the WENO-type stencil selection procedure.

We define this procedure as HWENO, terming a Hermite type interpolation using the WENO interpolation strategy. GRP4-HWENO5 refers to the two-stage fourth order scheme based on this Hermite type interpolation using the GRP solver.

For two-dimensional cases, we can develop the similar approach over rectangular meshes. See [41, 42]. As far as unstructured meshes are concerned, there still remains space to explore.

Here we give an example to demonstrate how important the compactness is. We provide an example of two-dimensional Riemann problem taken from [43] involving the interactions of vortex sheets with rarefaction waves. The computation is implemented over the domain [0,1]×[0,1].

$$ (\rho,u,v,p)(x,y,0) =\left\{ \begin{array}{ll} (1, 0.1, 0.1, 1), & 0.5< x<1,0.5< y<1,\\ (0.5197, -0.6259, 0.1, 0.4), & 0< x<0.5, 0.5< y<1,\\ (0.8, 0.1, 0.1, 0.4),&0< x<0.5,0< y<0.5,\\ (0.5197, 0.1, -0.6259, 0.4), &0.5< x<1,0< y<0.5. \end{array} \right. $$
(135)

The output time is 0.3. The contours of the density and their local enlargements are shown in Fig. 4. We can see that the scheme with the Hermite type reconstruction can resolve more small structures along the vortex sheet.

Fig. 4
figure4

The density contours of three 2-D Riemann problem in Example 5 computed with the schemes GRP4-WENO5 (upper) and GRP4-HWENO5 (lower), respectively. 700×700 cells are used

High order boundary conditions

Approximation to boundary conditions may be one of the most challenging issues in CFD. On one hand, mathematical modelings of fluid flows near physical boundaries are diverse. On the other hand, highly nonlinear behaviors and complex boundaries make the approximation notoriously involved.

We briefly illustrate their idea in the finite difference framework by considering the initial boundary value problem (IBVP) for a scalar conservation law

$$ \left\{ \begin{array}{ll} \frac{\partial u}{\partial t} + \frac{\partial f(u)}{\partial x}=0,\ \ \ & x \in (0,1),~ t > 0,\\ u(x,0) = u_{0}(x), & x \in (0,1),\\ u(0,t) = g(t), & t > 0. \end{array} \right. $$
(136)

Assume that f(u)>0 for all \( u\in \mathfrak {R} \) so that x=0 is an inflow boundary and x=1 is an outflow boundary. We equally distribute M+1 points {xj=(j+1/2)h:j=0,1,…,M} in the computational domain (0,1), as shown in Fig. 5. We use uj to denote the value of u at x=xj and suppress the index for the time levels. Obviously at the inflow boundary, the solution value at the ghost point x−1 is required in order to perform a second-order finite difference at x0. For this purpose, a polynomial is constructed in the region around the inflow boundary by using point-wise values u−1, u0 and u1,

$$ L(x) = g_{-1}(x)u_{-1} + g_{0}(x)u_{0} + g_{1}(x)u_{1}, $$
(137)
Fig. 5
figure5

The computational domain (0,1). Set x0=h/2 and xM=1−h/2. Then x−1=−h/2 and xM+1=1+h/2 are ghost points

from which we want to find the value u−1. The Lagrangian interpolation tells that

$$ \begin{array}{l} g_{-1}(x) = \frac{(x-x_{0})(x-x_{1})}{2h^{2}}, \\ g_{0}(x) = \frac{(x-x_{-1})(x-x_{1})}{-h^{2}}, \\ g_{1}(x) = \frac{(x-x_{-1})(x-x_{0})}{2h^{2}}. \end{array} $$
(138)

Then u−1 can be obtained by solving the linear equation u(0,t)=L(0) where u(0,t)=g(t). At the outflow boundary x=1, we simply use the extrapolation

$$ u_{M+1} = 2u_{M} - u_{M-1} $$
(139)

to obtain the value uM+1 since the signal goes out of the computational domain at this end.

The extension to high order is highly nontrivial. Let’s review the approach developed in [44]. The same as other multi-stage methods (e.g. in [45]), the current two-stage fourth order method needs careful treatment at the intermediate stage for the approximation in order to preserve the accuracy. There are two key points: The construction at ghosts points and the approximation of boundary conditions. The inverse LW approach is applied here [46], but the current treatment is much simpler and easier to be implemented since no higher derivatives need calculating.

Ghost values

We still consider IBVP (136). Then the values \( \bar {u}_{-1} \), \( \bar {u}_{-2} \), Δu−1 and Δu−2, defined over I−1=(−h,0) and I−2=(−2h,−h), ghost cells, are needed in the reconstruction procedure for the values indexed by j=0 and j=1. To obtain the values mentioned above, a cubic polynomial,

$$ p(x) = \alpha_{3} x^{3} +\alpha_{2} x^{2} +\alpha_{1} x + \alpha_{0}, $$
(140)

is constructed over I−2I−1I0I1=(−2h,2h) to interpolate the solution u(x,tn) such that

$$ \frac{1}{h}\int_{I_{i}}p(x)dx = \bar{u}_{i}, \ \ \ \ i=-2, -1, 0, 1. $$
(141)

With the constraints (141) into (140), we determine the coefficients α0, α1, α2 and α3 as

$$ \begin{array}{ll} \alpha_{3} = \frac{\bar{u}_{1} - 3\bar{u}_{0} + 3\bar{u}_{-1} - \bar{u}_{-2}}{6h^{3}}, \ \ &\alpha_{2} = \frac{\bar{u}_{1} - \bar{u}_{0} - \bar{u}_{-1} + \bar{u}_{-2}}{4h^{2}},\\ \alpha_{1} = \frac{-\bar{u}_{1} + 15\bar{u}_{0} - 15\bar{u}_{-1} + \bar{u}_{-2}}{12h}, \ \ &\alpha_{0} = \frac{-\bar{u}_{1} + 7\bar{u}_{0} + 7\bar{u}_{-1} -\bar{u}_{-2}}{12}, \end{array} $$
(142)

in which \( \bar {u}_{-1} \) and \( \bar {u}_{-2} \) are yet to be determined and they are obtained by evaluating p(0) and p(0) at the boundary x=0,

$$ \begin{array}{l} p(0) = \frac{1}{12}\left(-\bar{u}_{1} + 7\bar{u}_{0} + 7\bar{u}_{-1} - \bar{u}_{-2}\right) = g(t)+\mathcal{O}\left(h^{4}\right),\\ p^{\prime}(0) = \frac{1}{12h}\left(-\bar{u}_{1}+15\bar{u}_{0}-15\bar{u}_{-1}+\bar{u}_{-2}\right)= -f^{\prime}(g(t))^{-1} \ g^{\prime}(t)+\mathcal{O}\left(h^{3}\right). \end{array} $$
(143)

Solving (143) in terms of \(\bar {u}_{-1}\) and \(\bar {u}_{-2}\) yields (by ignoring high order terms)

$$ \begin{array}{l} \bar{u}_{-1} = \frac{1}{4} \left(-6g + 6~h~ f^{\prime}(g)^{-1} \ g^{\prime} + 11\bar{u}_{0} - \bar{u}_{1}\right),\\ \bar{u}_{-2} = \frac{1}{4} \left(-90g + 42~h~ f^{\prime}(g)^{-1} \ g^{\prime} + 105\bar{u}_{0} - 11\bar{u}_{1}\right). \end{array} $$
(144)

Substituting (144) into (142), in turn, gives us the explicit expressions of αi, i=0,…,3, and then the expression of p(x). Therefore we have (by ignoring high order terms)

$$ \begin{array}{l} \Delta u_{-1} = \frac{p(0) - p(-h)}{h}\\ \ \ \ \ \ \ \ \ = \frac{1}{8h} \left(66g - 34~h~ f^{\prime}(g)^{-1} \ g^{\prime} - 73\bar{u}_{0} + 7\bar{u}_{1}\right),\\ \Delta u_{-2} = \frac{p(-h) - p(-2h)}{h}\\ \ \ \ \ \ \ \ \ = \frac{1}{8h} \left(294g - 118~h~ f^{\prime}(g)^{-1} \ g^{\prime} - 331\bar{u}_{0} + 37\bar{u}_{1}\right). \end{array} $$
(145)

Thus (144) and (145) together provide the values in the ghost cells I−1 and I−2. Not that in (143) the inverse LW approach is used,

As there are discontinuities close to the inflow boundary, a WENO-type stencil selecting procedure can be applied. Assume that there is a discontinuity in either I0 or I1, we shorten the stencil cell by cell. Denote the stencils by

$$ \begin{array}{l} S^{(2)} = \{I_{-2}, I_{-1}, I_{0}, I_{1}\},\ \ S^{(1)} = \{I_{-2}, I_{-1}, I_{0}\},\ \ S^{(0)} = \{I_{-2}, I_{-1}\}. \end{array} $$
(146)

Denote by p(r)(x) the interpolation polynomial on S(r), r=0,1,2, just as the polynomial p(x) constructed before. Then define

$$ \begin{array}{ll} \bar{ u}_{-1}^{(r)} = \frac{1}{h}\int_{I_{-1}}p^{(r)}(x)dx, & \bar{ u}_{-2}^{(r)} = \frac{1}{h}\int_{I_{-2}}p^{(r)}(x)dx,\\ \Delta u_{-1}^{(r)} = \frac{1}{h} \left(p^{(r)}(0) - p^{(r)}(-h)\right), & \Delta u_{-2}^{(r)} = \frac{1}{h} \left(p^{(r)}(-h) - p^{(r)}(-2h)\right). \end{array} $$
(147)

The expressions of \( \bar { u}_{-1}^{(r)} \), \( \bar { u}_{-2}^{(r)} \), \( \Delta u^{(r)}_{-1} \) and \( \Delta u^{(r)}_{-2} \) for r=0,1,2 will be listed in 9.1.

The smoothness indicators are defined in the same way as for the classical WENO interpolation, and the values are given

$$ \begin{array}{ll} \bar{ u}_{-1} = \sum_{r=0}^{2}\omega^{(r)}\bar{ u}_{-1}^{(r)},& \bar{ u}_{-2} = \sum_{r=0}^{2}\omega^{(r)}\bar{ u}_{-2}^{(r)},\\ \Delta u_{-1} = \sum_{r=0}^{2}\omega^{(r)}\Delta u_{-1}^{(r)},& \Delta u_{-2} = \sum_{r=0}^{2}\omega^{(r)}\Delta u_{-2}^{(r)}, \end{array} $$
(148)

where the linear weights of each stencil are

$$ \begin{array}{l} \alpha^{(r)} = \frac{d^{(r)}}{{(\varepsilon+\beta^{(r)})}^{2}},\ \ \ \ \omega^{(r)} = \frac{\alpha^{(r)}}{\sum_{l=0}^{2}{\alpha^{(l)}}}\\ d^{(0)} = h^{2},\ \ d^{(1)} = h,\ \ d^{(2)} = 1 - d^{(0)} - d^{(1)}.\vspace*{-2pt} \end{array} $$
(149)

Inflow boundary condition treatment at intermediate stages

The same as in other multi-stage temporal discretization [47, 48], the direct use of exact boundary conditions at intermediate stages in the process of multi-stage approaches will cause the lose of the numerical accuracy. In order to offset such a defect, our strategy is made as follows. We first focus on the leftmost control volume I0 and write out the solution advancing formula,

$$ \begin{array}{rl} \bar{u}^{n+1}_{0} & =\bar{u}_{0}^{n} -\frac{ k }{h} \left[f_{\frac 12}^{4th} -f_{-\frac 12}^{4th}\right]\\ &= \bar{u}_{0}^{n} -\frac{1}{h} \Big\{ k\left[f\left(u_{\frac 12}^{n}\right) -f\left(u_{-\frac 12}^{n}\right)\right]\\ & \ \ \ \ \ \ \ \ +\frac{ k^{2} }{6}\left[f^{\prime}\left(u^{n}_{\frac 12}\right)\left(\frac{\partial u}{\partial t}\right)^{n}_{\frac 12} - f^{\prime}\left(u^{n}_{-\frac 12}\right)\left(\frac{\partial u}{\partial t}\right)^{n}_{-\frac 12}\right]\\ &\ \ \ \ \ \ \ \ +\left.\frac{ k^{2} }{3}\left[f^{\prime}\left(u^{n+\frac 12}_{\frac 12}\right)\left(\frac{\partial u}{\partial t}\right)^{n+\frac 12}_{\frac 12} - f^{\prime}\left(u^{n+\frac 12}_{-\frac 12}\right)\left(\frac{\partial u}{\partial t}\right)^{n+\frac 12}_{-\frac 12}\right] \right\}. \end{array} $$
(150)

Using the governing Eq. 136 to replace the temporal derivatives by the corresponding spatial ones, we obtain

$$ \begin{array}{rl} \bar{u}^{n+1}_{0}&= \bar{u}_{0}^{n} -\frac{1}{h} \Big\{ k\left[f\left(u_{\frac 12}^{n}\right) - f\left(u_{-\frac 12}^{n}\right)\right]\\ & \ \ \ \ \ \ \ \ -\frac{ k^{2} }{6}\left[\left(f^{\prime}\left(u^{n}_{\frac 12}\right)\right)^{2}\left(\frac{\partial u}{\partial x}\right)^{n}_{\frac 12} - \left(f^{\prime}\left(u^{n}_{-\frac 12}\right)\right)^{2}\left(\frac{\partial u}{\partial x}\right)^{n}_{-\frac 12}\right] \\ & \ \ \ \ \ \ \ -\frac{ k^{2} }{3}\left[\left(f^{\prime}\left(u^{n+\frac 12}_{\frac 12}\right)\right)^{2}\left(\frac{\partial u}{\partial x}\right)^{n+\frac 12}_{\frac 12} - \left(f^{\prime}\left(u^{n+\frac 12}_{-\frac 12}\right)\right)^{2}\left(\frac{\partial u}{\partial x}\right)^{n+\frac 12}_{-\frac 12}\right] \Big\}. \end{array} $$
(151)

The difficulty results from the presence of \( ({\partial u/\partial x})^{n+\frac 12}_{\frac 12} \) and \( ({\partial u/\partial x})^{n+\frac 12}_{-\frac 12} \) evaluated at the intermediate stage \(t=t^{n+\frac 12}\). In order to restore the fourth-order accuracy of the two-stage fourth-order scheme, we use

$$ \begin{array}{l} {\left(\frac{\partial u}{\partial x}\right)^{n+\frac 12}_{-\frac 12}} = -\left(f^{\prime}\left(g\left(t^{n+\frac{1}{2}}\right)\right)\right)^{-1}(g^{\prime})^{n+\frac{1}{2}},\\ {\left(\frac{\partial u}{\partial x}\right)^{n+\frac 12}_{\frac 12}} = \frac{1}{48h}\left[-49\bar{u}^{n+\frac{1}{2}}_{0} + 59\bar{u}^{n+\frac{1}{2}}_{1} - 4\bar{u}^{n+\frac{1}{2}}_{2} \right. \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left. - 6g^{n+\frac{1}{2}} + 6h\left(f^{\prime}\left(g\left(t^{n+\frac{1}{2}}\right)\right)\right)^{-1}(g^{\prime})^{n+\frac{1}{2}}\right], \end{array} $$
(152)

where the exact boundary values \(g\left (t^{n+\frac 12}\right)\) and \(g^{\prime }\left (t^{n+\frac 12}\right)\) are replaced by

$$ \begin{array}{l} g^{n+\frac{1}{2}} = g\left(t^{n+\frac{1}{2}}\right) -\frac{ k^{3}}{48}g^{\prime\prime\prime}\left(t^{n+\frac 12}\right),\\ {(g^{\prime})}^{n+\frac{1}{2}} = g^{\prime}\left(t^{n+\frac{1}{2}}\right).\\ \end{array} $$
(153)

The detailed analysis is given in [44].

Outflow boundary condition

We set \( x_{M+\frac 12}=1 \) as an outflow boundary, at which no boundary condition is prescribed theoretically. Numerically, we have to set required values \( \bar {u}_{M+1} \), \( \bar {u}_{M+2} \), ΔuM+1 and ΔuM+2 in ghost cells. Since the signal propagates out of the computational domain through the boundary x=1, the extrapolation can be used to construct the data in the ghost cells IM+1 and IM+2. A cubic polynomial is constructed in order to achieve the fourth-order accuracy,

$$ \begin{array}{l} q(x) = \frac{\bar{u}_{M}-3\bar{u}_{M-1}+3\bar{u}_{M-2}-\bar{ u}_{M-3}}{6h^{3}}(x-1)^{3}\\ \ \ \ \ \ \ \ \ + \frac{5\bar{u}_{M}-13\bar{u}_{M-1}+11\bar{u}_{M-2}-3\bar{u}_{M-3}}{4h^{2}}(x-1)^{2}\\ \ \ \ \ \ \ \ \ + \frac{35\bar{u}_{M}-69\bar{u}_{M-1}+45\bar{u}_{M-2}-11\bar{u}_{M-3}}{12h}(x-1)\\ \ \ \ \ \ \ \ \ + \frac{25\bar{u}_{M}-23\bar{u}_{M-1}+13\bar{u}_{M-2}-3\bar{u}_{M-3}}{12}. \end{array} $$
(154)

This gives the values

$$ \begin{array}{l} \bar{u}_{M+1} = 4\bar{u}_{M} - 6\bar{u}_{M-1} + 4\bar{u}_{M-2} - \bar{u}_{M-3},\\ \bar{u}_{M+2} = 10\bar{u}_{M} - 20\bar{u}_{M-1} + 15\bar{u}_{M-2} - 4\bar{u}_{M-3},\\ \Delta u_{M+1} = \frac{26\bar{u}_{M} - 57\bar{u}_{M-1} + 42\bar{u}_{M-2} - 11\bar{u}_{M-3}}{6},\\ \Delta u_{M+2} = \frac{47\bar{u}_{M} - 114\bar{u}_{M-1} + 93\bar{u}_{M-2} - 26\bar{u}_{M-3}}{6}. \end{array} $$
(155)

If there is a discontinuity in either IM−3, IM−2, IM−1 or IM, a WENO-type stencil selection can be applied.

Hyperbolic systems

At moment, the boundary treatment for systems of hyperbolic balance laws is basically achieved through the diagonalization process. Then we distinguish various cases such as the solid boundary condition, inflow and outflow boundary conditions for practical applications. Details can be found in [44].

Computational performance

In our series of papers, we have demonstrated the performance of current temporal-spatially coupled algorithms through many challenging benchmark problems, particularly in [49] using the GKS solver. Here I would like to give some remarks in terms of computational efficiency, robustness and fidelity.

Computational efficiency

Computational efficiency is always an important issue for practical engineering problems. We have tested and compared the efficiency with the popular WENO algorithm in [18] and with DG in [19].

Specifically, in [18] we evaluate the computational costs of the WENO-type reconstruction and the flux evaluation quantitatively. The time for each reconstruction is denoted by TR, the time for second-order gas-kinetic solver is T2nd, and the time for third-order flux solver is T3rd. According to the data provided in ([18], Table 1, Page 203) we can estimate the time used for the computations of flux and reconstruction with the following relations,

$$\begin{array}{*{20}l} T_{R}+2T_{2nd}=0.84287s,\\ T_{R}+2T_{3rd}=1.38178s,\\ 2T_{R}+12T_{2nd}=2.20566s, \end{array} $$

where the estimation is based on the characteristic variable reconstruction and each flux is shared by two cells. Thus, the time for reconstruction is TR=0.71289s, the time for second-order gas-kinetic flux solver is T2nd=0.06499s and the time for third-order gas-kinetic flux solver is T3rd=0.33445s. For classical fourth-order Runge-Kutta schemes, the computational time for four spatial reconstruction alone will become much higher than the fourth-order gas-kinetic scheme for the update of each cell averaged values

$$\begin{array}{*{20}l} 4T_{R} = 2.85156s > 2T_{R}+ 12 T_{2nd} = 2.20566s. \end{array} $$

Similar estimation can be done for the conservative variables reconstruction. Even without counting on the cost of the flux evaluation in the traditional fourth-order Runge-Kutta method, such as those commonly used with the Lax-Friedrichs flux, the current fourth-order time stepping method is still more efficient than the classical methods.

The efficiency is mainly attributed to the half of reconstruction steps compared to that for the same order of other line methods. This is further verified in the framework of DG methods [19]. In Table 2 and Fig. 6 through simulating shock-vortex interaction problem, demonstrating that nearly 55% CPU time can be saved using the GRP-DG(s2p3) method compared to the same order SSP RKDG(s5p3) method. This result meets the expectation well as compared to the RKDG(s5p3) method which needs five stages of evaluating DoFs and performing reconstruction to achieve fourth order, while the GRP-DG(s2p3) method only takes two stages to provide totally comparable results.

Fig. 6
figure6

Comparison of CPU time(s) between RKDG(s5p3) method and GRP-DG(s2p3) method for the shock vortex interaction problem

Table 2 Comparison of CPU time(s) between RKDG and GRP-DG methods for shock vortex interaction problem

Robustness

The robustness is always an important indicator for a practical numerical method. In the framework of multistage multi-derivative algorithm, the strong stability preserving (SSP) property was taken over to show the stability [9]. However, SSP seems not work when the Lax-Wendorff type flow solvers are taken as the building block. Therefore new stability framework is worth exploring in the future.

Nevertheless, in practice, the current two-stage fourth order accurate algorithm has the same stability as the second order version: the Courant number is taken above 0.5 except extreme cases such as the large density ration problem. Empirically, the current “ 22” algorithm is more robust than other multi-stage methods.

Fidelity

In the community of CFD, the fidelity is termed for a numerical simulation of very complex problems using a specific algorithm. Since there is no reliable mathematical theory in general supporting the current CFD simulation, the verification of high fidelity appears very valuable. We pursue such studies in the whole process of the current algorithm. For example, we resolve the associated GRP analytically and use the GRP solution for Hermite-type data reconstruction. In [16] we elaborate the so-called large density ratio problem [50] using the GRP solver. When the current “ 22” algorithm is adopted, quite few grids are needed to obtain satisfactory results, as shown in Fig. 7.

Fig. 7
figure7

The comparison of the density profile for the large pressure ratio problem in Example 6. The schemes are GRP4-HWENO5 (squares) and RK4-WENO5 (dots) with m cells.The solid lines are the exact solution

Also readers are recommended to test the benchmark problems in [49], for which all simulations are made in the “ 22” framework using the GKS solver.

Conclusion with prospective discussions

It is natural to require the temporal-spatial coupling of a numerical method when simulating compressible fluid flows, for which the GRP solver and the GKS solver are reviewed briefly as the representatives of Lax-Wendroff type flow solvers. The direct embedding into any numerical frameworks, such as the finite volume/DG framework, already results in favorable second order numerical schemes. Interested readers can refer to papers by Jiequan Li and his collaborators for GRP methods (www.ams.org/mathscinet, scholar.google.com or researchgate.net).

As to the “ 22” algorithm itself, it is just at the beginning stage, and many issues are awaiting for our study. Below are some immediate doable problems.

  • P1 What is a good framework for stability analysis?

  • P2 It is valuable to compare and develop multi-stage two-derivative algorithms with arbitrary order of accuracy.

  • P3 Develop implicit “ 22” algorithm with various applications such as detonation simulation.

  • P4 Apply this algorithm for the simulation of turbulence flows and other engineering problems.

You are welcome to join this new branch of high order numerical methods for CFD.

The interpolation results in subsection 5

This appendix is dedicated to list the interpolation results in Section 5. Recall that we assume x=0 and x=1 are the inflow and outflow boundaries for the IBVP (136) of the one-dimensional scalar conservation laws, respectively. The stencils are denoted in (146).

Cell averages and cell differences

The reconstructed average of u in I−1 and I−2 on those stencils are:

$$ \begin{array}{l} \bar{u}_{-1}^{(2)} = \frac{1}{4} \left(-6g + 6~h~ f^{\prime}(g)^{-1} \ g^{\prime} + 11\bar{u}_{0} - \bar{u}_{1}\right),\\ \bar{u}_{-1}^{(1)} = h~ f^{\prime}(g)^{-1} \ g^{\prime} + \bar{u}_{0},\\ \bar{u}_{-1}^{(0)} = g + \frac{1}{2}~ h~ f^{\prime}(g)^{-1} \ g^{\prime},\\ \bar{u}_{-2}^{(2)} = \frac{1}{4} \left(-90g + 42~h~ f^{\prime}(g)^{-1} \ g^{\prime} + 105\bar{u}_{0} - 11\bar{u}_{1}\right),\\ \bar{u}_{-2}^{(1)} = -6gh + 5~f^{\prime}(g)^{-1} \ g^{\prime} + 7\bar{u}_{0},\\ \bar{u}_{-2}^{(0)} = g + \frac{3}{2}~ h~ f^{\prime}(g)^{-1} \ g^{\prime}. \end{array} $$
(156)

The reconstructed x-difference of u in I−1 and I−2 on those stencils are:

$$ \begin{array}{l} \Delta u_{-1}^{(2)} = \frac{1}{8h} \left(66g - 34~h~ f^{\prime}(g)^{-1} \ g^{\prime} - 73\bar{u}_{0} + 7\bar{u}_{1}\right),\\ \Delta u_{-1}^{(1)} = \frac{1}{2h} \left(6g - 5~h~ f^{\prime}(g)^{-1} \ g^{\prime} - 6\bar{u}_{0}\right),\\ \Delta u_{-1}^{(0)} = -f^{\prime}(g)^{-1} \ g^{\prime},\\ \Delta u_{-2}^{(2)} = \frac{1}{8h} \left(294g - 118~h~ f^{\prime}(g)^{-1} \ g^{\prime} - 331\bar{u}_{0} + 37\bar{u}_{1}\right),\\ \Delta u_{-2}^{(1)} = \frac{1}{2h} \left(18g - 11~h~ f^{\prime}(g)^{-1} \ g^{\prime} - 18\bar{u}_{0}\right),\\ \Delta u_{-2}^{(0)} = -f^{\prime}(g)^{-1} \ g^{\prime}. \end{array} $$
(157)

Smoothness indicators

The smoothness indicators on these stencils are listed as follows,

$$ \begin{array}{l} \beta^{(2)} = \frac{1}{80}\Big[ 66516 g^{2} + 9444 (h f^{\prime}(g)^{-1}g^{\prime})^{2} - 56348 f^{\prime}(g)^{-1}g^{\prime} h \bar{ u}_{0}\\ \qquad \ + 85929 \bar{ u}_{0}^{2} + 6644 f^{\prime}(g)^{-1}g^{\prime} h \bar{ u}_{1} - 20694 \bar{ u}_{0} \bar{ u}_{1} + 1281 \bar{ u}_{1}^{2}\\ \qquad + 12 g (4142 f^{\prime}(g)^{-1}g^{\prime} h - 12597 \bar{ u}_{0} + 1511 \bar{ u}_{1})\Big],\\ \beta^{(1)} = 48 g^{2} + 54 g h f^{\prime}(g)^{-1}g^{\prime} + 16 (h f^{\prime}(g)^{-1}g^{\prime})^{2}\\ \qquad - 96 g \bar{ u}_{0} + 48 \bar{ u}_{0}^{2} - 54 h f^{\prime}(g)^{-1}g^{\prime} \bar{ u}_{0},\\ \beta^{(0)} = (h f^{\prime}(g)^{-1}g^{\prime})^{2}. \end{array} $$
(158)

References

  1. 1

    Jiang GS, Shu C-W (1996) Efficient implementation of weighted ENO schemes. J Comput Phys 126:202–228.

  2. 2

    Cockburn B, Shu C-W (1989) TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws. II. general framework. Math Comput 52:411–435.

  3. 3

    Evans L (2002) Partial Differential Equations. Graduate Studies in Mathematics, 19, AMS.

  4. 4

    Li J, Du Z (2016) A two-stage fourth order temporal discretization for on the Lax-Wendroff type flow solvers, I. hyperbolic conservation laws. SIAM J Sci Comput 38:A3046–A3069.

  5. 5

    Butcher JC (1964) On Runge-Kutta processes of high order. J Aust Math Soc 4:179–194.

  6. 6

    Feng K, Qin M (2010) Symplectic Geometric Algorithms for Hamiltonian Systems. Springer, Springer.

  7. 7

    Chan PK, Tsai R (2010) On explicit two-derivative Runge-Kutta methods. Numer Algoritm 53:171–194.

  8. 8

    Christlieb AJ, Gottlieb S, Grant Z, Seal DC (2016) Explicit strong stability preserving multistage two-derivative time-stepping schemes. J Sci Comput 68:914–942.

  9. 9

    Grant Z, Gottlieb S, Seal DC (2018) A strong stability preserving analysis for multistage two-derivative time-stepping schemes based on Taylor series conditions. arXiv:1804.10526.

  10. 10

    Seal DC, Guclu Y, Christlieb AJ (2014) High-order multiderivative time integrators for hyperbolic conservation laws. J Sci Comput 60:101–140.

  11. 11

    Tsai AYJ, Chan RPK, Wang S (2014) Two-derivative Runge-Kutta methods for PDEs using a novel discretization approach. Numer Algoritm 65:687–703.

  12. 12

    Lax P, Wendroff B (1960) Systems of conservation laws. Commun Pur Appl Math XIII:217–237.

  13. 13

    Harten A (1983) High resolution schemes for hyperbolic conservation laws. J Comput Phys 49:357–393.

  14. 14

    Lei X, Li J (2019) Transversal effects and genuine multidimensionality of high order numerical schemes for compressible fluid flows. accepted.

  15. 15

    Li J, Chen G (2006) The generalized Riemann problem method for the shallow water equations with bottom topography. Int J Numer Methods Eng 65:834–862.

  16. 16

    Li J, Wang Y (2017) Thermodynamical effects and high resolution methods for compressible fluid flows. J Comput Phys 343:340–354.

  17. 17

    Christlieb AJ, Gottlieb S, Grant Z, Seal DC (2016) Explicit strong stability preserving multistage two-derivative time-stepping schemes. J Sci Comput 68:914–942.

  18. 18

    Pan L, Xu K, Li Q, Li J (2017) An efficient and accurate two-stage fourth-order gas-kinetic scheme for the Euler and Navier-Stokes equations. J Comput Phys 326:197–221.

  19. 19

    Cheng J, Du Z, Lei X, Wang Y, Li J (2019) A two-stage fourth-order discontinuous Galerkin method based on the GRP solver for the compressible Euler equations. Computer and Fluids in revision. https://doi.org/10.1016/j.compfluid.2019.01.025.

  20. 20

    Landau L, Lifshitz E (1987) Fluid Dynamics: Course of Theoretical Physics, Vol. 6. A Division of Reed Educational and Professional Publishing Ltd, Butterworth-Heinemann.

  21. 21

    Ben-Artzi M, Falcovitz J (1984) A second-order Godunov-type scheme for compressible fluid dynamics. J Comput Phys 55:1–32.

  22. 22

    Ben-Artzi M, Falcovitz J (2003) Generalized Riemann Problems in Computational Fluid Dynamics. Cambridge University Press, Cambridge.

  23. 23

    Ben-Artzi M, Li J, Warnecke G (2006) A direct Eulerian GRP scheme for compressible fluid flows. J Comput Phys 218:19–43.

  24. 24

    Ben-Artzi M, Li J (2007) Hyperbolic conservation laws: Riemann invariants and the generalized Riemann problem. Numer Math 106:369–425.

  25. 25

    Qian J, Li J, Wang S (2014) The generalized Riemann problems for compressible fluid flows: Towards high order. J Comput Phys 259:358–389.

  26. 26

    Balsara DS, Li J, Montecinos GI (2018) An efficient, second order accurate, universal generalized Riemann problem solver based on the HLLI Riemann solver. J Comput Phys 375:1238–1269.

  27. 27

    Ben-Artzi M, Falcovitz J (1986) An upwind second-order scheme for compressible duct flows. SIAM J Sci Stat Comput 7:744–768.

  28. 28

    Titarev VA, Toro EF (2002) ADER: Arbitrary high order Godunov approach. J Sci Comput 17:609–618.

  29. 29

    Li J, Wang Y (2018) The GRP scheme for real materials. Preprint.

  30. 30

    Bouchut F, Bourdarias Ch, Perthame B (1996) A MUSCL method satisfying all the numerical entropy inequalities. Math Comput 65:1439–1461.

  31. 31

    LeVeque RJ (2002) Finite Volume Methods for Hyperbolic Problems. Cambridge University Press.

  32. 32

    Qi J (2017) The numerical modeling and applications of generalized Riemann problem for two-dimensional Euler equations. PhD Thesis, Beijing Normal University.

  33. 33

    Ohwada T (2002) On the construction of kinetic schemes. J Comput Phys 177:156–175.

  34. 34

    Bhatnagar PL, Gross EP, Krook M (1954) A model for collision processes in gases I: Small amplitude processes in charged and neutral one-component systems. Phys Rev 94:55.

  35. 35

    Prendergast KH, Xu K (1993) Numerical hydrodynamics from gas-kinetic theory. J Comput Phys 109:53–66.

  36. 36

    Xu K (2001) A gas-kinetic BGK scheme for the Navier-Stokes equations and its connection with artificial dissipation and Godunov method. J Comput Phys 171:289–335.

  37. 37

    Xu K (2010) A unified gas-kinetic scheme for continuum and rarefied flows. J Comput Phys 229:7747–7764.

  38. 38

    Xu K (2015) Direct Modeling for Computational Fluid Dynamics construction and application of unified gas-kinetic schemes. World Scientific.

  39. 39

    Xu K, Prendergast K (1994) Numerical Navier-Stokes solutions from gas kinetic theory. J Comput Phys 114:9–17.

  40. 40

    Qiu J, Shu C-W (2004) Hermite weno schemes and their application as limiters for Runge-Kutta discontinuous Galerkin method: one-dimensional case. J Comput Phys 193:115–135.

  41. 41

    Du Z, Li J (2018) A Hermite weno reconstruction for fourth order temporal accurate schemes based on the GRP solver for hyperbolic conservation laws. J Comput Phys 355:385–396.

  42. 42

    Ji X, Pan L, Shyy W, Xu K (2018) A compact fourth-order gas-kinetic scheme for the Euler and Navier-Stokes equations. J Comput Phys 372:446–472.

  43. 43

    Han E, Li J, Tang H (2011) Accuracy of the adaptive GRP scheme and the simulation of 2-d Riemann problems for compressible Euler equations. Commun Comput Phys 10:577–609.

  44. 44

    Du Z, Li J (2018) A two-stage fourth order time-accurate discretization for Lax–Wendroff type flow solvers II. high order numerical boundary conditions. J Comput Phys 369:125–147.

  45. 45

    Carpenter M, Gottlieb D, Abarbanel S, Don W-S (1995) The theoretical accuracy of Runge-Kutta time discretizations for the initial boundary value problem: a study of the boundary error. SIAM J Sci Comput 16:1241–1252.

  46. 46

    Tan S, Shu C-W (2010) Inverse Lax-Wendroff procedure for numerical boundary conditions of conservation laws. J Comput Phys 229:8144–8166.

  47. 47

    Carpenter M, Gottlieb D, Abarbanel S, Don W-S (1989) The theoretical accuracy of Runge-Kutta time discretizations for the initial boundary value problem: a study of the boundary error. Math Computat 52:411–435.

  48. 48

    Pathria D (1997) The correct formulation of intermediate boundary conditions for Runge-Kutta time integration of initial boundary value problems. SIAM J Sci Comput 18:1255–1266.

  49. 49

    Pan L, Li J, Xu K (2017) A few benchmark test cases for higher-order Euler solvers. Numer Math Theory Methods Appl 10:711–736.

  50. 50

    Tang H, Liu T (2006) Note on the conservative schemes for the Euler equations. J Comput Phys 218:451–459.

Download references

Acknowledgements

This review paper is based on the joint works with Matania Ben-Artzi, Jian Cheng, Zhifang Du, Xin Lei, Liang Pan, Jin Qi, Yue Wang and Kun Xu, to whom the author expresses his deep thanks.

Funding

This work is supported by NSFC (nos. 11771054, 91852207) and Foundation of LCP.

Availability of data and materials

All data and materials are available from Jiequan Li’s research.

Author information

This is a single author work. The author read and approved the final manuscript.

Correspondence to Jiequan Li.

Ethics declarations

Competing interests

The author declares that he/she has no competing interests.

Publisher’s Note

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

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Li, J. Two-stage fourth order: temporal-spatial coupling in computational fluid dynamics (CFD). Adv. Aerodyn. 1, 3 (2019). https://doi.org/10.1186/s42774-019-0004-9

Download citation

Keywords

  • Compressible fluid dynamics
  • Hyperbolic balance laws
  • High order methods
  • Temporal-spatial coupling
  • Multi-stage two-derivative methods
  • Lax-Wendroff type flow solvers
  • GRP solver