Homework2 of GAMES201 online course, this project implemented the following papers:
(1) Andre Pradhana Tampubolon, Theodore Gast, Gergely Klár, Chuyuan Fu, Joseph Teran, Chenfanfu Jiang, and Ken Museth. 2017. Multi-species simulation of porous sand and water mixtures. ACM Trans. Graph. 36, 4, Article 105 (July 2017), 11 pages. DOI:https://doi.org/10.1145/3072959.3073651
(2) Gergely Klár, Theodore Gast, Andre Pradhana, Chuyuan Fu, Craig Schroeder, Chenfanfu Jiang, and Joseph Teran. 2016. Drucker-prager elastoplasticity for sand animation. *ACM Trans. Graph.*35, 4, Article 103 (July 2016), 12 pages. DOI:https://doi.org/10.1145/2897824.2925906
(3) C. Jiang, C. Schroeder, J. Teran, A. Stomakhin, and A. Selle. 2016. The material point method for simulating continuum materials. In SIGGRAPH Course. 24:1–24:52.
(4) Yuanming Hu, Yu Fang, Ziheng Ge, Ziyin Qu, Yixin Zhu, Andre Pradhana, and Chenfanfu Jiang. 2018. A moving least squares material point method with displacement discontinuity and two-way rigid body coupling. ACM Trans. Graph. 37, 4, Article 150 (August 2018), 14 pages. DOI:https://doi.org/10.1145/3197517.3201293
The talk of GAMES also greatly helped this work: https://v.qq.com/x/page/d0539skispz.html
More details see in the Taichi Forum: https://forum.taichi.graphics/t/homework2-mpm/1137