From 2d2fed718145ddb2b7cfd6b94962fa32af239fd0 Mon Sep 17 00:00:00 2001 From: Omar Sobh Date: Tue, 15 Sep 2026 19:22:36 -0500 Subject: [PATCH] =?UTF-8?q?rtx-fsi=20harness:=20'fixed'=20coupler=20(const?= =?UTF-8?q?ant=20relaxation=20OMEGA0)=20for=20the=20P6-c=20Robin=E2=80=93N?= =?UTF-8?q?eumann=20test=20=E2=80=94=20at=20=CF=89=20=3D=201=20the=20candi?= =?UTF-8?q?date=20is=20the=20FEA's=20own=20output,=20so=20the=20Robin=20wa?= =?UTF-8?q?ll's=20previous-pass=20datum=20is=20the=20structure's=20tractio?= =?UTF-8?q?n=20at=20the=20candidate;=20design=202's=20FSI3=20divergence=20?= =?UTF-8?q?is=20the=20datum's=20inconsistency=20under=20IQN's=20=CF=890=20?= =?UTF-8?q?=3D=200.05?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01YJPeT6WA2e7YvAnS875AHL --- .../rtx-fsi/tests/fsi2_harness/overset_march.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/specialized/rtx-fsi/tests/fsi2_harness/overset_march.rs b/crates/specialized/rtx-fsi/tests/fsi2_harness/overset_march.rs index 7c19f38..24602a8 100644 --- a/crates/specialized/rtx-fsi/tests/fsi2_harness/overset_march.rs +++ b/crates/specialized/rtx-fsi/tests/fsi2_harness/overset_march.rs @@ -471,6 +471,15 @@ pub fn run_march_overset(case: BenchmarkCase, config: &OversetMarchConfig) -> Ov let mut outcome = if let Some(iqn) = iqn.as_mut() { iqn.set_tolerance(tol_step).unwrap(); iqn.solve(&d_predicted, pass) + } else if cfg.coupler == "fixed" { + // P6-c (`docs/overset_metal_campaign.md` §5.19): the constant + // relaxation `OMEGA0` — at 1.0 the plain staggered loop, the + // only one whose candidate is the FEA's own output, so the + // Robin wall's datum (the previous pass's tractions) IS the + // structure's traction at the candidate (Robin–Neumann). + Subiterated::relaxed(cfg.initial_relaxation, cfg.max_subiterations, tol_step) + .unwrap() + .solve(&d_predicted, pass) } else { Subiterated::aitken(cfg.max_subiterations, tol_step) .unwrap()