MPM is a particle-based method that represents material as a collection of material points. Each material point’s movement is determined via solving Newton’s laws of motion. MPM is a hybrid Eulerian-Lagrangian approach, which uses moving material points and a fixed computational grid. This approach is particularly useful in the context of large deformations where mesh distortions often produce unrealistic or undesirable results.

*Illustration of the MPM algorithm: (1) a representation of material points overlaid on a computational grid. Arrows represent material point state vectors (mass, volume, velocity, etc.) being projected to the nodes of the computational mesh; (2) the equations of motion are solved on the nodes, resulting in updated nodal kinematics; (3) the updated nodal kinematics is interpolated back to the material points; (4) the state of the material points is updated, and the computational mesh is reset.*

The group has implemented many special features and formulations beyond standard MPM, with some of these featured below:

**Multi-Phase MPM**

Our group have developed a stable two-phase MPM code by extending the traditional explicit version to a semi-implicit time integration scheme by assuming fractional step method. Furthermore, the Anura3D open-source code is developed for modeling levee erosion with both 1-point and 2-point MPM. A particular focus is placed on the reduction of fines and subsequent changes in the remaining soil skeleton strength and stiffness. This work is completed in the context of levee erosion.

**Extended MPM (XMPM)**

The XMPM formulation was developed to model the initiation and propagation of shear bands using the theory of bifurcation. In this work, the strong discontinuity assumption is considered and preferred to limit reliance on adaptive mesh refinement. The XMPM formulation is further reinforced with a frictional self-contact treatment to accurately resolve the post-failure behavior involving extremely large deformations.

**Cutmesh MPM**

Cutmesh MPM reduces near-boundary quadrature errors by updating the quadrature weights of material points by solving a set of polynomial equations for each cut element at each time step. Additionally, external loads are applied to the newly introduced boundary particles, reducing the error associated with applying load and traction to element nodes. In general, cutmesh MPM has been used to model high accuracy stress-strain behavior in near-cavity materials.

**Resources**

The group primarily uses Berkeley Geomechanics, which is an open-source C++ code based upon CB-Geo. The CB-Geo and Anura3D codebases are also utilized by the group.