P5-3 instruments: per-region wall loads on saved instants (top / bottom / tip arc / fillets+cylinder — drag, lift, normal-traction mean/min/max; RTX_FSI2O_AUDIT_FACES, RTX_FSI2O_AUDIT_ONLY) and the patch-thickness knobs (RTX_FSI2O_PATCH_OFFSET / _PATCH_ROWS, RTX_OVERSET_PATCH_OFFSET / _PATCH_ROWS; save tags carry the offset) — the overlap band sat at a fixed number of cells (6 h) and moved inward in metres with refinement
CI / Build (macos-latest) (push) Failing after 9s
Documentation / Build API Documentation (push) Canceled after 0s
Documentation / Build User Guide (push) Canceled after 0s
Performance Benchmarks / Run Benchmarks (push) Canceled after 0s
CI / Format Check (push) Canceled after 0s
CI / Clippy Check (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

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_0116sg1Qz1gMv9hdcKP1XUam
This commit is contained in:
Omar Sobh
2026-09-08 05:35:14 -07:00
co-authored by Claude Fable 5.1
parent 2c1143076e
commit 3e019d1491
3 changed files with 195 additions and 13 deletions
@@ -17,7 +17,12 @@
//! asserted, until the ladder is seen; `RTX_OVERSET_CFD2_NY` /
//! `RTX_OVERSET_CFD3_NY` (default 41), `RTX_OVERSET_CFD23_T_END` (smoke),
//! `RTX_OVERSET_MAX_ROUNDS` (3), `RTX_OVERSET_ROWS` (4),
//! `RTX_OVERSET_CFD1_SAVE` / `_LOAD` (fields, tagged by case).
//! `RTX_OVERSET_CFD1_SAVE` / `_LOAD` (fields, tagged by case),
//! `RTX_OVERSET_PATCH_OFFSET` (the patch's thickness in units of h,
//! default 6 — so the overlap band sits at a fixed NUMBER of cells from
//! the wall and moves inward in metres with refinement; P5-3 holds it in
//! metres instead) and `RTX_OVERSET_PATCH_ROWS` (12; scale it with the
//! offset to keep the wall spacing).
use rtx_cfd::mesh::patch_gen::cylinder_flag_patch;
use rtx_cfd::mesh::PatchSide;
@@ -80,10 +85,29 @@ fn overlap_rows() -> usize {
)
}
/// The patch's thickness in units of h (`RTX_OVERSET_PATCH_OFFSET`, 6).
fn patch_offset_h() -> f64 {
std::env::var("RTX_OVERSET_PATCH_OFFSET")
.ok()
.and_then(|v| v.parse().ok())
.unwrap_or(6.0)
}
/// The patch's across-rows (`RTX_OVERSET_PATCH_ROWS`, 12).
fn patch_rows() -> usize {
env_usize("RTX_OVERSET_PATCH_ROWS", 12)
}
fn field_tag(case: &str, ny: usize) -> String {
let rows = overlap_rows();
let offset = patch_offset_h();
format!(
"{case}_ny{ny}_tvd{}{}",
"{case}_ny{ny}_tvd{}{}{}",
if (offset - 6.0).abs() < 1e-12 {
String::new()
} else {
format!("_off{offset}")
},
if rows == OversetParameters::default().overlap_rows {
String::new()
} else {
@@ -150,8 +174,8 @@ impl Composite {
0.6,
h,
0.5 * 0.41 / 41.0,
6.0 * h,
12,
patch_offset_h() * h,
patch_rows(),
4.0,
500,
)?;