Mason Shopperly

research · note · in motion

Working through the Zingg two-book arc

Two books, taken together, are the analytical-numerics arc I keep coming back to. CFDLab is the artefact that finally answered them, on my own time.

JST vs Roe + MUSCL on the full Sod shock tube — CFDLab cross-project comparison, density and Mach panels
JST (ARC1D) vs Roe + MUSCL (upwind1d) on the full Sod shock tube — the comparison that doesn't exist until both lanes work.
Lane
research
State
Active
Last touched
2026-04-28
Tools
Python · ARC1D · FLOMG · upwind1d
Depth
■■■■■□ 5 / 6

What the arc actually is

Lomax, Pulliam, and Zingg wrote two books that, taken together, lay out the analytical-numerics arc end to end. Book one is the analytical layer: modified wavenumber, eigenvalue analysis of marching schemes, dispersion versus dissipation, truncation error. Book two is the practical layer: JST artificial dissipation, Roe + MUSCL, multigrid, shock-capturing made operational.

How I rebuilt it

Three structurally different solvers, each on its canonical problem: ARC1D (JST + implicit FD), FLOMG (FAS multigrid, transonic), upwind1d (Roe + MUSCL + TVD). Everything pinned by CI baselines so the analytical layer can keep developing without quietly breaking the solvers underneath it.

Where it sits now

Three solvers running, 43 baselines pinned, 18 analytical-probe figures shipped. The cross-project shock-tube comparison (JST artificial dissipation versus Roe + MUSCL upwinding) is the figure above — it doesn't exist until both lanes work, and that's the thing the arc was for.

Next

Promote FLOMG transonic to a fully-narrated atlas section. Add a contact-only crop to the JST-vs-Roe comparison so the smearing story reads at a glance.

← All notes