Skip to content

Latest commit

 

History

History
44 lines (30 loc) · 2.01 KB

README.md

File metadata and controls

44 lines (30 loc) · 2.01 KB

Material Point Method C++ Tool

This program was made using C++ and OpenGL compute shaders. It also uses OpenGL for rendering and ImGui for GUI. I am using this program for my own research in physics-based animation. I hope other users can also use this for their MPM needs or to just play around. Right now they would need to build it themselves, but I plan to release this as a standalone open-source software once I am happy with what I've done with it.

Current Research (at UofT DGP):
MPM control algorithms. Natural triggers for landslides in MPM.

Read the Wiki for more information:
https://github.com/mshoe/MPM_Geometry/wiki

Video Gallery:
https://www.youtube.com/channel/UC4qfNTQgecwtluc0M5HRnTw

Nice GUI:
pic

Gif Gallery:
Rendering speed colored points vs marching squares for green fluid:
gif

Rendering points with elastic potential energy:
gif

Different grid sizes:
gif

Elastic deformation gradient modification (example 1) (colors are stress visualization):
gif

Elastic deformation gradient modification (example 2) (colors are speed visualization):
gif

Mathematical trigger for landslide (colors are speed visualization):
gif

Material Point Method (MPM) is an Eulerian-Lagrangian hybrid algorithm for simulating continuum materials.

Build Instructions for Windows
Clone this repo, open MPM/MPM.vcxproj in Visual Studio 2019, and build. This program is using NVidia OpenGL extensions: GL_NV_shader_atomic_float64. A sufficient NVidia GPU that supports OpenGL 4.5 is required for the program to run properly (https://www.khronos.org/registry/OpenGL/extensions/NV/NV_shader_atomic_float64.txt). Also, make sure your graphics drivers are up to date.