From 44ecc164f18dc58024fb915e7ed8b5cb63406d5c Mon Sep 17 00:00:00 2001 From: Omar Sobh Date: Sat, 19 Sep 2026 23:25:50 -0500 Subject: [PATCH] =?UTF-8?q?embedded3=20S2-7=20VERDICT:=20the=20diffusive?= =?UTF-8?q?=20exchange=20with=20SOLID=20neighbour=20faces=20over=20the=20a?= =?UTF-8?q?xis=20distance=20(wall=5Fexchange=5Faxis,=20S2-5's=20knob)=20is?= =?UTF-8?q?=20the=20DEFAULT=20=E2=80=94=20the=20oblique=20wall's=20h-indep?= =?UTF-8?q?endent=20offset=20closes=20(four-registration=20means=20?= =?UTF-8?q?=E2=89=A4=200.005=20h=20at=20n=2032,=20p=5Fcut=20halving=20per?= =?UTF-8?q?=20rung),=20DFG=202D=20generic=20ladder=20monotone=20+0.68/+0.1?= =?UTF-8?q?0/+0.014=20%,=20DFG=203D=20ny=2062=20/=20124=20inside=20the=20b?= =?UTF-8?q?ar=20(6.1877=20/=200.00907=20/=200.1691=20at=20ny=20124);=20RTX?= =?UTF-8?q?=5FE3=5FWALL=5FEXCHANGE=3Dh=20restores=20every=20earlier=20reco?= =?UTF-8?q?rd=20digit=20for=20digit;=20host=20suite=2021/21,=20device=20cu?= =?UTF-8?q?t=20+=20moving=20identities=20green=20on=20the=20new=20default?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 --- .../src/solvers/incompressible/embedded3/step/mod.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/specialized/rtx-cfd/src/solvers/incompressible/embedded3/step/mod.rs b/crates/specialized/rtx-cfd/src/solvers/incompressible/embedded3/step/mod.rs index 789c115..7c518a8 100644 --- a/crates/specialized/rtx-cfd/src/solvers/incompressible/embedded3/step/mod.rs +++ b/crates/specialized/rtx-cfd/src/solvers/incompressible/embedded3/step/mod.rs @@ -128,9 +128,12 @@ pub struct Parameters { pub exchange_convection_off: bool, /// The diffusive exchange of a fluid face with a SOLID neighbour face /// over the axis distance to the wall, `δ = min(h, d_f/|n_d|)`, and - /// implicit — instead of the full `h`, which places the no-slip value - /// deeper in the body than the wall (an effective radius ≈ 0.28 h short - /// on the DFG 2D-1 ladder; S2-5). `RTX_E3_WALL_EXCHANGE=axis`. + /// implicit — instead of the full `h`, which places the no-slip value a + /// cell away where the wall is a fraction of a cell away: an O(1) error + /// in a wall-normal gradient on the faces next to solid ones, the + /// in-plane oblique wall's h-independent offset (S2-7; built in S2-5 and + /// judged there under the quarter-cell slip). ON since S2-7 + /// (`RTX_E3_WALL_EXCHANGE=h` restores the records before it). pub wall_exchange_axis: bool, /// HOST PROTOTYPE (S2-5): the pressure gradient across cut cells over /// the distance between the cells' FLUID CENTROIDS (estimated from the @@ -200,7 +203,8 @@ impl Default for Parameters { wall_advancing: std::env::var("RTX_E3_WALL_ADVANCING").is_ok_and(|v| v == "1"), exchange_convection_off: std::env::var("RTX_E3_EXCHANGE_CONVECTION") .is_ok_and(|v| v == "off"), - wall_exchange_axis: std::env::var("RTX_E3_WALL_EXCHANGE").is_ok_and(|v| v == "axis"), + // ON by default since S2-7 (`=h` reproduces the records before it). + wall_exchange_axis: std::env::var("RTX_E3_WALL_EXCHANGE").map_or(true, |v| v != "h"), pressure_centroid: std::env::var("RTX_E3_PRESSURE_CENTROID").is_ok_and(|v| v == "1"), momentum_volume_tiled: std::env::var("RTX_E3_MOMENTUM_VOLUME") .is_ok_and(|v| v == "tiled"),