docs: S0 draft — wall impulse in momentum ledger, no_donor is a hard failure

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Claude
2026-10-30 06:27:02 +00:00
co-authored by Claude Opus 5.5
parent f42b269a00
commit 26f29b09ef
+12 -5
View File
@@ -212,10 +212,14 @@ refilled cells, `B_m` external-boundary mass flux; collision conserves mass).
Sample point (fixed): post-collision storage after the swap of step n, i.e.
the same level `G` that M1 reads at step n+1; both ledgers are evaluated
there. Ledger residual = left side minus every listed term. In a closed
domain (no inlet/outlet, no forcing) `B = S = 0` and the residual must be
rounding-level; with open boundaries `B`, `S` are not separately measured, so
the residual is reported as their estimate and is not a pass criterion.
there. Ledger residual = left side minus every listed term. Zero mass flux
does not imply zero momentum exchange: closed walls (bounce-back, free-slip)
still exchange momentum, so "no inlet/outlet, no forcing" does NOT give
`B = S = 0`. The rounding-level momentum check therefore uses either a
momentum-isolated case (periodic in both directions, no forcing) or counts
the wall impulse explicitly as part of `B`; the mass check may use a closed
domain. Otherwise `B`, `S` are not separately measured, the residual is
reported as their estimate and is not a pass criterion.
Both ledger identities are **proposed, unreviewed**: they are not called
proven until review and a host replay agree.
@@ -242,7 +246,10 @@ above the declared bound.
- Host motion state is committed only after the upload *and* the following
synchronization of the step group succeed (section 4); any failure in
between makes the simulation unusable and no host/device match is reported.
- Device-side soft diagnostics (refill fallbacks) are counters, not errors.
- The only soft device diagnostic is `eq_only` (NEQ part omitted, counted).
`no_donor > 0` is a hard failure: it is checked after the step group and
before the step is committed or any results are returned; on failure the
simulation is unusable (section 5).
## 8. Coupling and units (CANDIDATE)