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 informations. 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).

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

  • Linear isotropic elastic materials - plane strain, plane stress, axis-symmetric, and 3D
  • Hyperelastic Neo-Hookean laws - finite strain, plane strain, axis-symmetric, and 3D
  • Elasto-plastic laws:
    • Mohr Coulomb - finite strain, associative and non-associative, plane strain, axis-symmetric, and 3D
    • Mohr Coulomb with Strain Softening - finite strain, associative and non-associative, plane strain, axis-symmetric, and 3D
  • Critical state laws:
    • Modified Cam-Clay - finite strain, plane strain, axis-symmetric, and 3D
    • Johnson Cook Thermal Plastic (just for explicit MPM)

Boundary conditions

  • Grid-Based Conditions (conforming): applied directly at the background nodes
    • Neumann: Point load
    • Neumann: Line load (a distributed load applied over a line)
    • Neumann: Surface load (a distributed load applied over a face)
    • Dirichlet: Slip and non-slip conditions for arbitrary inclination
  • Material Point-Based Conditions (non-conforming): applied on movable boundary particles
    • Neumann:
      • moving point load
      • interface condition for partitioned coupling with DEM
    • 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

KratosMPMApplication-10.1.0-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12 Windows x86-64

KratosMPMApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

KratosMPMApplication-10.1.0-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

KratosMPMApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

KratosMPMApplication-10.1.0-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

KratosMPMApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

KratosMPMApplication-10.1.0-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

KratosMPMApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

KratosMPMApplication-10.1.0-cp38-cp38-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

KratosMPMApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

Details for the file KratosMPMApplication-10.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e7c3724dcbef47589335739293ed72efbb5509437af38bf7b6909a9c51734402
MD5 1d98b7c5668b3bc4d3e2d9328b1dfa02
BLAKE2b-256 44acdf69368fb9c6451f2173d69d03d31c3bb2dfce5709e70d73bb20f83e811f

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e02439134e13033d980051754fd2ab81f0da751c1a03c22fe4d6443822a4e0a1
MD5 2ceee47c215652b4418600db261f2c0a
BLAKE2b-256 871b32c04a98f706f9975aca1e6a8c06be30667f3c40d98245d419761e30b0e4

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f5a80ee8881827bb81ccc1d85f896d3485120fb328462f6f0585459cb9b3b555
MD5 b36bb8654c10000a72779aa7e9d6e85a
BLAKE2b-256 6747cb43b51478d90faf56ae06f001f67c0dcba1478a55776ae6b2fa6a02a245

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0001da4b848b5bc2e192ad714e675fe1350ef1389dda48f66dc2f474d253f221
MD5 a5617805ee45a9f9d45d9128a0c8fd99
BLAKE2b-256 28baad20dd772fd0a07eb707da2a538b7c2934644c818767306f1dbfac130ffc

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c36935452a793a1c0291b6a7cc76b53c92bf66cd2e6c37acca9a34c1b9d440fd
MD5 78d3146fad1cb84d0f3d2a349f875d4d
BLAKE2b-256 2d93445e31dd0041d2a1f82111bf98af9c7265ac20ca240a28efeba6d200388a

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc1ec7d1b228f13729a11091feeed65d2f3af8a2ecaad000009307fc450adb4e
MD5 4f75a6653b2c959c717dde2753f858ad
BLAKE2b-256 d09cae3c89f575eb185d96333b746279711dd8529b5fa74d5415d9335a0a2a85

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f5e10aaeb24999ad0a0782af25919b2c4130397025ea4c87cd14a8172d1a3fcd
MD5 98a4f8a0a46350a46ffcbbfb659614fb
BLAKE2b-256 64f3444471419e94b25a642e047ddea6e589e513bcd6a74592ed0477ecd10145

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd4fd9032c3ca96cbf753e502c03b1d554df41cd22807a63b53c56353ab139d6
MD5 1dfd2201dfa06d26f685275278155509
BLAKE2b-256 18b96a6289dba445608ed125f0f63acdf508fdc44995e7e78b1b19d1334a2d5c

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cf8820cdf2d905701c397fd26eadf07ca96b68f539e5d5314e1bb04f980dfac9
MD5 7b3e768de4cc037afea91898f7a6d21e
BLAKE2b-256 ddf43aff2bfb1fdb22444bc68a0b97db8c2f1fdd076f6da1025fa971a852a626

See more details on using hashes here.

File details

Details for the file KratosMPMApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMPMApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMPMApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5804be781fd7baa059b8f357be4e69100fd44d466515c21becba208ed3f5c34d
MD5 5b7f477dba6d91fc1846bc3080cfa21e
BLAKE2b-256 f73ba752b46491c19ad789a38f07f1b079421735f680307c039d41df23f56d80

See more details on using hashes here.

Supported by

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