9. High-Resolution Schemes for Compressible Flows#
In order to accurately predict surface pressure and heat transfer rates in inviscid and viscous compressible flows in an all-speed manner, robust and accurate numerical schemes are required for solving the governing equations. Schemes such as the standard first-order upwind scheme can provide robust solutions for a broad range of flows, but they are not accurate enough in the presence of strong discontinuities such as shock waves. The standard second-order upwind schemes provide relatively accurate results for smooth inviscid and viscous flows, but can cause spurious oscillations near shocks. To remedy these deficiencies, compressible, characteristic-based convection schemes such as AUSM\(^+\)-up, SLAU and SLAU2 schemes have been implemented in Loci-STREAM. These schemes are robust and accurate for inviscid and viscous compressible flows and allow simulations to be performed in an all-speed manner. The AUSM\(^+\)-up scheme and the SLAU2 scheme are robust for flows at all Mach numbers and are relatively simple and accurate. The SLAU2 scheme requires special treatment in unstructured grids to cure the carbuncle phenomenon, which manifests as odd-even decoupling on the shock profile. The hybrid-SLAU2 scheme is designed to resolve the carbuncle phenomenon in hypersonic flows on unstructured grids. The convergence properties of different convection schemes and limiters are examined for a variety of test cases.
9.1. AUSM±up for Unstructured Grids#
The AUSM\(^+\) scheme, originally developed by Liou [38], is an improvement over the earlier AUSM scheme developed by Liou and Steffen [39]. Like AUSM, AUSM\(^+\) is based on splitting of inviscid fluxes into convective and pressure parts. The improvement in AUSM\(^+\) is in the Mach-number based splitting, which is defined as a third-order polynomial in the subsonic region with higher-order dissipation terms. The AUSM\(^+\)-up scheme is a pressure- and velocity-corrected version of AUSM\(^+\).
Consider the one-dimensional Euler equations in conservative form:
where the conserved-variable vector and inviscid flux vector are
Here, \(E\) is the total energy, \(E = r\left(e + u^2/2\right)\), and \(H = E + p\) is the total enthalpy.
The AUSM-family methods split the flux into convective and pressure parts:
At a face (interface) \(f\), the numerical flux is written as
with
and the upwinding rule
9.1.1. Mass flux#
The left/right Mach numbers are defined as
with face-averaged sound speed
Define
The interface Mach number used by AUSM\(^+\)-up is
with
where \(0 \le K_p \le 1\) and \(\sigma \le 1\).
The Mach-number splitting function is
where
The face mass flux is
9.1.2. Pressure Flux#
The face pressure is computed as
The splitting of pressure can be achieved in a manner similar to the van Leer splitting for the fluxes of the Euler equations. The van Leer splitting is based on the requirements that the split fluxes as well as their first-derivatives be continuous and that the split fluxes be polynomials of the lowest possible degree. This leads to a splitting of the fluxes in terms of factors \( (M\pm 1)^2 \). The following splitting is employed:
with parameters
and \(0\le K_u \le 1\). Thus, for supersonic flow, the above formulation leads to full upwinding of pressure:
The splitting takes place only for subsonic flow, where contributions from both upwind and downwind sides are present:
9.1.3. AUSM±up Momentum Equation#
The discretized momentum equation can be written as
or
with
Applying under-relaxation yields
which is equivalent to
and finally
9.1.4. AUSM±up Pressure Correction Equation#
The mass flux at a face is
9.1.5. Option 1#
For unstructured grids, one option is to include the pressure correction term inside \(\dot{m}\):
The pressure-correction contribution is then
The continuity equation is written as
with
and (using the ideal-gas relation)
9.1.6. Option 2#
(Not provided in the source PDF. Add your implementation notes here.)
9.2. Simple Low-Dissipation AUSM (SLAU) Scheme#
SLAU(2) (Simple Low-dissipation AUSM, version 2) is another AUSM-family method for compressible flows. In 3D it is written as
where
and
Equivalently, the flux can be expanded as
The SLAU(2) mass flux is
with
9.2.1. Face pressure (SLAU / SLAU2)#
The SLAU face pressure is
The SLAU2 face pressure is
where
and
Implementation notes (from the source PDF):
Options:
Use \((p_f)_{\mathrm{SLAU}}\) with \((\dot{m}_f)_{\mathrm{SLAU}}\).
Use \((p_f)_{\mathrm{SLAU2}}\) with \((\dot{m}_f)_{\mathrm{SLAU}}\).
The SLAU2 scheme uses the same \((\dot{m}_f)_{\mathrm{SLAU}}\) from the SLAU scheme, while \((p_f)_{\mathrm{SLAU2}}\) incorporates the velocity magnitude for stabilizing shock waves.
\(\dot{m}_{f,\mathrm{SLAU2}} \equiv \dot{m}_{f,\mathrm{SLAU}}\).
9.3. SLAU/SLAU2 Momentum Equation#
The (discretized) momentum equation is
9.4. SLAU/SLAU2 Pressure Correction Equation#
Substituting Eq. (2.40) into Eq. (2.37) yields
with the pressure-correction part
Using the discretized continuity equation,
and
together with
the pressure correction equation is
The neighbor coefficients are
with
and the source term
Fig. 9.4.1 Mach number contours for flow over a bump using the AUSM+ scheme: subsonic (top) and supersonic (bottom).#
9.5. Standard Limiters: Barth-Jespersen (BJ) and Venkatakrishnan (V)#
This section summarizes common slope limiters used to prevent spurious oscillations near discontinuities while maintaining second-order accuracy where possible.
For a face \(k\) between cells \(i\) and \(j\), the limited reconstructions are
The BJ/V limiter factor is computed as
where the BJ limiter uses
and the Venkatakrishnan limiter uses
with
The cellwise bounds are
and the limiter enforces
The “test values” are defined as:
9.6. Multidimensional Limiting Process (MLP) Limiters#
The multidimensional limiting process controls a reconstructed field using vertex-connected information rather than only face-neighbor values. The original unstructured MLP construction follows Park, Yoon, and Kim [PYK10]; MLP-PW introduces the pressure-weighted strict/weak blend of Zhang, Liu, and Chen [ZLC18].
Both methods use the piecewise-linear reconstruction introduced in Eqs. (9.5.1) and (9.5.2). For an arbitrary point \(\mathbf{x}\) in cell \(i\), write
Stream uses the differentiable Venkatakrishnan response in Eq. (9.5.5) for both MLP variants. The difference between the methods is therefore the location at which the unlimited reconstruction is tested and the bounds supplied to that common response.
In the implementation, each local response is bounded below by zero and the cellwise minimum is initialized to one. A signed perturbation of magnitude \(10^{-30}\) regularizes the limiting \(0/0\) case. Consequently, both MLP variants preserve the admissible interval \(0\le\psi_i\le 1\).
Common MLP Assembly Pattern
Construct admissible upper and lower bounds from vertex-connected cell averages.
Evaluate the unlimited reconstruction increment at each MLP test location.
Apply the Venkatakrishnan response using the bound selected by the sign of that increment.
Take the minimum response over every test location in the cell.
The original MLP test locations are vertices. The MLP-PW test locations are face centers.
Fig. 9.6.1 Schematic diagrams of the unstructured MLP limiter.#
9.6.1. Original Unstructured MLP Limiter#
Let \(v(i)\) be the vertices of cell \(i\), and let \(V(l)\) be the cells sharing vertex \(l\). The admissible interval at that vertex is formed directly from the cell averages in \(V(l)\):
Because \(i\in V(l)\) for every vertex of cell \(i\), this interval always contains \(q_i\). The unlimited increment from the cell center to vertex \(l\) is
The original MLP coefficient is the minimum vertex response
Here \(f_{\mathrm{V}}(\Delta^+,\Delta^-,\epsilon^2)\) denotes the Venkatakrishnan response of Eq. (9.5.5), with \(a=\Delta^+\) and \(b=\Delta^-\). The same coefficient multiplies the cell gradient for every face reconstruction from cell \(i\).
Original MLP Stencil
The extrema at a vertex use the cell averages of every cell sharing that vertex. Physical-boundary vertices remain part of the cell’s test set, but a boundary-face state is not inserted into the vertex extrema.
9.6.2. Unstructured MLP-PW Limiter#
MLP-PW blends two different admissible envelopes. The weak envelope is constructed independently at each face from the extrema of the cell averages that share its vertices. The strict envelope is constructed once for the cell from inverse-distance averages at all of its vertices.
MLP-PW Bound Roles
Weak side: face-local bounds; less restrictive away from shocks.
Strict side: cell-wide bounds from averaged vertex values; more restrictive near shocks.
Pressure weight: blends weak and strict bounds before the local limiter response is evaluated.
For face \(k\), the weak bounds are
The corresponding weak-MLP condition applies to the reconstructed value on each side of that face:
For the strict envelope, first compute an averaged value at vertex \(l\):
The inverse-distance weights used here are
The accumulated weight in the denominator of Eq. (9.6.2.3) is regularized by a \(10^{-20}\) perturbation in the implementation.
The raw strict bounds are the extrema of those averaged vertex values over cell \(i\):
At a discrete local extremum, every averaged vertex value can lie on the same side of \(q_i\). In that case the raw strict interval does not contain the cell average, so no nonnegative conservative slope coefficient can enforce it. Stream therefore uses the feasible strict envelope
9.6.2.1. Pressure Weight Function#
The pressure sensor continues to use the raw strict pressure extrema from Eq. (9.6.2.5):
For positive absolute pressure, \(0\le\omega_p\le 1\). Thus \(\omega_p\rightarrow 0\) selects the strict side near a strong pressure variation, while \(\omega_p\rightarrow 1\) selects the weak side in smoother regions. Stream also provides the two endpoints of the blend:
The implementation fact mlp_modes selects \(m\) and defaults to the
pressure-weighted mode. It affects MLP-PW only; the original MLP construction
has no strict/weak blend. The unlimited increment from cell \(i\) to face \(k\) is
The MLP-PW coefficient is the minimum response over all faces of the cell, including physical boundary faces:
Each local response is restricted to be nonnegative, and the facewise minimum begins from unity. The final reconstruction coefficient therefore satisfies \(0\le\psi_i^{\mathrm{MLP\text{-}pw}}\le 1\). A coefficient of zero recovers the cell average and cannot reverse the unlimited gradient.
9.6.3. Stream Response Scaling and Rule Behavior#
The paper form in Eq. (9.5.6) describes the role of the Venkatakrishnan smoothing parameter. Stream evaluates that parameter using a cell-volume scale and a local reference magnitude. Let \(\Omega_i\) be the cell volume, let \(\Omega_g=\sum_i\Omega_i\) be the total grid volume, let \(\mathcal{F}_{\mathrm{int}}(i)\) and \(\mathcal{F}_b(i)\) be the interior and physical-boundary faces of the cell, and let \(n(k)\) be the neighboring cell across interior face \(k\). With \(N_i^{\mathrm{ref}}=1+|\mathcal{F}_{\mathrm{int}}(i)|+|\mathcal{F}_b(i)|\), the scalar reference magnitude is
The scalar smoothing parameter is
This scaling is used by both original MLP and MLP-PW. The symbol \(K_{\ell}\)
corresponds to the Stream input parameter Kl. Increasing \(K_{\ell}\)
increases the smooth-region tolerance of the Venkatakrishnan response.
For a three-component vector field, the vertex extrema, strict and weak bounds, increments, and limiter responses are evaluated component by component. Stream first computes a scalar reference \(q_{i,\alpha}^{\mathrm{ref}}\) for each Cartesian component and then uses
in Eq. (9.6.3.2). Thus all three vector components use the same smoothing parameter even though their bounds and final limiter coefficients remain componentwise.
Stream Implementation Summary
Original MLP: test the reconstruction at every vertex of the cell and take the minimum vertex response.
MLP-PW: test the reconstruction at every interior and physical-boundary face center and take the minimum face response.
Nodal data: construct extrema and inverse-distance averages from the cell averages sharing each vertex; boundary-face states do not replace those nodal values.
Pressure sensor: compute \(\omega_p\) from the raw averaged-vertex pressure extrema, while the limiter numerator uses the feasible strict envelope of Eq. (9.6.2.6).
Scalar and three-component vector fields: apply the same construction to scalars and to each vector component, with the shared vector smoothing scale described above.
Forced first order: set every resulting scalar or vector limiter coefficient to zero in a cell selected for first-order reconstruction.
The implementation mapping is summarized below. These names identify the corresponding Loci facts; they do not replace the theory notation used in the derivation.
Mathematical role |
Stream implementation quantity |
|---|---|
Vertex extrema \(q_{V(l)}^{\max,\min}\) |
|
Inverse-distance vertex average \(\bar q_l\) |
|
Weak face bounds \(q_{k,\mathrm{w}}^{\max,\min}\) |
|
Raw strict bounds \(q_{i,\mathrm{s}}^{\max,\min}\) |
|
Pressure weight \(\omega_p\) |
|
Scalar coefficient \(\psi_i\) |
|
Three-component vector coefficient \(\boldsymbol{\psi}_i\) |
|
Fig. 9.6.3.1 Key flow features including Mach disk in an under-expanded jet.#
9.7. Blended Hybrid SLAU/SLAU2 Dissipation Framework#
The hybrid SLAU/SLAU2 method is a blended scalar-dissipation correction. It modifies the momentum dissipation level while preserving the base SLAU/SLAU2 flux structure. It does not replace the SLAU-family numerical flux with a full HLLE-family Riemann flux. Instead, each optional backend supplies an effective mass-dissipation magnitude that is blended with the baseline SLAU/SLAU2 dissipation. The objective is to retain low dissipation in smooth/all-speed regions and introduce stronger dissipation near strong shocks to improve robustness (including carbuncle resistance).
For each face, define the baseline SLAU dissipation magnitude:
where \(\rho_f\) is face density, \(V_f\) is face volumetric flux, and \(V_{g,f}\) is grid volumetric flux.
Define a pressure-ratio weight at each cell:
and take the face value
The hybrid dissipation magnitude is blended as
where \(\Delta m_f^{B}\) is the backend dissipation model.
The correction added to the momentum equation is
This source is assembled antisymmetrically:
From Eq. (9.7.4), two useful limits follow:
\(\omega_{p,f}\to 1\): \(\Delta m_f^{\mathrm{hyb}}\to\Delta m_f^{\mathrm{SLAU}}\) (hybrid correction vanishes).
\(\omega_{p,f}\to 0\): \(\Delta m_f^{\mathrm{hyb}}\to\Delta m_f^{B}\) (full backend dissipation).
9.7.1. Backend Scalar Dissipation Models#
9.7.1.1. 1. van Leer/Hanel backend#
Define
with split Mach functions
Then
9.7.1.2. 2. HLLE-family-inspired backend primitives#
For the HLLE-family-inspired scalar backends (HLLE, HLLEM, LM-HLLEM, and HLLEMCC), define
and the jump scale
where \(\varepsilon_c\) and \(\varepsilon_\rho\) are small internal positive floors, and \(\varepsilon_J\) is a positive floor on the combined state-jump measure.
The HLLE-inspired backend dissipation magnitude is
9.7.1.3. 3. HLLEM-inspired backend#
Define shock/contact sensors:
where \(p_{\mathrm{ref}}\) is a positive pressure-normalization floor used by the shock sensor.
then reduce the HLLE-inspired backend dissipation in contact/shear-dominated regions:
9.7.1.4. 4. LM-HLLEM-inspired backend#
Define a face Mach number and bounds:
then apply low-Mach scaling:
9.7.1.5. 5. HLLEMCC-inspired backend#
The HLLEMCC-inspired backend restores dissipation toward the HLLE-inspired backend in strong-shock regions:
9.7.2. Conceptual Summary#
van Leer/Hanel provides the legacy split-flux dissipation reference.
HLLE-inspired backend dissipation provides the strongest baseline backend in strong-shock regimes.
HLLEM-inspired backend dissipation reduces HLLE-like dissipation where shocks are weak to better preserve contact/shear features.
LM-HLLEM-inspired backend dissipation further reduces excessive dissipation in low-Mach regions.
HLLEMCC-inspired backend dissipation increases robustness by recovering HLLE-like dissipation as shock strength grows.
These backend names identify scalar dissipation models used inside the blended hybrid SLAU/SLAU2 correction. They should not be read as standalone replacement flux functions for the full conservative state vector.
9.8. References#
J.S. Park, S.H. Yoon, and C. Kim. Multi-dimensional limiting process for hyperbolic conservation laws on unstructured grids. Journal of Computational Physics, 229(3):788–812, 2010.
F. Zhang, J. Liu, and B. Chen. Modified multi-dimensional limiting process with enhanced shock stability on unstructured grids. Computers and Fluids, 161:171–188, 2018.