- Hierarchy documents level/pair/shape/frame conventions; edge_frame(l) replaces the stepper's inline origin/spacing loop. - Public per-level read-only state: layouts, boundaries, jets, leaf. - set_jet_amplitude/read_raw_exchange/read_exchange_window: level= required. - remap_child(child_objects=) -> remap_finest(objects=). - _kernel_configs, _upload_boundary, _observed_boundary/_summarize split construction and observation duplication; behavior unchanged. - fine_level_origin -> fine_level_offset (a (y, x) index, not an origin). - docs: migration map in docs/development/src_coherence.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
58 lines
3.6 KiB
Markdown
58 lines
3.6 KiB
Markdown
# Experimental projected G explosion
|
||
|
||
`FixedPatchStepper(..., explosion="projected_linear")` changes only the existing
|
||
G-to-G explosion reconstruction. The omitted/default `"constant"` selector retains
|
||
the same kernel, launch arguments and device allocations. Projected mode adds two
|
||
compact tables per adjacent pair; recursion, collision, BFL, restriction, buffer
|
||
ownership and synchronized publication are unchanged. `remap_finest` preserves it.
|
||
|
||
Runtime eligibility is periodic-root, fully blocked D2Q9/SRT/FP32, body/Jet-free,
|
||
without LES; the fixed-patch backend has no forcing interface. Shifted and unshifted
|
||
storage use the same reconstruction. One generic builder handles scalar windows,
|
||
unique union rows and all adjacent hierarchy pairs without depth/rectangle caps.
|
||
Donors are original explosion donors intersected with owned, uncovered ACTIVE
|
||
cells. An axis uses centered differences only if both neighbors are legal;
|
||
otherwise both addresses repeat the center. Nested layout periodicity is explicit.
|
||
No covered cells, holes, inactive cells or stale halo copies enter the stencil.
|
||
|
||
The 33-line kernel is unchanged from our `519473a` experiment and retains its
|
||
mathematical attribution. Host tests cover union decomposition, concavity, narrow
|
||
gaps, grazing packet paths, offsets, sparse/nested owner addresses, three/four-level
|
||
source timing, unchanged constant dispatch, remapping and shifted/unshifted actual
|
||
kernel arithmetic compiled as host C++. These are not CUDA or flow validation.
|
||
|
||
## Reviewed bounded evidence
|
||
|
||
The `1aa8110` CUDA gate, with production exactly `a135252`, passed exact-dev
|
||
omitted/default and explicit-constant equivalence, per-population reconstruction,
|
||
scalar/union/four-level scheduling, alternate layouts, and changed remapping in
|
||
both storage modes. Operator maximum error was 2.98023224e-8; the eight-step
|
||
concave replay maximum was 1.58037614e-7. Whole-step mass/momentum remain
|
||
finite diagnostics, not an FP32 conservation certificate. Reviewed evidence:
|
||
`7aa66ff0542175092753ea099f40b903ece0527e`.
|
||
|
||
The fresh four-case `2cf9853` N128/256 Taylor–Green repeat retained all `11901a7`
|
||
settings and gates. All 20 main scalar rows and 260 early-pressure samples matched
|
||
the older receipts exactly; this is not field-array equality. Projected worst
|
||
velocity was 0.001995299260844 versus 0.002 (only 0.235% margin), pressure
|
||
0.012157174904932 and energy 0.001184362645162. Constant velocity
|
||
0.004418076615223 failed its gate, so the aggregate verdict remains false.
|
||
The projected early sampled pressure peak was 0.021621453573334; it remains a
|
||
descriptive sampled maximum. Reviewed evidence: `90849a55cad4a0da9b72747da7bfe6eb75962a44`.
|
||
|
||
The old N64 projected failures remain relevant. These results support only this
|
||
bounded plumbing gate and short periodic Re100 smooth-decay experiment. They do
|
||
not establish union/multilevel physics accuracy, convergence, long-time stability,
|
||
body/Jet, boundary, forcing, MRT or LES suitability. Constant remains the default.
|
||
|
||
## Separate LES source profile
|
||
|
||
The two older LES source manifests and the historical default are unchanged and
|
||
correctly reject this different source tree. The existing LES runner now offers
|
||
`--experiment a135252`, pinning all 101 actual committed corrected source files.
|
||
Its explicit baseline-header override describes only a synthetic isolated reverse
|
||
control, never the committed a135252 header. The unchanged corrected-only uniform
|
||
LES regression (Cs=0/.16/1) is the remaining integration gate; no LES result is
|
||
inherited from the projected evidence. The separate historical jet-CV `channel.py`
|
||
pin mismatch predates this port and is not addressed here.
|