test(rtx-fsi): RTX_FSI{2,3}_UMEAN inflow override for the TWIN-1 parameter sweep
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

case_from_env applies the knob over the case's benchmark inflow; unset,
the same f64 flows and both committed defaults are verified
digit-identical in vivo (physics lines diff-clean vs same-day
baselines; only wall-split timing percentages moved). Physics bands in
both tests are guarded to benchmark inflow — an off-benchmark march
(the sweep) asserts machinery invariants only; its bands live in the
TWIN-1 composition harness (omni-cortex
docs/twin_composition_campaign.md). The override prints loudly so
sweep logs are self-describing.

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01X2GmJXeQ2njUecEKiJZ1G2
This commit is contained in:
Omar Sobh
2026-08-31 21:25:30 -07:00
co-authored by Claude Fable 5
parent 4aec4e589d
commit c08abbdc4f
3 changed files with 42 additions and 7 deletions
@@ -175,7 +175,8 @@ fn fsi2_flapping_flag() {
smooth_in_h,
..
} = config;
let result = run_march(FSI2, &config);
let case = fsi2_harness::case_from_env("FSI2", FSI2);
let result = run_march(case, &config);
let w = result.window(3.0);
println!(
@@ -250,9 +251,16 @@ fn fsi2_flapping_flag() {
// 2.23 Hz. If a change moves any of these numbers, that is a finding
// either way and must be loud. Smoothing changes the load path and
// is pinned nowhere (measured to change nothing that matters).
let default_coupling = smooth_in_h == 0.0 && config.coupler == "aitken";
let mode2_coupling = smooth_in_h == 0.0 && config.coupler == "iqn" && subcycle == 2;
let s1_coupling = smooth_in_h == 0.0 && config.coupler == "iqn" && subcycle == 1;
// Every physics band below was measured at the BENCHMARK inflow; an
// overridden u_mean (the TWIN-1 sweep) pins nothing here — its bands
// live in the campaign's composition harness. The machinery
// invariants above stay asserted at every inflow.
let benchmark_inflow = case.u_mean.to_bits() == FSI2.u_mean.to_bits();
let default_coupling = benchmark_inflow && smooth_in_h == 0.0 && config.coupler == "aitken";
let mode2_coupling =
benchmark_inflow && smooth_in_h == 0.0 && config.coupler == "iqn" && subcycle == 2;
let s1_coupling =
benchmark_inflow && smooth_in_h == 0.0 && config.coupler == "iqn" && subcycle == 1;
if default_coupling
&& ny == 62
&& flag_nx == 35