Files
CelerisLab/docs/validation/duetsch_re100_kc5_protocol.md
T

103 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Prescribed in-line oscillation: Dütsch Re 100 / KC 5 — PROTOCOL DRAFT (not frozen)
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 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)
- Same-grid frame consistency (G4, frozen 2%): already evaluated; not reused here.
- 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), 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
- In-line only: `x(t) = -A sin(2 pi t / T)`, `u(t) = -U_max cos(2 pi t / T)`
⟨verify sign and phase origin⟩; `KC = U_max T / D = 2 pi A / D = 5`,
`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⟩. 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)
| D (cells) | U_max | nu_lat | tau | steps / period |
|---|---|---|---|---|
| 20 | .04 | .008 | .524 | 2,500 |
| 40 | .04 | .016 | .548 | 5,000 |
| 80 | .04 | .032 | .596 | 10,000 |
- MRT collision (SRT at tau ≈ .524 is the recorded unstable regime).
- Mach check: U_max .02 vs .04 at D = 40 (separate, labelled).
## 3. Domain and boundaries
- 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.
- Per-step displacement ≤ .04 cells (bound .5).
## 4. Observables (raw, per step, preserved)
- `obs` Fx, Fy (CME) and the diagnostics columns (`MovingTables.DIAG`):
CME, CME + Wen, CME + cover − uncover reported separately; crossings,
eq_only, no_donor.
- Velocity u, v on lines at the paper's x-stations relative to the mean
cylinder position and at its phase angles ⟨verify stations and phases⟩;
cell-centred values, documented bilinear interpolation in physical units.
## 5. Metrics
- Morison C_D, C_M by least squares over the measured cycles with the paper's
force definition and sign ⟨verify formula⟩; per-cycle RMS force; force
phase history; phase-resolved velocity profiles.
- Unit map for each candidate stated with `k = rho dx^3 / dt^2` per span.
## 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
Protocol review → test driver (no production change) → runs → physical
validation verdict → only then single-cylinder VIV. No AMR, no pinball.