rtx-cfd: overset_cfd23 RTX_OVERSET_CFD23_ND=explicit — the patch's across-diffusion explicit (dt limit then includes the n-spacing) for the 10 mm damping-floor probe; field tags carry it
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 / Format Check (push) Canceled after 0s
CI / Build CPU-Only (Explicit) (push) Canceled after 0s
Documentation / Build API Documentation (push) Canceled after 0s
Documentation / Build User Guide (push) Canceled after 0s
CI / Clippy Check (push) Canceled after 0s
Performance Benchmarks / Run Benchmarks (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-06 20:44:07 -07:00
co-authored by Claude Fable 5.1
parent 11d001fe48
commit ec17217e9e
@@ -83,11 +83,16 @@ fn overlap_rows() -> usize {
fn field_tag(case: &str, ny: usize) -> String {
let rows = overlap_rows();
format!(
"{case}_ny{ny}_tvd{}",
"{case}_ny{ny}_tvd{}{}",
if rows == OversetParameters::default().overlap_rows {
String::new()
} else {
format!("_rows{rows}")
},
if std::env::var("RTX_OVERSET_CFD23_ND").is_ok_and(|v| v == "explicit") {
"_explicitnd"
} else {
""
}
)
}
@@ -150,10 +155,11 @@ impl Composite {
4.0,
500,
)?;
let explicit_nd = std::env::var("RTX_OVERSET_CFD23_ND").is_ok_and(|v| v == "explicit");
let mut hs = f64::INFINITY;
for c in 0..mesh.cell_count() {
for (f, _) in mesh.cell_faces(c) {
if mesh.is_sface(f) {
if mesh.is_sface(f) || explicit_nd {
let d = mesh.faces()[f].d;
hs = hs.min((d[0] * d[0] + d[1] * d[1]).sqrt());
}
@@ -169,7 +175,16 @@ impl Composite {
CurvilinearParameters {
tolerance: 1e-5,
convection: PatchConvection::TvdVanAlbada,
normal_diffusion: NormalDiffusion::LineImplicit,
// `RTX_OVERSET_CFD23_ND=explicit`: the 10 mm damping-floor
// probe (§5.11) — is the line-implicit across-diffusion the
// wake's damping?
normal_diffusion: if std::env::var("RTX_OVERSET_CFD23_ND")
.is_ok_and(|v| v == "explicit")
{
NormalDiffusion::Explicit
} else {
NormalDiffusion::LineImplicit
},
..CurvilinearParameters::default()
},
mesh,