Benchmark regenerated 2026-10-07

Sod Shock Tube with Meta-Calculus Flux Limiting

Flux-limiter comparison on the Sod and Shu-Osher shock tubes, including a limiter blended by a log-derivative shock sensor. Every result number below is read from a stored artifact.

The Sod Shock Tube Problem

Problem Setup

A tube with a membrane at x=0.5 separating high-pressure gas (left) from low-pressure gas (right). At t=0, the membrane bursts.

Left State (x < 0.5)
rho = 1.0
p = 1.0
u = 0
Right State (x > 0.5)
rho = 0.125
p = 0.1
u = 0

Physical Features

The solution develops three distinct waves:

  • 1.Rarefaction fan - smooth expansion wave moving left
  • 2.Contact discontinuity - density jump at constant pressure
  • 3.Shock wave - pressure/density jump moving right

Governing Equations

1D Euler equations for compressible inviscid flow:

∂∂t(ρρuE)+∂∂x(ρuρu2+p(E+p)u)=0\frac{\partial}{\partial t} \begin{pmatrix} \rho \\ \rho u \\ E \end{pmatrix} + \frac{\partial}{\partial x} \begin{pmatrix} \rho u \\ \rho u^2 + p \\ (E + p)u \end{pmatrix} = 0

Where rho is density, u is velocity, p is pressure, and E = p/(gamma-1) + 0.5*rho*u^2 is total energy. Ideal gas with gamma = 1.4.

Log-Derivative Shock Sensor

Current Sensor (since 2026-10-07)

s(x)=dln⁡ρdx=ρ′(x)ρ(x)s(x) = \frac{d \ln \rho}{dx} = \frac{\rho'(x)}{\rho(x)}

The log-derivative (the logarithm of the geometric derivative) is unchanged by rescaling rho and does not depend on where x = 0 sits. High |s| (shock) blends toward minmod; low |s| (smooth) toward superbee, with van Leer in between.

Retracted Sensor

LBG[ρ](x)=x ρ′(x)ρ(x)L_{BG}[\rho](x) = \frac{x \, \rho'(x)}{\rho(x)}

The earlier elasticity sensor depends on the coordinate origin (the threshold acts as T/|x| and the sensor vanishes at x = 0), so the Shu-Osher result changed when the same problem was shifted. Results that used it, including the old 1.2% and 5.4% headlines, are retracted.

Classical Limiters (Baselines)

Minmod
max(0, min(1, r))
Most diffusive
Van Leer
(r+|r|)/(1+|r|)
Balanced
MC
max(0,min(2r,(1+r)/2,2))
Moderately sharp
Superbee
max(0,min(2r,1),min(r,2))
Most compressive

Regenerated Benchmark: Shu-Osher and Sod

Shu-Osher has smooth entropy waves interacting with a shock, which makes it a harder test than Sod.

Earlier Experiments (older k-blending limiter)

These studies use the older k(gradient) blending limiter, not the current sensor, re-run on the SSP-RK2 Shu-Osher solver. Numbers are read from the stored artifacts; each is a single configuration study with parameters taken from earlier MOO runs, and the mesh study carries the artifact's own in-sample status.

Cross-Validation: Do Tuned Parameters Transfer?

Sod-optimal parameters on Shu-Osher
L2 0.1304 vs superbee 0.1207, the best baseline (8.0% higher L2); minmod 0.1647. Transfer change vs the Shu-Osher-tuned parameters: -3.27%.
Shu-Osher-optimal parameters on Sod
L2 0.010401249009488368 vs minmod 0.010504554773657353, van Leer 0.008904305925333521 (loses to van Leer)

Artifact verdict: PROBLEM_SPECIFIC

Multi-Seed NSGA-II (Shu-Osher, pymoo)

Best in-sample L2 per seed vs minmod 0.1621 (5 seeds, pop 20 x 15 generations):

s42
0.157
s123
0.157
s456
0.156
s789
0.157
s999
0.156
3.5% +/- 0.1% lower L2 than minmod
0.9% lower L2 than van Leer (0.1578, same grid and reference), the best standard limiter

Parameters are tuned against the same reference they are scored on, so this measures optimizer repeatability, not generalization.

Mesh Refinement (Shu-Osher vs minmod, Sod vs Van Leer; in-sample, hand-set params)

Artifact status: IN-SAMPLE, NOT A GENERAL CLAIM: Shu-Osher solver is SSP-RK2 + TVD MUSCL (re-run 2026-10-07); MOO_best params are hand-set from the retracted forward-Euler MOO run; improvement is vs minmod (Shu-Osher) and vanleer (Sod), not the best standard limiter at each nx

nxSodShu-Osher
100-18.3%+4.6%
200-5.3%+0.1%
400+3.4%+18.1%
800+9.7%+65.7%

Verdict: PARTIAL_CONSISTENCY. Not a headline result: the comparison is against minmod on Shu-Osher (not the best limiter at each nx), in-sample, with hand-set parameters from the retracted run, scored against a Van Leer nx = 2000 reference. An independent check against a converged WENO5 nx = 16000 reference (docs/research/cfd-followups-2026-10/F3/table_results.json, cell-averaged L2) finds a meta limiter variant within the reference uncertainty of the best standard limiter at 200, 800 and 1600 cells, while superbee is clearly better at 100 and 400 cells.

Lax Shock Tube (3rd benchmark, nx = 200)

minmodL2 = 0.0678
vanleerL2 = 0.0544
superbeeL2 = 0.0398
Sod_optimalL2 = 0.0619
ShuOsher_optimalL2 = 0.0676

Verdict: transferred parameters lose to superbee.

What Flux Limiters Do (Plain English)

The Problem

Simulating air flow on a computer means dividing space into grid cells and moving fluid between them. Sharp changes such as shock waves make the numerics produce fake oscillations, like ringing artifacts in a bad JPEG.

Flux limiters are safety nets that prevent this. More safety means more blur.

The Safety Nets

minmod

Very safe, rarely oscillates, but smears details.

Van Leer

A common balanced default between safety and sharpness.

superbee

Keeps edges crisp but can add oscillations (highest TV above).

The sensor-blended limiter switches between these by local |d ln rho / dx|. On the regenerated Shu-Osher run it trades a lower L2 than superbee for more total variation than minmod. On Sod its best setting (NNC_thresh_7.0) loses to superbee (+26.1% L2) and Van Leer (+16.7% L2) and is about level with minmod (+0.3% L2).

Archived Figures (pre-2026-10-07)

No archived figures are shown; the charts above render from the stored artifacts. The former cross-validation and mesh-refinement figures were drawn from hard-coded values and have been removed.

Figures from the withdrawn shock_tube_full_nnc_update.py were removed (2026-10-07).

Literature

  • Grossman & Katz (1972): "Non-Newtonian Calculus." Lee Press.
  • Grossman (1983): "Bigeometric Calculus: A System with a Scale-Free Derivative."
  • Bashirov et al. (2008): "Multiplicative Calculus and Its Applications." J. Math. Anal. Appl. 337, 36-48.
  • Riza & Aktore (2015): "The Runge-Kutta Method in Geometric Multiplicative Calculus." LMS J. Comp. Math. 18(1), 539-554.

Data & Code

Simulation Files

  • simulations/cfd_nnc_comprehensive.py - current sensor benchmark
  • simulations/cross_validation_experiment.py - transfer tests (old limiter)
  • simulations/mesh_refinement_study.py - resolution tests (old limiter)
  • simulations/multi_seed_moo.py - 5-seed pymoo NSGA-II (old limiter)

Results Files (copied to public/)

  • cfd_nnc_comprehensive.json - regenerated 2026-10-07
  • cross_validation_results.json
  • mesh_refinement_results.json - in-sample, hand-set parameters
  • lax_shock_tube_results.json
  • multi_seed_moo_results.json