Blocked by #166 and #167.
Goal
Assemble the EOS model and fluid transfer state into explicit CPU MPMFluidSolver2 and MPMFluidSolver3 implementations.
Scope
- Initialize particle reference volumes and density state.
- Accumulate pressure, gravity, and other external forces on active grid nodes.
- Advance nodal velocities with explicit integration.
- Transfer velocities back and update particle positions and volumes.
- Select stable substeps from grid spacing, velocity, and the configured speed of sound.
- Provide emitters and builders consistent with existing CubbyFlow solver APIs.
Acceptance criteria
- Empty updates are safe in both dimensions.
- With zero pressure and external forces, uniform particle motion is preserved within numerical tolerance.
- Gravity produces the expected total momentum change.
- Compressed particles accelerate away from the compressed region.
- Focused 2-D and 3-D unit tests pass without non-finite state.
- CPU-only builds remain independent of CUDA.
References
Blocked by #166 and #167.
Goal
Assemble the EOS model and fluid transfer state into explicit CPU MPMFluidSolver2 and MPMFluidSolver3 implementations.
Scope
Acceptance criteria
References