Appearance
2:1 caps in a 2-D prototype
| ID | Group | Milestone | Backends | Figure | Regression |
|---|---|---|---|---|---|
| B1 | Seam studies | M6 (#68) | NumPy prototype (no ADAM run) | yes | — |
Case and scope
#68 Appendix A measured in 1-D that the mean restriction and the reflux of point-value fluxes each cap the order at 2, and that a 6-point restriction with a quintic prolongation and no reflux recovers order 5. A 1-D model has no tangential direction: no tangential averaging in the register (the coarse face takes the mean of two fine point fluxes, one more
Models and numerics
| Item | Choice | Code |
|---|---|---|
| Equation | Law, proto2d.py | |
| Space | conservative finite differences of point values with the 5th-order linear upwind flux (the WENO5 optimal weights), dimension by dimension, 3 ghost layers | face_flux, proto2d.py |
| Time | classical RK4, one global step | advance, proto2d.py |
| Composite grid | the box | Composite, proto2d.py |
| Restriction | mean (the lag6 ( | Composite.restrict, proto2d.py |
| Prolongation | cubic (FLUME's tricubic) or quintic, from coarse cells outside the box only (shifted away from the box along the normal axis, as FLUME's donor-block footprint; centred along the other axis) | Composite.pad_fine, proto2d.py |
| Reflux | on: a coarse box face takes the mean of its two fine fluxes (the 2-D register); off: each grid keeps its own flux | Composite.rhs, proto2d.py |
| FLUME counterparts | the seam operators of AO | adam_seam_interpolation_library.F90 |
Initial and boundary conditions
| Item | Value |
|---|---|
| Domain | the periodic unit square |
| Initial condition | |
| Final time | |
| Grid | coarse check.sh), 64 / 128 / 256 (--long) |
| Regions | corner: within 3 coarse cells of a box corner; edge: within 3 coarse cells of a box edge otherwise; interior: the rest |
| Arms | uniform coarse control; restriction (mean, lag6) × prolongation (cubic, quintic) × reflux (on, off) |
Input files
| File | Role |
|---|---|
src/tests/flume/verification/amr-proto/proto2d.py | the prototype; b1 [--cells ...] [--velocity a b] [--assert ARM:NORM:MIN] |
src/tests/flume/verification/amr-proto/check.sh | runs B1, B2 and B3 (--legs b1,b2,b3, a leg runs only when the ones before it pass; --long for the finer ladders) |
src/tests/flume/verification/make_doc_figures.py --only seam-proto-b1 | draws the figure (fig_seam_proto_b1; NumPy only, about 1 min) |
bash
cd src/tests/flume/verification/amr-proto && ./check.sh --legs b1 # about 1 min for B1
./check.sh --legs b1 --long # B1 at N = 64 / 128 / 256, about 4 minBounds asserted by check.sh, lower bounds only (a transfer that recovers order passes): the uniform control L∞ order at least 4.8; lag6-quintic-off at least 4.7 in L1 and L∞; lag6-cubic-off at least 3.7 in L∞. The caps of the mean restriction and of the reflux are reported.
Results

The check.sh ladder, --long ladder, 128 → 256):
Orders of
| Arm | L1 | L∞ | L∞ corner / edge / interior | Mass drift |
|---|---|---|---|---|
| uniform (coarse) | 5.01 | 5.01 | – / – / 5.01 | |
| mean, cubic, on (today) | 2.85 | 1.93 | 1.93 / 1.97 / 1.97 | |
| mean, cubic, off | 2.01 | 1.95 | 1.95 / 1.97 / 1.97 | |
| lag6, cubic, on | 2.85 | 1.93 | 1.93 / 1.97 / 1.95 | |
| lag6, cubic, off | 3.98 | 4.01 | 4.01 / 3.96 / 3.95 | |
| lag6, quintic, on | 2.85 | 1.93 | 1.93 / 1.95 / 1.96 | |
| lag6, quintic, off | 4.99 | 4.99 | 4.99 / 4.98 / 4.98 | |
| mean, quintic, off | 2.02 | 1.93 | 1.93 / 1.98 / 1.97 |
Related cases: AO measures the same caps in FLUME; B2 adds the nonlinear weights and a sensor-gated reflux; B3 studies the restriction's footprint.
Findings
- The 1-D findings hold in 2-D. The mean restriction caps the order at 2 whatever the prolongation; the reflux caps it at 2 whatever the transfers (its tangential mean of point fluxes included). The 6-point restriction with the quintic prolongation and no reflux recovers order 5 in L1 and L∞, with the tangential footprint and the corners present; with the cubic prolongation, order 4.
- Without the reflux, the mass drift converges at the scheme's order when the transfers are high-order (
at , against with the mean restriction). - The corners hold the maximum error, not a lower order. In every arm the maximum sits within 3 cells of a box corner, but the corner, edge and interior maxima converge at the same rate. In this linear model the corners do not explain the L∞ order 1.46 of A1's Euler vortex; what the model lacks is the nonlinear WENO weights and the characteristic projection (#68 F6), which B2's nonlinear prototype brings in.