Skip to content

Euler ​

The compressible Euler cases of FLUME: Riemann problems with exact solutions, a smooth exact solution for the order of accuracy, the immersed boundary, conservation across AMR seams, and the multi-realm forest. They verify the two space schemes, weno (WENO5 flux splitting on characteristic variables) and weno-riemann (WENO5 interpolation of the face states, an LLF, HLL or HLLC Riemann flux and a 6th-order flux correction), described in numerics.

Every case runs from its directory under src/tests/flume/verification/ through check.sh (CPU by default, FLUME_EXE=exe/adam_flume_fnl for the FNL backend), with 2 MPI ranks and WENO5 unless the page states otherwise. The oracles assert the physics (an exact solution, a reference, a symmetry or a conservation property), not a stored golden; the goldens of the regression suite are listed in each page's header.

CaseIDWhat it verifies
Sod shock tubeV1, RV-3L1(ρ) against the exact solution; x, y, z bitwise equal; reflecting walls
Lax problemRV-3the Riemann solvers on a strong contact, bound 1.05× the splitting scheme
Shu–Osher shock / entropy-wave interactionRV-3the entropy waves behind a Mach 3 shock against a 16× finer reference
Isentropic vortex: order of accuracyV2, RV-2the design order on a smooth exact solution, periodic blocks across ranks
Shock over a cylinderV6the immersed boundary with solid AMR: refinement, mirror symmetry, positivity
Conservation across AMR seamsV3, RV-4the reflux at 2:1 faces: the volume integrals constant to round-off
Multi-realm runsmultirealm legs 1–6mirror, misaligned and 2:1 inter-realm seams, across ranks: bitwise equal to one realm
Forward-facing stepEV-stepa three-realm forest on quadtrees against octrees; the Woodward–Colella step at t=4
Dual energy: the advected entropy of euler-deDEeuler-de changes nothing where no cell is cold (Sod bitwise) and keeps a cold Noh shock heated
Passive scalarsPSup to four scalars that do not act on the flow, are conserved, and stay uniform through runtime AMR
Radiative coolingCOoptically thin cooling by Townsend's exact integration: the isochoric ODE to round-off, the floor, a radiative shock against its steady structure
Isothermal equation of stateEOP=c02ρ: the shock tube and a Mach-5 collision against the exact solution, the fifth order on an acoustic wave, the inert energy slot, the contract
Barotropic equation of stateEO (eb)a piecewise polytrope: a fan split at a convex break, shocks across segments, the order with c2=P′(ρ0), the Mathew & Federrath table by self-convergence
Barotropic gases under gravityEO (eg)gravity on the momentum only, Jeans waves with c2=P′(ρ0), the Jeans marker, sinks with cs2=dP/dρ and the virial thermal energy, Bonnor–Ebert stability, Boss–Bodenheimer

The figures are drawn by src/tests/flume/verification/make_doc_figures.py from the work directories that the check.sh scripts leave behind (the step's with --keep):

bash
cd src/tests/flume/verification
(cd sod && ./check.sh) ; (cd vortex && ./check.sh) ; (cd conservation && ./check.sh)
(cd riemann-flux && ./check.sh                                    # HLLC, every leg
   ./check.sh --solver split --legs lax ; ./check.sh --solver split --legs shu-osher
   ./check.sh --solver llf --legs lax --lax-l1-max 1 ; ./check.sh --solver llf --legs vortex
   ./check.sh --solver hll --legs vortex)                           # LLF exceeds the default Lax bound
(cd step && ./check.sh --legs trees,full --keep)
python3 make_doc_figures.py --out ../../../../docs/public/flume \
   --only sod lax shu-osher vortex shock-cylinder conservation step step-trees