/ziran2019

Visco-elasto-plasticity and fracture simulator with the material point method (MPM) -- the reference implementation of SIGGRAPH 2019 technical paper Silly Rubber and CD-MPM.

Primary LanguageC++MIT LicenseMIT

Code description

This is the opensource code for the following papers:

(1) Silly Rubber: An Implicit Material Point Method for Simulating Non-equilibrated Viscoelastic and Elastoplastic Solids ,Yu Fang, Minchen Li, Ming Gao, Chenfanfu Jiang, (SIGGRAPH 2019)

(2) CD-MPM: Continuum Damage Material Point Methods for Dynamic Fracture Animation ,Joshuah Wolper, Yu Fang, Minchen Li, Jiecong Lu, Ming Gao, Chenfanfu Jiang, (SIGGRAPH 2019)

It is tested on a fresh install of Ubuntu 18.04 LTS.

Unzip Data

Go to Data/LevelSets and unzip breadxxx.vdb.zip into the same directory.

You need to do this due to the github single file size limit.

Dependencies Installation

sudo apt-get install make cmake g++ libeigen3-dev gfortran libmetis-dev
sudo apt-get install libopenvdb-dev libboost-all-dev libilmbase-dev libopenexr-dev
sudo apt-get install libtbb2 libtbb-dev libz-dev clang-format-6.0 clang-format

Building in Ziran

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j 4

Running Demos

cd Projects/mpm
./mpm -test 1
./mpm -test 2
./mpm -test 3

cd Projects/admm
./admm -test 1
./admm -test 2
./admm -test 3
./admm -test 4
./admm -test 5
./admm -test 6

cd Projects/fracture
./fracture -test 1
./fracture -test 2
./fracture -test 3

Bibtex

Please cite our papers if you use this code for your research:

@article{fang2019silly,
  title={Silly rubber: an implicit material point method for simulating non-equilibrated viscoelastic and elastoplastic solids},
  author={Fang, Yu and Li, Minchen and Gao, Ming and Jiang, Chenfanfu},
  journal={ACM Transactions on Graphics (TOG)},
  volume={38},
  number={4},
  pages={118},
  year={2019},
  publisher={ACM}
}
@article{wolper2019cd,
  title={CD-MPM: Continuum damage material point methods for dynamic fracture animation},
  author={Wolper, Joshuah and Fang, Yu and Li, Minchen and Lu, Jiecong and Gao, Ming and Jiang, Chenfanfu},
  journal={ACM Transactions on Graphics (TOG)},
  volume={38},
  number={4},
  pages={119},
  year={2019},
  publisher={ACM}
}