20. Double-Flux Method for a Pressure-Based Segregated Solver#
This appendix describes the double-flux method used to reduce spurious pressure oscillations in multicomponent and real-fluid compressible flows. The main reference for the present formulation is the real-fluid double-flux treatment of Ma, Lv, and Ihme [MLI17], which extends the Abgrall-Karni and Billet-Abgrall double-flux idea to transcritical equations of state [AK01, BA03].
Ma et al. present the method for an explicit, density-based, conservative finite-volume algorithm. The solver described in this guide is pressure based and segregated: pressure is solved through a pressure-correction equation, velocity and fluxes are corrected, and total energy or total enthalpy is advanced in a separate scalar solve. The purpose of this appendix is to separate the thermodynamic idea from the density-based algorithm in which it is often introduced, then state the corresponding pressure-based equations and assumptions.
In one sentence:
During one nonlinear update, replace the nonlinear real-fluid energy-pressure relation by a cell-local frozen calorically-perfect-gas surrogate in the parts of the discretization that couple pressure, density, and energy-like transport; after that update, return to the true equation of state.
The word “surrogate” is essential. Double flux is not a new physical equation of state. It is a temporary, locally frozen thermodynamic representation used to keep an isobaric material interface from generating pressure through the discrete energy-pressure conversion.
20.1. Source of Pressure Oscillations#
For a general multicomponent real fluid, pressure is a nonlinear function of density, internal energy, and composition,
Across a material interface, pressure and velocity may be uniform while density, temperature, composition, sound speed, and internal energy vary sharply. A fully conservative density-based update transports mass, momentum, total energy, and species. Pressure is then recovered from the nonlinear EOS. If the local relation between energy and pressure changes abruptly across the interface, a conservative update that is reasonable for the conserved variables can still recover a nonuniform pressure.
Ma et al. analyze this mechanism by writing a general real-fluid state in the locally calorically-perfect-gas-like form
The effective heat-capacity ratio is defined from the true thermodynamic sound speed,
and the reference internal energy is chosen so that the surrogate matches the current true-EOS state exactly,
For a calorically perfect gas, these quantities reduce to constants. For a transcritical real fluid, they can vary strongly with pressure, density, temperature, and composition. It is often useful to introduce
so that Eq. (20.1.2) becomes
The pressure-equilibrium error is tied to jumps in the two state-dependent quantities
Near pseudo-boiling or liquid-like to gas-like transitions, these jumps can be much larger than in ideal-gas mixing. This is why adding dissipation to a fully conservative method may not remove the pressure oscillation unless the interface is resolved on an impractically fine mesh.
20.2. Contact-Interface Balance#
The pressure-equilibrium argument is clearest for a one-dimensional contact-like state with uniform pressure and velocity. A first-order upwind update of continuity and momentum preserves uniform velocity. The question is whether the energy update preserves uniform pressure.
Using Eq. (20.1.6), the pressure change after one update can be written schematically as
Here \(\delta(\cdot)\) denotes the change over the update. The exact stencil indexing depends on the finite-volume discretization, but the interpretation is robust: pressure changes are driven by temporal and spatial variation of \(\Gamma_{\mathrm{DF}}\) and \(e_{0,\mathrm{DF}}\).
The double-flux idea is to hold \(\gamma_{\mathrm{DF}}\) and \(e_{0,\mathrm{DF}}\) fixed for each receiving cell over the update. With these quantities frozen, the cell no longer samples different nonlinear energy-pressure tangents during the same discrete update, and the contact update gives
This does not make the global real-fluid EOS linear. It only makes the local energy-pressure conversion linear, and only for the duration of the frozen update.
20.3. Density-Based Double-Flux Form#
The conservative inviscid state used by Ma et al. is
where
For a cell whose frozen pair is \((\gamma_{\mathrm{DF}},e_{0,\mathrm{DF}})\), the double-flux total-energy relation is
During a density-based Runge-Kutta stage, this relation is used when a total energy is needed for reconstruction or flux evaluation. After the conservative variables have been updated, pressure is recovered from the frozen relation,
At the end of the time step, the thermodynamic state is synchronized again with the true EOS, and total energy is recomputed from the true thermodynamics. This synchronization is part of the method, not a cosmetic correction.
20.4. Cellwise Freezing and Quasi-Conservation#
The method is called “double flux” because an interior face generally contributes two different energy-like fluxes. If cells \(P\) and \(N\) share a face \(f\), the contribution to the row of \(P\) uses the frozen pair of \(P\), while the contribution to the row of \(N\) uses the frozen pair of \(N\).
For total energy, the same face state is viewed through two cell-local closures:
In general,
Mass, momentum, and species remain conservative in the finite-volume sense. Total energy is quasi-conservative because the energy-like flux is intentionally localized to the receiving cell’s frozen thermodynamic tangent. Ma et al. show that the resulting energy conservation error is tied to the same jumps in Eq. (20.1.7). For smooth solutions it decreases with mesh refinement. For shock-dominated problems, especially on coarse meshes, the error can affect shock speed and temperature. This is the main motivation for hybrid conservative / double-flux strategies [BJ21].
20.5. Translation to a Pressure-Based Solver#
In a density-based algorithm, pressure is recovered after a conservative update. In a pressure-based segregated algorithm, pressure is a primary unknown and density changes enter through the pressure-correction equation. Therefore, the translation is not to copy the explicit Runge-Kutta algorithm stage by stage. The translation is to preserve the same frozen thermodynamic relation inside the pressure-density-energy coupling of one nonlinear update.
Conceptually, a pressure-based double-flux update uses the following contract:
Start from a state that is consistent with the true EOS.
Evaluate the true sound speed and internal energy at that state.
Form one frozen pair \((\gamma_{\mathrm{DF}},e_{0,\mathrm{DF}})\) per cell using Eqs. (20.1.3) and (20.1.4).
Hold that pair fixed while assembling and solving the pressure-correction and energy-like scalar operators built from the same nonlinear reference state.
Use row-local double-flux energy-like face values for energy or enthalpy transport.
Use the frozen-surrogate pressure-density response in the pressure-correction terms that represent compressible density change.
After pressure, velocity, density, species, and energy-like variables have been updated, close the thermodynamic state again with the true EOS.
The frozen pair is cell local. It is not a face average, and it is not updated inside a linear solve. The true EOS remains the source of sound speed, internal energy, final thermodynamic properties, transport properties, and any chemistry or tabulated-thermodynamic closure.
20.6. Energy and Enthalpy Forms#
A pressure-based solver may advance either total energy or total enthalpy. Both are compatible with the same frozen surrogate. Define
The frozen static enthalpy relation is
The frozen total enthalpy relation is
If density is needed from a frozen total-energy relation, the inversion is
If density is needed from a frozen total-enthalpy relation, the inversion is
These inversions are not new physical EOS calls. They are operator-local closures implied by the frozen double-flux relation. The final state is still closed by the true EOS.
20.7. Pressure-Correction Density Response#
Without double flux, the pressure-correction derivation uses the true acoustic density response
This is the EOS-compatible response along an acoustic, entropy-fixed tangent of the true thermodynamic state.
With double flux active, the pressure-density relation used inside the frozen update is different. Holding the energy-like variable, velocity, \(\gamma_{\mathrm{DF}}\), and \(e_{0,\mathrm{DF}}\) fixed in Eq. (20.6.4) or Eq. (20.6.5) gives
Using Eq. (20.1.3), this can be written as
Thus the double-flux pressure-correction density response is the frozen-surrogate slope \(\rho/p\), equivalently \(\gamma_{\mathrm{DF}}/a_s^2\), not the pure acoustic slope \(1/a_s^2\). This is consistent with the pressure recovery relation in the density-based double-flux method: during the frozen update, pressure and density are related through the local calorically-perfect-gas surrogate.
This distinction does not abandon the true EOS. The sound speed used to define \(\gamma_{\mathrm{DF}}\) comes from the true EOS at the reference state, and the final thermodynamic state is again closed with the true EOS.
20.8. Face Fluxes in the Pressure-Based Form#
The pressure-based solver keeps a single conservative mass flux at a face. The double-flux modification is applied to the energy-like quantity carried by that mass flux.
For a total-enthalpy form, the row-local face value for cell \(P\) is
The row-local energy-like convective contribution is then
The neighboring row uses the neighboring frozen pair,
The pressure, density, velocity, and composition at the face should be reconstructed consistently with the inviscid flux used by the solver. The double-flux change is the thermodynamic conversion from that face state to the transported energy-like quantity. It is not a separate momentum flux, not a separate species flux, and not a replacement for the true EOS used to define the physical state before and after the update.
20.9. Assumptions and Limits#
The contact-pressure argument assumes that the problematic part of the update is the nonlinear conversion among pressure, density, and energy at a material interface. Composition may change by species transport and reactions, but the local thermodynamic conversion is frozen over the update being assembled.
The frozen surrogate requires nondegenerate states:
and, when density is recovered from energy-like variables,
If these conditions fail, the state is outside the useful range of the local frozen surrogate. A robust method should limit, reject, or locally fall back to a conservative / true-EOS treatment rather than continuing with an invalid density.
Double flux also does not provide positivity preservation, bounded species, entropy stability, or shock robustness by itself. Ma et al. combine the method with an entropy-stable hybrid correction for realizability and minimum-entropy control. In that setting, the entropy measure is built from the effective heat-capacity ratio because each cell is temporarily represented by a locally frozen calorically-perfect-gas surrogate.
20.10. Hybrid Conservative / Double-Flux Strategies#
The double-flux method is most useful where pressure equilibrium at a material or transcritical interface is more important than strict total-energy conservation over one under-resolved update. It is less attractive in shock-dominated regions where exact energy conservation is important for shock speed and post-shock temperature.
A common hybrid idea is to blend or switch between a conservative energy flux and a double-flux energy-like flux:
Here \(\theta_f\) should be close to zero where thermodynamic-interface pressure oscillations dominate, and close to one where strict conservative shock behavior is more important. Boyd and Jarrahbashi [BJ21] discuss hybrid strategies based on jumps in \(\Gamma_{\mathrm{DF}}\) and \(e_{0,\mathrm{DF}}\), the same quantities identified in Eq. (20.1.7). A thermodynamic jump sensor identifies where double flux may be needed, but a shock-aware sensor or blending rule is usually needed as well.
20.11. Summary#
The double-flux method freezes a local calorically-perfect-gas surrogate,
with
The frozen pair removes the local temporal and spatial variation in the energy-pressure tangent that generates pressure at an isobaric material interface. The method is quasi-conservative in total energy because neighboring cells can use different frozen energy-like fluxes at the same face.
In a pressure-based segregated solver, the same thermodynamic idea appears as a frozen pressure-density-energy closure over one nonlinear update. The pressure-correction density response uses the frozen-surrogate slope \(\rho/p=\gamma_{\mathrm{DF}}/a_s^2\), energy or enthalpy transport uses row-local double-flux face values, and the updated thermodynamic state is then closed again with the true EOS.
20.12. References#
R. Abgrall and S. Karni. Computations of compressible multifluids. Journal of Computational Physics, 169(2):594–623, 2001. doi:10.1006/jcph.2000.6685.
G. Billet and R. Abgrall. An adaptive shock-capturing algorithm for solving unsteady reactive flows. Computers and Fluids, 32(10):1473–1495, 2003.
B. Boyd and D. Jarrahbashi. A diffuse-interface method for reducing spurious pressure oscillations in multicomponent transcritical flow simulations. Computers and Fluids, 222:104924, 2021. doi:10.1016/j.compfluid.2021.104924.
P.C. Ma, Y. Lv, and M. Ihme. An entropy-stable hybrid scheme for simulations of transcritical real-fluid flows. Journal of Computational Physics, 340:330–357, 2017. doi:10.1016/j.jcp.2017.03.022.