1 Introduction

Compressible Euler equations are used to model the flow of compressible inviscid fluids such as air. To find approximate solutions of the Euler system it is common to use finite volume methods. These are well-suited due to their conservative nature and their capability to resolve discontinuities. The fluxes at the cell interfaces are often determined by approximating the solution of the 1-d interface Riemann problem using numerical (two-state) fluxes.

For a sequence of ever lower Mach numbers, the solutions of the compressible Euler equations with well-prepared initial data converge towards solutions of the incompressible Euler equations [8]. This limit, however, is not correctly represented in a finite volume scheme using conventional numerical fluxes due to excessive diffusion at low Mach numbers. Special low Mach number compliant numerical fluxes have been developed (e.g. [2, 4, 7, 17,18,19, 22, 27, 28], to correct this behavior.

Stability is required to ensure the convergence of a finite volume method. There are different notions of stability, one of them being entropy stability. Entropy stability is a non-linear stability criterion which additionally ensures that the entropy inequality -an admissibility criterion for physical solutions- is satisfied. Ismail and Roe [14], and later Chandrashekar [5], developed two-state Riemann solvers based on the Roe flux [23], which ensure entropy dissipation to achieve entropy stability. The flux by Chandrashekar [5] is kinetic energy consistent additionally.

Recently, a numerical flux based on [14] has been developed which is entropy dissipative and low Mach compliant [6]. In this article we present two methods for compressible Euler equations closed with an ideal gas law based on the entropy stable and kinetic energy compliant fluxes of Chandrashekar [5] and a low Mach modification of Li and Gu [17]. The methods we propose are entropy dissipative and low Mach compliant. One of our methods is additionally kinetic energy stable. The low Mach number method from Li and Gu [17] has the tendency to develop so-called checkerboard instabilities at low Mach numbers. Numerical experiments indicate that the methods developed in this article suppress the checkerboard modes.

The rest of the article is structured as follows: In Sect. 2 we describe the entropy and kinetic energy dissipative methods introduced in [5]. In Sect. 3 we discuss the behavior of the method at low Mach numbers and we present a correction in Sect. 4. Numerical tests demonstrating the improved results at low Mach numbers and the entropy dissipation of the proposed methods are presented in Sect. 5.

2 Kinetic Energy and Entropy Stable Fluxes

The 2-d Euler equations which model the conservation laws of mass, momentum, and energy of a compressible inviscid fluid are given by

$$\begin{aligned} \frac{\partial \boldsymbol{q}}{\partial t} + \frac{\partial \boldsymbol{f}}{\partial x} + \frac{\partial \boldsymbol{g}}{\partial y} = 0, \end{aligned}$$
(1)

where the conserved variables and fluxes are

$$\begin{aligned} \boldsymbol{q}= \begin{bmatrix} \rho \\ \rho u \\ \rho v \\ E \end{bmatrix}, \quad \boldsymbol{f}= \begin{bmatrix} \rho u \\ \rho u^2+p \\ \rho u v \\ (E+p)u \end{bmatrix}, \quad \boldsymbol{g}= \begin{bmatrix} \rho v \\ \rho u v \\ \rho v^2+p \\ (E+p)v \end{bmatrix}. \end{aligned}$$
(2)

Moreover, \(E=\rho \varepsilon + \tfrac{1}{2}\rho |\mathbf {v}|^2 \) is the total energy per unit volume with \(\mathbf {v}=[u,v]^T\) being the velocity. The pressure p is related to the density and internal energy via the ideal gas equation of state

$$\begin{aligned} p=R T\rho \qquad \text {with}\qquad T=\frac{\gamma -1}{R}\frac{\varepsilon }{\rho }. \end{aligned}$$
(3)

The dependent variable T is called temperature, the constants are the gas constant R, and the ratio of specific heats \(\gamma \).

2.1 Entropy-Entropy Flux and Entropy Variables

A pair \((U,\boldsymbol{\phi })\) with a convex function \(U(\boldsymbol{q})\) and a vector valued function \(\boldsymbol{\phi }(\boldsymbol{q})=[\phi _x(\boldsymbol{q}),\phi _y(\boldsymbol{q})]^T\) is called entropy-entropy flux pair, if it satisfies the relations

$$\begin{aligned} U^\prime (\boldsymbol{q})\boldsymbol{f}^\prime (\boldsymbol{q}) = \phi _x^\prime (\boldsymbol{q}),\qquad U^\prime (\boldsymbol{q})\boldsymbol{g}^\prime (\boldsymbol{q}) = \phi _y^\prime (\boldsymbol{q}). \end{aligned}$$
(4)

Using this pair, we can add the additional conservation law

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial \phi _x}{\partial x}+ \frac{\partial \phi _y}{\partial y}= 0 \end{aligned}$$
(5)

to Eq. (1). As usual in the context of hyperbolic conservation laws, we also want to admit discontinuous solutions and interpret all the derivatives in Eq. (1) in the weak sense. At discontinuities, the entropy is not necessarily conserved. Instead, the inequality

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial \phi _x}{\partial x}+ \frac{\partial \phi _y}{\partial y}\le 0 \end{aligned}$$
(6)

is demanded as a criterion to choose admissible (physical) solutions. We define entropy variables by

$$\begin{aligned} \mathbf {r}(\boldsymbol{q}):=U^\prime (\boldsymbol{q}) \end{aligned}$$
(7)

and the dual to the entropy flux by \(\boldsymbol{\psi }(\mathbf {r})=[\psi _x(\mathbf {r}),\psi _y(\mathbf {r})]^T\) with

$$\begin{aligned} \psi _x(\mathbf {r}):=\mathbf {r}\cdot \boldsymbol{f}(\boldsymbol{q}(\mathbf {r})) - \phi _x(\boldsymbol{q}(\mathbf {r})),\quad \psi _y(\mathbf {r}):=\mathbf {r}\cdot \boldsymbol{g}(\boldsymbol{q}(\mathbf {r})) - \phi _y(\boldsymbol{q}(\mathbf {r})), \end{aligned}$$
(8)

where \(\boldsymbol{q}(\mathbf {r}) \) is the inverse of \(\mathbf {r}(\boldsymbol{q})\) defined above. The inverse exists because of the convexity of \(U(\boldsymbol{q})\).

For the Euler Eq. (1), the most common choice of an entropy-entropy flux pair is

$$\begin{aligned} U:=-\frac{\rho s}{\gamma -1}, \qquad \boldsymbol{\phi }:=-\frac{\rho \mathbf {v} s}{\gamma -1}, \end{aligned}$$
(9)

where \(s:=\ln \left( p\rho ^{-\gamma }\right) = -(\gamma -1)\ln (\rho )-\ln (\beta ) -\ln (2)\) up to a constant with \(\beta :=1/(2RT)\). This choice is not unique [12], but it is the one consistent with the entropy condition from thermodynamics in the presence of heat transfer [13]. The entropy variables are subsequently given by

$$\begin{aligned} \mathbf {r}:=\begin{bmatrix} \frac{[\gamma -s]}{\gamma -1}-\beta |\mathbf {v} |^2,&2\beta u,&2\beta v,&-2\beta \end{bmatrix}^T. \end{aligned}$$
(10)

and the entropy flux dual

$$\begin{aligned} \boldsymbol{\psi }=\rho \mathbf {v}. \end{aligned}$$
(11)

2.2 A Basic Finite Volume Method

In this section, for brevity reasons, we only describe a simple quadrature-free finite volume method, which is a second order accurate finite volume method on a static Cartesian grid. In practice, more elaborate methods are used (see e.g. [26]).

We divide the domain \(\Omega =[a,b]\times [c,d]\) with \(a<b,c<d\) into cells

$$\begin{aligned} \Omega _{ij}:=\left[ x_{i-\frac{1}{2}} ,x_{i+\frac{1}{2}}\right] \times \left[ y_{j-\frac{1}{2}} ,y_{j+\frac{1}{2}}\right] \end{aligned}$$
(12)

for \(i=0,\dots ,N-1\), \(j=0,\dots ,M-1\). The cell-interface centers are

$$\begin{aligned} \mathbf {x} _{i-\frac{1}{2},j}:=\left[ a+i\Delta x,c+\left( j+\frac{1}{2}\right) \Delta y\right] ^T, \mathbf {x} _{i,j-\frac{1}{2}}:=\left[ a+\left( i+\frac{1}{2}\right) \Delta x,c+j\Delta y\right] ^T \end{aligned}$$
(13)

with \(\Delta x:=\frac{b-a}{N}, \Delta y:=\frac{d-c}{M}\). We integrate \(\boldsymbol{q}\) in each cell to obtain cell-averaged values

$$\begin{aligned} \hat{\boldsymbol{q}}_{ij}(t):=\frac{1}{\Delta x\Delta y}\int _{\Omega _{ij}} \boldsymbol{q}(\mathbf {x},t) \,d\mathbf {x}. \end{aligned}$$
(14)

We find an evolution equation for the cell-average values by cell-wise integrating Eq. (1):

$$\begin{aligned} \partial _t\hat{\boldsymbol{q}}_{ij}(t) =- \frac{1}{\Delta x\Delta y}\int _{\Omega _{ij}}\partial _x\boldsymbol{f}(\boldsymbol{q}(\mathbf {x},t))+\partial _y\boldsymbol{g}(\boldsymbol{q}(\mathbf {x},t))\,d\mathbf {x}. \end{aligned}$$
(15)

To construct our simple finite volume method we use Fubini’s theorem, the fundamental theorem of calculus, and an approximation of the interface integral by the interface centered point value. The interface centered fluxes are approximated using a numerical two-state flux. This yields

$$\begin{aligned} \partial _t\hat{\boldsymbol{q}}_{ij}(t) \approx&- \frac{1}{\Delta x}\left[ \mathbf {F}\left( \hat{\boldsymbol{q}}^-_{i+\frac{1}{2},j}(t),\hat{\boldsymbol{q}}^+_{i+\frac{1}{2},j}(t)\right) -\mathbf {F}\left( \hat{\boldsymbol{q}}^-_{i-\frac{1}{2},j}(t),\hat{\boldsymbol{q}}^+_{i-\frac{1}{2},j}(t)\right) \right] \nonumber \\&- \frac{1}{\Delta y}\left[ \mathbf {G}\left( \hat{\boldsymbol{q}}^-_{i,j+\frac{1}{2}}(t),\hat{\boldsymbol{q}}^+_{i,j+\frac{1}{2}}(t)\right) -\mathbf {G}\left( \hat{\boldsymbol{q}}^-_{i,j-\frac{1}{2}}(t),\hat{\boldsymbol{q}}^+_{i,j-\frac{1}{2}}(t)\right) \right] , \end{aligned}$$
(16)

where the \(\hat{\boldsymbol{q}}^\pm \) values are obtained using a non-oscillatory reconstruction on the cell-average values. This set of ODEs is then integrated numerically to evolve the approximate solution \(\hat{\boldsymbol{q}}\) in time. In the rest of the article we drop the hat at \(\hat{\boldsymbol{q}}_{ij}\) and just write \(\boldsymbol{q}_{ij}\). Also, in the rest of the article we will only consider numerical fluxes in x-direction, since the fluxes \(\boldsymbol{f}\) and \(\boldsymbol{g}\) for Euler equations can be converted into each other by only correctly rotating velocity vectors. For symmetry reasons we assume \(\mathbf {F}\) and \(\mathbf {G}\) to have the same relation.

2.3 Entropy Conservative Numerical Fluxes

Tadmor [24, 25] introduced the concept of entropy conservative numerical fluxes \(\mathbf {F}^\text {ec}\), which have to satisfy the relation

$$\begin{aligned} (\mathbf {r}(\boldsymbol{q}^+)-\mathbf {r}(\boldsymbol{q}^-))\cdot \mathbf {F}^\text {ec}(\boldsymbol{q}^-,\boldsymbol{q}^+)=\psi (\mathbf {r}(\boldsymbol{q}^+))-\psi (\mathbf {r}(\boldsymbol{q}^-))=(\rho \mathbf {v})^+-(\rho \mathbf {v})^-. \end{aligned}$$
(17)

The last identity is only valid for the Euler Eq. (1). Different entropy conservative numerical fluxes have been proposed by Tadmor [24], Ismail and Roe [14], and Chandrashekar [5]. Our method is based on the numerical flux by Chandrashekar [5], which can be written as

$$\begin{aligned} \mathbf {F}^*(\boldsymbol{q}^-,\boldsymbol{q}^+):= \begin{bmatrix} F^{*,\rho }\\ F^{*,\rho u}\\ F^{*,\rho v}\\ F^{*,E} \end{bmatrix}:= \begin{bmatrix} \hat{\rho }\bar{u}\\ \bar{u} F^{*,\rho }+\tilde{p}\\ \bar{v} F^{*,\rho }\\ \left( \frac{1}{2(\gamma -1)\hat{\beta }}-\frac{1}{2}\overline{|\mathbf {v} |^2}\right) F^{*,\rho } +\bar{\mathbf {v}}\cdot [F^{*,\rho u},F^{*,\rho v}]^T \end{bmatrix}. \end{aligned}$$
(18)

The averages are the arithmetic average \(\bar{a}:=\frac{1}{2}(a^-+a^+)\) and the logarithmic average \(\hat{a} := \frac{a^+-a^-}{\ln a^+-\ln a^-}\). A non-singular implementation of \(\hat{a}\) is presented in [14]. The pressure average is \(\tilde{p}:=\bar{\rho }/(2\bar{\beta })\) where \(\bar{\beta }\) is computed from \(\beta ^\pm =\rho ^\pm /(2 p^\pm )\). This pressure average corresponds to the harmonic average in the temperature [5]. The notations for the averages are used throughout this article.

2.4 Kinetic Energy Preserving Fluxes

From the density and momentum equations in the Euler Eq. (1) the balance law

$$\begin{aligned} \frac{\partial K}{\partial t} + \frac{\partial (K u)}{\partial x} + \frac{\partial (K v)}{\partial y} = -u\frac{\partial p}{\partial x} -v\frac{\partial p}{\partial y} \end{aligned}$$
(19)

for the kinetic energy \(K:=\frac{1}{2}\rho |\mathbf {v} |^2\) can be derived. Integration over the whole domain \(\Omega \) while ignoring the boundaries yields

$$\begin{aligned} \frac{\partial }{\partial t}\int _{\Omega } K\,d\mathbf {x} = \int _{\Omega }p\frac{\partial u}{\partial x} +p \frac{\partial v}{\partial y} \,d\mathbf {x}. \end{aligned}$$
(20)

Jameson [15] shows that any numerical flux \(\mathbf {F}^J\) which can be formulated in the form

$$\begin{aligned} \mathbf {F}^\text {J}\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) = \begin{bmatrix} F^{\text {J},\rho }\\ \bar{u} F^{\text {J},\rho } + \left\langle p\right\rangle \\ \bar{v} F^{\text {J},\rho }\\ F^{\text {J},E} \end{bmatrix}, \end{aligned}$$
(21)

satisfies the discrete analogon

$$\begin{aligned} \frac{\partial }{\partial t}\sum _{i,j}K_{ij}\Delta x \Delta y&= \sum _{i,j}\left( -\frac{1}{2}|\mathbf {v} _{ij}|^2\frac{\partial \rho _{ij}}{\partial t}+\mathbf {v} _{ij}\frac{\partial (\rho \mathbf {v})_{ij}}{\partial t}\right) \Delta x\Delta y\nonumber \\&= \sum _{i,j} \left( \left\langle p\right\rangle _{i+\frac{1}{2},j}\frac{\Delta u_{i+\frac{1}{2},j}}{\Delta x}+\left\langle p\right\rangle _{i,j+\frac{1}{2}}\frac{\Delta v_{i,j+\frac{1}{2}}}{\Delta y}\right) \Delta x\Delta y \end{aligned}$$
(22)

of Eq. (20). Equation (22) can easily be computed using the flux from Eq. (21) and the corresponding flux in y-direction \(\mathbf {G}^J\). The fluxes \(F^{\text {J},\rho }\) and \(F^{\text {J},E}\) are consistent approximations of the density and energy flux and \(\left\langle p\right\rangle \) approximates the interface pressure. Clearly, the entropy conservative numerical flux \(\mathbf {F}^*\) from Eq. (18) is in this kinetic energy preserving form.

In the low Mach number limit, the right-hand side of Eq. (20) vanishes with the divergence of velocity (e.g.  [11]). Equation (20) then describes the conservation of kinetic energy. This makes kinetic energy consistency especially relevant for low Mach number fluxes. Most numerical flux functions violate this condition. For example, in [18] it is numerically shown that the kinetic energy rises for a simulation of the incompressible Gresho [10] vortex using a central flux and implicit time stepping.

2.5 Entropy Diffusion

For the scheme to be stable in the presence of discontinuities it needs to dissipate entropy. Following [5] this is achieved by modifying the Roe scheme diffusion [23] such that the Roe matrix is applied to the jump in entropy variables \(\mathbf {r}\) instead of conserved variables \(\boldsymbol{q}\). The standard Roe scheme uses the diffusion

$$\begin{aligned} \mathbf {F}^\text {Roe,diff}\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) := -\frac{1}{2}D^\text {Roe}\Delta \boldsymbol{q}:= -\frac{1}{2}R|\Lambda |^\text {Roe}R^{-1}\Delta \boldsymbol{q}, \end{aligned}$$
(23)

where

$$\begin{aligned} R:=\begin{bmatrix} 1 &{} 1 &{} 0 &{} 1 \\ u-c &{} u &{} 0 &{} u+c \\ v &{} v &{} -1 &{} v \\ H-cu &{} \frac{1}{2}|\mathbf {v} |^2 &{} -v &{} H+cu \end{bmatrix}, \end{aligned}$$
(24)

with the enthalpy \(H=\frac{c^2}{\gamma -1}+\frac{|\mathbf {v} |^2}{2}\), is the matrix of right eigenvectors of \(\frac{\partial \boldsymbol{f}(\boldsymbol{q})}{\partial \boldsymbol{q}}\) and

$$\begin{aligned} |\Lambda |^\text {Roe}:= \text {diag}\left( \begin{bmatrix} |\lambda _1|, |\lambda _2|, |\lambda _3|, |\lambda _4| \end{bmatrix}\right) =\text {diag}\left( \begin{bmatrix} |u-c|, |u|, |u|, |u+c| \end{bmatrix}\right) \end{aligned}$$
(25)

is the diagonal matrix with the absolute values of the corresponding eigenvalues. The whole matrix \(D^\text {Roe}\) is evaluated at the Roe average state [23] to ensure accurate shock capturing. In order to apply the diffusion matrix \(D^\text {Roe}\) to the jump in entropy variables, we have to transform these to conserved variables. So the diffusion part of our numerical flux is

$$\begin{aligned} \mathbf {F}^\text {ES,diff}\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) := -\frac{1}{2}R|\Lambda |^\text {Roe}R^{-1}\frac{\partial \boldsymbol{q}}{\partial \mathbf {r}}\Delta \mathbf {r}. \end{aligned}$$
(26)

The entropy diffusion \(\mathbf {F}^\text {ES,diff}\) can be formulated in a simpler form which can lead to a more efficient implementation: It is shown by Barth [3] that there is a scaling \(\tilde{R}=R S^{-\frac{1}{2}}\) of the Eigenvectors R with \(\frac{\partial \boldsymbol{q}}{\partial \mathbf {r}}=\tilde{R} \tilde{R}^T\) which leads to the form

(27)

with the scaling matrix

$$\begin{aligned} S:=\text {diag}\left( \begin{bmatrix} \frac{\rho }{2\gamma },&\frac{(\gamma -1)\rho }{\gamma },&p,&\frac{\rho }{2\gamma } \end{bmatrix}\right) . \end{aligned}$$
(28)

Since Q is positive definite by construction, \(\mathbf {F}^\text {ES,diff}\) is dissipative in the entropy variables. The numerical flux

$$\begin{aligned} \mathbf {F}^\text {ES}\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) := \mathbf {F}^*\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) + \mathbf {F}^\text {ES,diff}\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) \end{aligned}$$
(29)

is hence entropy satisfying in the sense, that a spatially discrete analogon of the entropy inequality is satisfied. Proofs are analogously to [5, 20]. The numerical flux in y-direction is constructed in the same way.

2.6 Kinetic Energy Diffusion

Alongside entropy stability we also aim for kinetic energy stability. We have seen that \(\mathbf {F}^*\) ist consistent with the evolution of kinetic energy derived from the Euler Eq. (1). In order to guarantee kinetic energy stability, the diffusive term in the numerical flux has to do dissipate kinetic energy. Chandrashekar [5] shows that this requires the condition \(|\lambda _1|=|\lambda _4|\) to hold in Eq. (25). The most obvious way to achieve this is to choose

$$\begin{aligned} |\Lambda |^\text {KES}:= \text {diag}\left( \begin{bmatrix} |\lambda _1|, |\lambda _2|, |\lambda _3|, |\lambda _4| \end{bmatrix}\right) = \text {diag}\left( \begin{bmatrix} |u|+c, |u|, |u|, |u|+c \end{bmatrix}\right) . \end{aligned}$$
(30)

in the definition of the entropy-diffusion matrix Q. The numerical flux defined by this modification on the ES scheme will be called ES-KES or \(\mathbf {F}^\text {ES-KES}\) throughout this article. Note that this method is more diffusive than the ES scheme. However, it adds one more relevant stability property.

2.7 Intermediate State

To ensure correct upwinding, the diffusion matrix in the standard Roe scheme is evaluated at the so-called Roe average state. Anyway, in our numerical flux \(\mathbf {F}^\text {ES}\) we use \(\mathbf {F}^*\) instead of the standard central flux, so we can not expect the shock-capturing property to still hold for our method. In the following we discuss at which intermediate state the diffusion matrix Q should be evaluated.

The entropy stability property does not depend on the intermediate state, since Q is positive definite for any state by construction. The kinetic energy stability also does not depend on the particular choice of the intermediate state, only on the relation of the entries in the diagonal matrix \(|\Lambda |\). For the flux to have the contact property, Chandrashekar [5] shows that we have to choose

$$\begin{aligned} c_\text {int}=\sqrt{\frac{\gamma }{2\hat{\beta }}} \quad \text {and}\quad H_\text {int}=\frac{c_\text {int}^2}{\gamma -1}+\frac{1}{2} |\mathbf {v} _\text {int}|^2. \end{aligned}$$
(31)

All other averages can be chosen freely, so we can use arithmetic or logarithmic averages for example.

However, for implementation reasons it can be useful to hand a intermediate state vector in primitive variables to the routine which computes the diffusion matrix. We can realize this using the average state

$$\begin{aligned} \mathbf {v} _\text {int}&:=\bar{\mathbf {v}}&p_\text {int}&:=\bar{p}&\rho _\text {int}&:=2 p_\text {int} \hat{\beta }. \end{aligned}$$
(32)

In the computation of the diffusion matrix we compute all the other variables from the primitive intermediate state in the straight forward way, e.g. \(c_\text {int}=\sqrt{\gamma p_\text {int}/\rho _\text {int}}\) and the enthalpy as described in Eq. (31).

3 Low Mach Number Asymptotics

The Euler Eq. (1) can be cast in the non-dimensional form

$$\begin{aligned} \frac{\partial }{\partial t}\begin{bmatrix} \rho \\ \rho u \\ \rho v \\ E \end{bmatrix} + \frac{\partial }{\partial x}\begin{bmatrix} \rho u \\ \rho u^2 + \frac{1}{\mathcal {M}^2}p \\ \rho u v \\ (E+p)u \end{bmatrix} + \frac{\partial }{\partial y}\begin{bmatrix} \rho v \\ \rho u v \\ \rho v^2 + \frac{1}{\mathcal {M}^2}p \\ (E+p)v \end{bmatrix} = 0 \end{aligned}$$
(33)

using only the assumption that the reference velocity is computed as the quotient of the reference length and time and one parameter, which we will call reference Mach number \(\mathcal {M}\).

The low Mach number limit of the Euler equations Eq. (33) is well-known and studied (e.g.  [1, 8, 11]). For well-prepared initial data a series of solutions of Eq. (33) with different reference Mach numbers converge to solutions of the incompressible Euler equations for \(\mathcal {M}\rightarrow 0\). Conventional finite volume methods tend to fail to correctly represent this limit for their numerical solutions. One reason for this is excessive diffusion at low Mach numbers.

Consider the ES-flux introduced in Sect. 2.5. Note that, again, we only consider the flux in x-direction for simplicity. For small jumps we can approximate

$$\begin{aligned} \mathbf {F}^\text {ES}\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right)&= \mathbf {F}^*\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) - \frac{1}{2}D^\text {Roe}(\boldsymbol{q}_\text {int})\left. \frac{\partial \boldsymbol{q}(\mathbf {r})}{\partial \mathbf {r}}\right| _{\mathbf {r}=\mathbf {r}\left( \boldsymbol{q}_\text {int}\right) }\left( \mathbf {r}\left( \boldsymbol{q}^+\right) -\mathbf {r}\left( \boldsymbol{q}^-\right) \right) \nonumber \\&\approx J\left( \boldsymbol{q}_\text {int}\right) \boldsymbol{q}_\text {int} - \frac{1}{2}D^\text {Roe}\left( \boldsymbol{q}_\text {int}\right) \Delta \boldsymbol{q}\nonumber \\&= \left. \frac{\partial \boldsymbol{q}}{\partial \mathbf {u}}\right| _{\boldsymbol{q}_\text {int}}J_\text {prim}\left( \boldsymbol{q}_\text {int}\right) \left. \frac{\partial \mathbf {u}}{\partial \boldsymbol{q}}\right| _{\boldsymbol{q}_\text {int}} \boldsymbol{q}_\text {int} - \frac{1}{2}\left. \frac{\partial \boldsymbol{q}}{\partial \mathbf {u}}\right| _{\boldsymbol{q}_\text {int}}D^\text {Roe}_\text {prim}\left( \boldsymbol{q}_\text {int}\right) \left. \frac{\partial \mathbf {u}}{\partial \boldsymbol{q}}\right| _{\boldsymbol{q}_\text {int}}\Delta \boldsymbol{q} \end{aligned}$$
(34)

because of \(\boldsymbol{q}^-\approx \boldsymbol{q}_\text {int}\approx \boldsymbol{q}^+\) and consequently \(\mathbf {F}^*\left( \boldsymbol{q}^-,\boldsymbol{q}^+\right) \approx \boldsymbol{f}(\boldsymbol{q}_\text {int})\). The intermediate state \(\boldsymbol{q}_\text {int}\) is the one defined in Sect. 2.7. The flux Jacobian in primitive variables is \(J_\text {prim}=\frac{\partial \mathbf {u}}{\partial \boldsymbol{q}}J\frac{\partial \boldsymbol{q}}{\partial \mathbf {u}}\) with the flux jacobian in conserved variables \(J=\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{q}}\) and the Roe diffusion matrix in primitive variables is \(D^\text {Roe}_\text {prim}=\frac{\partial \mathbf {u}}{\partial \boldsymbol{q}}D^\text {Roe}\frac{\partial \boldsymbol{q}}{\partial \mathbf {u}}\). The primitive variables are

$$\begin{aligned} \mathbf {u}:=[\rho ,u,v,p]^T. \end{aligned}$$
(35)

Equation (34) justifies the comparison of the two matrices \(J_\text {prim}\) and \(D^\text {Roe}_\text {prim}\) with regard of their formal scaling with the reference Mach number to gain insight into the asymptotic behavior of the method for small Mach numbers:

$$\begin{aligned} J_\text {prim}&= \left[ \begin{array}{*{8}c} \mathcal {O}\left( 1\right) &{} \mathcal {O}\left( 1\right) &{} 0 &{} 0 \\ 0 &{} \mathcal {O}\left( 1\right) &{} 0 &{} \mathcal {O}\left( \frac{1}{\mathcal {M}^{2}}\right) \\ 0 &{} 0 &{} \mathcal {O}\left( 1\right) &{} 0 \\ 0 &{} \mathcal {O}\left( 1\right) &{} 0 &{} \mathcal {O}\left( 1\right) \\ \end{array}\right] ,\end{aligned}$$
(36)
$$\begin{aligned} D^\text {Roe}_\text {prim}&=\left[ \begin{array}{*{8}c} \mathcal {O}\left( 1\right) &{} 0 &{} 0 &{} \mathcal {O}\left( \frac{1}{\mathcal {M}}\right) \\ 0 &{} \mathcal {O}\left( \frac{1}{\mathcal {M}}\right) &{} 0 &{} \mathcal {O}\left( \frac{1}{\mathcal {M}}\right) \\ 0 &{} 0 &{} \mathcal {O}\left( 1\right) &{} \mathcal {O}\left( 1\right) \\ 0 &{} 0 &{} 0 &{} \mathcal {O}\left( \frac{1}{\mathcal {M}}\right) \\ \end{array}\right] +\mathcal {O}\left( \mathcal {M}\right) . \end{aligned}$$
(37)

Note that the diffusion matrix scaling for the ES-KES flux is the same, since for low Mach numbers \(|u+c|\approx |u|+c\approx |u-c|\). From Eqs. (36) and (37) we see that there are some terms in which the diffusion matrix dominates the flux Jacobian for small Mach numbers. This explains the excessive diffusion of the method at low Mach numbers. Different methods have been proposed to correct those terms in the Roe diffusion matrix (e.g. [2, 18, 19, 22, 27]). For the entropy stability of our method, however, the modification should keep the positive definiteness of Q. The following modification provides this.

4 Low Mach Modifications of the ES and ES-KES Fluxes

Following [17] we modify the diagonal matrices Eqs. (25) and (30) to make the schemes low Mach number compliant: We use

$$\begin{aligned} |\Lambda |^\text {Roe}_\text {LM}&:=\text {diag}\left( \begin{bmatrix} |u-\tilde{c}|, |u|, |u|, |u+\tilde{c}| \end{bmatrix}\right) ,\end{aligned}$$
(38)
$$\begin{aligned} |\Lambda |^\text {KES}_\text {LM}&:=\text {diag}\left( \begin{bmatrix} |u|+\tilde{c}, |u|, |u|, |u|+\tilde{c} \end{bmatrix}\right) \end{aligned}$$
(39)

with

$$\begin{aligned} \tilde{c} := c\cdot \max (\min (M,1),M_\text {cut})\quad \text {with}\quad M:=\frac{|\mathbf {v} |}{c}\quad \text {and}\quad M_\text {cut}\in [0,1]. \end{aligned}$$
(40)

Other possible definitions of the rescaled speed of sound \(\tilde{c}\) can be found e.g. in [6, 17]. The global cut-off Mach number \(M_\text {cut}\) can be used to increase the diffusion and thus the stability at Mach numbers which are lower than the one expected in a particular simulation. Using those diagonal matrices instead of \(|\Lambda |^\text {Roe}\) and \(|\Lambda |^\text {KES}\) yields the numerical fluxes \(\mathbf {F}^\text {ES-LM}\) and \(\mathbf {F}^\text {ES-KES-LM}\). It is obvious that this modification is compatible with the proof of entropy stability in [5]. Also, \(\mathbf {F}^\text {ES-KES-LM}\) still satisfies the relation \(|\lambda _1|=|\lambda _4|\) required for kinetic energy stability. This modification changes Eq. (37) into

$$\begin{aligned} \left( D^\text {Roe}_\text {LM}\right) _\text {prim}=\left[ \begin{array}{*{8}c} \mathcal {O}\left( 1\right) &{} 0 &{} 0 &{} \mathcal {O}\left( 1\right) \\ 0 &{} \mathcal {O}\left( 1\right) &{} 0 &{} \mathcal {O}\left( \frac{1}{\mathcal {M}}\right) \\ 0 &{} 0 &{} \mathcal {O}\left( 1\right) &{} 0 \\ 0 &{} 0 &{} 0 &{}\mathcal {O}\left( 1\right) \\ \end{array}\right] +\mathcal {O}\left( \mathcal {M}\right) . \end{aligned}$$
(41)

and the terms of dominating diffusion at low Mach numbers vanish. As before, this scaling is also valid for the diffusion matrix of the ES-KES-LM flux.

5 Numerical Tests

In our tests we include the standard Roe flux [23] (Roe), the Roe flux with the low Mach fix [17] described in Eq. (38) (Roe-LM), the entropy stable fluxes (ES, ES-KES) from [5] and the entropy stable fluxes with low Mach fix (ES-LM, ES-KES-LM) proposed in this article. In the low Mach methods we use \(M_\text {cut}=0\). For time-stepping we use the third order accurate four stage Runge–Kutta Method as described in [16]. In practice, an implicit method should be used to evolve low Mach number flows in time due to the stiffness in time [18]. However, this is not in the scope of this short article.

For the equation of state we choose \(\gamma =1.4\), which is a suitable value to describe air. We set the value of the gas constant to \(R=1\), such that density and pressure have the same order of magnitude.

5.1 Test of the Entropy Stability

One test for the entropy compliance of a method is a standing sound wave, for which e.g. the Roe scheme is well-known to produce a non-physical jump. We solve the 1-d Riemann-problem given by

$$\begin{aligned} (\rho , u, p)(x<0.5)&:=(1,0.75,1)\end{aligned}$$
(42)
$$\begin{aligned} (\rho , u, p)(x\ge 0.5)&:=(0.125,0,0.1) \end{aligned}$$
(43)

on 100 equidistant grid cells in the domain \(\Omega =[0,1]\). We use the standard Roe-flux, the standard Roe-flux with the low Mach modification Eq. (38) (Roe-LM), and the entropy stable low Mach methods ES-LM and ES-KES-LM introduced in this article (Sect. 4) with constant (which means no) reconstruction. The result at \(t=0.2\) is shown in Fig. 1. As a reference solution we use a simulation with the local Lax–Friedrichs numerical flux on \(100\,000\) grid cells. We see the non-entropic jump which is produced by the Roe scheme. The low Mach modification in Roe-LM even increases the non-entropic jump. As expected, for the entropy stable all Mach methods ES-LM and ES-KES-LM there is no significant non-entropic jump. It is notable that the methods proposed in this article also have an improved accuracy on the expansion shock (zoom 2). In the bottom panel of Fig. 1 we see the entropy of the solution at time \(t=0.2\). While the entropy at initial time is non-positive on the whole domain (This is easy to compute from the initial conditions), the Roe and Roe-LM method lead to positive values of entropy at time \(t=0.2\). The ES-LM and ES-KES-LM method lead to non-positive entropy values on the whole domain.

Fig. 1
figure 1

Standing sound wave test at \(t=0.2\) with different numerical fluxes at a 100 cells grid. The test-setup is described in Sect. 5.1. Top: density on the whole domain. Middle: Magnified views of particular regions of the top panel. Bottom: Entropy at the whole domain

5.2 Test of the Contact Property

We test the contact property of the method using the Riemann problem

$$\begin{aligned} (\rho , u, p)(x<0.5)&:=(1,0.75,1)\end{aligned}$$
(44)
$$\begin{aligned} (\rho , u, p)(x\ge 0.5)&:=(0.125,0,0.1) \end{aligned}$$
(45)

on 100 equidistant grid cells in the domain [0, 1]. We use the ES-LM and ES-KES-LM fluxes with constant reconstruction and the intermediate state described in Sect. 2.7. The result at \(t=0.2\) is shown in Fig. 2. Both methods accurately resolve the contact discontinuity.

Fig. 2
figure 2

Density of a contact discontinuity at \(t=0.2\) computed using the entropy stable low Mach methods ES-LM and ES-KES-LM. The setup is described in Sect. 5.2

5.3 Low Mach Gresho Vortex

The incompressible Gresho vortex [10] can be extended to a family of stationary solutions of the Euler equations with a parameter that adjusts the maximal local Mach number in the setup [2]. The setup is

$$\begin{aligned} (\rho ,\mathbf {v},p) = {\left\{ \begin{array}{ll} (1,\,5 r \mathbf {e}_\phi ,\,p_c + \frac{25}{2} r^2)&{}\text {if } r<0.2,\\ \left( 1,\,(2-5 r)\mathbf {e}_\phi , \,p_c+4\ln (5r)+4-20 r +\frac{25}{2} r^2\right) &{}\text {if } 0.2\le r<0.4,\\ (1,\,0,\,p_c +4\ln (2)-2) &{} \text {else}, \end{array}\right. } \end{aligned}$$

where \(p_c =\frac{1}{\gamma \tilde{M}^2} \frac{1}{2}\) and \(\mathbf {e}_\phi \) is the unit vector in angular direction. We apply the standard Roe flux, the Roe flux with low Mach fix [17], the entropy stable fluxes from [5] and the entropy stable fluxes with low Mach fix proposed in this article. We use limited linear reconstruction on a \(32\times 32\) cells grid with periodic boundary conditions to evolve the vortex for 0.1 revolutions. For the low Mach number fluxes we use \(M_\text {cut}=0\). The Mach number at final time is shown in Fig. 3 for the different numerical fluxes (columns) and maximal initial Mach number parameters \(\tilde{M}=1,0.1,0.01\) (rows). The Roe, ES, and ES-KES numerical fluxes lead to completely diffused vortexes for lower Mach number, while the proposed fluxes (ES-LM, ES-KES-LM) are as capable of accurately resolving the Gresho vortex at lower Mach numbers as the Roe method with low Mach fix (Roe-LM, [17]).

Fig. 3
figure 3

Local Mach number of the Gresho vortex test from Sect. 5.3 after 0.1 rotations. The initial maximal Mach number decreases from top to bottom. In the different columns different numerical fluxes are applied

6 Conclusions and Outlook

We presented novel numerical flux functions which combine the entropy and kinetic energy stability properties of the fluxes proposed in [5] with the low Mach number compliance of the method from [17]. The entropy stability and the low Mach number compliance have been shown in numerical tests. The contact property holds due to the correct choice of the intermediate state. It is worth noting that the proposed methods also show an improved performance at fast shocks. For practical applications of the proposed methods we suggest the combination with implicit time-stepping to overcome the stiffness in time. To extend the method to higher order while maintaining the entropy stability, special care has to be given to the reconstruction procedure, as discussed in [9, 21]. To avoid the carbuncle phenomenon at strong shocks, [5, 20] suggest a hybrid diffusion with a Rusanov-type diffusion term.