Skip to content

LandslideSIM/MaterialPointSolver.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MaterialPointSolver

CI

This package provides a high-performance, backend-agnostic implementation of the Material Point Method (MPM) using the Julia Language. It is lightweight and user-friendly, allowing efficient execution on various hardware accelerators with a single codebase. Please check here for the documentation.

Installation ⚙️

Just type ] in Julia's REPL:

julia> ]
(@1.11) Pkg> add MaterialPointSolver

Features 💪

These features can be combined in any way.

  • Basis function:

    • ✅ standard MPM
    • ✅ uGIMP (uniformed Generalized interpolation MPM)
    • ✅ cubic B-spline (boundary modified)
  • Stress update scheme:

    • ✅ USL (update stress last)
    • ✅ USF (update stress first)
    • ✅ MUSL (modified USL)
  • MPM formulation:

    • ✅ one-phase single-point
    • 🚧 two-phase single-point (saturated/unsaturated)
  • Constitutive model:

    • ✅ linear elastic

    • ✅ hyper elastic (Neo-Hookean)

    • ✅ Drucker-Prager (with softening/harding)

    • 🚧 Mohr-Coulomb

    • ✅ Bingham

  • Others:

    • ✅ affine MPM
    • $\bar{F}$-based volumetric locking elimination
    • ✅ Gaussian random field
    • ✅ one-click switch between FP64 and FP32
    • ✅ user-defined algorithms/extensions at any level

Citation ❤

If you use MaterialPointSolver.jl in your research, please consider to cite this paper:

@article{index,
  title={Here is the title},
  author={authors},
  journal={journal},
  year={year}
}

Caution

This is the latest version of MaterialPointSover.jl, if you want to see the examples in the paper, please move to https://github.com/LandslideSIM/Archive_MaterialPointSolver.jl_paper.

Acknowledgement 👍

This project is sponsored by Risk Group | Université de Lausanne and China Scholarship Council [中国国家留学基金管理委员会].

MPM ➕ Julia

  • [package]: elastoPlasm.jl is fully witten in Julia, it solves explicit elasto-plastic problems within a finite deformation framework.

  • [package]: Tesserae.jl is an MPM-related Julia package, it provides some useful functions that can be used for MPM, such as convenient macros for transferring data between grids and particles.

  • [code]: MPM-Julia is the code for the paper: Sinai, V.P. Nguyen, C.T. Nguyen and S. Bordas. Programming the Material Point Method in Julia. Advances in Engineering Software,105: 17--29, 2017.

  • [code]: jump is for the theory of the MPM described in the book 'The Material Point Method: Theory, Implementations and Applications (Scientific Computation) 1st ed. 2023 Edition'. https://link.springer.com/book/10.1007/978-3-031-24070-6