feat: add experimental projected explosion per refinement pair
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 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_child` 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.
|
||||
|
||||
The older `519473a` / `11901a7` N128 result passed its velocity threshold narrowly
|
||||
(0.001995299 versus 0.002, 0.235% margin); the matched constant velocity result was
|
||||
0.004418077. N64 projected failures and the false aggregate result remain relevant.
|
||||
These observations justify only the next qualification: bounded GPU default-path
|
||||
equivalence, union and multilevel checks on this port, then matched physics.
|
||||
No convergence, long-time, body, boundary, MRT or general-accuracy claim is made.
|
||||
|
||||
The older LES flow runner pins the entire `blocks.cu` file. Its three pin checks
|
||||
correctly reject this added-kernel revision; their hashes are deliberately unchanged.
|
||||
A matching, reviewed harness revision is required before using that evidence path.
|
||||
Reference in New Issue
Block a user