fsi2 replay: RTX_FSI2O_MAX_ROUNDS knob (3) on the prescribed-motion instrument, printed in its header — the coupled march cannot run at a tighter Schwarz cap (release dies), so the fluid side of the rounds question is measured on the replay
CI / Clippy Check (push) Failing after 5s
Performance Benchmarks / Run Benchmarks (push) Failing after 6s
CI / Build CPU-Only (Explicit) (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 6s
CI / Format Check (push) Failing after 11s
CI / Build (ubuntu-latest) (push) Failing after 1m41s
Documentation / Build API Documentation (push) Failing after 1m44s
CI / Build (macos-latest) (push) Failing after 14s
CI / Test (macos-latest) (push) Skipped
CI / Test (ubuntu-latest) (push) Skipped
CI / Python Bindings (maturin) (macos-latest) (push) Skipped
CI / Python Bindings (maturin) (ubuntu-latest) (push) Skipped
CI / WASM Build + Size Check (push) Skipped
CI / Distributed Training Tests (push) Skipped
CI / CI Success (push) Failing after 0s

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01LzcjQX7tvgn87CQCyg9Cfr
This commit is contained in:
Omar Sobh
2026-09-13 19:00:02 -05:00
co-authored by Claude Fable 5.1
parent 0645565bd8
commit 5aa05f140d
@@ -399,7 +399,11 @@ fn fsi2_overset_prescribed_motion() {
);
let t_end = t_end.min(r1);
assert!(t0 >= r0, "replay starts at {r0}, after t0 = {t0}");
let mut fluid = OversetFluid::build_case(case, ny, 35, 100, 3).expect("overset fluid");
// `RTX_FSI2O_MAX_ROUNDS` (3): the Schwarz rounds cap — the coupled march's
// 3-round cap is load-bearing for the coupling's stability (every tighter
// cap dies at release), so the fluid side of that question is measured here.
let max_rounds = env_f("RTX_FSI2O_MAX_ROUNDS", 3.0) as usize;
let mut fluid = OversetFluid::build_case(case, ny, 35, 100, max_rounds).expect("overset fluid");
let n = 2 * fluid.interface.wetted.len();
assert_eq!(
replay.d[0].len(),
@@ -413,7 +417,7 @@ fn fsi2_overset_prescribed_motion() {
let dt = fluid.dt_fluid;
let (d_rigid, l_rigid) = fluid.measure_force();
println!(
" PRESCRIBED ny = {ny}: dt {dt:.3e}, rigid drag {d_rigid:.2} lift {l_rigid:.2}, replay from t = {t0} (ramp {ramp_w} s) to {t_end}; patch offset {} h × {} rows, patch convection {:?}, bg convection {:?}, patch stretch {}, fillet {} m",
" PRESCRIBED ny = {ny}: dt {dt:.3e}, rigid drag {d_rigid:.2} lift {l_rigid:.2}, replay from t = {t0} (ramp {ramp_w} s) to {t_end}; patch offset {} h × {} rows, patch convection {:?}, bg convection {:?}, patch stretch {}, fillet {} m, rounds cap {max_rounds}",
std::env::var("RTX_FSI2O_PATCH_OFFSET").unwrap_or_else(|_| "6".into()),
std::env::var("RTX_FSI2O_PATCH_ROWS").unwrap_or_else(|_| "12".into()),
fsi2_harness::overset::patch_convection(),