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.
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 byMPMApplication
.
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,...
- Neumann:
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
- Antonia Larese - Group Leader - antonia.larese@unipd.it
- Veronika Singer - Developer - veronika.singer@tum.de
- Laura Moreno - Developer - laura.morenomartinez@ua.es
- Andi Makarim Katili - Developer - andi.katili@tum.de
- Nicolò Crescenzio - Developer - nicolo.crescenzio@math.unipd.it
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
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7c3724dcbef47589335739293ed72efbb5509437af38bf7b6909a9c51734402 |
|
MD5 | 1d98b7c5668b3bc4d3e2d9328b1dfa02 |
|
BLAKE2b-256 | 44acdf69368fb9c6451f2173d69d03d31c3bb2dfce5709e70d73bb20f83e811f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e02439134e13033d980051754fd2ab81f0da751c1a03c22fe4d6443822a4e0a1 |
|
MD5 | 2ceee47c215652b4418600db261f2c0a |
|
BLAKE2b-256 | 871b32c04a98f706f9975aca1e6a8c06be30667f3c40d98245d419761e30b0e4 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5a80ee8881827bb81ccc1d85f896d3485120fb328462f6f0585459cb9b3b555 |
|
MD5 | b36bb8654c10000a72779aa7e9d6e85a |
|
BLAKE2b-256 | 6747cb43b51478d90faf56ae06f001f67c0dcba1478a55776ae6b2fa6a02a245 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0001da4b848b5bc2e192ad714e675fe1350ef1389dda48f66dc2f474d253f221 |
|
MD5 | a5617805ee45a9f9d45d9128a0c8fd99 |
|
BLAKE2b-256 | 28baad20dd772fd0a07eb707da2a538b7c2934644c818767306f1dbfac130ffc |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c36935452a793a1c0291b6a7cc76b53c92bf66cd2e6c37acca9a34c1b9d440fd |
|
MD5 | 78d3146fad1cb84d0f3d2a349f875d4d |
|
BLAKE2b-256 | 2d93445e31dd0041d2a1f82111bf98af9c7265ac20ca240a28efeba6d200388a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc1ec7d1b228f13729a11091feeed65d2f3af8a2ecaad000009307fc450adb4e |
|
MD5 | 4f75a6653b2c959c717dde2753f858ad |
|
BLAKE2b-256 | d09cae3c89f575eb185d96333b746279711dd8529b5fa74d5415d9335a0a2a85 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5e10aaeb24999ad0a0782af25919b2c4130397025ea4c87cd14a8172d1a3fcd |
|
MD5 | 98a4f8a0a46350a46ffcbbfb659614fb |
|
BLAKE2b-256 | 64f3444471419e94b25a642e047ddea6e589e513bcd6a74592ed0477ecd10145 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd4fd9032c3ca96cbf753e502c03b1d554df41cd22807a63b53c56353ab139d6 |
|
MD5 | 1dfd2201dfa06d26f685275278155509 |
|
BLAKE2b-256 | 18b96a6289dba445608ed125f0f63acdf508fdc44995e7e78b1b19d1334a2d5c |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf8820cdf2d905701c397fd26eadf07ca96b68f539e5d5314e1bb04f980dfac9 |
|
MD5 | 7b3e768de4cc037afea91898f7a6d21e |
|
BLAKE2b-256 | ddf43aff2bfb1fdb22444bc68a0b97db8c2f1fdd076f6da1025fa971a852a626 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5804be781fd7baa059b8f357be4e69100fd44d466515c21becba208ed3f5c34d |
|
MD5 | 5b7f477dba6d91fc1846bc3080cfa21e |
|
BLAKE2b-256 | f73ba752b46491c19ad789a38f07f1b079421735f680307c039d41df23f56d80 |