Appearance
Limited coarse-to-fine fills
| ID | Group | Milestone | Backends | Figure | Regression |
|---|---|---|---|---|---|
| D2 | Seam studies | M6 (#68) | FNL (crossings); CPU, FNL (AO legs) | yes | — |
Case and scope
The unlimited quintic fill of D1 reaches sixth order on smooth flows but worsens a shock entering a finer region. D2 asks whether a limited 6-point fill keeps the order and brings the shock crossings of A3 back to tricubic's level (the Phase D exit). Neither did, so D2 then ran every fill on the c2f crossings to find out what the shock-crossing defect is not.
Models and numerics
| Item | Choice | Code |
|---|---|---|
seam_ghost_fill = weno6 | per direction the WENO-Z combination of the cubics of the 4-point sub-stencils that contain the ghost's interval (the C3 restriction's kernel, now shared); linear weights reproducing the Lagrange interpolant of their union (all positive); sub-stencils holding a jump dropped; the clamped linear interpolation of the interval when none is left. Order 6 at the centred anchor positions, 5 one cell from the donor block's edge, 4 at it | seam_interpolate_weno6, seam_fill_weno6_1d, seam_weno6_core, adam_seam_interpolation_library.F90 |
seam_ghost_fill = quintic-mp | the D1 quintic clamped per direction to a Suresh–Huynh monotonicity-preserving bound: the interval's values and the curvature-corrected linear value | seam_interpolate_quintic_mp, seam_fill_quintic_mp_1d, seam_minmod4, adam_seam_interpolation_library.F90 |
| The other fills compared | injection (order 1), restriction-compatible (order 2, exact mean restriction), tricubic (4, default), quintic (6) | seam_interpolate_compatible, seam_interpolate_tricubic, seam_interpolate_quintic, adam_seam_interpolation_library.F90; interp_seam_ghost, adam_field_object.F90 |
| Key | [amr] seam_ghost_fill, read in initialize; both limited fills opt-in, the default stays tricubic | adam_adam_object.F90 |
| Restriction | lagrange6 on the crossings; weno6 (euler-ww) or lagrange6 (euler-mp) on AO | C1, C3c |
| Scheme, time, reflux | as in AO (reflux off) and AS (reflux on) | numerics |
Initial and boundary conditions
| Run | Setup |
|---|---|
| Crossings | the AS c2f crossings, Sod lagrange6 restriction, reflux on, every fill; FNL, 2 ranks |
AO euler-ww | the AO Euler vortex, weno6 restriction and fill, reflux off, |
AO euler-mp | the AO Euler vortex, lagrange6 + quintic-mp, reflux off, |
| PV-5 | the limited blast across 2:1 seams of the positivity limiter, under both limited fills |
| GP | the ghost probe on a cubic field, under both limited fills |
Input files
| File | Role |
|---|---|
src/tests/flume/verification/amr-order/check.sh --legs euler-ww,euler-mp | the AO legs: orders euler-ww) and euler-mp), the errors at most the baseline plus 2 % |
src/tests/flume/verification/amr-shock/make_amr_shock.py | the crossings (--seam-ghost-fill, --seam-restriction) |
src/tests/flume/verification/ghosts/check.sh --seam-ghost-fill F | GP |
src/tests/flume/verification/make_doc_runs.sh <runs> seams, make_doc_figures.py --only limited-fills | re-runs the crossings d-{quintic,weno6,quintic-mp}-{c2f,f2c} (CPU) |
src/tests/flume/verification/multirealm/check.sh | leg 6 (--legs leg6) runs weno6 and quintic-mp across a refined inter-realm seam |
bash
cd src/tests/flume/verification/amr-order && ./check.sh --legs euler-ww,euler-mpResults

Sod at
Every fill on the c2f crossings (FNL, 2 ranks, lagrange6 restriction; plateau and band defects as in AS):
| Fill (order) | Sod plateau | Sod band | Sod shock (cells) | RJ2a plateau | RJ2a band |
|---|---|---|---|---|---|
injection (1) | 0.173 | ||||
restriction-compatible (2) | 0.164 | ||||
tricubic (4) | 0.158 | ||||
quintic (6) | 0.159 | ||||
weno6 (6, limited) | 0.178 | ||||
quintic-mp (6, limited) | 0.173 |
Smooth flows (AO,
| Leg | L1 order | L∞ order | L1 at N = 256 | L∞ at N = 256 |
|---|---|---|---|---|
euler-ww (weno6 + weno6) | 5.32 | 5.50 | ||
euler-mp (lagrange6 + quintic-mp) | 6.10 | 6.33 | ||
euler-q6 (lagrange6 + quintic, D1) | 6.11 | 6.35 |
PV-5 passes with no inadmissible stage under both limited fills; GP holds a cubic field to round-off with either fill.
Related cases: D1 is the unlimited fill; E0 isolates the cause of the crossing defect; the baselines are AO and AS.
Findings
- The defect has no trend with the fill's order, and limiting makes it worse. The best fill differs by case and by metric (
restriction-compatibleon Sod,tricubicon the RJ2a plateau,quinticon its band); every fill but the limited ones sits within roughlyof tricubic, and the two limited fills are the worst on Sod, their shock furthest off. The plateau defect behind a crossing shock is not an overshoot of the fill, so no fill can be held to "no worse thantricubic". - The best Sod result belongs to the one fill with exact
: the defect points to the consistency of the fill with the restriction at the crossing, and to the reflux (A3: reflux on/off moves it by up to 30 %), which is Phase E's ground, not the fill's order. E0 tested both and ruled both out. - On smooth flows both limited fills keep their order.
euler-wwhas theweno6restriction's accuracy (the fill's 6-point WENO does not lose to the tricubic);euler-mpequalseuler-q6: the MP bound never clips the vortex.