Skip to main content

MPM Application

This application implements the Material Point Method (MPM) with main motivations of simulating non-linear large deformable materials, such as free-surface flows, geomechanical phenomena, and extreme events involving impact, penetration, fragmentation, blast, multi-phase interaction, failure evolution, etc.

MPMApplication

Theory

Particle or meshfree methods are a family of methods in which the state of a system is represented by a set of particles, without a fixed connectivity. As a consequence, these methods are particularly well suited for the analysis of moving discontinuities and large deformations with breaking and fragmentation. This approach does not suffer from the mesh distortion and entanglement issues posed by other Lagrangian discretizations such as the Finite Element Method (FEM).

The Material Point Method (MPM) is an hybrid thechnique which uses a fixed background grid (or mesh) for solving the governing equations in a FEM fashion and set of material particles (MP) for storing all the hystorical variables and material information. The MPM has gained a remarkably increasing popularity due to its capability in simulating problems involving historically dependent materials and large deformations. As MPM is able to combine the strengths of both Eulerian and Lagrangian methods, it has been used in various engineering applications and industrial purposes, in particular in geomechanics and in the environmental fluid dynamics field.

Getting Started

The MPMApplication is part of the Kratos Multiphysics framework and can be obtained in two different ways:

  • by installing the Kratos binaries using the package manager pip (suggested for users that want to use the application like a black-box);
  • by downloading the source code and compiling it (suggested for developers).

Getting Binaries with pip (users)

Kratos binaries are available for Linux, Windows and MacOS and can be installed by using the pip package manager.

Open the terminal and run the following command:

python3 -m pip install KratosMPMApplication

This command will install the following packages:

  • KratosMultiphysics: Kratos Multiphysics Core;
  • KratosMPMApplication: application implementing MPM;
  • KratosLinearSolversApplication: dependency required by MPMApplication.

Build from Source (developers)

Instructions on how to download, compile and run Kratos in your local machine for development and testing purposes are available for Linux, Windows and MacOS distributions in the installation page.

In particular, in order to use the MPMApplication it is also required to compile the auxiliary LinearSolversApplication.

  • In Linux, the following lines must appear in the /path_to_kratos/scripts/standard_configure.sh file:

    export KRATOS_APPLICATIONS=
    add_app ${KRATOS_APP_DIR}/MPMApplication
    add_app ${KRATOS_APP_DIR}/LinearSolversApplication
    
  • In Windows, the following lines must appear in the /path_to_kratos/scripts/standard_configure.sh file:

    set KRATOS_APPLICATIONS=
    CALL :add_app %KRATOS_APP_DIR%\MPMApplication;
    CALL :add_app %KRATOS_APP_DIR%\LinearSolversApplication;
    

GUI

A GUI (Graphic User Interface) for the MPM application is also available within the pre and post processing software GiD. Instructions on how to download and install it are available in the GiDInterface repository. A basic knowledge of GiD is required.

Any software able to handle vtk files can be used for post processing (e.g., Paraview, VisIt).

Examples & Tutorials

  • Use-cases and validation examples are available in the MPM section of the Examples repository.
  • Unit tests of the main features can be found in the tests folder.
  • A step-by-step tutorial using GiD for both pre and post processing is available here.

Features

The following features are currently available and subject to development within the MPMApplication.

Formulations

  • Irreducible formulation (u displacement based)
  • Mixed UP (displacement/pressure) formulation

Element types

  • Updated Lagrangian elements - triangular and quadrilateral (2D) and tetrahedral and hexahedral (3D), structured and unstructured, using classical or partitioned quadrature rules (this latter limited to explicit MPM)
  • Updated Lagrangian axis-symmetric elements - triangular and quadrilateral (2D), structured and unstructured
  • Updated Lagrangian mixed UP elements - triangular (2D) and tetrahedral (3D), structured and unstructured, stabilized using Variational Multiscale Stabilization (VMS) or Pressure Projection techniques

Constitutive laws

Boundary conditions

  • Grid-Based Conditions (conforming): applied directly at the background nodes
  • Material Point-Based Conditions (non-conforming): applied on movable boundary particles

Time schemes

  • Implicit - Newmark/Bossak prediction and correction scheme for static, quasi-static, and dynamic problems
  • Explicit

Other features

  • Partitioned coupling with Finite Element Method (FEM) - weak and strong coupling of nonconforming discretization
  • Partitioned coupling with the Discrete Element Method (DEM)
  • Partitioned coupling with the Rigid Body Solver (RBS)
  • Material point erase features - to delete material points outside the interest domain

References

Recommended references for implementation details of MPM in Kratos:

  • Singer, V., (2024). Partitioned Coupling Strategies to Simulate the Impact of Granular Mass Flows on Flexible Protective Structures, PhD Thesis, Technical University of Munich. PDF: https://mediatum.ub.tum.de/1743069
  • Singer, V., Teschemacher, T., Larese, A., Wüchner, R., Bletzinger, K.U. (2024). Lagrange multiplier imposition of non-conforming essential boundary conditions in implicit Material Point Method, Computational Mechanics, 73, 1311–1333 DOI: 10.1007/s00466-023-02412-w.
  • Singer, V., Sautter, K.B., Larese, A., Wüchner, R., Bletzinger K.-U., (2023) Partitioned Coupling Approaches for the Simulation of Natural Hazards Impacting Protective Structures, VIII International Conference on Particle-Based Methods. DOI: 10.23967/c.particles.2023.002.
  • Singer, V., Larese, A., Wüchner, R., Bletzinger K.-U., (2023). Partitioned MPM-FEM Coupling Approach for Advanced Numerical Simulation of Mass-Movement Hazards Impacting Flexible Protective Structures, X International Conference on Computational Methods for Coupled Problems in Science and Engineering. DOI: 10.23967/c.coupled.2023.026.
  • Singer, V., Sautter, K.B., Larese, A., Wüchner, R., Bletzinger, K.-U. (2022). A partitioned material point method and discrete element method coupling scheme, Advanced Modeling and Simulation in Engineering Sciences, 9(16). DOI: doi.org/10.1186/s40323-022-00229-5.
  • Wilson, P., (2022). A computational impact analysis approach leveraging non-conforming spatial, temporal and methodological discretisations, PhD Thesis, University of Queensland. DOI: 10.14264/3e10f66.
  • Singer, V., Bodhinanda, C., Larese, A., Wüchner, R., Bletzinger K.-U., (2021). A Staggered Material Point Method and Finite Element Method Coupling Scheme Using Gauss Seidel Communication Pattern, 9th edition of the International Conference on Computational Methods for Coupled Problems in Science and Engineering. DOI: 10.23967/coupled.2021.006.
  • Chandra, B., Singer, V., Teschemacher, T., Wuechner, R., & Larese, A. (2021). Nonconforming Dirichlet boundary conditions in implicit material point method by means of penalty augmentation, Acta Geotechnica, 16(8), 2315-2335. DOI: 10.1007/s11440-020-01123-3.
  • Wilson, P., Wüchner, R., & Fernando, D. (2021). Distillation of the material point method cell crossing error leading to a novel quadrature‐based C0 remedy, International Journal for Numerical Methods in Engineering, 122(6), 1513-1537. DOI: 10.1002/nme.6588.
  • Iaconeta, I., Larese, A., Rossi, R., & Oñate, E. (2018). A stabilized mixed implicit Material Point Method for non-linear incompressible solid mechanics, Computational Mechanics, 1-18. DOI: 10.1007/s00466-018-1647-9.
  • Iaconeta, I., Larese, A., Rossi, R., & Zhiming, G. (2016). Comparison of a material point method and a Galerkin meshfree method for the simulation of cohesive-frictional materials, Materials, 10(10), p. 1150. DOI: 10.3390/ma10101150.

License

The MPMApplication is Open Source. The main code and program structure is available and aimed to grow with the need of any user willing to expand it. The BSD licence allows to use and distribute the existing code without any restriction, but with the possibility to develop new parts of the code on an open or close basis depending on the developers.

Contact

Metadata

Release files for KratosMPMApplication 10.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for KratosMPMApplication 10.4.4
File
kratosmpmapplication-10.4.4-py3-none-any.whl Python 3 none any Details
kratosmpmapplication-10.4.4-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
kratosmpmapplication-10.4.4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
kratosmpmapplication-10.4.4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
kratosmpmapplication-10.4.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
kratosmpmapplication-10.4.4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
kratosmpmapplication-10.4.4-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
kratosmpmapplication-10.4.4-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
kratosmpmapplication-10.4.4-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details

Total release size: 64.5 MB

Release files / kratosmpmapplication-10.4.4-py3-none-any.whl

Download URL kratosmpmapplication-10.4.4-py3-none-any.whl
Size 26.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
67edb32780c06b3ac52baf2ca4fb2efc4a3a1d9ca4962df31647716be236f99c
BLAKE2b-256 checksum
How to use checksums
d98798db02a8d51856ef53a59ab23fd6c91bd0221fa2799dfe66bdedca0ae8f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / kratosmpmapplication-10.4.4-cp314-cp314-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp314-cp314-win_amd64.whl
Size 1.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
72c935591312aaaaf22003e1990922c656a2acd1692d4440456dbe014b62cb7f
BLAKE2b-256 checksum
How to use checksums
9d430e977be7544496de3696a795d0dd173b1270b5b57bb3fcf47843e3c04213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp314-cp314-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cd0ab250aaca6d1f6475f15fbe00a54c8808987332c587920de7a034005c6619
BLAKE2b-256 checksum
How to use checksums
b19a0ecbda24ebb64a42555eb1c30207f9fafa5d426a4a622a46902dd138fdfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp313-cp313-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp313-cp313-win_amd64.whl
Size 1.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
554ddd09e68426ddf192729700be95f989dbd4eeb6c1c0e7eb05f63a43612f96
BLAKE2b-256 checksum
How to use checksums
7eb684d0e27d7ec7893dea05eaf79a7c956620707860507d0f5672a02a48917e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp313-cp313-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7977c2c83a7fbabd48847924b310d31d31bea99b6d4c49437b00f9c1f768bdee
BLAKE2b-256 checksum
How to use checksums
4873a0c062a64f00e5c004d7337e209465a47be32c77ee97e841572715bac473
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp312-cp312-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp312-cp312-win_amd64.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2e02431795495848e272ef0e1c8c6b24124a5c227f58dff2a86f2c0261390668
BLAKE2b-256 checksum
How to use checksums
7856e3c414ae71ea26de282a2997335fc481a7093796ba16b7929a0eeb5093ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp312-cp312-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
93d31da41deacb253d7cddc9d07fa13a27fd867e6ac8eb68c66f60bdbc94f99a
BLAKE2b-256 checksum
How to use checksums
4ac2733afbe4f427c0f8adadb332c9e6c71522071d4e51ef96801b22f14adb97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp311-cp311-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp311-cp311-win_amd64.whl
Size 1.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
838d47233e04e017668ffdbbc8bf89f076aa8d3a7326a3f38e6d58b9fa44c498
BLAKE2b-256 checksum
How to use checksums
70c9c5dea815c33de8428202c5561075c9a4cd07db14a6e15cc329147b416078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp311-cp311-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6d9131e2871b7b00bc9f5e716d518379de15009781bad061fc6465f31f6188c4
BLAKE2b-256 checksum
How to use checksums
217b3955dced085319a4f0c41e61204fb4d6a1066152cbf60a987676f1b09d7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp310-cp310-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp310-cp310-win_amd64.whl
Size 1.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b56a4c702a902eaeafe67c8af8ea31a64d0f617104d458631e11b340ecccf576
BLAKE2b-256 checksum
How to use checksums
ea7922f64a7fd7cfece7329ea62732773f9a638666b6ba0f5d0ac67482bd615e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp310-cp310-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1b6044621aef7fb452125b87f0cc1cb01168fdadcfff76ca877d50afd1bb9a7d
BLAKE2b-256 checksum
How to use checksums
2cff7a9412af58a15a6f0965dd8d84c5a43a705774164c4beca22dc2ad29b04c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp39-cp39-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp39-cp39-win_amd64.whl
Size 1.5 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
289cf4c92f840ef5bd44c79858cab68794b25f13bcd4137bb78baf72845335bb
BLAKE2b-256 checksum
How to use checksums
086eb3471db67a50768ee49947a52bb6290f3cdf84d7217a31f0292ab8845d54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp39-cp39-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
15893f5e0c3e671ef1bc75731a032a9d2b2e5fc0ef58b72cec132673d1278c98
BLAKE2b-256 checksum
How to use checksums
d4f49b3812af8d572ddb19c9efabd25ada03f0ff69730939d9ccd0c3e4daa7f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp38-cp38-win_amd64.whl

Download URL kratosmpmapplication-10.4.4-cp38-cp38-win_amd64.whl
Size 1.5 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
2e20f2b73f6d1b76beb040249b7c4fe0c8fb5b9a18b02c85b93870119dac6ed3
BLAKE2b-256 checksum
How to use checksums
e8bd85e58e6d6c9b25733becb62600407592d57566f5c013edd3a848a65a853f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / kratosmpmapplication-10.4.4-cp38-cp38-manylinux_2_28_x86_64.whl

Download URL kratosmpmapplication-10.4.4-cp38-cp38-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9c5956144a429d18827fe4b6dec680f25434a8bdac4717b19a2c6d850c03e985
BLAKE2b-256 checksum
How to use checksums
d12b492dac800b5efdce7a66f9f27c0b64774b4883b2b37e854ddb44b1394138
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

This release

10.4.4 This release

15 release files

10.2.2

6 release files

10.2.0

5 release files

9.5.2

10 release files

9.5.1

10 release files

9.5

10 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page