MPM3D-F90 is the simplified FORTRAN 90 version of MPM3D, and servers as the companion open source code for our MPM books:
-
X Zhang, Z Chen, Y Liu. The Material Point Method - A Continuum-Based Particle Method for Extreme Loading Cases. Academic Press, 2016;
-
X Zhang, YP Lian, Y Liu, X Zhou. Material Point Method (in Chinese), Beijing: Tsinghua University Press, 2013.
Please refer to these two books for detailed explanation about its source codes and usage.
The MPM3D-F90 can be obtained from GitHub at https://github.com/xzhang66/MPM3D-F90. You are welcome to share your improvements and enhancements to MPM3D-F90, or share your input data files and simulation results. Please send you feedback to me at xzhang@tsinghua.edu.cn.
Please cite our books and related publications in your publication if MPM3D-F90 or MPM3D is used in your work. Here is the List of our publications in Material Point Method.
The code is organized as:
src: Souce files (MPM3D.f90, Particle.f90, DataIn.f90, DataOut.f90, FFI.f90, Grid.f90, Material.f90, update_step.f90, Constitution.f90)
CMakeLists.txt: Used to generate standard build files (e.g., makefiles on Unix and projects/workspaces in Windows MSVC) by CMake
make: Predefined build files for GNU and Intel Visual Fortran compiler. The build files for other compliers can be generated by using CMake from CMakeLists.txt file.
gnu: make file for GNU Fortran compiler
ivf: solution file for Intel Visual Fortran compiler
Data: Example input data
Deto1k.mpm: 1D slab TNT detonation
Taylor.mpm: Taylor bar impact
PeneOgive.mpm: Penetration of a ogive projectile
Slopefail.mpm: Failure of slope
Under Linux, you can compile and run an example by the following code:
cd MPM3D-F90
cmake .
make
./mpm3d Data/Deto1k.mpm