Abstract
Based on the Roe solver a new technique that allows to correctly represent low Mach number flows with a discretization of the compressible Euler equations was proposed in Miczek et al. (Astron Astrophys 576:A50, 2015). We analyze properties of this scheme and demonstrate that its limit yields a discretization of the continuous limit system. Furthermore we perform a linear stability analysis for the case of explicit time integration and study the performance of the scheme under implicit time integration via the evolution of its condition number. A numerical implementation demonstrates the capabilities of the scheme on the example of the Gresho vortex which can be accurately followed down to Mach numbers of \({\sim }10^{-10}\).
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
This paper concerns itself with finite volume schemes for the compressible Euler equations, in regimes where the Mach number may become both high and quite low. When the Mach number is of order one, modern shock capturing methods are able to resolve discontinuities and other complex structures with high numerical resolution. For the Mach number going to zero the solutions to the compressible Euler equations
tend to the solutions of the incompressible Euler equations. This has been demonstrated by e.g. [18, 21]. They found that the various functions (pressure, density, etc.) converge to those encountered in the incompressible setting at different rates in the Mach number. A numerical method needs to take account of this.
For the compressible Euler equations the CFL stability criterion of an explicit time discretization requires the time step to be very small for small Mach numbers. This is due to the fact that in this regime the sound waves are much faster than the advection of the flow. Additionally to this stiffness in time, shock-capturing methods show an excessive diffusion which completely deteriorates the solution when the methods are applied to flows with low Mach numbers.
In order to deal with these problems in the literature one finds two approaches:
-
In one approach the flux function of the finite volume method is modified. The idea is to adapt the flux to the low Mach situation. Recent suggestions of flux modification include [2, 6, 23, 25]. This is a method that was initially proposed by Eli Turkel ([32]) for the calculation of steady state flows and was subsequently extended. These methods however are not well suited for flows where low-Mach flows occur simultaneously with flows that have speeds comparable to the sound speed.
-
In another approach Klein [19] devised an algorithm that keeps track of different orders in the asymptotic expansion of the pressure. The idea is to split the system into two parts. One of them involves a slow, nonlinear and conservative hyperbolic system adequate for the use of modern shock capturing methods mentioned above, and the other is a linear hyperbolic system which contains the stiff acoustic dynamics, which is to be solved implicitly. Recent developments for all-speed schemes of this sort are [3, 4, 13]. In summary, this leads to a hybrid scheme, partly implicit in time, partly explicit.
In this paper we are inspired by the first approach. It is based on a recently published astrophysical paper [22], where the authors propose a new hydrodynamics solver based on modifying the diffusion matrix of the Roe scheme. In spirit this is not dissimilar to [32], where these modifications were referred to as flux-preconditioning for historical reasons. In more extreme astrophysical situations, however, the schemes proposed there may fail. [22] demonstrated that the flux function resulting from previous preconditioning techniques may show inconsistencies in certain applications. With their new scheme a consistent scaling is achieved.
Since this new technique may be useful for applications outside the astrophysical context, in this paper we follow up on the approach taken by [22] and analyze its properties in detail. The requirements for an all Mach number finite volume scheme, inferred from the limit of the continuous system, are
-
(i)
the numerical method for the compressible Euler equations converges formally to a discretization of the incompressible equations
-
(ii)
the numerical evolution of the kinetic energy near the incompressible regime is independent of the Mach number
In addition for an efficient numerical method we require
-
(iii)
linear stability of the scheme when subject to explicit time integration
-
(iv)
efficient implicit time integration.
The first two requirements are inspired by the properties of the limit at continuous level which will be formulated in Sect. 2.
After introducing a discretization of the Euler equations these requirements will be given a shape that is reasonable for numerical applications. In Sect. 3 we give a more extended motivation for the form of the proposed modification of the flux function. For this method, the requirement (i) from above is investigated in Sect. 4 by pursuing the question of whether the technique qualifies as an asymptotic-preserving scheme and whether additionally properties beyond a consistent discretization of the limit equations are needed. With numerical experiments we demonstrate that our scheme yields satisfactory results for flows down to very low Mach numbers, thus giving evidence that it complies with the above requirement (i) and (ii). Because we only modify the diffusion matrix affecting solely the spatial discretization of the equation, we initially employ the method of lines. For practical implementations, this raises the question of an appropriate strategy for time discretization. Miczek et al. [22] applied their method in both explicit and implicit time discretization. We discuss stability of the scheme in explicit time discretization in Sect. 5, consistent with requirement (iii), and comment on its efficiency in implicit time discretization, which allows to cover extended periods of time, in Sect. 6 [requirement (iv)].
2 Fluid Dynamics in the Low Mach Number Limit
The solutions to
tend to solutions of the incompressible Euler equations as \(M \in \mathbb R^+\) tends to zero, i.e. in the limit of low Mach numbers [1, 8, 16, 18, 20, 21, 28, 33]. The Appendix shows how Eqs. (4)–(6) are obtained from (1)–(3). The limit can formally be found by expanding all quantities as series in M, e.g. for the pressure this would give
Inserting these into the above equations, collecting order by order and assuming impermeable boundaries gives
and
These equations describe incompressible flows. Conditions (8), (9) and (10) are true for every time. Initial data that fulfill them are called well-prepared. Not well-prepared initial data may lead to an incompressible flow as well, but then an initial disturbance is produced.
The equation for the kinetic energy \(E_\text {kin} = \frac{1}{2} \varrho |\mathbf {v}|^2\) can be rewritten as
The source term vanishes for incompressible flows and in this case the kinetic energy becomes a conserved quantity. For compressible flows, this is true in the limit \(M\rightarrow 0\) as well, despite of \(\frac{\nabla \cdot v}{M^2} \not \in \mathcal {O}(M)\). Expanding the quantities and using (8) and (9) makes the terms proportional to \(\frac{1}{M}\) or \(\frac{1}{M^2}\) cancel and gives
Now the source term indeed is \(\mathcal {O}(M)\) and the kinetic energy can be seen to become a conserved quantity in the limit \(M\rightarrow 0\).
We are thus led to phrase the requirements (i) and (ii) from the Introduction in a way as they hold at continuous level:
-
(i)
If the initial data for the compressible, homogeneous Euler equations are chosen to have spatial pressure fluctuations scale with \(\mathcal {O}(M^2)\) and the divergence of the velocity field scale with \(\mathcal {O}(M)\), then the solution converges to the solution of the incompressible Euler equations in the limit \(M \rightarrow 0\), with only these pressure fluctuations playing the role of the dynamic pressure.
-
(ii)
For solutions to the compressible, homogeneous Euler equations in the low Mach number limit, the total kinetic energy is conserved.
They will be stated again in Sect. 3 in a form adapted to the discrete system. They will thus become requirements for a numerical scheme to be able to capture flows in the low Mach number regime.
3 Spatial Discretization and Modification of the Diffusion Matrix
3.1 Finite Volume Schemes for Conservation Laws in the Low Mach Limit
Consider a system of conservation laws
with \(\mathbf {U}\) being the vector of conserved quantities (\(\mathbf {U} = (\varrho , \varrho \mathbf {v}, E)^\text{ T }\) in the case of the Euler equations) and \(\mathbf {F}^{(x)}\), \(\mathbf {F}^{(y)}\), \(\mathbf {F}^{(z)}\) the flux in x-, y- and z-direction, respectively.
Its numerical solution of the compressible Euler equations (1)–(3) is achieved by applying the Godunov method on a Cartesian computational grid with a uniform spacing \(\Delta x\), \(\Delta y\), \(\Delta z\). The conserved quantities stored in a cell (i, j, k) are denoted by \(\mathbf {U}_{i,j,k}\), and a numerical flux through the interface between cells (i, j, k) and \((i+1, j, k)\) by \(\mathbf {F}^{(x)}_{i+1/2,j,k}\). Written as a semi-discrete system the finite volume scheme amounts to
It was suggested by Roe [26] to choose the numerical flux as
with the matrix \(A_{\text {Roe}}\) resulting from the solution of a linearized Riemann problem at the interface of the computational cells. It is the absolute value of the Jacobian A, performed on the eigenvalues, and evaluated in the Roe-average state. This term ensures upwinding and introduces an artificial viscosity that stabilizes the scheme. The indices \(\text{ L }\) and \(\text{ R }\) denote the states to the left and to the right of the cell interface as determined from an appropriate reconstruction procedure. In multi-dimensional context this flux is applied direction by direction. One may introduce other matrices instead of \(|A_\text {Roe}|\), and we will refer to them as diffusion, or upwind artificial viscosity matrices.
As argued in Ref. [22], the problem arising for this approach in the low Mach number limit is that the upwind artificial viscosity dominates all the other terms in the limit of small Mach numbers even if the initial data are well-prepared. In particular it excites spatial pressure fluctuations \(\mathcal O(M)\). One thus is led to require for a numerical scheme able to maintain low Mach number flows:
-
(i)
Considering the limit \(M \rightarrow 0\), and having initial data for the compressible, homogeneous Euler equations chosen to have spatial pressure fluctuations scale with \(\mathcal {O}(M^2)\), then this shall hold for the data at late times as well.
-
(ii)
Numerical solutions to the compressible, homogeneous Euler equations in the low Mach number limit and with fixed discretization shall display a (numerical) dissipation of kinetic energy that is \(\mathcal O(1)\) in the limit \(M \rightarrow 0\). In particular this means that the dissipation shall not grow with decreasing M.
These are modified versions of the findings mentioned in Sect. 2, reinterpreted in regard to numerical methods. The emphasis on a fixed discretization is due to the ubiquitous observation that with usual finite volume methods for fixed M the dissipation is effectively reduced by increasing the spatial resolution. However this is neither efficient with respect to the invested computation time nor does it touch the root of the problem, the artefacts just reappearing on finer scales again.
For numerical methods we require additionally
-
(iii)
linear stability under explicit time integration
-
(iv)
efficient implementation of implicit time integration.
After the discussion of the proposed scheme in this Section, we address (i) and (ii) in Sect. 4, (iii) in Sect. 5 and (iv) in Sect. 6.
The central flux,
would be a choice complying with the low Mach number limit, but it lacks stability in explicit time discretization.
Numerical tests, as shown in Fig. 3 of [22], suggest that it is stable in the implicit case. A small growth in kinetic energy is observed, which is, while not being in contradiction with the basic conservation laws, in contradiction with thermodynamics and therefore less suited to many practical applications.
Replacing \(\left| A_{\text {Roe}} \right| \) by the modified diffusion matrix
with P a suitable invertible matrix, and A the Jacobian, is observed [32] to improve the numerical solutions in the low Mach number regime. Miczek et al. [22] argue that this is because P can be chosen to correct the scaling behavior with low Mach number found in the diffusion matrix. For historical reasons P is called preconditioning matrix; we will refer to it as the modifying matrix. A widely used one is due to Weiss and Smith [35], in primitive variables
with the parameter
which should scale with the local Mach number \(M_\text {loc} = |\mathbf {v}| / \sqrt{\frac{\gamma p}{\varrho }}\). Its lower limit, \(M_\text {cut}\), avoids singularity of the matrix.
It corrects the scaling behavior of almost all entries in the diffusion matrix. Indeed, when used with the homogeneous Euler equations it shows very low, Mach number independent dissipation in the low Mach limit. However, when integrated implicitly in time, this scheme displays unsatisfactory behavior of the condition number as discussed later.
3.2 Low Mach Modifications in Presence of Gravity Source Terms
A problem with the particular choice (22) of the dissipation matrix arises if it is used in the presence of certain source terms, e.g. gravity. Here the lowest order in the expansion of the pressure in powers of M is not constant. The diffusion matrix obtained when using (22) has an entry \(\mathcal {O}(1/M^2)\) in the energy row. Therefore with a spatially varying background this introduces strong diffusion. An example in which such configurations arise are hydrostatic equilibria in presence of gravity. Here the rescaled Euler equations (4)–(6), change to
The nondimensional Froude number \( Fr \) appears in presence of gravity source terms. For the purposes of this article we only consider the case of \( Fr =M\).
This new system admits static solutions (stationary and with \(\mathbf {v} = 0\)) called hydrostatic equilibria which are governed by the condition \(\nabla p = \varrho \mathbf {g}\).
To point out and compare the properties of the numerical schemes in presence of this source term, consider a special but important solution in one spatial dimension. In the case of a constant temperature T, spatially and temporally constant \(\mathbf {g} = -g \mathbf {e}_x\) pointing into the negative x-direction and the ideal gas equation of state, hydrostatic equilibrium has the form
We can compute the discrete fluxes using (21) on a uniform grid with spacing \(\Delta x\) using constant reconstruction. The change in grid cell i is given by
with \(\mathbf {D}_{i+1/2} = (P^{-1}|PA)_{\text {Roe},i+1/2} \; (\mathbf {U}_{i+1} - \mathbf {U}_{i})\).
For the first expression, which corresponds to the central flux, Eq. (20), we get
which cancels with the cell-centered discretization of gravity up to order of \(\Delta x^2\).
The effect of the numerical dissipation term \(\mathbf {D}_{i\pm 1/2}\) can most conveniently be evaluated in primitive variables (\(\varrho , \mathbf {v}, p\)). For the modifying matrix P in Eq. (22) the contribution is
with \(\Delta p = p_{i+1} - p_i\) and the local speed of sound \(c=\sqrt{\gamma p / \varrho }\) with the \(\gamma \) from Eq. (81). As we consider hydrostatic solutions here, the bounded local Mach number \(\mu \) (23) was set to its lower limit \(M_\text {cut}\). Recall that \(M_\text {cut}\) is normally chosen to a value well below the Mach number in the considered flow field, just large enough to avoid infinite values when dividing by \(\mu \) in zero-velocity regions, while maintaining the positive effect of the modification of the diffusion matrix at reasonably low Mach numbers. Eq. (30) reveals a fundamental problem when using the matrix (22)—its contribution becomes extremely large in regions with very low Mach numbers if a pressure gradient is present. While this is generally not the case in low Mach number flows when the homogeneous Euler equations are solved, it can happen, if gravity or other source terms are involved.
Because of these problems, Miczek et al. [22] suggested a new modifying matrix P. In entropy variables it takes the form,
with \(\delta = \frac{1}{\min (1, \max (M_\text {loc},M_\text {cut}))} - 1\). In primitive variables it is
As for the modifying matrix from Eq. (22), the definition of \(\delta \) ensures that the scheme reverts back to the original Roe scheme when the local Mach number reaches 1. Miczek et al. [22] show that the scaling with M of the diffusion matrix of this scheme is fully consistent with the flux Jacobian. The flux at any cell edge is given, similarly to (19) by
We can perform the analysis of the discretized fluxes in hydrostatic equilibrium for this solver, too. Equation (29) is identical for both. Instead of the dissipation term from Eq. (30), we get in primitive variables
This expression overcomes the problems of the preconditioner in Eq. (22) because its dissipation term does not grow when lowering \(M_\text {cut}\). Therefore the new method avoids the problems encountered for previously suggested modification matrices in presence of gravity.
Solutions to the Euler equations augmented by a gravity source term need not in general be or converge to a static equilibrium. However there are indeed a lot of interesting applications related to such equilibria. The ability of a scheme to preserve them up to machine precision is a challenging additional requirement, an implementation of which however is not the topic of this paper but subject of ongoing work.
4 Asymptotic Behavior of the Numerical Method
4.1 Asymptotic Analysis of the Semi-Discrete Scheme
It has been demonstrated in [22] that the new way of modifying the diffusion matrix [Eqs. (31) or (32)] ensures that the diffusive part
does not dominate the numerical flux function at low Mach numbers. In the context of asymptotic preserving schemes it has been found useful to analyze the limit of the discrete system, in a way analogous to what has been done in Sect. 2 in the continuous case. With, for simplicity, a piecewise constant reconstruction, the numerical flux in x-direction is given by
where \(P^{-1} |P A|\) is evaluated in the Roe state, and A is the Jacobian in x-direction (indices for the other directions have been dropped for better readability). The fluxes through the other interfaces can be obtained analogously. The matrix \(P^{-1}|PA|\) for the subsonic case is explicitly given in Eq. (56).
Taking \(\delta \in \mathcal {O}\left( \frac{1}{M}\right) \), by construction the leading order terms in \(M\) of the diffusion matrix are the same as in the Jacobian [22]. In the basis of conserved variables one finds
A conservative semi-discrete scheme with flux (34) then is
and to highest order
The two lowest orders can be simplified (for \(\ell = 0, 1\) one has \(p^{(\ell )} = (\gamma -1) E^{(\ell )}\)) to formally yield in the limit \(M\rightarrow 0\):
The rest of the asymptotic analysis is done with the \(\mathcal {O}(1)\) equations, which due to the consistency of the scheme give consistent discretizations of the remaining equations in the limit \(M\rightarrow 0\).
Equation (36) for the Roe solver is, as has been discussed in [11, 12]
Even though it is also a discretization of \(\nabla p^{(\ell )} = 0\), it is not a good approximation for finite values of \(\Delta x\)—contrary to (36). As is well-known it is always possible to cure the low Mach number problems by increasing the resolution. This however, as mentioned above, is both impractical and unnecessary.
In view of the findings we expect our scheme to have pressure perturbations \(\mathcal O(M^2)\), consistently with requirement (i) from Sect. 3.
4.2 Numerical Results
We demonstrate this result with numerical experiments in which we simulate a Gresho-vortex setup [10]. This is an example of a stationary, incompressible rotating flow around the origin in two spatial dimensions:
with the uniform density \(\varrho = 1\) and the pressure in the vortex center \(p_\text{ c } = \frac{1}{\gamma M^2} - \frac{1}{2}\). Also \(r = \sqrt{x^2 + y^2}\) and \(\mathbf {e}_\phi \) is the azimuthal unit vector in two-dimensional polar coordinates.
In the compressible setting the flow can be endowed with different maximum Mach numbers by varying the parameter M in the value of the central pressure. Therefore this is an example of a family of solutions, parametrized by a real number M, such that \(M_\text {loc}\) scales asymptotically as M in the limit \(M\rightarrow 0\). Here all quantities are understood to be non-rescaled, and one observes for example that \(p = \frac{1}{M^2} (\tilde{p}^{(0)} + M \tilde{p}^{(1)} + \cdots )\) and so on.
The setup and the employed numerical method are identical to those presented in Ref. [22]. For the numerical solution, a fully discretized scheme is necessary and we chose an implicit time discretization with an advective CFL criterion to determine the time step size (see Sect. 6). A piecewise linear MUSCL-like reconstruction without limiters is used [31, 34].
As stated above, our goal is to devise a scheme that represents low Mach number flows well at low numerical resolution. Therefore, the Gresho vortex is set up on a grid with only \(40 \times 40\) computational cells. We follow the flow over one full revolution of the vortex and show the results for maximum Mach numbers down to \(10^{-10}\) in Fig. 1. With the Miczek scheme [22], the vortex is retained in the simulations even at the lowest Mach numbers. This contrasts the result obtained with a conventional Roe-type flux function in which the vortex is significantly blurred after one full revolution at a maximum Mach number of \(10^{-2}\) and completely destroyed for maximum Mach numbers below \(10^{-3}\) as seen in Fig. 3 and [22].
The evolution of the total kinetic energy in the simulation domain is shown in Fig. 2 and Table 1. Although the kinetic energy reduces by about 1.3loss is independent of the Mach number of the flow. This is very much in contrast to conventional schemes, whose dissipation rate of kinetic energy increases excessively the lower the Mach numbers get.
At high Mach numbers of about \(10^{-1}\) the proposed scheme performs similarly to conventional ones. In view of the results one is however led to the observation that it is at the same time able to reproduce flows at very low Mach numbers. Its numerical dissipation is not increasing in this limit. We thus show with our numerical experiments the Miczek et al. [22] scheme to fulfill requirements (i) and (ii) as formulated in Sect. 3.1.
In addition to the incompressible flow one still may have sound waves. Since our new scheme is based on a discretization of the full compressible Euler equations (1)–(3) it does not remove them. This is demonstrated in [22], where the example of a sound wave passing through a low Mach vortex is correctly simulated.
5 Linear Stability of Explicit Time Discretization
5.1 Stability Analysis
The correct reproduction of solutions in the low Mach number limit was achieved by modifying the artificial upwind viscosity matrix—a term that was introduced to stabilize the scheme. This raises the question of the stability of the resulting new method in explicit time discretization.
The investigation of linear stability with the von Neumann method yields results on the time behavior of Fourier modes for a linear(ized) conservation law. If all of the modes are damped in time, the method is called linearly stable. Surely, a necessary requirement is that the method is stable already in one spatial dimension and when integrated in time by a first order method. For simplicity, the following stability analysis is performed with piecewise constant reconstruction, i.e. on a method that is first order in space and time.
Express every quantity \(\mathbf {U}^n_i\) by a Fourier series in space (\(\mathbb {i}^2 = -1\)):
insert this into the fully discrete scheme (\(\nu = \frac{\Delta t}{\Delta x}\))
to obtain, by defining \(k\Delta x =: \beta \),
The expression in curly brackets is called amplification matrix. Stability of such iterated linear maps needs all its eigenvalues to be less than 1 in absolute value. In particular, it is considered necessary in [5] for the absolute value of the acoustic eigenvalues to be strictly less than 1 for the so-called checkerboard-mode \(\beta = \pi \). This amounts to non-vanishing eigenvalues of D which is the case for the considered specific choice of D, as will be seen later.
Consider the following system
which shall be solved with a time-explicit scheme of Roe-type with a diffusion matrix
The Jacobian of hydrodynamics in one spatial dimension and in primitive variables is of this type. As the stability analysis is linear, the equation may be considered in any variables, not necessarily the conserved ones. Moreover, the study of the eigenvalues \(\lambda \) of the amplification matrix in (43) equally does not depend on the chosen basis. The property of the diffusion matrix of having just one non-zero entry in the \(\varrho \)-column will be fulfilled by the one appearing here.
The eigenspace decomposes into
and
Equation (46) is easily recognized as a 1-dimensional stability result. It leads to the stability condition \(d_{11} \ge |a|\) and if \(d_{11} = |a|\) (as will turn out later in the specific example), then \(\nu < \frac{1}{d_{11}}\).
Equation (48) is just the stability condition for the truncated matrices of a reduced system
Note that the elements \(a_{12}\), \(d_{12}\) and \(d_{13}\) are irrelevant for stability.
Equation (48) can be rewritten as
with
such that
The square root is given by
Evaluating \(|\lambda |^2 < 1\) leads to
The suggested upwinding matrix from [22] is
with \(\tau = \sqrt{c^2 (1 + \delta ^2) - \delta ^2 M^2 v^2}\).
One can investigate the limit of small M. For the components of the upwinding matrix one has (having in mind the two cases \(\delta \in \mathcal {O}(\frac{1}{M})\) and \(\delta \in \mathcal {O}(1)\)):
Therefore
where due to a lot of cancellations the exact values were used for \(\mathcal B\). Whereas in both cases \(\mathcal A \in \mathcal {O}(1/M^2)\), one has
As, \(|\mathcal A| = -\mathcal A\), \(\sqrt{\mathcal A^2 + \mathcal B^2}-\mathcal A \sim 2|\mathcal A|\) and
The term \(\sqrt{\frac{\sqrt{\mathcal A^2 + \mathcal B^2} + \mathcal A}{2}} \) will be compared to
and the latter wins in both cases. Therefore
Now a minimum over all \(\beta \in [0, 2\pi )\) has to be performed in order to obtain the global maximum value of \(\nu \). If \(\delta \in \mathcal O(1)\) (in particular one might be interested to recover for \(\delta = 0\) the usual Roe scheme) then
if a suitable minimizing \(\cos \beta _\text {min}\) exists, which is \(\mathcal {O}(1)\) (trivially the case for \(\delta = 0\)).
However if \(\delta \in \mathcal {O}(1/M)\), then \(|\cos \beta _\text {min}| = 1\) and
5.2 Numerical Verification
This more restrictive CFL condition is also observed in the experiments. As a test setup for CFL stability we use a one-dimensional sound wave. The initial profile is given by
with free parameters for background pressure \(p_0\), density \(\varrho _0\), and the corresponding speed of sound \(c_0=\sqrt{\gamma p_0 / \varrho _0}\). The amplitude and thus the Mach number of this sound wave can be adjusted with the parameter M. The size of the domain is [0, 1) with periodic boundary conditions. We run this setup for a time \(t=1\) with explicit forward Euler time-stepping and constant reconstruction. Explicit integration in time is very inefficient at low Mach numbers and it can take many million time steps for the instability to become obvious (i.e. visible noise in the velocity field, negative densities, ...). To facilitate the analysis we compare the growth of the high-frequency Fourier modes, for which we expect exponential growth in the unstable case. We use
where \(\hat{u}\) is the discrete Fourier transform of u(x) and N is the number of grid points. We test the growth of this quantity for a range of M and some values of \(\Delta t\) above and below the critical CFL time step, both for the usual, and the modified Roe scheme. To emphasize the effect of the numerical flux, we intentionally choose forward Euler time stepping and constant reconstruction of the interface values. The results of this experiment at \(M=10^{-3}\) are summarized in Fig. 4. The tests using the standard Roe scheme confirm that the stability threshold is at CFL 1, as expected. For the Roe–Miczek scheme we need an additional factor of M in the time step criterion as it was shown above. The Roe–Turkel scheme was not stable for any of the tested time steps.
The stability of the discretization of (1)–(3) for the particular case of checkerboard modes (\(\beta = \pi \)) has equally been confirmed by experiments.
6 Implicit Time Discretization
In the light of the stricter CFL condition of some of the low Mach schemes mentioned above, it is natural to turn to implicit time discretizations to allow larger time steps. Even for time-explicit schemes with the standard CFL condition time steps become prohibitively small: they scale with the inverse of the sound speed and therefore are bound to the acoustic time scale, i.e. the sound-crossing time in one computational grid cell. In contrast, the criterion for selecting the time step in implicit schemes is not derived from considerations of stability of the scheme but rather from the intended accuracy of the solution. In the low Mach case one is usually interested in phenomena that are associated with the fluid flow instead of sound waves. In order to accurately resolve the flow, the time step should be restricted to the flow crossing time over a grid cell—the advective time step criterion. The ratio between the acoustic and the advective time steps (and thus the ratio of time steps to be taken for bridging the same physical time interval) is a function of the Mach number. Even considering the increased computational cost of implicit time steps, it is expected that there is a certain Mach number below which an implicit scheme is more efficient than explicit time discretization. But the threshold (and the very feasibility of an implicit time integration) depends on the system of equations to be solved and on the efficiency of the solution method.
Implicit time stepping for the Euler equations involves the solution of a large nonlinear system of equations. In the three-dimensional case the number of equations is \(5 N_x N_y N_z\), where is \(N_{x,y,z}\) is the number of grid cells in x, y, or z direction. Even for a moderately sized problem of \(512^3\) cells this already yields about \(6.7\times 10^8\) nonlinear coupled equations with the same number of unknowns. We use the Newton–Raphson method for the solution, which itself requires the solution of a large linear system of equations given by the Jacobian of the nonlinear one. Apart from the particular implementation approach, the success and efficiency of the scheme critically depend on the structure of the system of equations to be solved. In particular, a high condition number of this system would severely impede the ability to find solutions efficiently. The particular definition of the condition number \(\kappa \), that we use here, is,
where A is the Jacobian matrix of the nonlinear system. We use the 1-norm as is it computationally less expensive to evaluate compared to the 2-norm but still has similar significance for the solution efficiency of the linear system.
In Fig. 5 we show the effects on the condition number for the different modified diffusion matrices presented in this article. In order to get a representative condition number for different discretizations under realistic conditions we pick a turbulent flow field that was produced using stochastic forcing [9, 27]. The first obvious feature of the curves is that they are almost identical in the high and low Mach number limit. In the regime \(M \lesssim 10^{-6}\) this is due to the dominating influence of the central flux terms, which all the other schemes also include. In the Mach number regime from about \(10^{-4}\) to \(10^{-2}\) the condition number of the Roe-type schemes is almost Mach number independent, with the condition number of the Roe–Turkel scheme being significantly higher than the other two. For practical applications using implicit time stepping this means that the Roe–Miczek scheme is as efficient as the standard Roe scheme while still giving an accurate result like the Roe–Turkel scheme. Moreover it has been demonstrated [14] that the corresponding implementation scales up to \(\sim \)100,000 cores making it suitable for highly resolved simulations.
7 Application to Unsteady Low Mach Number Flows
The application examples demonstrated thus far are steady state problems. The fact that a scheme behaves well at low Mach numbers for these problems might not be representative of good low Mach behavior in general. Because of this we apply the Roe–Miczek scheme to a number of unsteady flow problems at low Mach numbers.
The Taylor–Green vortex (TGV) [30] is a large-scale, three-dimensional vortex that decays to smaller vortices, thereby creating a turbulent flow pattern. Its advantages are that it can be easily implemented by just setting an initial condition and it provides a simple estimate for the Reynolds number. In the context of the Euler equations we can use it to measure numerical viscosity.
We use the initial conditions given in [7],
For comparability with other results in the literature we choose the value \(\gamma = 1.4\) in the equation of state [Eq. (81)]. The maximum Mach number of this setup is \(M_\text {max} = u_0 / \sqrt{\gamma p_0 / \varrho _0} \approx 0.29\). We can easily scale this setup to lower Mach numbers by multiplying \(u_0\) with the appropriate factor.
To be able to compare simulations at different Mach numbers, we scale certain quantities (denoted by \(^*\)). The relations are
To test the effect of the diffusion matrix modification we calculate the numerical Reynolds number of the usual Roe scheme and the modified one at different resolutions and Mach numbers. The Reynolds number is purely numerical as we do not include any explicit viscosity terms. We use the expression given in [30],
with the mean of kinetic energy K and the mean enstrophy \(\Omega \),
The operation \(\langle \cdot \rangle \) is a volumetric average. Both quantities can be independently computed from the velocity field \(\mathbf {v}\).
Figure 6 visualizes the decay of the large scale vortices to smaller scales and their eventual dissipation using a criterion from [17].
The test in Fig. 7 shows kinetic energy dissipation rate of the vortex at different Mach numbers computed with a fixed grid size of \(128^3\) cells. It is expected that this rate is independent of Mach number in the nondimensional variables of Eq. (77). This is very well fulfilled for the modified Roe scheme from [22] but not for the original Roe scheme.
8 Tests in the High-Mach Number Regime
To qualify as a scheme for all Mach numbers it has to be ensured that it behaves correctly in the presence of shocks. The modifying matrix, Eq. (31), continuously approaches the identity matrix as the Mach number increases to 1. The newly proposed scheme is identical to the original Roe scheme for \(M_\text {loc} \ge 1\). The Roe scheme, however, is known to violate the entropy condition in transonic rarefactions, which is cured by introducing an entropy fix (see [24] for an overview). Here we test if this treatment interferes with our low Mach number modifications. For the present study we chose to implement the fix suggested by [15]. We use a shock tube with isentropic initial conditions, which makes the entropy problem and its solution obvious. The initial setup in primitive variables is
The value \(\gamma \) is the adiabatic index in the ideal gas equation of state (81), i.e. the internal energy is \(e = p / (\gamma -1)\). Figure 8 shows the solution at time \(t=0.2\) for the Roe–Miczek scheme with and without the entropy fix. Implementing an entropy fix shows no interference with the introduced modifications.
9 Conclusions
We have presented a finite volume solver for the compressible Euler equations ([22]) with the following properties:
-
(i)
it is preserving the asymptotics of the low Mach limit
-
(ii)
it ensures the kinetic energy of the flow is not excessively dissipated by the numerics near the incompressible regime
-
(iii)
it is a linearly stable scheme
-
(iv)
the inversion of the large system of equations arising from implicit time discretization has a good condition number.
Requirement (ii) reflects well the issue of growing numerical diffusion in the low Mach limit observed for shock-capturing schemes, and might be easier to check than (i).
We have shown numerical simulations with this scheme that work for Mach numbers as low as \(10^{-10}\). The method can also be applied to flows with high Mach number, where it continuously approaches the Roe solver. For transonic flows our modification does not interfere with the entropy fix. In this sense the method of Miczek et al. [22] constitutes an all-Mach number scheme.
We conclude that when devising a low Mach number scheme for the Euler equations it is important that the discrete equations reflect the nature of the limit system for finite discretizations already. It thus is not sufficient to ensure that asymptotically the discrete equations become consistent discretizations of the limit system. We show that in addition one needs to satisfy the requirements ii, iii, iv for such a scheme to be feasible in practice.
In upcoming work we plan to extend these properties to the Euler equations with a gravitational source term, where one needs to ensure in addition that the scheme is well-balanced.
References
Asano, K.: On the incompressible limit of the compressible euler equation. Jpn. J. Appl. Math. 4(3), 455–488 (1987)
Chalons, C., Girardin, M., Kokh, S.: An all-regime Lagrange-Projection like scheme for the gas dynamics equations on unstructured meshes. Commun. Comput. Phys. 20, 188–233 (2016). doi:10.4208/cicp.260614.061115a
Cordier, F., Degond, P., Kumbaro, A.: An asymptotic-preserving all-speed scheme for the Euler and Navier–Stokes equations. J. Comput. Phys. 231, 5685–5704 (2012). doi:10.1016/j.jcp.2012.04.025
Degond, P., Tang, M.: All speed method for the Euler equation in the low mach number limit. Commun. Comput. Phys. 10, 1–31 (2011)
Dellacherie, S.: Checkerboard modes and wave equation. In: Proceedings of ALGORITMY , vol. 2009, pp. 71–80. (2009)
Dellacherie, S.: Analysis of Godunov type schemes applied to the compressible Euler system at low mach number. J. Comput. Phys. 229(4), 978–1016 (2010). doi:10.1016/j.jcp.2009.09.044
Drikakis, D., Fureby, C., Grinstein, F.F., Youngs, D.: Simulation of transition and turbulence decay in the Taylor–Green vortex. J. Turbul. 8, N20 (2007). doi:10.1080/14685240701250289
Ebin, D.G.: The motion of slightly compressible fluids viewed as a motion with strong constraining force. Ann. Math. 105(1), 141–200 (1977)
Eswaran, V., Pope, S.B.: An examination of forcing in direct numerical simulations of turbulence. Comput. Fluids 16, 257–278 (1988)
Gresho, P.M., Chan, S.T.: On the theory of semi-implicit projection methods for viscous incompressible flow and its implementation via a finite element method that also introduces a nearly consistent mass matrix. Part 2: implementation. Int. J. Numer. Methods Fluids 11(5), 621–659 (1990). doi:10.1002/fld.1650110510
Guillard, H., Murrone, A.: On the behavior of upwind schemes in the low mach number limit: II Godunov type schemes. Comput. Fluids 33, 655–675 (2004)
Guillard, H., Viozat, C.: On the behaviour of upwind schemes in the low mach number limit. Comput. Fluids 28(1), 63–86 (1999). doi:10.1016/S0045-7930(98)00017-6
Haack, J., Jin, S., Liu, J.G.: An all-speed asymptotic-preserving method for the isentropic Euler and Navier–Stokes equations. Commun. Comput. Phys. 12, 955–980 (2012). doi:10.4208/cicp.250910.131011a
Hammer, N., Jamitzky, F., Satzger, H., Allalen, M., Block, A., Karmakar, A., Brehm, M., Bader, R., Iapichino, L., Ragagnin, A., Karakasis, V., Kranzlmüller, D., Bode, A., Huber, H., Kühn, M., Machado, R., Grünewald, D., Edelmann, P.V.F., Röpke, F.K., Wittmann, M., Zeiser, T., Wellein, G., Mathias, G., Schwörer, M., Lorenzen, K., Federrath, C., Klessen, R., Bamberg, K., Ruhl, H., Schornbaum, F., Bauer, M., Nikhil, A., Qi, J., Klimach, H., Stüben, H., Deshmukh, A., Falkenstein, T., Dolag, K., Petkova, M.: Extreme scale-out supermuc phase 2-lessons learned. In: Joubert, G.R., Leather, H., Parsons, M., Peters, F.J., Sawyer, M. (eds.) Parallel Computing: On the Road to Exascale, Proceedings of the International Conference on Parallel Computing, ParCo 2015, 1–4 September 2015, Edinburgh, Scotland, UK, Advances in Parallel Computing, vol. 27, pp. 827–836. IOS Press (2015). doi:10.3233/978-1-61499-621-7-827
Harten, A., Hyman, J.M.: Self-adjusting grid methods for one-dimensional hyperbolic conservation laws. J. Comput. Phys. 50, 235–269 (1983). doi:10.1016/0021-9991(83)90066-9
Isozaki, H.: Wave operators and the incompressible limit of the compressible euler equation. Commun. Math. Phys. 110(3), 519–524 (1987)
Jeong, J., Hussain, F.: On the identification of a vortex. J. Fluid Mech. 285, 69–94 (1995). doi:10.1017/S0022112095000462
Klainerman, S., Majda, A.: Singular limits of quasilinear hyperbolic systems with large parameters and the incompressible limit of compressible fluids. Commun. Pure Appl. Math. 34(4), 481–524 (1981)
Klein, R.: Semi-implicit extension of a Godunov-type scheme based on low mach number asymptotics I: one-dimensional flow. J. Comput. Phys. 121, 213–237 (1995). doi:10.1016/S0021-9991(95)90034-9
Kreiss, H.O., Lorenz, J., Naughton, M.: Convergence of the solutions of the compressible to the solutions of the incompressible Navier–Stokes equations. Adv. Appl. Math. 12(2), 187–214 (1991)
Métivier, G., Schochet, S.: The incompressible limit of the non-isentropic Euler equations. Arch. Ration. Mech. Anal. 158(1), 61–90 (2001)
Miczek, F., Röpke, F.K., Edelmann, P.V.F.: New numerical solver for flows at various Mach numbers. Astron. Astrophys. 576, A50 (2015). doi:10.1051/0004-6361/201425059
Oßwald, K., Siegmund, A., Birken, P., Hannemann, V., Meister, A.: L2Roe: a low dissipation version of roe’s approximate riemann solver for low Mach numbers. Int. J. Numer. Methods Fluids (2015). doi:10.1002/fld.4175.Fld.4175
Pelanti, M., Quartapelle, L., Vigevano, L.: A review of entropy fixes as applied to roe’s linearization. Teaching material of the Aerospace and Aeronautics Department of Politecnico di Milano (2001). http://services.aero.polimi.it/~quartape/bacheca/materiale_didattico/ef_JCP.pdf
Rieper, F.: A low-Mach number fix for Roe’s approximate Riemann solver. J. Comput. Phys. 230(13), 5263–5287 (2011)
Roe, P.L.: Approximate Riemann solvers, parameter vectors, and difference schemes. J. Comput. Phys. 43(2), 357–372 (1981). doi:10.1016/0021-9991(81)90128-5
Schmidt, W., Hillebrandt, W., Niemeyer, J.C.: Numerical dissipation and the bottleneck effect in simulations of compressible isotropic turbulence. Comput. Fluids 35, 353–371 (2006). doi:10.1016/j.compfluid.2005.03.002
Schochet, S.: Fast singular limits of hyperbolic PDEs. J. Differ. Equ. 114(2), 476–512 (1994). doi:10.1006/jdeq.1994.1157
Stephan, M., Docter, J.: Juqueen: IBM Blue Gene/Q\(^{\textregistered }\) supercomputer system at the jülich supercomputing centre. J. Large Scale Res. Facil. JLSRF 1, A1 (2015). doi:10.17815/jlsrf-1-18
Taylor, G.I., Green, A.E.: Mechanism of the production of small eddies from large ones. R. Soc. Lond. Proc. Ser. A 158, 499–521 (1937). doi:10.1098/rspa.1937.0036
Toro, E.F.: Riemann Solvers and Numerical Methods for Fluid Dynamics: a Practical Introduction. Springer, Berlin (2009). http://books.google.de/books?id=SqEjX0um8o0C
Turkel, E.: Preconditioning techniques in computational fluid dynamics. Ann. Rev. Fluid Mech. 31, 385–416 (1999). doi:10.1146/annurev.fluid.31.1.385
Ukai, S., et al.: The incompressible limit and the initial layer of the compressible Euler equation. J. Math. Kyoto Univ. 26(2), 323–331 (1986)
van Leer, B.: Towards the ultimate conservative difference scheme. V. A second-order sequel to Godunov’s method. J. Comput. Phys. 32, 101–136 (1979). doi:10.1016/0021-9991(79)90145-1
Weiss, J.M., Smith, W.A.: Preconditioning applied to variable and constant density flows. AIAA J. 33, 2050–2057 (1995). doi:10.2514/3.12946
Acknowledgements
We thank Philipp Birken for stimulating discussions. WB gratefully acknowledges support from the German National Academic Foundation. The work of FKR and PVFE was supported by the Klaus Tschira Foundation. CK acknowledges support of the DFG priority program SPPEXA. The authors gratefully acknowledge the Gauss Centre for Supercomputing (GCS) for providing computing time through the John von Neumann Institute for Computing (NIC) on the GCS share of the supercomputer JUQUEEN [29] at Jülich Supercomputing Centre (JSC). GCS is the alliance of the three national supercomputing centres HLRS (Universität Stuttgart), JSC (Forschungszentrum Jülich), and LRZ (Bayerische Akademie der Wissenschaften), funded by the German Federal Ministry of Education and Research (BMBF) and the German State Ministries for Research of Baden-Württemberg (MWK), Bayern (StMWFK) and Nordrhein-Westfalen (MIWF).
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
The limit of low Mach numbers in the context of the Euler equations (1)–(3) is best explored by introducing a family of solutions, parametrized by a real dimensionless number \(M > 0\), \(M \rightarrow 0\). Writing \(f \in \mathcal O(M^p)\) means that the leading order of the expansion of f in powers of M is \(M^p\), i.e. \(f = M^p (f^{(0)} + f^{(1)} M + \cdots )\), with the functions \(f^{(i)}\) not depending on M.
Only two requirements are needed to derive the rescaled Euler equations:
-
The local Mach number \(\displaystyle M_\text {loc}(\mathbf {x}, t) := |\mathbf {v}(\mathbf {x},t)| / \sqrt{\frac{\gamma p(\mathbf {x}, t)}{\varrho (\mathbf {x},t)}}\) shall be scaling uniformly with M as \(M \rightarrow 0\): \(M_\text {loc} \in \mathcal {O}(M)\).
-
Every member of the family shall fulfill the same equation of state
$$\begin{aligned} E = \frac{ p}{\gamma -1} + \frac{1}{2} \varrho | \mathbf {v}|^2. \end{aligned}$$(81)
The most general asymptotic scalings in this case are
with \(\mathfrak {a, b, c, d}\) arbitrary numbers, as can be found from a direct computation. It is understood that quantities with a tilde are \(\mathcal {O}(1)\) when expanded as power series in M. An example of such a family of solutions is given by the Gresho vortex setup in (39)–(40).
Furthermore every member of the family shall fulfill the Euler equations. Inserting the above scalings yields a system of equations that is fulfilled by quantities with a tilde. These equations shall be called rescaled, and cannot be the Euler equations again, because the Mach number changes. They are found to be
and
Observe the fact that the kinetic energy obtains an additional factor of \(M^2\) in the equation of state.
The factor in front of the time derivatives is related to the dimensionless Strouhal number
This factor is not identical to the Strouhal number, but is just its asymptotic M-scaling. As an additional condition on the family of solutions one is tempted to insist on \(\textit{Str} \in \mathcal {O}(1)\), i.e. \(\mathfrak a - \mathfrak d - \mathfrak b = 0\). This corresponds to adapting the time scales to the speed of the fluid (and not to sound wave crossing times).
Different ways of decreasing the Mach number (e.g. by decreasing the value of the velocity, or increasing the sound speed instead, or a combination of both) are equivalent and should result in the same rescaled equations. This explains why the precise value of \(\mathfrak {a, b, c, d}\) does not matter for the form of the rescaled equations. Only these equations will be considered in the text and we drop the tilde.
Rights and permissions
About this article
Cite this article
Barsukow, W., Edelmann, P.V.F., Klingenberg, C. et al. A Numerical Scheme for the Compressible Low-Mach Number Regime of Ideal Fluid Dynamics. J Sci Comput 72, 623–646 (2017). https://doi.org/10.1007/s10915-017-0372-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10915-017-0372-4