Files
CelerisLab/docs/validation/leontini_viv_predeclare.md
T

73 lines
3.9 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.
# Single-cylinder free transverse VIV — PREDECLARATION DRAFT (not frozen)
Stage goal (Yanqi via TRON): prescribed Dütsch case + one VIV case both
"reasonably close" to a predeclared reference = development-stage success, then
cleanup. The frozen Dütsch settling failure (0/28 pairs at 31.25 T) stays on
record. Practical closeness is not a formal validation claim. No code until
this page is jointly agreed.
## Primary case (one case)
- Reference: Kolahdouz et al., arXiv:2003.12046, §4.1.1 (setup) and Qin et
al., arXiv:2003.12186, §4.5 (maximum amplitudes at U_red = 3…8: .075, .551,
.520, .459, .370, .084 D, as quoted by Grok/Astra from the text).
- Re = 150, U* = U/(f_n D) = 5, m/(rho D²) = 2 (m* = rho_s/rho_f = 8/pi),
zeta = 0, f_n = sqrt(K/M)/(2 pi) in vacuum. Transverse DOF only.
- Target: A_max = .520 D (peak amplitude, Qin §4.5). Multi-code reference
(Kolahdouz ILE-NS, Qin II-LBM). Reference uncertainty: not stated; the
spread between codes is not quantified here.
## Our reproduction (declared differences)
- D = 40, MRT, dense double buffer; U_lat = .04, nu = U D / 150 = .010667,
tau = .532.
- Box 75 D × 60 D (3000 × 2400, Kolahdouz class); cylinder position as in
Kolahdouz (OPEN: confirm; default 20 D from the inlet, centred in y).
- Boundaries: uniform Zou–He inlet, NEQ outlet (rho = 1, backflow clamp),
free-slip y walls. Kolahdouz uses a traction outlet: declared mismatch.
- Qin's own VIV box (40 D × 20 D) is not used; a smaller box would be a
declared cost cut with more blockage, not "the same case".
- Allowed y offset ±1.5 D; peak transverse speed ≈ .026 cells/step (bound .5).
## Structure, coupling and time levels
- M = 2 rho D² (lattice rho = 1), f_n = U/(5 D) = 2e-4 per step, K = M (2 pi f_n)²,
zeta = 0. Equation of motion uses the structural mass only.
- Time levels (binding): the target y^{n+1} must be set before step n runs
(`set_body`, then `run(1)`), so step n moves the body with (y^n, v^n) that
were advanced using F^{n-1} from the previous fluid step; step n measures
F^n. One step of explicit lag, declared.
- Structural update over one step with constant force F = F^{n-1} (exact
harmonic solution, zeta = 0): y_e = F/K, w = 2 pi f_n,
y^{n+1} = y_e + (y^n − y_e) cos w + (v^n / w) sin w,
v^{n+1} = −(y^n − y_e) w sin w + v^n cos w.
- Primary RHS (single coupled run): CME + Wen (theory-motivated stage choice:
Galilean-invariant link correction; G4 could not separate it from CME).
Raw CME and the node terms are logged as diagnostics of that trajectory;
the node impulse is not added. A run with CME-only as RHS is a separate,
labelled sensitivity case, decided separately. Neither RHS is claimed proven.
## Window, failure semantics, acceptance (engineering, development stage)
- Settled when the per-cycle peak |y| changes ≤ 2 % between consecutive
10-cycle windows and the last 5 cycle peaks agree within 1 %; cap 150
oscillation cycles.
- FAIL-CLOSED and reported (no sub-iteration, no RHS or parameter retune):
unsettled at the cap, |y| beyond the declared offset box, no_donor > 0, or a
growing/diverging amplitude (coupling instability at m* ≈ 2.55).
- Score over the 20 cycles after settling: A_max/D (mean of cycle peaks) and
f/f_n (reported; no target).
- Acceptance: |A_max − .520 D| ≤ .052 D (±10 %), stated together with the
boundary mismatch and the absence of a quoted reference uncertainty. A pass
is "reasonably close" for the stage: not grid convergence, not force-RHS
validation, and it does not touch the Dütsch settling record.
- Driver reads force and the small diagnostics per step only; field reads
only at a few predeclared snapshots. Cost from Astra's no-dump timing on
this grid.
## Queued, not in this stage
Leontini et al. JFS 22 (2006) Re = 200, m* = 10, zeta = 0.01, U* = 5.0 (needs
the owners' c_crit convention and a Fig. 1 digitization). D80, literature
claims, pinball, AMR, BC redesign, threshold changes.