You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Four findings from the 2026-06 series share one root cause: elastic feature physics was implemented per-Riemann-solver and the copies drifted independently —
#1572 unified the hypoelastic interface energy under maintainer rulings and proved the pattern: one GPU_ROUTINE helper, dead copies deleted, golden suite + <5% benchmark gates. The wave-speed and flux blocks remain per-solver, and the open questions above block unifying them — these are physics formulation decisions, not refactoring decisions.
Unify the elastic wave-speed estimation into a shared helper in m_riemann_state (the ruled-correct formulation), parameterized only where the ruling says solvers should genuinely differ.
Identical machinery to #1572: investigation-first mapping of every elastic block per solver, rulings encoded as binding constraints in the implementation plan, helper extraction with the caller-loads/helper-computes pattern (documented in gpuParallelization.md), per-commit emitted-equivalence where behavior-preserving and explicit behavior notes where the rulings change results, golden suite + per-solver benchmark gates (the hypo_hll case directly exercises this path).
Effort: small-moderate once unblocked. Risk: low for items 2-3 (deletion + checker); item 1's risk is owned by the physics ruling, not the refactor. Blocked on: #1557, #1570, #1571.
Motivation
Four findings from the 2026-06 series share one root cause: elastic feature physics was implemented per-Riemann-solver and the copies drifted independently —
#1572 unified the hypoelastic interface energy under maintainer rulings and proved the pattern: one GPU_ROUTINE helper, dead copies deleted, golden suite + <5% benchmark gates. The wave-speed and flux blocks remain per-solver, and the open questions above block unifying them — these are physics formulation decisions, not refactoring decisions.
Proposal
After the elasticity authors rule on #1557/#1570/#1571:
m_riemann_state(the ruled-correct formulation), parameterized only where the ruling says solvers should genuinely differ.@:PROHIBITmirroring the hypoelasticity-requires-HLL restriction insrc/simulation/m_checker.fpp, so the toolchain-bypass route (HLL hyperelastic wave-speed branch reads shear moduli that only the hypoelastic path initializes #1571's reachability) is closed regardless of the constraint-unification proposal's timeline.Execution sketch
Identical machinery to #1572: investigation-first mapping of every elastic block per solver, rulings encoded as binding constraints in the implementation plan, helper extraction with the caller-loads/helper-computes pattern (documented in
gpuParallelization.md), per-commit emitted-equivalence where behavior-preserving and explicit behavior notes where the rulings change results, golden suite + per-solver benchmark gates (the hypo_hll case directly exercises this path).Effort: small-moderate once unblocked. Risk: low for items 2-3 (deletion + checker); item 1's risk is owned by the physics ruling, not the refactor. Blocked on: #1557, #1570, #1571.