# 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.