Appearance
Quintic coarse-to-fine fill
| ID | Group | Milestone | Backends | Figure | Regression |
|---|---|---|---|---|---|
| D1 | Seam studies | M6 (#68) | CPU, FNL (table: FNL) | yes | — |
Case and scope
With the 6-point restriction (C1) and the reflux off, the smooth AO vortex reaches the uniform coarse error, but its order (5.33) is that of the tricubic coarse-to-fine fill's tricubic).
Models and numerics
| Item | Choice | Code |
|---|---|---|
| Method | [amr] seam_ghost_fill = quintic: the tensor 6-point Lagrange interpolation at the fine ghost's centre, 1-D weights | seam_interpolate_quintic, SEAM_W_QUINTIC, seam_shift_anchor_pos, adam_seam_interpolation_library.F90; interp_seam_ghost, adam_field_object.F90 |
| Anchor shifts | carried in the fill meta of every map row, bits 18–26 | seam_meta_pack, adam_seam_interpolation_library.F90; make_local_map_ghost_cell, adam_maps_object.F90 |
| FNL | summed straight from the device field, no per-thread footprint | update_ghost_local_gpu_dev, adam_fnl_field_kernels.F90 |
| Inter-realm | the same fill on the inter-realm rows | adam_forest_object.F90 |
| Restriction | lagrange6 in every run below | C1 |
| Key | read in initialize; the default stays tricubic | adam_adam_object.F90 |
| Scheme, time, reflux | as in AO and AS: WENO5 flux splitting; reflux off on AO, on for the crossings | numerics |
Initial and boundary conditions
| Run | Setup |
|---|---|
AO euler-q6 | the AO Euler vortex, quadtree, lagrange6 + quintic, reflux off |
| Shock crossings | the AS Sod (c2f and f2c crossings, lagrange6 restriction, reflux on, the null axes widened to 8 cells |
| PV-5 | the limited Balsara–Spicer blast across 2:1 seams of the positivity limiter, split and HLLD |
| GP | the ghost probe on a degree-5 field |
| Multirealm leg 6 | a refined inter-realm seam, bitwise against the single-realm run (multi-realm runs) |
All runs on 2 ranks unless stated.
Input files
| File | Role |
|---|---|
src/tests/flume/verification/amr-order/check.sh --legs euler-q6 | the AO ladder: orders |
src/tests/flume/verification/amr-shock/make_amr_shock.py | the crossings (--seam-restriction, --seam-ghost-fill) |
src/tests/flume/verification/ghosts/check.sh --seam-restriction lagrange6 --seam-ghost-fill quintic --degree 5 | GP on a degree-5 field |
src/tests/flume/verification/make_doc_figures.py --only quintic-fill | the figure, from the probe runs of ghosts/check.sh --degree 5 --keep (default operators, then lagrange6 + quintic) and the kept AO work directories (CPU) |
src/tests/flume/verification/multirealm/check.sh | leg 6 (--legs leg6), every seam operator across a refined inter-realm seam |
src/tests/flume/verification/mhd/positivity/check.sh | PV-5 (--legs pv5, not a default leg) |
bash
cd src/tests/flume/verification/amr-order && ./check.sh --legs euler-q6
FLUME_EXE=$PWD/../../../../../exe/adam_flume_fnl ./check.sh --legs euler-q6Results

CPU. Left and centre: the ghost probe on a degree-5 field, box3d (octree) and channel2d (quadtree), 2 ranks, the largest error per ghost group: mean + tricubic misses the field by up to
FNL, 2 ranks (plateau values in units of
| Check | lagrange6 + tricubic | lagrange6 + quintic |
|---|---|---|
| AO euler, reflux off, N = 256: L1 all / band, Linf | ||
| AO orders L1 / Linf (128 → 256) | 5.33 / 5.53 | 6.11 / 6.35 |
| Sod c2f plateau | ||
| Sod f2c plateau | ||
| RJ2a c2f plateau | ||
| PV-5 split / HLLD: most faces limited, inadmissible stages | 46336 / 17920, 0 | 45644 / 17920, 0 |
Backend agreement: np 1 / 2 / 3 bitwise on the CPU, np 1 / 2 on FNL, CPU against FNL euler-q6 ladder agrees on CPU and FNL to every printed digit.
Related cases: D2 limits this fill; E2 keeps its order with the reflux on; the baselines are AO and AS.
Findings
- The smooth order reaches the scheme's. With the reflux off, the 6-point restriction and the quintic fill, AO euler is sixth order (6.11 / 6.35) and its error at
is below the uniform coarse run's ( ): the Phase D exit (L1 , L∞ ) holds, and the 2:1 seams no longer cost accuracy on this flow. - Unlimited, it worsens a shock entering a finer region. On the
c2fcrossings the plateau defect behind the shock grows (Sod +7 % in, +24 % in ; RJ2a +63 % / +59 %): the shock's coarse values reach the fine ghosts through a 6-point stencil with larger overshoots than the 4-point one. f2cis unchanged, shock positions are the same, mass is exact, and PV-5 passes with no inadmissible stage. - The Phase D exit requires A3 no worse than
tricubic, which is the job of D2's limited variants; until thenquinticis an opt-in for smooth flows. - Coverage: AO leg
euler-q6asserts the order; GP checks the fill on a degree-5 field; multirealm leg 6 runs it across a refined inter-realm seam, bitwise.