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.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

kratosmpmapplication-10.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

kratosmpmapplication-10.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

kratosmpmapplication-10.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

kratosmpmapplication-10.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

kratosmpmapplication-10.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5befbd53482e985b03caec68e7461de55d69f2eced05cf1986577a8d47de2a42
MD5 cd942682cf1a27624bd97029bf62e43e
BLAKE2b-256 45b7bbd29b1498a08272638c5bde92f08b3f499c183960bb9af3a769c622e342

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 560a7cf1a3ad4a08ffa3a4b152627d4a55e912d09f27e88c4c556e93c90909a3
MD5 035fa8be3f7c2b081f61048ad0021b11
BLAKE2b-256 ef2b2c1c5ec9677579bc4742fbfa1b0dfa6fdf780093810e7101406248120509

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bec8e780f06ae2753134ac87df89052ff64acf169c07a8b03eff2cdf6511ba78
MD5 0a9d86122104ee6a9fdaf54f3acec604
BLAKE2b-256 42653128fb884f3c56a4c015c6d71c30ae8acd10b5bcb46606ac2c23d7e243d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c20fb6b9e95e03e970616266bd9e4a3a5bfd4dec886ee62c7a6ccb94ebbab4d
MD5 b0195c1b34ec7e4ad3488b95b2e7a175
BLAKE2b-256 5aa24dcdd0ea6f55470478cc20f3464523e0756fab669088bc6a841a9c6368e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52e23054b1b7722115a32834dc5a689002043876ec6190aaeece89bfda1db99e
MD5 d2eb8cb85ffacf292db5f21c53f48fb8
BLAKE2b-256 291ec14f0ee23c15c92bb5ad5ac184e10f24580e0e2442639b06ae5df18483ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52ca431f7ae6d9677c17380c660e07134de9fd41683f6532b825fa7beb7a15d3
MD5 442a1fcd80b58df419d318f3ed164520
BLAKE2b-256 606c6376cd161af3d810dc1ba7538ff98537caa71dc420a2b56e502922f92f81

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