embedded3 A3-i: the advancing-wall friction closure (RTX_E3_WALL_ADVANCING=1, host + device, per-face normal-velocity table; f(0) = 1 exactly) — REFUTED as built on the slab ladder (flag shear 34.2 / 33.6 / 31.1 vs 28.9 / 32.3 / 30.1: spread 3.4 -> 3.1, now from above; worst mass residual 1e-8 -> 1e-4); knob stays off, default digit-identical
CI / Build CPU-Only (Explicit) (push) Failing after 4s
CI / Format Check (push) Failing after 5s
Performance Benchmarks / Run Benchmarks (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 5s
CI / Build (ubuntu-latest) (push) Failing after 1m19s
CI / Clippy Check (push) Failing after 1m33s
Documentation / Build API Documentation (push) Failing after 1m35s
CI / Build (macos-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
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-latest) (push) Canceled after 0s

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
Omar Sobh
2026-09-19 19:19:47 -05:00
co-authored by Claude Fable 5.1
parent d4cd7d9545
commit d7250bc4cf
8 changed files with 97 additions and 6 deletions
@@ -216,6 +216,7 @@ impl Mask {
wall_distance_oblique: false,
diffusion_transverse: false,
distance_floor_fine: false,
wall_advancing: false,
wall_exchange_axis: false,
grad_weights: None,
diffusion_centroid: false,
@@ -658,8 +659,15 @@ impl Mask {
if a_w == 0.0 {
continue;
}
let ub = self.surface_velocity_at(body, lat.face_position(c, p), c, t);
let (c1, c2, nb) = self.wall_gradient(c, p, &cv);
let x = lat.face_position(c, p);
let ub = self.surface_velocity_at(body, x, c, t);
let xi = if self.wall_advancing {
self.surface_normal_velocity_at(body, x, t) * cv.distance * self.density
/ mu
} else {
0.0
};
let (c1, c2, nb) = self.wall_gradient(c, p, &cv, xi);
let un = nb.map_or(ub, |f| values[c][f]);
force[c] += mu * a_w * (c1 * (values[c][idx] - ub) + c2 * (un - ub));
}