Git Product home page Git Product logo

ziran2020's Introduction

Code description

This is the opensource code for the following papers:

(1) AnisoMPM: Animating Anisotropic Damage Mechanics, Joshuah Wolper, Yunuo Chen, Minchen Li, Yu Fang, Ziyin Qu, Jiecong Lu, Meggie Cheng, Chenfanfu Jiang (SIGGRAPH 2020) Project Page: https://joshuahwolper.com/anisompm

(2) IQ-MPM: An Interface Quadrature Material Point Method for Non-sticky Strongly Two-way Coupled Nonlinear Solids and Fluids, Yu Fang*, Ziyin Qu* (equal contributions), Minchen Li, Xinxin Zhang, Yixin Zhu, Mridul Aanjaneya, Chenfanfu Jiang (SIGGRAPH 2020)

Troubleshooting Compiling

If anyone encounters compiling errors with GNU 9.3.0 or other versions, please switch to GNU 7.5.0 to compile which we've verified to work.

Use the following command to install GNU 7.5.0.

sudo apt-get install g++-7

When executing cmake, users should manually choose the compiler to use as well.

cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc-7 -DCMAKE_CXX_COMPILER=/usr/bin/g++-7

Unzip Data

Download and unzip the following file in the root directory.

https://drive.google.com/file/d/1f22ObJmiq8H1_YObTz5BuE4IAWLQhyuB/view?usp=sharing

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

Check folder Projects/anisofracture for AnisoMPM
Check folder Projects/coupling for IQ-MPM

Sampling Particles

We used TetWild to compute tetrahedralized volumes to sample particles from, check it out here: https://github.com/Yixin-Hu/TetWild

Visualization

We dump out .bgeo files for visualization and use Houdini to visualize our outputs. For converting a point cloud to a surface we use the meshing algorithm seen here: https://dl.acm.org/doi/10.1145/3340259, but you also have the option to use Houdini's VDB support to directly compute a VDB level set surface from the output particles (see https://www.sidefx.com/docs/houdini/nodes/sop/vdbfromparticles.html)

BibTeX

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

@article{wolper2020anisompm,
  title={AnisoMPM: Animating Anisotropic Damage Mechanics},
  author={Wolper, Joshuah and Chen, Yunuo and Li, Minchen and Fang, Yu and Qu, Ziyin and Lu, Jiecong and Cheng, Meggie and Jiang, Chenfanfu},
  journal={ACM Trans. Graph.},
  volume={39},
  number={4},
  year={2020},
  publisher={ACM}
}
@article{fang2020iqmpm,
  title={IQ-MPM: An Interface Quadrature Material Point Method for Non-Sticky Strongly Two-Way Coupled Nonlinear Solids and Fluids},
  author={Fang, Yu and Qu, Ziyin and Li, Minchen and Zhang, Xinxin and Zhu, Yixin and Aanjaneya, Mridul and Jiang, Chenfanfu},
  volume={39},
  journal={ACM Trans. Graph.},
  number={4},
  year={2020},
  publisher={ACM},
}


ziran2020's People

Contributors

joshwolper avatar squarefk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.