rtx-fsi: FSI3 floor 6e-5 — the floor rides with the motion; measure it through the cycle
Performance Benchmarks / Run Benchmarks (push) Canceled after 0s
CI / Format Check (push) Canceled after 0s
CI / Clippy Check (push) Canceled after 0s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Build (ubuntu-latest) (push) Canceled after 0s
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Build CPU-Only (Explicit) (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-latest) (push) Canceled after 0s
CI / WASM Build + Size Check (push) Canceled after 0s
CI / Distributed Training Tests (push) Canceled after 0s
CI / CI Success (push) Canceled after 0s
Documentation / Build API Documentation (push) Canceled after 0s
Documentation / Build User Guide (push) Canceled after 0s

The first subcycle-2 study (t = 4 -> 8) ran 2.2 s of cycle — over
[5, 6] s: +-42.8 mm at 6.2 Hz, trending toward the reference +-34.9 mm
at 5.46 Hz from above — then stalled at t = 6.18 s: residual 1.9e-4
against an accept window of 1.5e-4 (5 x the 3e-5 floor the rest-state
probe suggested), at a turning point of the cycle where the step
increment, and with it the increment-relative part of the window,
collapses while the flip noise does not. Floor set from the cycle's
measured stall level (window 3e-4). Default re-verified: 581 steps,
3.5 subit/step (max 5), 0 stalls, conservation 1.5e-12, ux -2.90 +-
2.93 mm vs reference -2.86 +- 2.70.

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Lnyrw33Lu6rUhW42E9KHwq
This commit is contained in:
Omar Sobh
2026-08-23 23:41:02 -05:00
co-authored by Claude Fable 5
parent c0666bf22a
commit c1bcdc408e
@@ -30,7 +30,7 @@
//! Environment knobs: `RTX_FSI3_*` — the same set as `RTX_FSI2_*` (see
//! `turek_hron_fsi2.rs`) plus `RTX_FSI3_OMEGA0`, `RTX_FSI3_TRACE`,
//! `RTX_FSI3_C1`, `RTX_FSI3_PREDICTOR`, `RTX_FSI3_QUIESCENT`; defaults:
//! ny 62, t_release 4, t_end 4.2, subcycle 2, tol 3e-5, rtol 1e-2,
//! ny 62, t_release 4, t_end 4.2, subcycle 2, tol 6e-5, rtol 1e-2,
//! maxsub 30, coupler `iqn`, reuse 2, omega0 0.05, C^1 interface,
//! kinematic predictor, quiescent release — every one of them a
//! measured necessity at unit density ratio (see the config comments).
@@ -92,7 +92,16 @@ fn fsi3_added_mass_flag() {
// and 59 mm one step later, the flag's Newton dead by the
// pass after) — the C^1 interface below removed that
// channel.
tol_floor: 3e-5,
// 6e-5, not the 3e-5 the rest-state probe suggested: the
// floor RIDES WITH THE MOTION, and through the cycle (flag
// at ~1 m/s) a subcycle-2 step stalled at 1.9e-4 against a
// 5x-floor window of 1.5e-4 at a turning point, where the
// increment-relative part of the window collapses while the
// flip noise does not (t = 6.18 s of the first study). The
// window at 5 x 6e-5 = 3e-4 sits above the cycle's measured
// stall level; wall-velocity noise 0.17 m/s against cycle
// velocities of ~1 m/s.
tol_floor: 6e-5,
rtol: 1e-2,
max_subiterations: 30,
coupler: "iqn".into(),