Files
CelerisLab/docs/validation/duetsch_re100_kc5_protocol.md
T

159 lines
8.8 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 (review draft)
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. Source facts below were verified from
the paper (Slack C0C78UFKGRM/1793335557.460509, TRON 1793356317–1793356724,
page numbers given). Everything marked ENGINEERING is our a-priori choice,
fixed before any benchmark result; it is not a paper uncertainty.
## 0. Source facts (with provenance)
- Motion (p.251): `x_c = -A sin(2 pi f t)`; paper phase phi = 0 is the mean
position moving left at `-U_max`. KC = 5 gives `A/D = 5/(2 pi) = .7957747`.
- Start (p.254): the computation starts a quarter cycle before phi = 0, at
`x = +A` with zero velocity (phi = -90°).
- Experiment (pp.252, 254–256): D = 10 mm, L = .65 m, tank 1.2 × .7 × .7 m,
rho = 998.2 kg/m³, mu = 1.00818 mPa·s, Re = 100, KC = 5; LDA with 1° phase
bins and 200 samples per node and degree; no quantified experimental error
recovered.
- Profiles (Fig. 8, p.260): LAB-FIXED stations x1 = -6, 0, 6, 12 mm, i.e.
x/D = -.6, 0, .6, 1.2, at phi = 180°, 210°, 330°; u1 and u2 versus x2.
- Original numerics (§2): cylinder-fixed accelerated frame (`x_i = x~_i +
x_i,s`, outer velocity `-u_c`, inertial source `-rho du_c/dt`), O-grid outer
diameter 120 D, illustrated 192 circumferential nodes, 720 steps/cycle; tank
influence neglected.
- Force fit (verified): force ON THE BODY per unit span
`F1 = -0.5 rho D c_d xdot|xdot| - (pi/4) rho D² c_i xddot` with `x = -A sin phi`;
normalized by `0.5 rho D U_max²`: `c_d cos phi |cos phi| - (pi² c_i / KC) sin phi`.
`c_i` is the ADDED-MASS coefficient; total inertia `c_m = c_i + 1` is a
different convention and is not used.
- Table 1 computed Morison coefficients (c_d, c_i) for 96 / 192 / 384 perimeter
nodes at dt/T = 1/720: (2.15, 1.42), (2.10, 1.45), (2.09, 1.45). These are
fitted computed coefficients, not a measured force and not an error bar. The
paper states the coarse direct force is closer to the finest direct force
than the Morison fit, but gives no waveform-error norm.
## 1. Kinematics, time levels and phase bookkeeping
- Our run is in the LAB frame: the circle moves, the fluid is initially at rest
(rho = 1, u = 0); no fictitious inertial source is added. Lab-fixed profile
stations are compared directly (no frame transform needed).
- Geometry reference: the circle's base centre is the INITIAL position, the
right turning point `x_mean + A`; the declared offset box is x in [-2A, 0],
y = 0. The body is never teleported: offset 0 at s = 0.
- Elapsed time s = n dt from the start. Analytic position relative to the mean
`x(s) = A cos(2 pi s / T)`, velocity `u(s) = -U_max sin(2 pi s / T)`; paper
phase `phi = (360 s / T - 90) mod 360`.
- Step n moves from s_n to s_{n+1}: target offset `x(s_{n+1}) - A`; wall
velocity = the single-step interval average `(x(s_{n+1}) - x(s_n)) / dt`
(analytic, supplied, not differenced from stored offsets). The per-step
force of `run(1)` / `read_force(normalize=True)` is attributed to that same
interval.
- Paper cycle k = 1, 2, ... spans `s in [T/4 + (k-1) T, T/4 + k T)`; the
initial quarter cycle (s < T/4) is cycle 0 and never scored. Every logged
sample carries (k, phi). Example: phi = 330° of cycle 1 is at s = 7T/6.
- T is chosen as a multiple of 360 native steps, so phi = 180°, 210°, 330° fall
exactly on step boundaries and 1° bins hold whole steps.
## 2. Resolution ladder (uniform grid, fixed Mach), ENGINEERING
| D (cells) | T (steps) | U_max = 5 D / T | nu_lat = U_max D / 100 | tau (3 nu + .5) |
|---|---|---|---|---|
| 20 | 2,520 | .039683 | .0079365 | .5238 |
| 40 | 5,040 | .039683 | .015873 | .5476 |
| 80 | 10,080 | .039683 | .031746 | .5952 |
- MRT collision. Mach fixed (Ma ≈ .0687); a separate Mach check at D = 40
with T = 10,080 (U_max halved, tau .5238) is labelled MACH and not part of the
ladder.
- Per-step displacement ≤ U_max ≈ .04 cells (bound .5).
## 3. Domain and boundaries (finite-domain reproduction), ENGINEERING
- Boundary family (runner owner confirms the zero-velocity inlet is supported
as configured before any run): the native dense channel only — zero-velocity inlet,
pressure-NEQ outlet, y walls (bounce-back). This is a finite-domain
approximation of the paper's 120 D O-grid, NOT infinite still fluid. The G4
periodic/slip overrides are a different family and are not substituted.
- Sensitivity order (each step at D = 40 before the ladder is run):
1. box 24 D × 24 D vs 48 D × 48 D (cylinder mean position at the centre);
2. the larger box is accepted if section 6 domain criteria pass between the
two; otherwise 96 D is tried once (memory/runtime measured first); if that
still fails, the domain verdict is FAIL and is reported.
- The ladder (D = 20 / 80) uses the accepted box size in units of D.
- Memory/runtime: measured by a smoke run before each new size; measurements
inform scheduling only, never tolerances.
## 4. Observables (raw, per step, preserved)
- `obs` Fx, Fy (CME) and all `MovingTables.DIAG` columns per step: CME,
CME + Wen and CME + cover − uncover reported separately; crossings, eq_only,
no_donor (no_donor must stay 0).
- Velocity u1, u2 on lab-fixed lines x/D = -.6, 0, .6, 1.2 (relative to the
mean cylinder position) versus x2, at every step of the scored phases.
- Interpolation: bilinear on cell centres using only cells that are fluid at
that step (flags read back via `get_flags()`); weights renormalized over the
fluid corners; a sample with no fluid corner, or inside the circle at that
step, is MISSING and logged, never set to zero. One-degree bins carry only
valid samples.
## 5. Periodic-regime gate (every case, before any statistic)
Ledger rows, same schema for every case:
| field | content |
|---|---|
| dx, dt | in D and in T units |
| U_max, nu, Re, KC | lattice and nondimensional |
| T | native steps and nondimensional time |
| duration | native steps, s/T, number of paper cycles |
| discard | cycle 0 plus all cycles before the accepted window |
| window | the common accepted window (below) |
| cycle ledger | per cycle k: phase-aligned waveform change and profile change (below) |
| verdict | PASS or FAIL-CLOSED |
- Settling metric, ENGINEERING, fixed scales (no near-zero denominators):
- force: `max over phase of |F_k(phi) - F_{k-1}(phi)| / (0.5 rho U_max² D)`
on the per-step CME waveform aligned by step index within the cycle;
- profiles: `max over scored stations/phases/points of |u_k - u_{k-1}| / U_max`.
- Rule: K_case = the smallest cycle k ≥ 4 for which both metrics are ≤ .005
for the N = 3 consecutive pairs (k-3→k-2), (k-2→k-1), (k-1→k).
- Cap: 30 paper cycles per case; not settled by the cap → FAIL-CLOSED.
- Common window: K = max over all compared cases of K_case; every case is run
to cycle K + 2 and scored on cycles K, K + 1, K + 2 (same indices).
- FAIL-CLOSED also if any case covers fewer paper cycles than K + 2, if windows
differ, or if the ledger is missing.
- The earlier G4 timing check (100 coarse vs 400 diffusive-fine steps) was a
matched short transient, not periodic evidence.
## 6. Metrics and per-observable criteria (ENGINEERING, not paper uncertainty)
- Morison fit: least squares of the normalized per-step force over the
accepted window against the two basis functions above, each averaged over
its single step interval, fixed paper phase, no free phase shift; outputs
c_d and added-mass c_i per force candidate.
- Criteria:
- cross-resolution: for each observable, the D20→D40→D80 differences to
D80 must decrease; force waveform: normalized RMS difference D40 vs D80
≤ .02 (scale `0.5 rho U_max² D`); profiles: RMS D40 vs D80 ≤ .02 U_max;
- domain (section 3): same two norms ≤ .01 between the two box sizes;
- against Table 1 (computed reference): |c_d - 2.09| ≤ .06 and
|c_i - 1.45| ≤ .04 at D = 80 (our engineering bands; the table's own
96→384 change is reported alongside, not used as an error bar);
- against Fig. 8 LDA: QUALITATIVE ONLY. The original figure could not be
accessed or rendered (TRON 2026-10-30); no digitized ordinates and no
measurement uncertainty exist. No quantitative profile pass is claimed.
A quantitative criterion may be declared only after an accessible original
figure or data set and a documented digitization (figure, tool,
uncertainty) exist, and before that comparison is run.
- No force candidate is selected for an RHS by these results; each is
reported.
## 7. Order and scope
Protocol review → lean test driver (no production change; reuses the
existing Simulation API) → smoke (memory/runtime) → domain sensitivity →
ladder → physical-validation verdict → only then single-cylinder VIV. No AMR,
no pinball, no manuscript work.