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
    • Neumann:
    • Dirichlet: fixed, slip or contact condition
      • penalty method
      • Lagrange multiplier method (soon in the master branch)
      • perturbed Lagrangian method (soon in the master branch)
      • interface condition for partitioned coupling with FEM, RBS,...

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.
  • 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.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13Windows x86-64

kratosmpmapplication-10.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12Windows x86-64

kratosmpmapplication-10.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11Windows x86-64

kratosmpmapplication-10.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10Windows x86-64

kratosmpmapplication-10.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9Windows x86-64

kratosmpmapplication-10.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8Windows x86-64

kratosmpmapplication-10.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file kratosmpmapplication-10.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2faf0c3c8b9b6475d39ccdb997790cae53146e612630c825ab2a8258d26bc72b
MD5 6f2870b4709c3e699cf87d791205cf6b
BLAKE2b-256 9b15a5d8eb04e3e7af0ad81acf509f87ba6722aaa382128abc9af9cee768df8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2b658df11dea36ffa362c339c96dfad28d0c7cea5b0a85c0068f8fe2aeb240dc
MD5 b08abbc5272092bdf53866a142ceeb48
BLAKE2b-256 4c66cd987ae7ac13a75ef009eee3f96b743a49c27716d20943afd4510f42b136

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cee2b9b644b45af003c06aacd759d3d28d224ce1d38da8cd6e612bb27479cfde
MD5 6b2e386b20513a7c1ece08b4f57ceac2
BLAKE2b-256 4b4c792f64e37227059152b6ba9d4a60b945115188a1d01a8b83bf6f8f6459f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b2e7100bcd2b8e4e194a855611cbac1c488eb744965c23fbb840a15479b0e146
MD5 8599abe9e54cb17b09ddc5d60693c284
BLAKE2b-256 9c01476534cc3707995ada9b2f0ae310b072df6dba6bff88a45ac0f40621b01a

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4339cc5fa0087151769611fb9e45e3f4d8ed7742032aa6b39c8f171dda723864
MD5 e58fac911e14a933b67f53d0df1fba55
BLAKE2b-256 6032f45a2418ec7cd80303eb6592e39077799584323c97cb6ba087707a142142

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 79fe8eac272ebec1936080a0f5d01421bad05d29d7a223c04161c72ef0b1ad0e
MD5 75149820715f1117cffa893d1743004b
BLAKE2b-256 cd21e77969e80b183113004b652788a9395bd3611aae4324b4e40f4815869b43

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e8345c608ce92d273db7ac0c46433b1aa2f7300104d974d94a22834e3a3113ab
MD5 a340f265531481b6defc10cd5ddea783
BLAKE2b-256 09418526e93e82739148cba0f558a041e3a5a62a80aeef51a04be1a4117605fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3db2fc511e8f1724492e4c02d15939a8b0c8b91bf27a8f19137860aa32e21818
MD5 ec0fbc868c03ec20e632d8cec47d61a3
BLAKE2b-256 0723128c6624eb2bb45e431515cd07d337b0d9cd241dd74a96332d56fcbde41e

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4aabc0f7cd4dd4f07984bb6694c8adb1515ebf8e3fd50ff73b16bf0f5cb11b1c
MD5 5dd72c28d1b42bc56d983d48ffb5df0a
BLAKE2b-256 6768b2cf942a614e0a0a7a23f617de4c7d67d43062b81859a4f115ea3333316e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d3a142d3010bfede6394bad888b04ef9ee256e0140f2d6709fe11a917f8185e3
MD5 4893861f4a07367f78a4bd30b6c21a45
BLAKE2b-256 1b435c66abdfa4f308cce42fe941c3ff7f814ce579dcf5fe7170add860643aa7

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 29cccd341f65121496efb95b2a98bcbce1ae5c10366401da5dff1cbe4ac3abbd
MD5 8db991386746a350852c32f46ba16867
BLAKE2b-256 934015c0a3f2e05002bf1459a08b903ba6c4b38e47e7938e649f16bc56d0663e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cb368ba4c0d666d853ec9ad9d4b0c96c4b538b197de8e3f37dae8641a922acde
MD5 1db89ec05fb815b68172f6c0394b62fb
BLAKE2b-256 0e5953e7957030089d18759f5bb35551b06b8d565ca565df57f65407cee8a3b4

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cbc4d8933d1e3ad95b8dff4590256601bdde331c717fb4aafbc65288d10419ea
MD5 f8c5a06cc5ba71a0b3f22a6665316b99
BLAKE2b-256 423e104a3f84051dbe846868eb7469fc1d8f3883c72054dba642e70c3e4c254a

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