Euler Lab
Runs in the browser · no install

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.

Sod shock tubecomputed livet = 0.000
density, HLLC + MUSCL (200 cells) exact Riemann solution

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.

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.