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.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13Windows x86-64

kratosmpmapplication-10.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12Windows x86-64

kratosmpmapplication-10.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11Windows x86-64

kratosmpmapplication-10.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10Windows x86-64

kratosmpmapplication-10.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.9Windows x86-64

kratosmpmapplication-10.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.8Windows x86-64

kratosmpmapplication-10.3.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (19.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file kratosmpmapplication-10.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 11d2f6c322e5010270deb483c32bdbc8588c49d48dd1bbf1417c9efffe440eb2
MD5 2c77f5f02e902fd649b65ecea4b3d18e
BLAKE2b-256 2dc5cf9d2575726566273e089dcfc81946353a6b1d68ccc76999c6e27b93d0a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 afb8df5cde6fd892bf57c3e77661baf365d57074fa237dfbb0facfb06c2fa2ed
MD5 56eea515c9b9c86f560ef69aba204187
BLAKE2b-256 b88753c4335008f9b5eb5984ab98ba58cd11001f93ac9533f461dc5ad55ffc49

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 86f76b6530165822fbef0e500036c2bb828c34143ee30eee70e8c34a15a27df4
MD5 47063ab3e9cbe14964c897f4924f66df
BLAKE2b-256 b182b4765ef18e8351b9034b58f6e8fa8e360559767fa396123f5998147aaa30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d74738334f8b808aaeff70aa114a869ad4ed90c1877526e7823bf923c744fe32
MD5 1380a164a194ecd1297c3b15fe39ffa1
BLAKE2b-256 26b7ade578787c726f33b9a7021afe257e147d84acca1e59ad55d8a3b6fda064

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 695cbc3d00f7ae314e49898e5c4f85088ce059d73e63ae0dc17e321ac67a12c4
MD5 65af9f6cd570e200f20abb2b53733e3e
BLAKE2b-256 1a3fa1388eb7c27877537e491b5c2230ff69f673524392f7be505847ce9765bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 31a6d2d4e2113a3a3b5f7fac93cba44af5f8d8395bb7bca5bbaca9e22850a73e
MD5 44e2a72f168337931e2bd9df839f28bd
BLAKE2b-256 fdef2250dcfbc13725bc50b77ef989645e4bc432703f73840e77f9b8a586f10f

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b26ea80eadd3317bb2cd14da25270f7f493e4394544b37bc021d3c5e3b93f39
MD5 a604bbe95afeb39c654a8f8e2d24cebc
BLAKE2b-256 a1d922e9757ab9d985b503f119512a8bae35f9c636b1afe7554bf7a21a2a800a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1ef30c49378f661a9ee140a72ab51db5494b6bb13103b486f3aae285e9fe08b1
MD5 72a3df9bb7b99dd873eb105f4b4d4c8b
BLAKE2b-256 df2de51bdad0ebe3995e793bafd3f4115f434229be9a83ced1f575719c9df428

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9b684d1e3c0be48e2a28ae7aed17300364f053f95ab3802dfd1a84921aac762
MD5 c622830b98785a675b4303b99f1be898
BLAKE2b-256 ac4faf0bdf09edf4b7f05bb346e0f754f02ab21e812beea46d3344665111d95a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b4d02dc7e85d1c8f865b71055b08b425aba150db2e9e687da5474d569fc3795a
MD5 7a715aef9c6cae40c54888f66d67439c
BLAKE2b-256 4ef3dd566681986d4e4f71940fb81f71abcf602690c5f4ea97a336e20eb751c7

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 573c8e941a5b312b9e2790b7dec785d7ca941f7ee272e8a7498828a3c5ef0cbb
MD5 1ad4cd0c05f64c35a49331a81fdc748a
BLAKE2b-256 ceb9f33ec6b414adaccb822e0efbe116d1eda0814d2c39e3d3971f89bb03f81a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3ebefb93643100702a3b087c817194e950cbf27c6e5607be37b560d7bccf39a4
MD5 7b55095bd7718062dfd8af9b52302d31
BLAKE2b-256 a4be22f64890a0c36d398ddb47c494c225ecc0b11253d36c9167aaedc976343b

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.3.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.3.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de61135c2139f2ce0effdf6d88461b20814e74d6b5e1424281867a274c2e251f
MD5 c96e86eff55add3ab5cfe1f3833470ab
BLAKE2b-256 2ee3357a3918446cd5beacedb10dfd2b6289ffa4dfdee6c51fea9ca6423d98ba

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