/MPM3D-F90

MPM3D-F90: An open source code for three dimensional material point method.

Primary LanguageFortran

About

MPM3D-F90 is the simplified FORTRAN 90 version of MPM3D, and servers as the companion open source code for our MPM books:

  1. X Zhang, Z Chen, Y Liu. The Material Point Method - A Continuum-Based Particle Method for Extreme Loading Cases. Academic Press, 2016;

  2. 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.

Source code organization

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

Compile and baisc usage under Linux

Under Linux, you can compile and run an example by the following code:

cd MPM3D-F90
cmake .
make
./mpm3d Data/Deto1k.mpm