Commit Graph
5 Commits
Author SHA1 Message Date
Omar SobhandClaude Opus 5.5 2d5ffbabdd R8-f: the operator-route wall load on the device (RTX_E3_LOADS_DEVICE=1, default off)
e3_loads.cu evaluates every summand of Mask::cut_wall_force (cells' p W,
fluid faces' implicit wall shear) and cut_wall_exchange_parts (diffusive and
convective exchange with prescribed neighbours) on the device from the
predictor set of the device mask, in the host's expression order with FMA
off; the summands are appended as records, downloaded once per pass, sorted
into the host's loop order and summed sequentially on the host, so the
totals are the host route's to the bit. Records replay into the R8-a load
sink (exact zeros dropped; sum-invariant) and into R8-c's WallLoad shape.

DeviceStep::cut_wall_loads_device / cut_wall_force_device /
check_wall_loads (the G1 instrument, RTX_E3_LOADS_CHECK=1 in the flag test).
The flag test and the R8-a harness take the device route under the knob;
default paths untouched. cut.rs: E3CutPtrs and DeviceCut::ptrs pub(super).

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 22:00:42 -05:00
Omar SobhandClaude Opus 5.5 171da41ed1 Merge r8a-span-uniform-fsi (R8-a: the first coupled 3D FSI, span-uniform; default-off). Merge fixes: the load-route observers of R8-a (to_load_sink) and R8-c (sink(LoadKind, …)) both kept on the same summands (both inert by default); the harness's DeviceSdf gains plate: None (R8-c's new field). Merged-tree gate: slab ny 62 default / BAND_CHECK / all-host / uniform plate byte-identical to main's base; device suites 2/2, 3/3; the coupled harness reproduces R8-a's recorded slab march row for row (478 rows)
CI / Test (macos-latest) (push) Blocked by required conditions
CI / Test (ubuntu-latest) (push) Blocked by required conditions
CI / Build (macos-latest) (push) Waiting to run
CI / Python Bindings (maturin) (macos-latest) (push) Blocked by required conditions
CI / WASM Build + Size Check (push) Blocked by required conditions
CI / Distributed Training Tests (push) Blocked by required conditions
CI / CI Success (push) Blocked by required conditions
CI / Python Bindings (maturin) (ubuntu-latest) (push) Blocked by required conditions
CI / Clippy Check (push) Failing after 5s
CI / Build CPU-Only (Explicit) (push) Failing after 4s
CI / Format Check (push) Failing after 5s
CI / Build (ubuntu-latest) (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 6s
Performance Benchmarks / Run Benchmarks (push) Successful in 15s
Documentation / Build API Documentation (push) Failing after 17s
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 21:21:40 -05:00
Omar SobhandClaude Opus 5.5 0f386df871 R8-a harness: RTX_E3FSI_LOAD_PLANES (the load route on the n mid planes; cost knob, whole span by default)
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 18:14:55 -05:00
Omar SobhandClaude Opus 5.5 9867a8b831 R8-a harness: save/load of the coupled state (continue on the same grid, or extrude the slab onto the full duct)
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 18:14:16 -05:00
Omar SobhandClaude Opus 5.5 12a27c6fca R8-a: span-uniform coupled FSI2 on embedded3 — DeviceStep snapshot/restore, operator-route load sink, harness fsi2_embedded3.rs
- embedded3 DeviceStep::snapshot/restore (step/device/snapshot.rs): the start-of-step
  device fields + the moving body's host records; a restore rebuilds the R6 persistent
  geometry/classification, the predictor tables, the hierarchy and the guess basis.
  Only called by the new harness (existing paths untouched).
- exchange::set_load_sink: every contribution of the operator load route (p W, wall
  shear, diffusive/convective exchange) with position/component/part; None by default,
  the routes' sums unchanged (slab ny 62 CSV byte-identical to r6_1/base_slab62.csv).
- rtx-fsi feature cuda (= rtx-cfd/cuda) and tests/fsi2_embedded3.rs: the 2D rtx-fea flag
  (35x2 Quad8, TL, Newmark 0.7) drives the capsule's centreline per coupled step; the
  route's contributions are distributed onto the wetted nodes per unit span; Aitken
  subiterations each re-run the fluid step from the snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 18:11:27 -05:00