Coder Social home page Coder Social logo

penn-graphics-research / ziran2019 Goto Github PK

View Code? Open in Web Editor NEW
204.0 8.0 37.0 235.7 MB

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.

License: MIT License

CMake 5.11% C++ 93.98% C 0.06% Makefile 0.27% Python 0.35% Perl 0.02% Shell 0.06% HTML 0.15%
computer-graphics physics-based-animation material-point-method viscoelastic plasticity fracture-mechanics operator-splitting mpm siggraph

ziran2019's Introduction

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}
}

ziran2019's People

Contributors

joshwolper avatar liminchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ziran2019's Issues

question about the model

Hola, César desde Chile, antes que todo quería agradecer por el aporte de su modelo a la investigación. He intentado de muchas maneras tratar de correr el modelo sin buenos resultados. El último error que me ha arrojado es el siguiente:
CMake Error at Scripts/CMakeLists.txt:43 (message):
Could not find 'clang-format' please set CLANGFORMAT_PATH:STRING

Si es que me pudieran guiar para solucionar este error o si es que tiene alguna actualización del software se los agradecería mucho.

Saludos,

Error when building

[ 87%] Building CXX object Lib/MPM/CMakeFiles/mpmdev.dir/instantiations/MpmSimulation2d.cpp.o In file included from /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/MpmSimulation2d.cpp:1: /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp: In lambda function: /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp:379:41: error: lambda capture of ‘USE_APIC_BLEND_RPIC’ is not a constant expression if constexpr (!USE_APIC_BLEND_RPIC) { ^ /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp:391:47: **error: lambda capture of ‘USE_MPM_DEGREE_ONE’ is not a constant expression } else if constexpr (!USE_MPM_DEGREE_ONE) { ^** /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp: In lambda function: /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp:402:56: error: lambda capture of ‘USE_MLS_MPM’ is not a constant expression if constexpr (!USE_MLS_MPM) { ^ /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp: In instantiation of ‘void ZIRAN::MpmSimulationBase<T, _dim>::sortParticlesAndPolluteGrid() [with T = double; int _dim = 2]’: /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/MpmSimulation2d.cpp:4:16: required from here /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp:1105:16: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘class ZIRAN::GridState<double, 2>’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] std::memset(&grid_array(base_offset), 0, ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (size_t)(1 << MpmGrid<T, dim>::log2_page)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/NTNU/Uintah/ziran2019/Lib/SPGrid/../MPM/Force/MpmForceBase.h:6, from /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.h:8, from /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/../MpmSimulationBase.cpp:2, from /home/NTNU/Uintah/ziran2019/Lib/MPM/instantiations/MpmSimulation2d.cpp:1: /home/NTNU/Uintah/ziran2019/Lib/SPGrid/../MPM/MpmGrid.h:14:35: note: ‘class ZIRAN::GridState<double, 2>’ declared here template <class T, int dim> class GridState { ^~~~~~~~~ make[2]: *** [Lib/MPM/CMakeFiles/mpmdev.dir/build.make:219: Lib/MPM/CMakeFiles/mpmdev.dir/instantiations/MpmSimulation2d.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:302: Lib/MPM/CMakeFiles/mpmdev.dir/all] Error 2 make: *** [Makefile:141: all] Error 2

Anyone how to solve it?

Error while building

I am getting the following error:

Lib/MPM/instantiations/../MpmSimulationBase.cpp:1098:20: error: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘class ZIRAN::GridState<float, 3>’ with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess]
when I am trying to build using the command make -j 4

How can I resolve this? I am compiling on Ubuntu 20.04 LTS.

When trying to run "./fracture -test 1" I get an error message

Everything has been installed, but when I try to run "./fracture -test 1" from the ziran2019/build/Projects/fracture directory, it just gives me the error: "-bash: ./fracture: No such file or directory." Is there something I'm missing in the setup guide?

Open Source License?

I did not see an OSS License attached to this code (unless I missed it) and am wondering what type of open source license this code is released under.

BTW: 💯 Amazing work(!) on the CD-MPM for Dynamic Fracture Animation

Thanks.

Build on Windows

Hi... I have windows and i want to run this in windows. Can you guide me how to install and build the directories?

Ps: I tried using chocolatey but not all packages are available except cmake.

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.