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"),