Simulate ice cream in Newton with MPM.
As shown in the preview videos below, the current result is a material that kind of looks like ice cream, but it's not quite there yet. Planning to further tune the material parameters and document their effects in the near future (hopefully).
Clone the repository:
git clone --recursive https://github.com/j3soon/newton-ice-cream.git
cd newton-ice-creamSet up virtual environment and install dependencies:
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e "./newton[examples]"source .venv/bin/activate
python ./example_mpm_ice_cream_spoon.py
python ./example_mpm_ice_cream_spoon.py --voxel-size 0.005ice_cream_spoon.mp4
ice_cream_spoon_voxel-size-0.005.mp4
written with minimal diff:
diff ./example_mpm_viscous.py ./example_mpm_ice_cream_spoon.py
code -d ./example_mpm_viscous.py ./example_mpm_ice_cream_spoon.pysource .venv/bin/activate
python ./example_mpm_granular_spoon.pygranular_spoon.mp4
written with minimal diff:
diff ./example_mpm_granular.py ./example_mpm_granular_spoon.py
code -d ./example_mpm_granular.py ./example_mpm_granular_spoon.pyassets/teaspoon is created from Blender Extra Mesh Objects extension, with configs Max Resolution: 15, and applied Recalculate Normals afterwards. The object/mesh is also renamed to Tea Spoon. More details at: https://projects.blender.org/blender/blender/issues/158101
python -m newton.examples mpm_viscous
python -m newton.examples mpm_granularNewton MPM is a promising approach for simulating complex fluids and materials that are difficult to model with existing physics simulators. For example, Omniverse/Isaac Sim/Isaac Lab with the PhysX backend can simulate soft bodies and particle-based fluids, but it remains challenging to simulate materials that fall in-between these two categories, such as ice cream. See related discussions here: isaac-sim/IsaacLab#2953