Skip to main content

KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kratosmpmapplication-10.4.3-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

kratosmpmapplication-10.4.3-cp314-cp314-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.3-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

kratosmpmapplication-10.4.3-cp313-cp313-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.3-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

kratosmpmapplication-10.4.3-cp312-cp312-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.3-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

kratosmpmapplication-10.4.3-cp311-cp311-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.3-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

kratosmpmapplication-10.4.3-cp310-cp310-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.3-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

kratosmpmapplication-10.4.3-cp39-cp39-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.3-cp38-cp38-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8Windows x86-64

kratosmpmapplication-10.4.3-cp38-cp38-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file kratosmpmapplication-10.4.3-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 03d81e54dec96bf9fb653b03a4095e562fa6615d2ab3d9743eeffc496db82e14
MD5 56a5c864259f386bb906b79b1b9b5421
BLAKE2b-256 c3e3b6e9f924f366731528818f65e280bd044dbb2237d2b032927b4c12e96aed

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e5c6df0aa0aa581a9d2ecf5a562a396c7630df65b54f0be6513e179430a0aa8d
MD5 8b51d14eead90b3e7a00e9c296d4c921
BLAKE2b-256 d866b9292f0e283130214b6fda85cf250cc692014fe118c5248fa2a7a9e0a982

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c5c6e9da6c021eb1dbf37c349c63e70604606189ea2a43d5be0a7d905ded85a2
MD5 43a75eb82b29d04a3964742f54ef66fd
BLAKE2b-256 70077d676340d5e54c57efeae8622c2b4aba20a36ad01842cd9c4042195154a2

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 767a9676c1db3b3739dd1baeaa1e0080c89d2020fddbc40ba24176bbbc8e4cf4
MD5 4581f98b0878b76c4f61e2c819f88eda
BLAKE2b-256 d54db18a7a31616a1bcba887ad741224fa68e670811301da9e56acdfa74235ae

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4dfca9892dda289c308f91d45a2e89e14f99f1b7905642f830cb77fb783cc260
MD5 247895ea4d30c487892c43c1478b2b42
BLAKE2b-256 091dc2eaba3d4c5171f3b2b62381ab92da19458c70c518e8f85a3775ce27904a

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6fdc343350f549b6c3e57a748a1de8ab429f57a86c2f8c47b94b57dd9d26317f
MD5 d53737716a335fe411ee35ec4fc5069b
BLAKE2b-256 205a01a6bf28b9fff8157ecd538bf3ae6320e48e61b7fe764a3568e485079ea9

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b7667429943b7a324a3611c1ff699237cf4e3aa0d140d4a6f2a86a5264c31d58
MD5 3eda9e3be6ef9c52e9f4f5e45f2562e7
BLAKE2b-256 f0ec215d35da1d8f16612685e05ae1600e34e2f6b5eef74cdac1b67ab35669eb

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1199def411ed868ae89123f7fda01e1ba0157fecddd57ec5794c51c057d2fdef
MD5 dfeaa8d17ea77f6357adfda6197ffee7
BLAKE2b-256 a0a08fd7a749c65470fc9bd4c6456f16528b2f06e3e7dc4f8a0cc6a6bd412a0c

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ed309293681aebfe905dd487e088f11bcba9756e9ed105cd8f751c2728d8466b
MD5 a39f1518189b645237fa7f83590844b3
BLAKE2b-256 d8f202e51a034553aa1adfc60b1209b360ec590a86b622dfd8856da387ce3998

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 403b1512e416ad773005fec91b7ffe326f29fc20a140d131722943b3915dc773
MD5 a9d103217025c8323c6dbf91a0ff4057
BLAKE2b-256 eb7589fb2a9fd15270abbd0611fabeb3b114cc1aa47fa614ec88c6ffcb86a6df

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 02a2c04ad5d72bada44407bca469fec30a5bd58e4a340c36eb7aa9c8c821bbc8
MD5 2b2e7c1edb89206f8392f4d642e2671b
BLAKE2b-256 a74c94ef4a2c6044ef195f7badce1ff882787a72ed945f7436288ceebd659293

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8402ba7e5fb6a874a7f8275174e25b9faf5b51f6f80b6d3c99f7464478dd963
MD5 609c194bbdd86a91e1975e2543645466
BLAKE2b-256 bd7cb9fd946cffc0b71c942f7a87bf5b8315a9abfe53c22cc628203f15416e5d

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e37f9935a39995d69091f75d9c47506a61db9f9751f5c97acf4da0f0865772e9
MD5 b93cf5c7faf8fcf5355adf7f3d681043
BLAKE2b-256 7c5ffa0af2a8c5b08928ef7553f6ac17188c02d4dc3c9bf43b55dacdcc32229c

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.3-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f47e2f1ddaf9c422b493109f9abc2cffc231da09043ae43f07e19f1a45f02fd
MD5 88baba37b8db7b660c15c1eb78c6979f
BLAKE2b-256 6992918e95e9aee9279bbadafe4be1e81dca151bc327fc52c38ffd0517c5f5b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page