Next: Shock-Tube Control Panel Up: Riemann Solvers for Previous: The Approximate Riemann

The HLLE Riemann Solver

When the energy of a flow is highly kinetic, a Godunov-type conservative numerical scheme based on a linearization of the Riemann problem may fail by predicting non-physical states with negative density or internal energy. This failure may happen because in flows where the dominant energy mode is kinetic the resulting internal energy may be negative. Einfeldt (1988) [4] introduced a class of conservative schemes where the internal energy and density remain positive during the computation. Such schemes are denoted as ``positively-conservative''. Einfeldt et al. (1991) [5] have shown that the first-order Godunov's scheme is positively conservative and that no Godunov-type scheme based on linearizations can be positively-conservative. For example, they showed that some choices for the initial data yields non-linearizable Riemann problems. In these cases, any attempt to substitute linearised solutions give rise to numerical instabilities and finally fail, although a solution always exists. Einfeldt (1988) [4] proposed a new scheme, the Harten-Lax-van Leer-Einfeldt (or HLLE) scheme, which is positively conservative if the absolute value of the maximal and minimal wavespeeds satisfies certain stability bounds.

The HLLE Riemann solver approximates the solution of any Riemann problem with three constant states, i.e.

where and the ``b''-coefficients are defined as:

In Eqs. (65)-(66) with are the eigenvalues of the Roe's linearisation, and is the sound speed. and are numerical approximations for the largest and smallest velocities of propagation of the physical waves (respectively and ) in the exact solution of the Riemann problem.

The cell-average of the solution at the time-level is given by:

and rewritten in conservative form:

allows to obtain, after some straightforward calculations, the numerical flux-function implemented in the code:

with

and



Next: Shock-Tube Control Panel Up: Riemann Solvers for Previous: The Approximate Riemann