From 03b23cb511f2b82ab2a8d0ff4884b08741dd1379 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 30 Oct 2026 10:30:05 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20D=C3=BCtsch=20protocol=20=E2=80=94=20du?= =?UTF-8?q?ration/periodic=20gate,=20phase=20convention,=20reference=20typ?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/validation/duetsch_re100_kc5_protocol.md | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/docs/validation/duetsch_re100_kc5_protocol.md b/docs/validation/duetsch_re100_kc5_protocol.md index 848d57b..90f3b67 100644 --- a/docs/validation/duetsch_re100_kc5_protocol.md +++ b/docs/validation/duetsch_re100_kc5_protocol.md @@ -3,7 +3,9 @@ Production under test: `claude/moving-bodies-s3a` at `653fd997` (unchanged). Primary source: Dütsch, Durst, Becker & Lienhart, J. Fluid Mech. 360, 249–271 (1998), doi:10.1017/S002211209800860X. Items marked ⟨verify⟩ must be taken from -the paper itself (Grok) before freezing; nothing here is read from plots. +the paper itself before freezing; nothing here is read from plots. All numbers +marked PROVISIONAL (ladder, window, domain, boundaries) are my choices and stay +non-normative until the primary-spec packet and Astra's feasibility check land. ## Criteria (kept separate) @@ -11,7 +13,11 @@ the paper itself (Grok) before freezing; nothing here is read from plots. - Cross-resolution criterion: every reported observable's error against the reference, and the fine-pair difference, must decrease monotonically over the resolution ladder. No numeric grid threshold and no order label is added. -- Reference agreement: only against values with provenance (section 6). +- Reference agreement: only against values with provenance (section 6), with an + observable-specific error/uncertainty criterion declared per observable + before runs (OPEN). Monotone decrease alone is not a literature pass. +- Duration/periodicity gate (section 1a) must pass before any statistic is + collected. ## 1. Kinematics @@ -20,9 +26,27 @@ the paper itself (Grok) before freezing; nothing here is read from plots. `Re = U_max D / nu = 100`, so `A = 5 D / (2 pi)`. - Prescribed per step through `set_body(offset, vx)` + `run(1)`, offset and velocity evaluated analytically at step n (no differencing). -- Start: the paper's motion from rest ⟨verify Dütsch start⟩. Measured window: - whole cycles 4–6, fixed now, never shortened afterwards. A one-cycle smooth +- Start: the paper's motion from rest ⟨verify Dütsch start⟩. A one-cycle smooth ramp is a separately named variant that only checks start independence. +- Phase convention: the motion uses the analytic offset/velocity at the step's + time level n; the per-step force (`run(1)`, `read_force(normalize=True)`) is + attributed to the same n. Whether the paper's phases refer to endpoint + values or interval averages is ⟨verify⟩; comparisons state which. + +## 1a. Duration and periodic-state gate (auditable, every case) + +- Recorded per case: dx, dt, D, U_max, nu (lattice and nondimensional), steps + per period, total steps, total nondimensional duration t U_max / D and in + periods, number of discarded cycles, accepted cycle window. +- Every case in a comparison uses the SAME accepted window in periods (finer + grids run proportionately more native steps for the same physical time). +- Periodic-state adequacy is demonstrated, not assumed: per-cycle mean and RMS + of Fx and the Morison fit per cycle must change by less than a predeclared + cycle-to-cycle tolerance (OPEN) over the last cycles before the window; + otherwise the run is extended and the window moved by whole periods, and the + failure is recorded. Cycles 4–6 is PROVISIONAL only. +- The G4 timing check (100 coarse vs 400 diffusive-fine steps) is a matched + short transient, not evidence of periodic convergence. ## 2. Resolution ladder (uniform only, fixed Mach) @@ -37,8 +61,8 @@ the paper itself (Grok) before freezing; nothing here is read from plots. ## 3. Domain and boundaries -- Square still-fluid box, default 40 D; domain check 20 D vs 40 D at D = 40 - ⟨verify Dütsch domain extent⟩. +- Square still-fluid box; size PROVISIONAL (e.g. 20 D vs 40 D check at D = 40) + ⟨verify Dütsch domain extent⟩; no generic size is normative. - Boundary family declared by the runner owner before running (x-periodic / y free-slip or closed walls, whatever the dense runner supports without production change); swept band ±A + R + 2 clear of any seam. @@ -62,9 +86,15 @@ the paper itself (Grok) before freezing; nothing here is read from plots. ## 6. Reference data provenance +- Reference types kept separate: (a) phase-averaged LDA velocity measurements; + (b) the paper's computed results, including forces and Morison fits — a + computed reference, not a measured force. The paper itself reports the + Morison-fit error as larger than its coarse grid/time numerical error, so + C_D, C_M agreement is judged against that stated fit uncertainty. - Accepted: values from the paper's tables, or digitized figure curves with figure number, tool and uncertainty recorded. Curves without provenance are qualitative only. Values quoted by later papers are secondary until checked. +- No cost estimate is normative; Astra's smoke run measures it. ## 7. Order