fsi2 harness: RTX_FSI2O_FILLET knob (the outline's fillet radius, 5 mm = t/2 in every recorded run: a half-round tip and 5 mm root fillets vs the reference's sharp rectangle; printed in both headers) — P5-3's first problem-definition probe after the h-term was traced to the wake's strength on the background
CI / Format Check (push) Failing after 4s
CI / Clippy Check (push) Failing after 5s
Performance Benchmarks / Run Benchmarks (push) Failing after 6s
Documentation / Build API Documentation (push) Failing after 17s
CI / Build (ubuntu-latest) (push) Failing after 43s
CI / Build CPU-Only (Explicit) (push) Failing after 57s
Documentation / Build User Guide (push) Successful in 16m35s
CI / CI Success (push) Failing after 1s
CI / Build (macos-latest) (push) Failing after 10s
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 / Format Check (push) Failing after 4s
CI / Clippy Check (push) Failing after 5s
Performance Benchmarks / Run Benchmarks (push) Failing after 6s
Documentation / Build API Documentation (push) Failing after 17s
CI / Build (ubuntu-latest) (push) Failing after 43s
CI / Build CPU-Only (Explicit) (push) Failing after 57s
Documentation / Build User Guide (push) Successful in 16m35s
CI / CI Success (push) Failing after 1s
CI / Build (macos-latest) (push) Failing after 10s
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
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
c63115053b
commit
0645565bd8
@@ -45,6 +45,19 @@ fn patch_offset_h() -> f64 {
|
||||
.unwrap_or(6.0)
|
||||
}
|
||||
|
||||
/// The outline's fillet radius (`RTX_FSI2O_FILLET`, metres; 5 mm = t/2 in
|
||||
/// every recorded run, so the tip is a full half-round and the root
|
||||
/// carries 5 mm fillets — the reference's flag is a sharp rectangle).
|
||||
/// P5-3's problem-definition probe: the tip's rounding sets how the flag
|
||||
/// sheds, i.e. the wake's strength, which the h-ladder says is the
|
||||
/// excitation that keeps growing.
|
||||
pub fn fillet() -> f64 {
|
||||
std::env::var("RTX_FSI2O_FILLET")
|
||||
.ok()
|
||||
.and_then(|v| v.parse().ok())
|
||||
.unwrap_or(FILLET)
|
||||
}
|
||||
|
||||
/// The patch's across stretch (`RTX_FSI2O_PATCH_STRETCH`, the geometric
|
||||
/// ratio of the outer to the wall cell, 4.0 in every recorded run): with
|
||||
/// 12 rows over 6 h the wall cell is 6 h (r − 1)/(r¹² − 1), r¹¹ = stretch —
|
||||
@@ -286,7 +299,7 @@ impl OversetFluid {
|
||||
&interface.edges(&zero_d),
|
||||
FLAG_X1,
|
||||
h,
|
||||
FILLET,
|
||||
fillet(),
|
||||
patch_offset_h() * h,
|
||||
patch_rows(),
|
||||
patch_stretch(),
|
||||
@@ -309,7 +322,7 @@ impl OversetFluid {
|
||||
&interface.edges(&zero_d),
|
||||
FLAG_X1,
|
||||
h,
|
||||
FILLET,
|
||||
fillet(),
|
||||
patch_offset_h() * h,
|
||||
patch_rows(),
|
||||
patch_stretch(),
|
||||
@@ -640,7 +653,7 @@ impl OversetFluid {
|
||||
) {
|
||||
let on_cyl =
|
||||
((centre[0] - CYL_CENTRE[0]).powi(2) + (centre[1] - CYL_CENTRE[1]).powi(2)).sqrt()
|
||||
< CYL_R + 1.5 * FILLET;
|
||||
< CYL_R + 1.5 * fillet();
|
||||
let near_tip = ((centre[0] - tip_mid[0]).powi(2) + (centre[1] - tip_mid[1]).powi(2))
|
||||
.sqrt()
|
||||
< 2.5 * FLAG_T;
|
||||
@@ -787,7 +800,7 @@ impl OversetFluid {
|
||||
&self.interface.edges(d),
|
||||
FLAG_X1,
|
||||
self.h,
|
||||
FILLET,
|
||||
fillet(),
|
||||
patch_offset_h() * self.h,
|
||||
patch_rows(),
|
||||
patch_stretch(),
|
||||
|
||||
@@ -100,7 +100,7 @@ pub fn run_march_overset(case: BenchmarkCase, config: &OversetMarchConfig) -> Ov
|
||||
// Every setting the acceptance rule reads, printed once: P5-3 lost a
|
||||
// day to a floor of 2e-4 against the overnight marches' 1e-6.
|
||||
println!(
|
||||
" coupling: {} (reuse {}, ω0 {}, c1 {}), floor {:.1e}, rtol {:.1e}, stall accept {:.1e}, max subit {}, predictor {}, s = {}, patch offset {} h × {} rows, patch convection {:?}, bg convection {:?}, patch stretch {}",
|
||||
" coupling: {} (reuse {}, ω0 {}, c1 {}), floor {:.1e}, rtol {:.1e}, stall accept {:.1e}, max subit {}, predictor {}, s = {}, patch offset {} h × {} rows, patch convection {:?}, bg convection {:?}, patch stretch {}, fillet {} m",
|
||||
cfg.coupler,
|
||||
cfg.reuse,
|
||||
cfg.initial_relaxation,
|
||||
@@ -116,6 +116,7 @@ pub fn run_march_overset(case: BenchmarkCase, config: &OversetMarchConfig) -> Ov
|
||||
super::overset::patch_convection(),
|
||||
super::overset::bg_convection(),
|
||||
super::overset::patch_stretch(),
|
||||
super::overset::fillet(),
|
||||
);
|
||||
|
||||
// Phase 1: rigid flag to t_release (`RTX_FSI2O_LOAD=dir` replaces the
|
||||
|
||||
Reference in New Issue
Block a user