d46fb0b7a758f37f782475deee05ce81aa708ab8
2
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4534d90684 |
rtx-fea + rtx-cfd: the single-step seams FSI2 stands on
Performance Benchmarks / Run Benchmarks (push) Canceled after 0s
CI / Format Check (push) Canceled after 0s
CI / Clippy Check (push) Canceled after 0s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Build (ubuntu-latest) (push) Canceled after 0s
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Build CPU-Only (Explicit) (push) Canceled after 0s
Documentation / Build API Documentation (push) Canceled after 0s
Documentation / Build User Guide (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-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
rtx-fea: NonlinearDynamicAnalysis refactored onto a NonlinearDynamicStepper - set_nodal_forces on both (the interface load of a coupling subiteration, replaceable between steps and between subiterations of one step); - step(&DynamicState) is a pure function of the start-of-step state and the current forces - commits nothing, so a partitioned coupling re-runs one Newmark step to the interface fixed point (the piston semantics); - run() marches through the same stepper: one code path, pinned from both ends (linear limit, CSM3, and a new manual-drive == run() assertion); - new test: a nodal step load oscillates about the *static* nonlinear analysis's deflection (cross-code-path, mean within 3%, amplitude 6%), with re-run determinism and force-swap sensitivity asserted mid-march (a one-step response to a force change is ~ beta dt^2 - the first assertion draft demanded 10% and was corrected against the physics). rtx-cfd: the subiteration seam and the moving no-slip closure - EmbeddedPisoSolver::snapshot()/restore() (mask + time + init flag; the mask is now Clone): re-running a fluid step within a subiteration is bit-identical to never having diverted - proven on a moving body with cells flipping in the re-run window; - polygon_interface_velocity: nearest-edge linear interpolation of per-vertex velocities, exact for the linear-along-edge boundary data a finite-element interface hands over - the no-slip closure that replaces FSI1's zero-velocity polygon. Suites: rtx-fea 567, rtx-cfd 325, rtx-fsi piston+transfer - all green. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Lnyrw33Lu6rUhW42E9KHwq |
||
|
|
38ca5ef080 |
rtx-fea: S2 — nonlinear Newmark, and Turek–Hron CSM3 to 0.1–1.3%
analysis::nonlinear_dynamic::NonlinearDynamicAnalysis: Newmark-beta with a full Newton solve on the internal force inside every step — residual F_ext − f_int(u) − M a(u), consistent Jacobian K_T(u) + M/(beta dt^2), the same total-Lagrangian St. Venant–Kirchhoff / small-strain seam the nonlinear static analysis uses, consistent mass assembled once (element mass is configuration-independent in a total-Lagrangian setting), undamped, homogeneous Dirichlet only (prescribed interface motion arrives with the FSI rung). The existing NewmarkStepper stays what it is: the right tool for constant matrices. Verified (tests/nonlinear_newmark_csm3.rs): - linear limit (strains ~1e-9): the TL nonlinear stepper reproduces the verified linear NewmarkStepper on the same dense M, K, F to a max deviation of 1.7e-16 — 1.3e-9 of the oscillation amplitude — over 120 steps; - Turek–Hron CSM3 (35x2 Quad8, dt = 0.005, gravity switched on at rest, 6 s): ux(A) = −14.291 ± 14.291 mm vs the reference −14.305 ± 14.305 (0.1%); uy(A) = −63.644 ± 64.295 mm vs −63.607 ± 65.160 (0.06% mean, 1.3% amplitude); frequency 1.1020 Hz vs 1.0995 (0.23%); two Newton iterations per step throughout; the undamped amplitude persists (half-window drift 0.2%). rtx-fea 564 -> 566 green (full suite). With this the S-side of the Turek–Hron ladder is complete: statics (CSM1/CSM2) and dynamics (CSM3) both land on the benchmark. Next rung is the coupling: FSI1 with the embedded fluid, the TL flag, and rtx-fsi's transfer rebuilt on the deformed interface each subiteration. Co-Authored-By: Claude Fable 5 <[email protected]> |