Skip to content

Shock-crossing defect is a capturing error ​

IDGroupMilestoneBackendsFigureRegression
E0Seam studiesM6 (#68)FNL; CPU re-runs agree to the printed digitsyes—

Case and scope ​

A3 found an O(1), non-converging defect behind a shock that crosses a 2:1 seam; D2 showed that no coarse-to-fine fill reduces it and that limiting the fill makes it worse. E0 asks whether the defect comes from the consistency of the fill with the restriction (only restriction-compatible with the mean restriction has R∘P=I exactly), from the reflux, or from neither. The answer decides whether a seam operator can fix it.

Models and numerics ​

ItemChoiceCode
EquationsSod: compressible Euler, γ=1.4; RJ2a: ideal MHD, γ=5/3, no divergence controlmodels
Space, timeWENO5 flux splitting on characteristic variables; SSP Runge–Kutta 3 stages, CFL 0.5as in AS
Fillrestriction-compatible (order 2) or tricubic (order 4)seam_interpolate_compatible, seam_interpolate_tricubic, adam_seam_interpolation_library.F90
Restrictionmean or lagrange6restrict_seam_high_order, adam_field_object.F90
Refluxon or offapply_reflux_to_stage_forest, adam_flume_cpu_object.F90 and adam_flume_fnl_object.F90

Initial and boundary conditions ​

ItemValue
Casesthe AS c2f crossings: Sod N=200 (and 400), RJ2a N=256; octree, x>0.75 refined, t=0.2, extrapolation on all faces
Armsevery combination of fill (restriction-compatible, tricubic) × restriction (mean, lagrange6) × reflux (on, off)
Ranks2, FNL

Input files ​

FileRole
src/tests/flume/verification/amr-shock/make_amr_shock.pythe crossings (--seam-ghost-fill, --seam-restriction, --no-reflux)
src/tests/flume/verification/amr-shock/amr_shock_oracle.pythe plateau and band defects, the mass and the shock position

No check.sh leg runs E0.

Results ​

E0: the plateau defect against fill, restriction and reflux

*The table below as bars (make_doc_figures.py --only capturing-error): no combination of coarse-to-fine fill, restriction and reflux removes the defect; the largest change is the reflux on Sod with the tricubic fill. *

E0: the Sod plateau and the defect per arm, CPU

The CPU re-runs (make_doc_runs.sh <runs> seams): left, the plateau after the c2f crossing with the tricubic and the compatible fills at N = 200 and 400, the bump behind the face the same at both resolutions; right, the defect of every arm, which the CPU reproduces to the printed digits of the FNL table below (2.32, 1.82, 2.46, 3.10, 3.17 ⋅10−2; at N=400: 2.35 and 2.14 ⋅10−2, band 1.71⋅10−3).

Plateau density defect behind the shock:

Fill + restrictionSod, reflux onSod, reflux offRJ2a, reflux onRJ2a, reflux off
compatible + mean (R∘P=I)2.32⋅10−21.82⋅10−21.97⋅10−21.83⋅10−2
compatible + lagrange62.32⋅10−21.85⋅10−21.98⋅10−21.84⋅10−2
tricubic + mean2.46⋅10−23.10⋅10−21.41⋅10−21.68⋅10−2
tricubic + lagrange62.46⋅10−23.17⋅10−21.41⋅10−21.68⋅10−2

Sod with the reflux on at N=400: 2.35⋅10−2 (tricubic) and 2.14⋅10−2 (compatible), while the band defect next to the seam converges (6.35⋅10−3→1.71⋅10−3, order 1.9). With the reflux off the mass drifts (10−5 to 10−4) and the shock lands 0.06 to 0.22 cells off.

Related cases: AS found the defect; D2 ruled out the fill's order; E2 proceeds with the reflux policy on its own merit.

Findings ​

  • The restriction is irrelevant (mean and lagrange6 within 0.5 % in every case).
  • Consistency does not control it: the R∘P=I pair is best on Sod and worse than tricubic on RJ2a.
  • The reflux does not cause it: off, it moves the defect by up to 30 % either way and costs conservation.
  • It does not converge: N = 200 to 400 lowers it by 5 to 8 %.
  • So it is not a seam-operator defect. The evidence points to the start-up error of a captured shock whose numerical structure, a few cells wide, is squeezed into finer cells (an interpretation, not measured directly): the transition emits a spurious wave (the plateau entropy defect is about 1.8 %) whose amplitude scales with the shock's strength, not with the spacing.
  • Remedy: keep shocks off the seams by refining ahead of them (a gradient or Löhner marker with a buffer and a short regrid frequency, M5), which numerics now recommends. Phase E (the reflux policy) proceeds on its own merit.