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.4.2-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

kratosmpmapplication-10.4.2-cp314-cp314-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13Windows x86-64

kratosmpmapplication-10.4.2-cp313-cp313-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12Windows x86-64

kratosmpmapplication-10.4.2-cp312-cp312-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11Windows x86-64

kratosmpmapplication-10.4.2-cp311-cp311-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10Windows x86-64

kratosmpmapplication-10.4.2-cp310-cp310-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.9Windows x86-64

kratosmpmapplication-10.4.2-cp39-cp39-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.8Windows x86-64

kratosmpmapplication-10.4.2-cp38-cp38-manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp314-cp314-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp313-cp313-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp312-cp312-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp311-cp311-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp310-cp310-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp39-cp39-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

kratosmpmapplication-10.4.2-1-cp38-cp38-manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file kratosmpmapplication-10.4.2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f8364993702f74da78488a0c9617c9213f163451026a89341aa5257dd3f3a4db
MD5 2bb3be8d17ea821b03f247fc2e7cc1c3
BLAKE2b-256 bdab32a85ad744499fd4e868d39c919e417537d2ade03ee953e7ace65967af9d

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 514dd7a4a01992d75395dcfc641e5194b544309676aecc3e29ee7b04ba0e0db5
MD5 da1c4d7fae178d90700fa5bdbf1ef4a6
BLAKE2b-256 4b9b5e5cd0987bfa452da8d9a8c8ce16630764a00321bbf8b23c11c6fa74f66e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 702e6f2b5d03a2d9fddccb7c89d1b6b1e591de3bb29d2a0584faa3346c33ab44
MD5 dfe262d51707d2f3ffc5d93e71b82fbb
BLAKE2b-256 5022ec25f5ef217d1e51e7b1e0c5e64ea591ace8bd5e06b103a68ef83be9fa60

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7bafbdf0e87cd9b5b717f105e9a12bda58090b623a2578ed2e737e83c932f5ee
MD5 3f3b6236c2ad61f717104da070069297
BLAKE2b-256 5d1a17aba89735f11aa50cb4341d646de424e29071665e836b9e6fda194d20a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f91145bfcae4275cb37a42756082d83cd3cfeb335c2166ec323257cfe863932e
MD5 0a6f18a5752db54c1b6cbfc477b41ccf
BLAKE2b-256 63f43851b4341dee48f3b04009e3029258967072633132525e2e7731945f9691

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6d7f99a844aee4e3a86ee1bbe98bb81fe7f2efdf9a126cae7e5a640b51a68aa8
MD5 3643be3908092a1c406606a7536170d0
BLAKE2b-256 fc42592134eed9eed6be4b956fc015e65388e07af4bfc8a7f7f2b62f1f5730a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3e06bc18ba9a7f308d286a1169fd62e77eaa5dbee60e3e5b8dadb03dc548e5dc
MD5 55b917f5ea08227a92663e7e707bc1d4
BLAKE2b-256 b8ca241305d1785c0a60b21d2730a550a04d5e64a33ec6f25abafc44ddf62264

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4081ce5f4ab4892ef969e22c8653590c059db4145c4e215f7c5849ce39124015
MD5 b123f3fc82d8d84a7b6eb9d5cd9f787b
BLAKE2b-256 bebfca13904f3d7c489075ebc646018e0fb926bf3002341abbde595fb38fa8d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3ecc95205662d3b1e648ca06b7e377d52003e54e44eea0580281d3b244458d39
MD5 c46e06c42431def8e8b3a3d96fc19f94
BLAKE2b-256 9befd958311948739797b8e3d3e22bb221ca3c7db6becfc3552c03294deda857

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c186942be62cdd365ef8dd62c742082d3da5973a2f93cc5cc19834f049afac6b
MD5 572ed1f1d3ab67e1641e246dae21ef51
BLAKE2b-256 35925856b186aba5bf5466864c3c64d577bef8d8ceed0cdf00a8c0b2ee7f49bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d43a9bce33f8ea40eb0027593576da435e33392bb4863930556fff603d38f9a1
MD5 7e72c6209a6fa89c50ef779e140dd497
BLAKE2b-256 8c644214ab9987e62f7d15dc7b9bfc77f753cd8cda50e5cd40fec9f1a5eb45d8

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c4b38522e204e79a8931a1617b41d867393b15d1b9af062621ebc942a8ece73
MD5 335bee80bc14a1b718e5935db67e0d59
BLAKE2b-256 2f04a25ba6bb2f739c01cf27e3b3224390689c96166d7da4e2ca5d58898e4068

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 349da2ffa166c58a383570bd63e0d7d74ea49ab21a97cdc603d7fa1b081bd83c
MD5 b05538452faaa46cd946074f939cd5a0
BLAKE2b-256 a462e5cf71f8999ea44a1a23a86d77396855af203543650aab44da7bca547fcd

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5cd68b7afbd011d96ef79b8a6e1798be250fc6eca316f3cf647c544a5a1be93c
MD5 009fbbcf6f8eb5a26093142fbeb38642
BLAKE2b-256 f64fd0d17dffe122730346ffb0a693a015fa20257d4ac25cf6780849c51d2fd9

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db5e765244e498102776e834ea89ff8fdfe608925f0415f44dfaee10306554cd
MD5 c9fa3aabc34158cf29bb9f812ffc8759
BLAKE2b-256 6dca4b44b571789550f3f4e9a6386991d3927074f197f471e66ea8a3a3f73c5a

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 67eab3551fc083ecbbd01042b00513ff00e434cbb97d9dcf41bb5aef21387771
MD5 c94bf81311937837b948236476f73a17
BLAKE2b-256 c8d1890d8f8f0f1fb55831534e4781d74a851627921e7950fb10f343c56cde08

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c93fe5ebcf7c2c693c4cdbee0918cbd58d7fa80cf91f39059efef6c95f5accc
MD5 bfbcf96a6e1796929e96dbcb421d4865
BLAKE2b-256 bf2774783387191820704a69f24247ace9db4e362d6c9c93ffc7345aa727a247

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be9c73551bf76d75e83348963d54e07e77169c78c5e2d5cd4d54013153824153
MD5 ed0c5c25481c6f242f03aa02ad807f8b
BLAKE2b-256 f30677093d4b86f02dd8d2754686a0a043f7e7bae9f8d2c55fab231189a13760

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b4830f20d31b8a63b5b6e599afcc6b38db13cd3981def4f4bf6b5939f0104ef
MD5 66936560a3d2f029acffeb8956b401cf
BLAKE2b-256 a167e343b2c49b6dc623e033b52f7b388026b812352485e7df06ea5abc1f837e

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0bd06a7a579073d6a08c9350208f270fd81cd1895d3485205673233d96ba744
MD5 5528a29d57df7d75370c4880fc554653
BLAKE2b-256 018dae054831e6f6f3e16e6e96a1db8d1195eba18f0e054c39a06542a08a3ed4

See more details on using hashes here.

File details

Details for the file kratosmpmapplication-10.4.2-1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmpmapplication-10.4.2-1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 48bb399446a05931a0fb2b94b3c2ba2c72eb171a78565f521c9a75355d644065
MD5 a2649751077ca68d53eaf4dbf077ca0f
BLAKE2b-256 7ce743de395c00390dc9bd24ed72bce24a2aacbd25139c31310e1ff2fe6eb3b0

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