This is the final project for the course, General-Purpose GPU Programming @ NTU CSIE.
We model and simulate fluid-like materials, such as snow and sand, using material point method. MPM is implemented in C++ + CUDA on GPU. And OpenGL is used for real-time result viewing. Besides, for high quality rendering, we use NVIDIA GVDB + OptiX Ray Tracing Engine.
The material point method (MPM) is a numerical technique used to simulate the behavior of solids, liquids, gases, and any other continuum material. In the MPM, a continuum body is described by a number of small Lagrangian elements referred to as 'material points'. These material points are surrounded by a background mesh/grid that is used only to calculate gradient terms such as the deformation gradient. For more information, please go to Material point method - Wikipedia
For more details, please go to our Project Page
- Multi-species simulation of porous sand and water mixtures
- A material point method for snow simulation
Issues and pull requests are welcomed! Feel free to contact project owner Tzu-Wei Sung, or contributors Yist Lin and Rikiu Chen.