Compressible flow, solved and checked in your browser.
A finite-volume Euler laboratory for shock tubes, nozzles, shock-tube facilities and 2D fields. Real gases in SI units, an exact solution beside every run, and a comparison with experiment.
HLLC · HLL · Roe · Rusanov fluxes, MUSCL–minmod, SSP-RK2.
Workspaces
Each one pairs a solver with the theory it should reproduce. Pick a preset, press Solve, scrub through time and hover any plot to probe the flow.
Riemann problems with one gas or two, ideal or thermally perfect, against an exact real-gas solution.
Open → NozzleQuasi-1D ducts from a reservoir to a back pressure: choking, normal shocks and a boundary-layer correction.
Open → FacilityDesign a reflected-shock tube: states 1–5, tailoring, test time and an x–t wave diagram.
Open → VerifyOrder-of-accuracy studies and grid-convergence-index error bars on the quantities you care about.
Open → 2D fieldEuler on a Cartesian grid: radial Sod, four-quadrant Riemann, Sedov blast, Kelvin–Helmholtz.
Open →Built to be checked
Every result comes with something to compare it against, and a zero-dependency test suite holds the numbers in place.
Exact references
Exact Riemann solutions for real gases and two gases, the exact steady quasi-1D duct flow including the normal-shock position, and classical shock-tube theory.
Verified order
Second order measured on a smooth wave (L1 order 1.89), with Celik et al. GCI bands that contain the exact answer.
Validated against experiment
Sajben transonic diffuser, NPARC data: with the displacement correction the weak shock sits at 1.54 H* against a measured 1.35–1.49.
Real gases, SI units
Air, N₂, O₂, Ar, He, H₂, CO₂ and combustion products, calorically or thermally perfect with γ(T) from NASA-7 polynomials.
Run it your way
No build step and no dependencies: open the page, or drive the same solver from Node.
# in the browser open index.html # headless, from a saved case file node run.js cases/sod.json --out results/ node run.js cases/nozzle-m2.json --sweep pb=2e4,4e4,6e4 # the verification suite node test.js
- Save and load cases as JSON from any workspace.
- Export fields and reference solutions as CSV.
- Sweep parameters and collect a summary table.
- Overlay measured p/p₀ data on a nozzle run.