rtx-cfd: OversetPisoSolver::set_time; overset_cfd23 resumes a march from a saved field (RTX_OVERSET_CFD23_RESUME_T, _T_START) — CFD3 ny = 82's wake is still growing at t = 6–9 s (half-window amplitudes 187 / 339), the settled amplitude needs t = 15
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 (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

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-07 00:08:27 -07:00
co-authored by Claude Fable 5.1
parent ec17217e9e
commit 1a8f4aaebe
2 changed files with 22 additions and 1 deletions
@@ -416,7 +416,22 @@ async fn run_sampled(
.ok()
.and_then(|v| v.parse().ok())
.unwrap_or(t_end);
let loaded = c.save_or_load(case)?;
let mut loaded = c.save_or_load(case)?;
// `RTX_OVERSET_CFD23_RESUME_T=t`: a loaded field is the state at `t` —
// set the clocks and march on to `t_end` (`_T_START` moves the window).
if let Some(t0) = std::env::var("RTX_OVERSET_CFD23_RESUME_T")
.ok()
.and_then(|v| v.parse::<f64>().ok())
{
assert!(loaded, "RESUME_T needs RTX_OVERSET_CFD1_LOAD");
c.solver.set_time(t0);
loaded = false;
println!(" resuming {case} ny = {ny} from t = {t0}");
}
let t_start = std::env::var("RTX_OVERSET_CFD23_T_START")
.ok()
.and_then(|v| v.parse().ok())
.unwrap_or(t_start);
let start = std::time::Instant::now();
let mut s = Series {
times: Vec::new(),