fsi2 overset harness: reference constants from FEATFLOW's FSI2 level-4 table (uy 1.24 ± 81.7 mm at 1.93 Hz, ux −14.87 ± 12.73, drag 215.18 ± 77.78, lift 0.87 ± 238.0) — the 2006 table's 80.6 / 2.0 was level 2 with the frequency rounded; the summary line prints the full reference
Performance Benchmarks / Run Benchmarks (push) Failing after 6s
CI / Clippy Check (push) Failing after 5s
CI / Format Check (push) Failing after 7s
CI / Build (ubuntu-latest) (push) Failing after 9s
Documentation / Build User Guide (push) Successful in 7s
Documentation / Build API Documentation (push) Failing after 1m16s
CI / Build (macos-latest) (push) Failing after 9s
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 / Build CPU-Only (Explicit) (push) Failing after 1m10s
CI / CI Success (push) Failing after 1s
Performance Benchmarks / Run Benchmarks (push) Failing after 6s
CI / Clippy Check (push) Failing after 5s
CI / Format Check (push) Failing after 7s
CI / Build (ubuntu-latest) (push) Failing after 9s
Documentation / Build User Guide (push) Successful in 7s
Documentation / Build API Documentation (push) Failing after 1m16s
CI / Build (macos-latest) (push) Failing after 9s
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 / Build CPU-Only (Explicit) (push) Failing after 1m10s
CI / CI Success (push) Failing after 1s
Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01LzcjQX7tvgn87CQCyg9Cfr
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
5aa05f140d
commit
7224521309
@@ -11,12 +11,19 @@ mod fsi2_harness;
|
||||
use fsi2_harness::overset_march::{OversetMarchConfig, run_march_overset};
|
||||
use fsi2_harness::{FSI2, case_from_env};
|
||||
|
||||
const REF_UY_AMP: f64 = 80.6e-3;
|
||||
const REF_UY_FREQ: f64 = 2.0;
|
||||
const REF_UX_MEAN: f64 = -14.58e-3;
|
||||
const REF_UX_AMP: f64 = 12.44e-3;
|
||||
const REF_DRAG_MEAN: f64 = 208.83;
|
||||
const REF_LIFT_AMP: f64 = 234.2;
|
||||
// Reference: FEATFLOW's FSI2 table (Turek's group), level 4, Δt = 0.01 —
|
||||
// uy 1.24 ± 81.7 mm at 1.93 Hz, ux −14.87 ± 12.73 mm, drag 215.18 ± 77.78,
|
||||
// lift 0.87 ± 238.0 (`docs/research_sweep_2026-09.md` §1). The 2006 paper's
|
||||
// table is level 2 (80.6 mm, drag 208.83) and rounds the frequency to 2.0.
|
||||
const REF_UY_MEAN: f64 = 1.24e-3;
|
||||
const REF_UY_AMP: f64 = 81.7e-3;
|
||||
const REF_UY_FREQ: f64 = 1.93;
|
||||
const REF_UX_MEAN: f64 = -14.87e-3;
|
||||
const REF_UX_AMP: f64 = 12.73e-3;
|
||||
const REF_DRAG_MEAN: f64 = 215.18;
|
||||
const REF_DRAG_AMP: f64 = 77.78;
|
||||
const REF_LIFT_MEAN: f64 = 0.87;
|
||||
const REF_LIFT_AMP: f64 = 238.0;
|
||||
|
||||
/// `RTX_FSI2O_AUDIT=dir`: the solver-metric chain on every saved instant
|
||||
/// under `dir` (`inst_*`, from `RTX_FSI2O_SAVE_EVERY`), no march.
|
||||
@@ -110,7 +117,7 @@ fn fsi2_on_the_overset() {
|
||||
let m = &r.result;
|
||||
let w = m.window(3.0);
|
||||
println!(
|
||||
" FSI2 OVERSET (ny = {}, flag {}x2 Quad8, dt = {:.2e}, s = {}, sweeps {}, rounds cap {}, {}): coupled {} steps in {:.0} s wall; {:.1} subit/step (max {}); {} stalled, {} retries (worst residual {:.2e}); conservation {:.2e}; {} wall faces; Newton rescues {:?}; rounds mean {:.2}; reclassified/step {:.2} (fresh {:.2}); patch regenerations {} in {:.0} s; fluid {:.0} s, structure {:.0} s; death {:?}\n measured over [{:.1}, {:.1}] s: uy(A) = {:.3} ± {:.3} mm (ref 1.23 ± {:.1}), ux(A) = {:.3} ± {:.3} mm (ref {:.2} ± {:.2}), f = {:?} Hz (ref {REF_UY_FREQ}); drag {:.2} ± {:.2} (ref {REF_DRAG_MEAN} ± 73.75), lift {:.2} ± {:.2} (ref 0.88 ± {REF_LIFT_AMP}); onset amp {:.3e} → {:.3e} m; rigid drag {:.2}",
|
||||
" FSI2 OVERSET (ny = {}, flag {}x2 Quad8, dt = {:.2e}, s = {}, sweeps {}, rounds cap {}, {}): coupled {} steps in {:.0} s wall; {:.1} subit/step (max {}); {} stalled, {} retries (worst residual {:.2e}); conservation {:.2e}; {} wall faces; Newton rescues {:?}; rounds mean {:.2}; reclassified/step {:.2} (fresh {:.2}); patch regenerations {} in {:.0} s; fluid {:.0} s, structure {:.0} s; death {:?}\n measured over [{:.1}, {:.1}] s: uy(A) = {:.3} ± {:.3} mm (ref {:.2} ± {:.1}), ux(A) = {:.3} ± {:.3} mm (ref {:.2} ± {:.2}), f = {:?} Hz (ref {REF_UY_FREQ}); drag {:.2} ± {:.2} (ref {REF_DRAG_MEAN} ± {REF_DRAG_AMP}), lift {:.2} ± {:.2} (ref {REF_LIFT_MEAN} ± {REF_LIFT_AMP}); onset amp {:.3e} → {:.3e} m; rigid drag {:.2}",
|
||||
config.ny,
|
||||
config.flag_nx,
|
||||
m.dt,
|
||||
@@ -140,6 +147,7 @@ fn fsi2_on_the_overset() {
|
||||
config.t_end,
|
||||
w.uy_mid * 1e3,
|
||||
w.uy_amp * 1e3,
|
||||
REF_UY_MEAN * 1e3,
|
||||
REF_UY_AMP * 1e3,
|
||||
w.ux_mid * 1e3,
|
||||
w.ux_amp * 1e3,
|
||||
|
||||
Reference in New Issue
Block a user