This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

AA-ULMPM: An Arbitrary Updated Lagrangian Material Point Method for Efficient Simulation of Solids and Fluids

Haozhe Su Rutgers University Tao Xue Rutgers University Chengguizi Han Rutgers University  and  Mridul Aanjaneya Rutgers University
Abstract.

We present an arbitrary updated Lagrangian Material Point Method (AA-ULMPM) to alleviate issues, such as the cell-crossing instability and numerical fracture, that plague state of the art Eulerian formulations of MPM, while still allowing for large deformations that arise in fluid simulations. Our proposed framework spans MPM discretizations from total Lagrangian formulations to Eulerian formulations. We design an easy-to-implement physics-based criterion that allows AA-ULMPM to update the reference configuration adaptively for measuring physical states including stress, strain, interpolation kernels and their derivatives. For better efficiency and conservation of angular momentum, we further integrate the APIC (Jiang et al., 2015) and MLS-MPM (Hu et al., 2018) formulations in AA-ULMPM by augmenting the accuracy of velocity rasterization using both the local velocity and its first-order derivatives. Our theoretical derivations use a nodal discretized Lagrangian, instead of the weak form discretization in MLS-MPM (Hu et al., 2018), and naturally lead to a “modified” MLS-MPM in AA-ULMPM, which can recover MLS-MPM using a completely Eulerian formulation. AA-ULMPM does not require significant changes to traditional Eulerian formulations of MPM, and is computationally more efficient since it only updates interpolation kernels and their derivatives when large topology changes occur. We present end-to-end 3D simulations of stretching and twisting hyperelastic solids, splashing liquids, and multi-material interactions with large deformations to demonstrate the efficacy of our novel AA-ULMPM framework.

Material Point Method, updated Lagrangian, Eulerian, solid mechanics, fluid simulation
journal: TOGccs: Computer systems organization Embedded systemsccs: Computer systems organization Redundancyccs: Computer systems organization Roboticsccs: Networks Network reliability
Refer to caption
Figure 1. Our AA-ULMPM framework (bottom) avoids issues such as numerical fracture and the cell-crossing instability that plague Eulerian approaches to MPM (top) and allows for large deformations in solid and fluid simulations while requiring 4.27×4.27\times31.52×31.52\times less computational overhead for configuration updates.

1. INTRODUCTION

The Material Point Method (MPM) family of discretizations (Sulsky et al., 1994), such as Fluid Implicit Particle (FLIP) (Brackbill et al., 1988) and Particle-in-Cell (PIC) (Sulsky et al., 1995), emerged as an effective choice for simulating various materials and gained popularity in visual effects (VFX) for providing high-fidelity physics simulations of snow (Stomakhin et al., 2013), sand (Klár et al., 2016; Daviet and Bertails-Descoubes, 2016), phase change (Stomakhin et al., 2014; Gao et al., 2018b), viscoelasticity (Ram et al., 2015; Yue et al., 2015; Su et al., 2021), viscoplasticity (Fang et al., 2019), elastoplasticity (Gao et al., 2017), fluid structure interactions (Fang et al., 2020), fracture (Wolper et al., 2019; Hegemann et al., 2013), fluid-sediment mixtures (Tampubolon et al., 2017; Gao et al., 2018a), baking and cooking (Ding et al., 2019), and diffusion-driven phenomena (Xue et al., 2020). In contrast to Lagrangian mesh-based methods, such as the Finite Element Method (FEM) (Zienkiewicz et al., 1977; Sifakis and Barbic, 2012), and pure particle-based methods, such as Smoothed Particle Hydrodynamics (SPH) (Desbrun and Gascuel, 1996; Liu et al., 2008), MPM merges the advantages of both Lagrangian and Eulerian approaches and automatically supports dynamic topology changes such as material splitting and merging. It uses Lagrangian particles to carry material states, while the background grid acts as an Eulerian “scratch pad” for computing the divergence of stress and performing spatial/temporal numerical integration. The use of a background grid allows for regular numerical stencils, benefiting from cache-locality, while the use of particles avoids the numerical dissipation issues characteristics of Eulerian grid-based schemes.

Refer to caption

MLS-EMPM: t={0.00833, 0.01667, 0.02500, 0.03333, 0.04167}t=\{0.00833,\>0.01667,\>0.02500,\>0.03333,\>0.04167\}s

Refer to caption

MLS-TLMPM: t={0.00833, 0.02500, 0.04167, 0.06250, 0.07917}t=\{0.00833,\>0.02500,\>0.04167,\>0.06250,\>0.07917\}s

Refer to caption

MLS-AA-ULMPM: t={0.00833, 0.02500, 0.04167, 0.06250, 0.07917}t=\{0.00833,\>0.02500,\>0.04167,\>0.06250,\>0.07917\}s

Figure 2. Eliminating numerical fracture. Our AA-ULMPM (bottom row) and TLMPM (middle row) for solid simulation capture the appealing hyperelastic rotation, preserve the angular momentum for long simulation periods, and completely eliminate numerical fracture. Traditional EMPM (top row) suffers from severe numerical fracture in solid simulations when large deformations occur, while TLMPM (middle row) does not. EMPM updates configurations simultaneously with respect to particles, while TLMPM does not update configurations at all. AA-ULMPM only updates configurations whenever the shape changes reach to our predefined criterion (see equation (33)). The background grid represents the configuration linking to the present particle dynamics.

Conventional MPM discretization employs an Eulerian formulation, which measures stress and strain and computes derivatives and integrals with respect to the Eulerian coordinates (i.e., the “current” configuration). Eulerian MPM (EMPM) has been acknowledged as a powerful tool for physics-based simulations (Jiang et al., 2016), particularly if the system involves large deformations, such as fluid-like motion. However, it suffers from a number of shortcomings such as the cell-crossing instability. Many studies have shown that when cell-crossing occurs, the MPM solutions can either be non-convergent or reduce the convergence rate when refining grid, with the spatial convergence rate varying between first and second order (Wallstedt and Guilkey, 2007) (see Figure 12). The deficiency of cell-cross instability has been reduced in the latest MPM formulations, such as the Affine Particle-In-Cell (APIC) method (Jiang et al., 2017b), the generalized interpolation MPM (GIMP) (Bardenhagen and Kober, 2004; Gao et al., 2017), and the Convected Particles Domain Interpolation (CPDI) (Sadeghirad et al., 2011). Among them, the APIC approach has been widely adopted in computer graphics. The central idea behind APIC is to retain the filtering property of PIC, but reduce dissipation by interpolating more information, such as the velocity and its derivatives, aiming to conserve linear and angular momentum. An improved APIC, namely PolyPIC, was proposed in (Fu et al., 2017) that allows for locally high-order approximations, rather than approximations to the grid velocity field. Later on, a moving least squares MPM formulation (MLS-MPM) (Hu et al., 2018) was developed by introducing the MLS technique to elevate the accuracy of the internal force evaluation and velocity derivatives.

Although EMPM discretizations have been improved to a certain degree via the aforementioned MLS techniques, they still suffer from numerical fracture that occurs when particles move far enough from the cell where they are originally located, and a gap of one cell or more is created between them. Such non-physical fracture depends only on the background grid resolution and is not related to any other issue that would ultimately limit the accuracy of the EMPM to model actual physical fracture of materials under large deformations (see Figure 2), particularly in solid simulations.

As a counterpart to Eulerian formulations, total Lagrangian formulations offer a promising alternative for avoiding the cell-crossing instability and numerical fracture in MPM (de Vaucorbeil et al., 2020; de Vaucorbeil and Nguyen, 2021). Unlike EMPM, total Lagrangian MPM (TLMPM) measures stress and strain and computes derivatives and integrals with respect to the original configuration at time t0t^{0} (similar to traditional FEM (Sifakis and Barbic, 2012; Zienkiewicz et al., 1977)). By doing this, no matter what the deformation, the reference configuration being always the same, there is neither any cell-crossing instability nor any numerical fracture. Despite its high efficacy in solid simulations, traditional TLMPM fails to model extremely large deformations that arise in fluid simulations. We show a 2D droplet example in Figure 3. TLMPM is not able to capture the dynamics of splashes because the interpolation kernel and its derivatives in TLMPM only reflect the fixed topology at time t0t^{0} and do not support extreme topologically changing dynamics.

Refer to caption

Kernel-TLMPM: t={0.14167, 0.20833, 0.47083, 0.74167, 1.31667, 1.88750, 2.04583}t=\{0.14167,\>0.20833,\>0.47083,\>0.74167,\>1.31667,\>1.88750,\>2.04583\}s

Refer to caption

Kernel-EMPM: t={0.14167, 0.20833, 0.47083, 0.74167, 1.31667, 1.88750, 2.06250}t=\{0.14167,\>0.20833,\>0.47083,\>0.74167,\>1.31667,\>1.88750,\>2.06250\}s

Refer to caption

MLS-TLMPM: t={0.14167, 0.20833, 0.47083, 0.74167, 1.31667, 1.88750, 2.06250}t=\{0.14167,\>0.20833,\>0.47083,\>0.74167,\>1.31667,\>1.88750,\>2.06250\}s

Refer to caption

MLS-AA-ULMPM: t={0.14167, 0.20833, 0.47083, 0.74167, 1.31667, 1.88750, 2.06250}t=\{0.14167,\>0.20833,\>0.47083,\>0.74167,\>1.31667,\>1.88750,\>2.06250\}s

Refer to caption

MLS-EMPM: t={0.14167, 0.20833, 0.47083, 0.74167, 1.31667, 1.88750, 2.06250}t=\{0.14167,\>0.20833,\>0.47083,\>0.74167,\>1.31667,\>1.88750,\>2.06250\}s

Figure 3. 2D Droplet. We integrate AA-ULMPM with traditional Kernel-MPM (Stomakhin et al., 2013) (see Appendix B) and MLS-MPM (see Section 5). Although TLMPM can eliminate numerical fracture in solid simulations as shown in Figure 2, it fails to capture very large deformations, such as fluid-like motion (see rows 1 and 3) in both Kernel-EMPM and MLS-EMPM. Our proposed AA-ULMPM automatically updates configurations to produce similarly detailed dynamics as those with EMPM for fluid simulation (see rows 4 and 5). Background grid represents the configuration linking to the present particle dynamics.

To alleviate the cell-crossing instability and numerical fracture while allowing for large deformations, we present an arbitrary updated Lagrangian discretization of MPM (AA-ULMPM) that spans from total Lagrangian formulations to Eulerian formulations. Unlike EMPM and TLMPM, AA-ULMPM allows the configuration to be updated adaptively for measuring physical states including stress, strain, interpolation kernels and their derivatives. As a natural extension, we revisit the APIC (Jiang et al., 2017b) and MLS-MPM (Hu et al., 2018) formulations and integrate these two methods in AA-ULMPM. We augment the accuracy of velocity rasterization by leveraging both the local velocity and its first-order derivatives. Our theoretical derivations focus on a nodal discretized Lagrangian (see equation (13)), instead of the weak form discretization in MLS-MPM (Hu et al., 2018), and naturally lead to a modified MLS-MPM in AA-ULMPM, which can recover MLS-MPM by using a completely Eulerian formulation. AA-ULMPM does not require significant changes to traditional EMPM, and is more computationally efficient since it only updates interpolation kernels and their derivatives when large topology changes occur. To summarize, our main contributions are as follows:

  1. (1)

    An arbitrary updated Lagrangian MPM (AA-ULMPM) that spans discretizations from TLMPM to EMPM and avoids the cell-crossing instability and numerical fracture;

  2. (2)

    An easy-to-implement criterion that automatically updates the reference topology to enable fluid-like simulations;

  3. (3)

    Integration of APIC and MLS-MPM in AA-ULMPM to allow angular momentum conservation and efficiency by reconstructing the interpolation kernel only during topology updates;

  4. (4)

    End-to-end 3D simulations of stretching and twisting hyperelastic solids, splashing liquids, and multi-material interactions to highlight the benefits of our AA-ULMPM framework.

2. RELATED WORK

In this work, we only review prior work related to MPM (Jiang et al., 2016) since our focus is on MPM. However, we note that there are several established methods for particle-based simulations, including SPH (Desbrun and Gascuel, 1996), position-based dynamics (Müller et al., 2004, 2007; Macklin et al., 2014), linear complementarity formulations (Erleben, 2013), and geometric computing techniques (d. Goes et al., 2015; Sin et al., 2009).

2.1. MPM in Graphics

The MPM discretization has been widely adopted in computer graphics applications (Jiang et al., 2016). The seminal work of Zhu and Bridson (Zhu and Bridson, 2005) first introduced the FLIP method for sand simulation. Subsequent works further explored its strength in simulating a broader spectrum of material behaviors including snow (Stomakhin et al., 2013), granular materials (Daviet and Bertails-Descoubes, 2016; Klár et al., 2016; Tampubolon et al., 2017; Gao et al., 2018a), foam (Ram et al., 2015; Yue et al., 2015), complex fluids (Fang et al., 2019; Gao et al., 2017), cloth, hair and fiber collisions (Jiang et al., 2017a; Fei et al., 2017, 2018), fracture (Wolper et al., 2019; Wolper et al., 2020) and phase change (Stomakhin et al., 2014; Gao et al., 2018b; Su et al., 2021). We also note the related works of (McAdams et al., 2009) for hair simulation, (Sifakis et al., 2008) for cloth simulation, (Narain et al., 2010) for sand simulation and (Patkar et al., 2013) for bubble simulation, which bear similarities to MPM due to their hybrid nature. Various works have improved or modified aspects of the standard MPM techniques commonly used in graphics (Fang et al., 2020; Yue et al., 2018; Xue et al., 2020; Ding et al., 2019). Among them, notably, Jiang et al. (2015; 2017b) proposed an Affine Particle-In-Cell (APIC) approach that conserves angular momentum and prevents visual artifacts such as noise, instability, clumping and volume loss/gain existing in both FLIP and PIC methods. Furthermore, APIC was enhanced in (Fu et al., 2017; Hu et al., 2018) to improve the kinetic energy conservation in particle/grid transfers.

Refer to caption

MLS-EMPM: Time instants from left to right t={0, 0.0005, 0.0009, 0.0016, 0.002, 0.0027}t=\{0,\>0.0005,\>0.0009,\>0.0016,\>0.002,\>0.0027\}s
Refer to caption
MLS-AA-ULMPM: Time instants from left to right t={0, 0.0005, 0.0009, 0.0016, 0.002, 0.0027}t=\{0,\>0.0005,\>0.0009,\>0.0016,\>0.002,\>0.0027\}s

Figure 4. 3D Twisting column. The two ends of a rectangular beam are kinematically separated while twisting the beam. Standard MLS-EMPM (top row) suffers from severe numerical fracture. In contrast, our MLS-AA-ULMPM (bottom row) nicely captures the rich twisting surface and preserves column shape.

2.2. MPM in Engineering

In the engineering community, MPM was first introduced in (Sulsky et al., 1994) as an extension of the FLIP method (Brackbill et al., 1988), and substantial improvements and variants have been proposed thereafter, including experimental validation for studying dynamic anticrack propagation in snow avalanches (Gaume et al., 2018) and the use of MPM for designing differentiable physics engines for robotics applications (Hu et al., 2019). Different strategies for updating the stress were compared to investigate the energy conservation error in MPM in (Bardenhagen, 2002). The quadrature error and cell-crossing error of MPM was investigated in (Steffen et al., 2008). A generalized interpolation material point method (GIMPM) (Bardenhagen and Kober, 2004) was proposed to obtain a smoother field representation by combining the shape functions of the grid with the particle characteristic function. The cell-crossing error in the MPM discretization was alleviated by introducing the local tangent affine deformation of particles in the convected particle domain method (CPDI) (Sadeghirad et al., 2011). However, CPDI does not completely remove the numerical fracture issue due to gaps between particles and grid cells. Recently, the standard MPM was reformulated with respect to the initial topology, which provides the total Lagrangian formulation for MPM (TLMPM) (de Vaucorbeil et al., 2020), which has been proven to completely eliminate the numerical fracture issue and cell-crossing instability and has been further extended in (de Vaucorbeil and Nguyen, 2021) to support multi-body contacts.

3. Overview of Different Formulations for Continuum Mechanics

In this section, we briefly revisit the Lagrangian framework from continuum mechanics for describing the governing equations of motion and summarize the different formulations that can be derived depending on the choice of the reference configuration.

\begin{overpic}[width=195.12767pt]{image/ball_impact_2.png} \put(8.0,0.0){$t=t_{0}$: $\boldsymbol{q}_{0}$} \put(42.0,0.0){$t=t_{s}$: $\boldsymbol{q}_{s}$} \put(75.0,0.0){$t=t_{n}$: $\boldsymbol{q}_{n}$} \put(25.0,35.0){$\boldsymbol{F}_{0s}=\frac{\partial\boldsymbol{q}_{s}}{\partial\boldsymbol{q}_{0}}$} \put(55.0,35.0){$\boldsymbol{F}_{sn}=\frac{\partial\boldsymbol{q}_{n}}{\partial\boldsymbol{q}_{s}}$} \put(40.0,43.0){$\boldsymbol{F}_{0n}=\frac{\partial\boldsymbol{q}_{n}}{\partial\boldsymbol{q}_{0}}$} \end{overpic}
Figure 5. Elastic ball. The deformation gradient can be described with respect to the initial configuration (total Lagrangian formulation) at time t0t_{0} as 𝑭0s\boldsymbol{F}_{0s} and 𝑭0n\boldsymbol{F}_{0n}, or with respect to an intermediate configuration at time tst_{s} (updated Lagrangian formulation) as 𝑭sn\boldsymbol{F}_{sn}, where 𝒒\boldsymbol{q} is the displacement.

3.1. Lagrangian Framework

The Lagrangian \mathcal{L} for holonomic systems is defined as:

(1) (𝒒,𝒒˙)=𝒦(𝒒˙)𝒰(𝒒)\mathcal{L}(\boldsymbol{q},\dot{\boldsymbol{q}})=\mathcal{K}(\boldsymbol{\dot{q}})-\mathcal{U}(\boldsymbol{q})

where 𝒒\boldsymbol{q} is the generalized displacement, 𝒒˙\boldsymbol{\dot{q}} is the generalized velocity, 𝒦(𝒒˙)\mathcal{K}(\dot{\boldsymbol{q}}) is the kinetic energy and 𝒰(𝒒)\mathcal{U}(\boldsymbol{q}) is the potential energy. By omitting the energy due to external body forces and traction for simplicity, the kinetic and potential energies can be defined as:

(2) 𝒦(𝒒˙)=12𝒒˙T𝒒˙𝑑V,𝒰(𝒒)=ρ0Ψ(𝑭)𝑑V\mathcal{K}(\boldsymbol{\dot{q}})=\frac{1}{2}\int_{\mathcal{B}}\boldsymbol{\dot{q}}^{T}\boldsymbol{\dot{q}}dV,\quad\mathcal{U}(\boldsymbol{q})=\int_{\mathcal{B}}\rho_{0}\Psi(\boldsymbol{F})dV

where ρ0\rho_{0} is the material density at time t0t_{0}, Ψ(𝑭)\Psi(\boldsymbol{F}) denotes the Helmholtz free energy per unit mass in homogeneous materials, and 𝑭\boldsymbol{F} is the deformation gradient tensor. Consequently, the Lagrangian density function can be defined as follows:

(3) ¯(𝒒,𝒒˙,𝑭)=12ρ0𝒒˙T𝒒˙Ψ(𝑭)\bar{\mathcal{L}}(\boldsymbol{q},\boldsymbol{\dot{q}},\boldsymbol{F})=\frac{1}{2}\rho_{0}\boldsymbol{\dot{q}}^{T}\boldsymbol{\dot{q}}-\Psi(\boldsymbol{F})

Based on the Lagrangian framework (Zienkiewicz et al., 1977), the governing equations of motion at time tnt_{n} can be described as:

(4) ddt(¯𝒒˙n)¯𝒒n=𝟎\frac{d}{dt}\left(\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{\dot{q}}_{n}}\right)-\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{q}_{n}}=\boldsymbol{0}

where

(5) ddt(¯𝒒˙n)=ρ0𝒒¨n,¯𝒒n=Ψ(𝑭)𝑭𝑭𝒒n.\frac{d}{dt}\left(\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{\dot{q}}_{n}}\right)=\rho_{0}\boldsymbol{\ddot{q}}_{n},\quad\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{q}_{n}}=\frac{\partial\Psi(\boldsymbol{F})}{\partial\boldsymbol{F}}\frac{\partial\boldsymbol{F}}{\partial\boldsymbol{q}_{n}}.

Note that the term Ψ(𝑭)/𝑭{\partial\Psi(\boldsymbol{F})}/{\partial\boldsymbol{F}} represents a stress tensor that is determined by the material constitutive model, and the term 𝑭/𝒒{\partial\boldsymbol{F}}/{\partial\boldsymbol{q}} can be further expressed in terms of a divergence operator. These two terms together define the internal force as the material deforms.

3.2. Total Lagrangian Formulation

In this formulation, the stress and strain in the material are measured relative to the original configuration at time t0t_{0} (see Figure 5), such that the deformation gradient tensor 𝑭\boldsymbol{F} is the displacement derivative of 𝒒n\boldsymbol{q}_{n} with respect to 𝒒0\boldsymbol{q}_{0}. Substituting 𝑭0n\boldsymbol{F}_{0n} to ¯/𝒒n\partial\bar{\mathcal{L}}/\partial\boldsymbol{q}_{n} gives:

¯𝒒n=Ψ(𝑭)𝑭0n𝒒n(𝒒n𝒒0)=0\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{q}_{n}}=\frac{\partial\Psi(\boldsymbol{F})}{\partial\boldsymbol{F}_{0n}}\frac{\partial}{\partial\boldsymbol{q}_{n}}\left(\frac{\partial\boldsymbol{q}_{n}}{\partial\boldsymbol{q}_{0}}\right)=\nabla_{0}\cdot\mathbb{P}

and have the following governing equation of motion:

(6) ρ0𝒒¨n=00\rho_{0}\boldsymbol{\ddot{q}}_{n}=\nabla_{0}\cdot\mathbb{P}_{0}

where the divergence operator 0\nabla_{0} is also evaluated with respect to the original configuration at time t0t_{0}. In the total Lagrangian formulation, the stress tensor 0\mathbb{P}_{0} is the first Piola–Kirchhoff stress.

3.3. Eulerian Formulation

In this formulation, the stress and strain in the material are measured relative to the current configuration at time tnt_{n} (see Figure 5). Thus, the expression for ¯/𝒒{\partial\bar{\mathcal{L}}}/{\partial\boldsymbol{q}} can be expanded as follows:

¯𝒒n=Ψ(𝑭)𝑭0n𝑭0n𝒒n=𝒒n(Ψ(𝑭)𝑭0n𝒒n𝒒0)=n(0𝑭0nT)\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{q}_{n}}=\frac{\partial\Psi(\boldsymbol{F})}{\partial\boldsymbol{F}_{0n}}\frac{\partial\boldsymbol{F}_{0n}}{\partial\boldsymbol{q}_{n}}=\frac{\partial}{\partial\boldsymbol{q}_{n}}\left(\frac{\partial\Psi(\boldsymbol{F})}{\partial\boldsymbol{F}_{0n}}\frac{\partial\boldsymbol{q}_{n}}{\partial\boldsymbol{q}_{0}}\right)=\nabla_{n}\cdot\left(\mathbb{P}_{0}\boldsymbol{F}_{0n}^{T}\right)

Besides, ρ0\rho_{0} can be mapped to ρn\rho_{n} using the relation ρ0=J0nρn\rho_{0}=J_{0n}\rho_{n}, where ρn\rho_{n} is the density at time tnt_{n} and J0n=det(𝑭0n)J_{0n}=\text{det}(\boldsymbol{F}_{0n}). Consequently, the Eulerian formulation gives the following equation of motion:

(7) ρn𝒒¨=nn\rho_{n}\boldsymbol{\ddot{q}}=\nabla_{n}\cdot\mathbb{P}_{n}

where n=0𝑭0nT/J0n\mathbb{P}_{n}=\mathbb{P}_{0}\boldsymbol{F}_{0n}^{T}/{J_{0n}} provides the definition of the Cauchy stress.

3.4. Arbitrary Updated Lagrangian Formulation

A general formulation for measuring stress and strain with respect to an arbitrary reference configuration at time tst_{s} has been derived in (Zienkiewicz et al., 1977; Shabana, 2018). In this formulation, the expression for ¯/𝒒{\partial\bar{\mathcal{L}}}/{\partial\boldsymbol{q}} can be expanded as follows:

(8) ¯𝒒n=Ψ(𝑭)𝑭0n𝑭0n𝒒n=Ψ(𝑭)𝑭0n𝑭0n𝑭sn𝑭sn𝒒n=s(0𝑭0sT)\displaystyle\frac{\partial\bar{\mathcal{L}}}{\partial\boldsymbol{q}_{n}}=\frac{\partial\Psi(\boldsymbol{F})}{\partial\boldsymbol{F}_{0n}}\frac{\partial\boldsymbol{F}_{0n}}{\partial\boldsymbol{q}_{n}}=\frac{\partial\Psi(\boldsymbol{F})}{\partial\boldsymbol{F}_{0n}}\frac{\partial\boldsymbol{F}_{0n}}{\partial\boldsymbol{F}_{sn}}\frac{\partial\boldsymbol{F}_{sn}}{\partial\boldsymbol{q}_{n}}=\nabla_{s}\cdot\left(\mathbb{P}_{0}\boldsymbol{F}_{0s}^{T}\right)

Similar to the Eulerian formulation, we map ρ0\rho_{0} to ρs\rho_{s} using the relation ρs=J0sρs\rho_{s}=J_{0s}\rho_{s}, where ρs\rho_{s} represents the density at time tst_{s} and J0s=det(𝑭0s)J_{0s}=\text{det}(\boldsymbol{F}_{0s}). Consequently, the arbitrary updated Lagrangian formulation gives the following governing equation of motion:

(9) ρs𝒒¨=ss\rho_{s}\boldsymbol{\ddot{q}}=\nabla_{s}\cdot\mathbb{P}_{s}

where s=0𝑭0sT/J0s\mathbb{P}_{s}=\mathbb{P}_{0}\boldsymbol{F}_{0s}^{T}/{J_{0s}} defines a stress measured at time tst_{s}. By setting s=0s=0 and using the defining properties of the initial configuration J00=1J_{00}=1 and 𝑭00=𝑰\boldsymbol{F}_{00}=\boldsymbol{I}, where 𝑰\boldsymbol{I} is the identity matrix, equation (9) recovers the total Lagrangian formulation in equation (6). Likewise, setting s=ns=n yields the Eulerian formulation in equation (7).

4. Method Overview

Refer to caption
Figure 6. Overview of our proposed method. The red and green arrows represent the velocity and force vectors at the nodes of the background grid. The blue grids represent the previous configuration while the green grids denote the new configuration according to our criterion for updating the state.
Refer to caption

MLS-EMPM: t={0.0008, 0.0026, 0.0032, 0.0035, 0.04, 0.1}t=\{0.0008,\>0.0026,\>0.0032,\>0.0035,\>0.04,\>0.1\}s
Refer to caption MLS-AA-ULMPM: t={0.0008, 0.0026, 0.0032, 0.0035, 0.04, 0.1}t=\{0.0008,\>0.0026,\>0.0032,\>0.0035,\>0.04,\>0.1\}s

Figure 7. The kinematic constraint on one end of the beam is released after a certain time. MLS-EMPM (row 1) fails to recover from the twisting deformation, while MLS-AA-ULMPM (row 2) produces realistic elastic response and recovers from the elastic deformation induced by the pulling and twisting motion.

Our method introduces a nodal discretized Lagrangian into hybrid grid-to-particle discretization for MPM and takes advantage of the zero cell-crossing error and zero numerical fracture properties of TLMPM. It also allows for updating the reference configuration in an adaptive manner to ensure robustness during extreme material deformations, such as those arising in fluid simulations. In contrast to prior MPM formulations (see equations (6) and (7)), our method adopts adaptive reference configurations (see grids at time tst_{s} in Figure 5) to measure stress, strain, interpolation kernels and their derivatives. Data from particles is first transferred to grids (P2G) in their latest configuration. Next, the forces are evaluated and the velocities are updated on these grids. Subsequently, the updated grid velocities are interpolated back to the particles (G2P) and used to update the particle positions following the APIC method (Jiang et al., 2015). The velocity gradients and deformation gradients are then updated on the particles leveraging information on the grids. Our method uses a novel criterion (see equation (33)) for automatically determining when to update the grid configuration. This prevents data transfers between the particles and grids from accumulating errors as the interpolation functions are only updated when necessary. Figure 6 provides a high-level overview of our method and the essential algorithmic steps are summarized below:

  1. (1)

    P2G Rasterization: Velocities on particles are reconstructed by first-order Taylor expansion, and mass and momentum from particles at time tnt_{n} are transferred to grids at time tst_{s}.

  2. (2)

    Grid Momentum Update: Grid momentum is updated using explicit or implicit schemes. Note that forces are evaluated with respect to the latest configuration at time tst_{s}.

  3. (3)

    G2P Velocity Transfer: Use APIC (Jiang et al., 2015) to transfer velocities from the grid to particles.

  4. (4)

    Update Particle Positions: Particle positions are updated with their new velocities.

  5. (5)

    Update Particle Deformation Gradients: Use the MLS gradient operator to update the particle deformation gradient and account for plasticity, if it occurs.

  6. (6)

    Update Grid Configuration: Check if the deformation is extreme according to the update criterion in equation (33). In case of a large deformation, update weights between particles and the grid and the 𝕂\mathbb{K} matrices on particles.

4.1. Terminology

We show integration of our arbitrary updated Lagrangian formulation with Kernel-MPM (Stomakhin et al., 2013) in Appendix B and MLS-MPM (Hu et al., 2018) in Section 5. In Kernel-MPM, the interpolation is performed using shape functions and stress divergence is evaluated by derivatives of the shape function, while MLS-MPM utilizes APIC particle-to-grid velocity rasterization and uses MLS shape functions to derive the internal force term. Using these definitions, our terminology for different methods is provided as follows:

  1. (1)

    Kernel-MPM: In kernel-MPM, we have kernel-EMPM and kernel-TLMPM represent the kernel-MPM in Eulerian and total Lagrangian frameworks, respectively. Kernel-EMPM was presented in (Stomakhin et al., 2013) and kernel-TLMPM was present in (de Vaucorbeil et al., 2020). These two methods can be recovered in our kernel-AA-ULMPM framework by setting s=ns=n for EMPM and s=0s=0 for TLMPM.

  2. (2)

    MLS-MPM: In MLS-MPM, we have MLS-EMPM and MLS-TLMPM represent MLS-MPM in Eulerian and total Lagrangian frameworks, respectively. MLS-EMPM was presented in MLS-MPM (Hu et al., 2018). Besides, MLS-EMPM and MLS-TLMPM can be recovered in MLS-AA-ULMPM by setting s=ns=n for MLS-EMPM and s=0s=0 for MLS-TLMPM.

Table 1. Physical quantities stored on particles and grid nodes.
Particle Description Grid
𝒒p\boldsymbol{q}_{p} position 𝒒i\boldsymbol{q}_{i}
𝒗p\boldsymbol{v}_{p} velocity 𝒗i\boldsymbol{v}_{i}
𝑭p0n\boldsymbol{F}_{p}^{0n} deformation gradient at tnt_{n}
with respect to configuration at t0t_{0} --
𝑭p0s\boldsymbol{F}_{p}^{0s} deformation gradient at tst_{s}
with respect to configuration at t0t_{0} --
𝑭psn\boldsymbol{F}_{p}^{sn} deformation gradient at tnt_{n}
with respect to configuration at tst_{s} --
ps\mathbb{P}_{p}^{s} Stress tensor --
JpsnJ_{p}^{sn} volume change at tnt_{n}
with respect to configuration at tst_{s} --
-- force 𝒇i\boldsymbol{f}_{i}
VpV_{p} volume --
mpm_{p} mass mim_{i}

5. AA-ULMPM Formulation

Starting from a nodal Lagrangian formulation, we derive an alternate expression for equation (6) in the hybrid particle-grid framework of MPM. Interestingly, our formulation leads to a new MLS-MPM method (MLS-AA-ULMPM) whose variant recovers MLS-MPM (Hu et al., 2018) in the Eulerian setting. We use subscript ii to denote quantities on grid nodes, subscript pp to denote quantities on particles, and subscript ss to denote the intermediate configuration map. Table 1 summarizes the notation used in this section.

Refer to caption
Figure 8. Snow bunnies break over a wedge. Our AA-ULMPM framework captures rich interactions of several snow bunnies smashing and scattering after falling on a solid wedge, demonstrating the extreme deformations that our method can capture, similar to its Eulerian counterparts proposed in prior works.

5.1. Grid Setting

We use a global grid that covers the entire computational domain. Each object has its own configuration map ϕ\phi that maps points 𝒙\boldsymbol{x} within the object to specific locations ϕ(𝒙)\phi(\boldsymbol{x}) in the global grid. To reduce the associated memory overhead, we implement the global grid using sparsity aware data structures (Setaluri et al., 2014).

5.2. P2G Rasterization

In contrast to EMPM, the velocity gradients s𝒗p\nabla_{s}\boldsymbol{v}_{p} and weights WpisW_{pi}^{s} are all evaluated with respect to the configuration map ϕ\phi at time tst_{s}. We use a first order Taylor expansion to reconstruct particle velocities and rasterize particle momentum to the grid as follows:

(10) mis𝒗in=pmp(𝒗pn+s𝒗p𝒓ips)Wpism_{i}^{s}\boldsymbol{v}_{i}^{n}=\sum_{p}m_{p}\left(\boldsymbol{v}_{p}^{n}+\nabla_{s}\boldsymbol{v}_{p}\boldsymbol{r}_{ip}^{s}\right)W_{pi}^{s}

where 𝒓ips=(𝒒ps𝒒is)\boldsymbol{r}_{ip}^{s}=\left(\boldsymbol{q}_{p}^{s}-\boldsymbol{q}_{i}^{s}\right) and s𝒗pn=𝒗pn𝒒s\nabla_{s}\boldsymbol{v}_{p}^{n}=\frac{\partial\boldsymbol{v}_{p}^{n}}{\partial\boldsymbol{q}_{s}}, which is further expanded out in equation (31). The mass/velocity at grid nodes are given by:

(11) mis=pmpWpis,𝒗in=mis𝒗inpmpWpism_{i}^{s}=\sum_{p}m_{p}W_{pi}^{s},\quad\boldsymbol{v}_{i}^{n}=\frac{m_{i}^{s}\boldsymbol{v}_{i}^{n}}{\sum_{p}m_{p}W_{pi}^{s}}

We also rasterize particle positions to the grid to simplify the theoretical derivations for the deformation gradient in equation (29) and internal forces in equation (19) as shown below:

(12) 𝒒in=p𝒒pnWijspWijs\boldsymbol{q}_{i}^{n}=\frac{\sum_{p}\boldsymbol{q}_{p}^{n}W_{ij}^{s}}{\sum_{p}W_{ij}^{s}}

The idea of introducing a first-order Taylor expansion to enhance velocity rasterization is not new and can also be found in APIC (Jiang et al., 2015) and MLS-MPM (Hu et al., 2018).

5.3. Grid Momentum Update

5.3.1. Nodal Lagrangian

We interpolate the Lagrangian in+1\mathcal{L}_{i}^{n+1} at grid node ii using values associated with its nearby particles pp as follows:

(13) in+1=p[12ρj0(𝒒˙pn+1)T𝒒˙pn+1Ψ(𝑭p0n+1)]WipsVps\displaystyle\mathcal{L}_{i}^{n+1}=\sum_{p}\left[\frac{1}{2}\rho_{j}^{0}\left(\boldsymbol{\dot{q}}_{p}^{n+1}\right)^{T}\boldsymbol{\dot{q}}^{n+1}_{p}-\Psi\left(\boldsymbol{F}_{p}^{0{n+1}}\right)\right]W_{ip}^{s}V_{p}^{s}

Substituting the expression for in+1\mathcal{L}_{i}^{n+1} to equations (4) and (8) gives:

  1. (1)

    Kinetic term:

    (14) ddt(in+1𝒒˙in+1)=pρp0𝒒˙pn+1WipsVps=pρp0WipsVps𝒒¨pn+1=mis𝒒¨pn+1\displaystyle\frac{d}{dt}\left(\frac{\partial\mathcal{L}_{i}^{n+1}}{\partial\boldsymbol{\dot{q}}_{i}^{n+1}}\right)=\sum_{p}\rho_{p}^{0}\boldsymbol{\dot{q}}_{p}^{n+1}W_{ip}^{s}V_{p}^{s}=\sum_{p}\rho_{p}^{0}W_{ip}^{s}V_{p}^{s}\boldsymbol{\ddot{q}}_{p}^{n+1}=m_{i}^{s}\boldsymbol{\ddot{q}}_{p}^{n+1}
  2. (2)

    Deformation term:

    (15) in+1𝒒in=pΨ(𝑭p0n+1)𝒒inWipsVps=pps(𝑭ps(n+1))T𝒒isWipsVps\displaystyle\frac{\partial\mathcal{L}_{i}^{n+1}}{\partial\boldsymbol{q}_{i}^{n}}=-\sum_{p}\frac{\partial\Psi(\boldsymbol{F}_{p}^{0{n+1}})}{\partial\boldsymbol{q}_{i}^{n}}W_{ip}^{s}V_{p}^{s}=-\sum_{p}\mathbb{P}_{p}^{s}\frac{\partial(\boldsymbol{F}_{p}^{s(n+1)})^{T}}{\partial\boldsymbol{q}_{i}^{s}}W_{ip}^{s}V_{p}^{s}

    where js=j0(𝑭j0s)T/Jj0s\mathbb{P}_{j}^{s}=\mathbb{P}_{j}^{0}(\boldsymbol{F}_{j}^{0s})^{T}/J_{j}^{0s}.

Refer to caption
Figure 9. Liquid bunny splash inside a ball. A liquid bunny is dropped inside a spherical container and undergoes vibrant and dynamic splashes, demonstrating that our proposed AA-ULMPM framework can capture the rich motion of incompressible fluids similar to existing Eulerian approaches proposed in prior works.

Thus, the equation of motion for grid node ii at time tnt_{n} is given by:

(16) mis𝒒¨in+1+jps(𝑭p0s)T(𝑭ps(n+1))T𝒒isWipsVjs=𝟎m_{i}^{s}\boldsymbol{\ddot{q}}_{i}^{n+1}+\sum_{j}\mathbb{P}_{p}^{s}(\boldsymbol{F}_{p}^{0s})^{T}\frac{\partial(\boldsymbol{F}_{p}^{s(n+1)})^{T}}{\partial\boldsymbol{q}_{i}^{s}}W_{ip}^{s}V_{j}^{s}=\boldsymbol{0}

The reader may have noticed that an explicit expression of equation (16) relies on a concrete formulation of 𝑭ps(n+1)\boldsymbol{F}_{p}^{s(n+1)} and its derivative (𝑭ps(n+1))/𝒒is{\partial(\boldsymbol{F}_{p}^{s(n+1)})}/{\partial\boldsymbol{q}_{i}^{s}}. For example, in kernel-MPM (Stomakhin et al., 2013), the shape function is unitized to simplify the internal force evaluation in equation (16) (see Appendix B).

5.3.2. MLS-based gradient operator

We use the gradient operator based on moving least squares (MLS) that was proposed in (Xue et al., 2019) (see Appendix A) that locally minimizes the error of a certain position over its neighborhood. Following the same notation in equation (16), the deformation gradient of particle pp at time tnt_{n} relative to an arbitrary configuration map at time tst_{s} is given as:

(17) 𝑭ps(n+1)=(k(𝒒kn+1𝒒pn+1)𝒓pksWpks)(k𝒓pks𝒓pksWpks)1\displaystyle\boldsymbol{F}_{p}^{s(n+1)}=\left(\sum_{k}(\boldsymbol{q}_{k}^{n+1}-\boldsymbol{q}_{p}^{n+1})\otimes\boldsymbol{r}_{pk}^{s}W_{pk}^{s}\right)\left(\sum_{k}\boldsymbol{r}_{pk}^{s}\otimes\boldsymbol{r}_{pk}^{s}W_{pk}^{s}\right)^{-1}

where 𝒓pks=𝒒ks𝒒ps\boldsymbol{r}_{pk}^{s}=\boldsymbol{q}_{k}^{s}-\boldsymbol{q}_{p}^{s}.

5.3.3. Evaluation of 𝑭ps(n+1)/𝒒is\partial\boldsymbol{F}_{p}^{s(n+1)}/\partial\boldsymbol{q}_{i}^{s}

Based on equation (41) in Appendix A, we evaluate the derivative of 𝑭psn\boldsymbol{F}_{p}^{sn} with respect to 𝒒is\boldsymbol{q}_{i}^{s} as:

(18) 𝑭ps(n+1)𝒒is=(k[δikn+1δipn+1)𝒓pksWpks][k𝒓pks𝒓pksWpksVks]1\displaystyle\small\frac{\partial\boldsymbol{F}_{p}^{s(n+1)}}{\partial\boldsymbol{q}_{i}^{s}}=\left(\sum_{k}\left[\delta_{ik}^{n+1}-\delta_{ip}^{n+1}\right)\otimes\boldsymbol{r}_{pk}^{s}W_{pk}^{s}\right]\left[\sum_{k}\boldsymbol{r}_{pk}^{s}\otimes\boldsymbol{r}_{pk}^{s}W_{pk}^{s}V_{k}^{s}\right]^{-1}

5.3.4. MPM Equation of Motion with Arbitrary Updated Lagrangian

Substituting equation (18) to equation (16) yields the following equation of motion for grid node ii at time tnt_{n}:

(19) mis𝒒¨in+1+p[ps𝕂ps+is𝕂is]𝒓ipsWipsVps=𝟎m_{i}^{s}\boldsymbol{\ddot{q}}_{i}^{n+1}+\sum_{p}\left[\mathbb{P}_{p}^{s}\mathbb{K}_{p}^{s}+\mathbb{P}_{i}^{s}\mathbb{K}_{i}^{s}\right]\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{p}^{s}=\boldsymbol{0}\vspace{-3mm}

where ps=p0(𝑭ps(n+1))T\mathbb{P}_{p}^{s}=\mathbb{P}_{p}^{0}(\boldsymbol{F}_{p}^{s(n+1)})^{T} and is=i0(𝑭is(n+1))T\mathbb{P}_{i}^{s}=\mathbb{P}_{i}^{0}(\boldsymbol{F}_{i}^{s(n+1)})^{T}. 𝕂ps\mathbb{K}_{p}^{s} and 𝕂is\mathbb{K}_{i}^{s} are given by:

𝕂ps=(i𝒓pis𝒓pisWpisVis)1,𝕂is=(p𝒓ips𝒓ipsWipsVps)1.\mathbb{K}_{p}^{s}=\left(\sum_{i}\boldsymbol{r}_{pi}^{s}\otimes\boldsymbol{r}_{pi}^{s}W_{pi}^{s}V_{i}^{s}\right)^{-1},\quad\mathbb{K}_{i}^{s}=\left(\sum_{p}\boldsymbol{r}_{ip}^{s}\otimes\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{p}^{s}\right)^{-1}.

We take advantage of equation (12) to simplify the term i0(𝑭i0s)T𝕂is\mathbb{P}_{i}^{0}(\boldsymbol{F}_{i}^{0s})^{T}\mathbb{K}_{i}^{s} in equation (19) as follows:

pis𝕂is𝒓ipsWipsVps=is𝕂isp𝒓ipsWipsVps=0\sum_{p}\mathbb{P}_{i}^{s}\mathbb{K}_{i}^{s}\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{p}^{s}=\mathbb{P}_{i}^{s}\mathbb{K}_{i}^{s}\sum_{p}\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{p}^{s}=0

Setting Vps=JpsVp0V_{p}^{s}=J_{p}^{s}V_{p}^{0}, equation (19) can be rewritten as follows:

(20) mis𝒒¨in+1+pp0(𝑭p0s)T𝕂ps𝒓ipsWipsVp0=𝟎\displaystyle m_{i}^{s}\boldsymbol{\ddot{q}}_{i}^{n+1}+\sum_{p}\mathbb{P}_{p}^{0}(\boldsymbol{F}_{p}^{0s})^{T}\mathbb{K}_{p}^{s}\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{p}^{0}=\boldsymbol{0}\vspace{-3mm}

Equation (20) is a general MPM formulation that allows the use of arbitrary intermediate configurations. It spans from total Lagrangian formulations to updated Lagrangian formulations. Specifically:

  1. (1)

    Setting s=0s=0 yields total Lagrangian MPM:

    (21) mi0𝒒¨in+1+pp0𝕂p0𝒓ip0Wip0Vp0=𝟎\displaystyle m_{i}^{0}\boldsymbol{\ddot{q}}_{i}^{n+1}+\sum_{p}\mathbb{P}_{p}^{0}\mathbb{K}_{p}^{0}\boldsymbol{r}_{ip}^{0}W_{ip}^{0}V_{p}^{0}=\boldsymbol{0}
  2. (2)

    Setting s=n+1s=n+1 yields Eulerian MPM:

    (22) min𝒒¨in+1+pp0(𝑭p0(n+1))T𝕂pn+1𝒓ipn+1Wipn+1Vp0=𝟎\displaystyle m_{i}^{n}\boldsymbol{\ddot{q}}_{i}^{n+1}+\sum_{p}\mathbb{P}_{p}^{0}(\boldsymbol{F}_{p}^{0(n+1)})^{T}\mathbb{K}_{p}^{n+1}\boldsymbol{r}_{ip}^{n+1}W_{ip}^{n+1}V_{p}^{0}=\boldsymbol{0}

In the total Lagrangian formulation, there is no need to update WipW_{ip}, 𝒓ip\boldsymbol{r}_{ip}, mim_{i}, and 𝕂p\mathbb{K}_{p} matrices in equation (21), while they require an update at every time step in the Eulerian setting (see equation (22)).

Refer to caption
Refer to caption
Figure 10. Hyperelastic bunny yo-yo. Under the effects of gravity, a hyperelastic bunny yo-yo breaks mid-way due to numerical fracture, when simulated with MLS-EMPM (top), while MLS-AA-ULMPM (bottom) robustly captures the stretching motion of the elastic cord to pull the bunnies back upwards.

5.4. Grid Velocity and Position Update

With explicit time stepping, the velocity is updated as 𝒗in+1=𝒗^in+1\boldsymbol{v}_{i}^{n+1}=\boldsymbol{\hat{v}}_{i}^{n+1}, where 𝒗^in+1\boldsymbol{\hat{v}}_{i}^{n+1} is given by:

(23) 𝒗^in+1=𝒗inΔtmipp0(𝑭p0s)T𝕂ps𝒓ipsWipsVj0\boldsymbol{\hat{v}}_{i}^{n+1}=\boldsymbol{v}_{i}^{n}-\frac{\Delta t}{m_{i}}\sum_{p}\mathbb{P}_{p}^{0}(\boldsymbol{F}_{p}^{0s})^{T}\mathbb{K}_{p}^{s}\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{j}^{0}\\

For a semi-implicit update, we follow (Stomakhin et al., 2013; Hu et al., 2018) and take an implicit step on the velocity update by utilizing the Hessian of n+1\mathcal{L}^{n+1} with respective to 𝒒in+1\boldsymbol{q}_{i}^{n+1}. The action of this Hessian on an arbitrary increment δ𝒒s\delta\boldsymbol{q}^{s} is given as follows:

(24) δ𝒇i=pVp0𝔸ps(𝑭p0s)T𝕂ps𝒓ipsWipsVj0-\delta\boldsymbol{f}_{i}=\sum_{p}V_{p}^{0}\mathbb{A}_{p}^{s}(\boldsymbol{F}_{p}^{0s})^{T}\mathbb{K}_{p}^{s}\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{j}^{0}

where 𝔸ps\mathbb{A}_{p}^{s} is given by:

(25) 𝔸ps=2n+1𝑭p0s𝑭p0s:jδ𝒒js𝕂ps𝒓ipsWipsVj0𝑭p0s.\mathbb{A}_{p}^{s}=\frac{\partial^{2}\mathcal{L}^{n+1}}{\partial\boldsymbol{F}_{p}^{0s}\partial\boldsymbol{F}_{p}^{0s}}:\sum_{j}\delta\boldsymbol{q}_{j}^{s}\mathbb{K}_{p}^{s}\boldsymbol{r}_{ip}^{s}W_{ip}^{s}V_{j}^{0}\boldsymbol{F}_{p}^{0s}.

We linearize the implicit system with one step of Newton’s method, which provides the following symmetric system for 𝒗^in+1\boldsymbol{\hat{v}}_{i}^{n+1}:

(26) j(𝑰δij+Δt2mi2n+1𝒒is𝒒js)𝒗jn+1=𝒗^in+1\sum_{j}\left(\boldsymbol{I}\delta_{ij}+\frac{\Delta t^{2}}{m_{i}}\frac{\partial^{2}\mathcal{L}^{n+1}}{\partial\boldsymbol{q}_{i}^{s}\partial\boldsymbol{q}_{j}^{s}}\right)\boldsymbol{v}_{j}^{n+1}=\boldsymbol{\hat{v}}_{i}^{n+1}

where 𝑰\boldsymbol{I} is the identity matrix and 𝒗^in+1\boldsymbol{\hat{v}}_{i}^{n+1} is given in equation (23). We update rasterized positions at grid nodes as shown below:

(27) 𝒒in+1=𝒒in+Δt𝒗in+1\boldsymbol{q}_{i}^{n+1}=\boldsymbol{q}_{i}^{n}+\Delta t\boldsymbol{{v}}_{i}^{n+1}

5.5. G2P Velocity and Position Transfer

We project 𝒒in+1\boldsymbol{q}_{i}^{n+1} to the global grid and process grid-based collisions (Stomakhin et al., 2013) to compute 𝒗in+1\boldsymbol{v}_{i}^{n+1}, which is transferred back to particles using the APIC method (Jiang et al., 2015). The specific updates for 𝒒pn+1\boldsymbol{q}_{p}^{n+1} and 𝒗pn+1\boldsymbol{v}_{p}^{n+1} are given below:

(28) 𝒗pn+1=i𝒗in+1Wpis,𝒒pn+1=𝒒pn+Δt𝒗pn+1\boldsymbol{v}_{p}^{n+1}=\sum_{i}\boldsymbol{v}_{i}^{n+1}W_{pi}^{s},\quad\boldsymbol{q}_{p}^{n+1}=\boldsymbol{q}_{p}^{n}+\Delta t\boldsymbol{v}_{p}^{n+1}

5.6. Update Particle Deformation Gradients

We first update particle deformation gradients with respect to the latest configuration at time tst_{s} and use the following MLS-based gradient operator (see equation (17)):

(29) 𝑭ps(n+1)=𝒒pn+1𝒒ps=(i(𝒒in+1𝒒pn+1)𝒓ipsWpisVis)𝕂ps\boldsymbol{F}_{p}^{s(n+1)}=\frac{\partial\boldsymbol{q}^{n+1}_{p}}{\partial\boldsymbol{q}^{s}_{p}}=\left(\sum_{i}(\boldsymbol{q}_{i}^{n+1}-\boldsymbol{q}_{p}^{n+1})\otimes\boldsymbol{r}_{ip}^{s}W_{pi}^{s}V_{i}^{s}\right)\mathbb{K}_{p}^{s}

Substituting 𝒒in+1=𝒒in+Δt𝒗in+1\boldsymbol{q}_{i}^{n+1}=\boldsymbol{q}_{i}^{n}+\Delta t\boldsymbol{v}_{i}^{n+1} and 𝒒pn+1=𝒒in+Δt𝒗pn+1\boldsymbol{q}_{p}^{n+1}=\boldsymbol{q}_{i}^{n}+\Delta t\boldsymbol{v}_{p}^{n+1} to equation (29) gives:

(30) 𝑭ps(n+1)=i[(𝒒in+𝒗in+1Δt)(𝒒pn+Δt𝒗pn+1)]𝒓pisWpisVis𝕂ps=𝑭psn+Δts𝒗pn+1\displaystyle\begin{split}\boldsymbol{F}_{p}^{s(n+1)}=&\sum_{i}\left[\left(\boldsymbol{q}_{i}^{n}+\boldsymbol{v}_{i}^{n+1}\Delta t\right)-\left(\boldsymbol{q}_{p}^{n}+\Delta t\boldsymbol{v}_{p}^{n+1}\right)\right]\otimes\boldsymbol{r}_{pi}^{s}W_{pi}^{s}V_{i}^{s}\mathbb{K}_{p}^{s}\\ =&\boldsymbol{F}_{p}^{sn}+\Delta t\nabla_{s}\boldsymbol{v}_{p}^{n+1}\\ \end{split}

where s𝒗pn+1\nabla_{s}\boldsymbol{v}_{p}^{n+1} is given by:

(31) s𝒗pn+1=i(𝒗in+1𝒗pn+1)𝒓pisWpisVis𝕂ps\nabla_{s}\boldsymbol{v}_{p}^{n+1}=\sum_{i}(\boldsymbol{v}_{i}^{n+1}-\boldsymbol{v}_{p}^{n+1})\otimes\boldsymbol{r}_{pi}^{s}W_{pi}^{s}V_{i}^{s}\mathbb{K}_{p}^{s}

Using the chain rule, the update for 𝑭p0(n+1)\boldsymbol{F}_{p}^{0(n+1)} is given by:

(32) 𝑭p0(n+1)=𝒒pn+1𝒒ps𝒒ps𝒒p0=𝑭ps(n+1)𝑭p0s\boldsymbol{F}_{p}^{0(n+1)}=\frac{\partial\boldsymbol{q}_{p}^{n+1}}{\partial\boldsymbol{q}_{p}^{s}}\frac{\partial\boldsymbol{q}_{p}^{s}}{\partial\boldsymbol{q}_{p}^{0}}=\boldsymbol{F}_{p}^{s(n+1)}\boldsymbol{F}_{p}^{0s}
Refer to caption
Refer to caption
Figure 11. Liquid bunny falling on a hyperelastic bowl. (Top) Our proposed AA-ULMPM framework can robustly capture the vivid dynamic responses of fluid-solid interactions and preserves the bowl shape. (Bottom) In contrast, the bowl fractures and fails to hold the water when simulated with MLS-EMPM.

.

5.7. Update Grid Configuration Map

We designed the configuration update criterion based on an intuitive assumption that more severe deformation is accompanied with large change of JJ in the next time step tn+1t^{n+1} with respect to the latest configuration tst^{s}. Using this observation, our criterion is defined as a measure for the amount of particle deformation as follows:

(33) δJp=Jps(n+1)Jpss\delta J_{p}=\|J_{p}^{s(n+1)}-J_{p}^{ss}\|

where Jpsn+1=det(𝑭ps(n+1))J_{p}^{s{n+1}}=\text{det}(\boldsymbol{F}_{p}^{s(n+1)}) and Jpss=1J_{p}^{ss}=1. We mark particles with δJpϵ\delta J_{p}\geq\epsilon as indicators where large deformation is taking place and count the total amount of marked particles (nmpn_{mp}). If nmp/npηn_{mp}/n_{p}\geq\eta, where npn_{p} is the total number of particles, we update WipsW_{ip}^{s}, 𝕂ps\mathbb{K}_{p}^{s}, and 𝑭p0s\boldsymbol{F}_{p}^{0s}. Otherwise, these variables remain the same until a new update occurs. ϵ\epsilon and η\eta are user-defined parameters to adjust the update frequency.

5.8. Similarities with MLS-EMPM and APIC

While our AA-ULMPM framework is new to computer graphics, setting s=ns=n for the configuration map shares some similarities with MLS-EMPM (Hu et al., 2018) and APIC (Jiang et al., 2015). We prove that the MLS-gradient of velocity is equivalent to the APIC-gradient of velocity by leveraging the properties of interpolation weights i𝒓piWpi=𝟎\sum_{i}\boldsymbol{r}_{pi}W_{pi}=\boldsymbol{0} (Jiang et al., 2017b) as follows:

(34) 𝒗p=i(𝒗i𝒗p)𝒓piWipVi𝕂p=i𝒗i𝒓piWipVi𝕂pAPIC:𝒗p𝒗pi𝒓piWipVi𝕂p𝟎\displaystyle\begin{split}\nabla\boldsymbol{v}_{p}=&\sum_{i}(\boldsymbol{v}_{i}-\boldsymbol{v}_{p})\otimes\boldsymbol{r}_{pi}W_{ip}V_{i}\mathbb{K}_{p}\\ =&\underbrace{\sum_{i}\boldsymbol{v}_{i}\otimes\boldsymbol{r}_{pi}W_{ip}V_{i}\mathbb{K}_{p}}_{\textbf{APIC:}\nabla\boldsymbol{v}_{p}}-\underbrace{\boldsymbol{v}_{p}\otimes\sum_{i}\boldsymbol{r}_{pi}W_{ip}V_{i}\mathbb{K}_{p}}_{\boldsymbol{0}}\end{split}

Our internal force in equation (23) has the same pattern as that in original MLS-EMPM (Hu et al., 2018), which is derived from the weak-form element-free Galerkin (EFG) framework. The 𝕂p\mathbb{K}_{p} matrices are simplified by 4Δx2𝑰\frac{4}{\Delta x^{2}}\boldsymbol{I} for quadratic WipW_{ip} and 3Δx2𝑰\frac{3}{\Delta x^{2}}\boldsymbol{I} for cubic WipW_{ip}. This simplification comes from the properties of splines, and is not generally true for other interpolation functions.

6. Results

Accompanying this article, we open-source our code for running 3D examples with our proposed AA-ULMPM framework (see Section 5). MLS-based MPM, including MLS-EMPM, MLS-TLMPM, and MLS-AA-ULMPM, was applied to simulate all our 3D simulations. Besides the advantage of removing numerical fracture and the cell-crossing instability in solid and fluid simulations, AA-ULMPM has the practical convenience of using the same numerical implementation to adaptively update the configuration map, without having to switch between TLMPM and EMPM. We use the example of a falling elastic ball (see Figure 5) to evaluate the computational cost of explicit (see equation (23)) and implicit (see equation (26)) Euler schemes. As shown in the first two rows of Table 2, the computational cost of these two schemes are comparable. Given the low stiffness in the materials, we utilize the explicit Euler scheme in all our 3D examples and did not experience any need for excessively small time steps. For our 3D solid simulations, we set ϵ=0.5\epsilon=0.5 and η=0.1\eta=0.1, and observed that no configuration update was required, showing that AA-ULMPM inherits the advantage of TLMPM for solid simulation. Due to foreseeable large deformations that arise when simulating fluid-like materials, such as water splashes and snow scattering, we set ϵ=0.01\epsilon=0.01 and η=0.01\eta=0.01 to update the configuration maps more frequently. Even so, our AA-ULMPM scheme reduces the configuration update overhead by 4.27×4.27\times31.52×31.52\times in fluid-like simulations (see Table 3), compared to standard EMPM. Table 2 summarizes the specific timings for all our examples.

Table 2. All simulations were run on Machine 1: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz and Machine 2: Intel(R) Xeon(R) CPU E5-1620 v4 @ 3.50GHz. Simulation time is measured in average seconds per time step. Grid: The number of occupied voxels in the background sparse grid. Particle: The total number of MPM particles in the simulation.
Simulation Time Machine Grid Particle
2D Elastic ball (Fig.5) 0.0148 1 16.4K 20K
2D Elastic ball (implicit) 0.0165 1 16.4K 20K
2D Rotation (Fig.2(1st row)) 0.0571 1 16.4K 42K
2D Rotation (Fig. 2(2nd row)) 0.0571 1 16.4K 42K
2D Rotation (Fig. 2(3rd row)) 0.0571 1 16.4K 42K
2D Droplet (Fig. 3(1st row)) 0.0154 1 16.4K 5K
2D Droplet (Fig. 3(2nd row)) 0.0108 1 16.4K 5K
2D Droplet (Fig. 3(3rd row)) 0.0194 1 16.4K 5K
2D Droplet (Fig. 3(4th row)) 0.0146 1 16.4K 5K
2D Droplet (Fig. 3(5th row)) 0.0199 1 16.4K 5K
Twisting bar (Fig.4(1st row)) 0.627 1 1.0M 193.3K
Twisting bar (Fig.4(2nd row)) 0.624 1 1.0M 193.3K
Twisting bar (Fig.7(1st row)) 0.125 2 131.1K 48.3K
Twisting bar (Fig.7(2nd row)) 0.124 2 131.1K 48.3K
Stretchy yo-yo (Fig.10(1st row)) 1.314 2 4.2M 179.3K
Stretchy yo-yo (Fig.10(2nd row)) 1.310 2 4.2M 179.3K
Snow bunny (Fig.8) 0.965 2 524.3K 116.3K
Snow bunny (EMPM in video) 0.971 2 523.4K 116.3K
Water bunny (Fig.9) 0.341 2 2.1M 96.3K
Water bunny (EMPM in video) 0.381 2 2.1M 96.3K
FSI (Fig.11(1st row)) 0.934 1 4.2M 169.1K
FSI (Fig.11(2nd row)) 0.939 1 4.2M 169.1K
Table 3. Configuration update cost in fluid-like simulations. ϵ\epsilon and η\eta: user-defined parameters to adjust the update frequency. τ\tau: average update times per 104 time steps. Cost: average run-time.
Simulation ϵ\epsilon η\eta τ\tau Cost
Snow bunny (AA-ULMPM in Fig.8) 0.01 0.01 24.33 0.112
Snow bunny (EMPM in video) N/A N/A 104 0.479
Water bunny (AA-ULMPM in Fig.9) 0.01 0.01 3.31 0.021
Water bunny (EMPM in video) N/A N/A 104 0.662

6.1. 2D Simulations for Solids and Fluids

6.1.1. Numerical fracture and cell-crossing instability

We simulated a 2D rotating hyperelastic plate to demonstrate that EMPM suffers from the cell-crossing instability, which leads to severe numerical fractures, while TLMPM can completely eliminate these artifacts. Figure 2 shows that our AA-ULMPM framework and TLMPM integrated with MLS-MPM captures the appealing hyperelastic rotation, preserving the angular momentum for long simulation periods while completely eliminating numerical fractures. However, traditional MLS-MPM (Hu et al., 2018) that uses an Eulerian approach suffers from severe numerical fractures when large deformations occur.

We quantitatively evaluate the spatial accuracy of our method on the rotating hyperelastic plate example by varying the grid resolution Δx\Delta x. We utilized numerical results with resolution 256×256256\times 256 as the benchmark solution (see Figure 2) and discretize sampling examples with spatial resolution 2i×2i,i{2,,7}2^{i}\times 2^{i},\>i\in\{2,\ldots,7\} for the grid. We fixed the particle number np=41943n_{p}=41943 for each case and ran simulations up to a total simulation time of 0.025s0.025s with a time step size of 104s10^{-4}s. The error for numerical simulations is defined as:

(35) E=|ϕiϕ8|2np{E}=\sqrt{\frac{\left|\boldsymbol{\phi}_{i}-\boldsymbol{\phi}_{8}\right|^{2}}{n_{p}}}

where ϕi\boldsymbol{\phi}_{i} is the variable evaluated by lower grid resolutions, while ϕ8\boldsymbol{\phi}_{8} is the value at resolution 2562256^{2} (benchmark). Figure 12 shows the convergence plots for the average particle displacement and velocity for AA-ULMPM integrated with MLS-MPM (s=0)(s=0), AA-ULMPM integrated with MLS-MPM (s0)(s\neq 0), AA-ULMPM integrated with MLS-MPM (black) (s=n)(s=n), and AA-ULMPM integrated with kernel-MPM (s=0)(s=0), where AA-ULMPM (s=0s=0) recovers TLMPM and AA-ULMPM (s=ns=n) recovers EMPM, as described in Section 5. In general, TLMPM can produce more accurate simulations since the cell-crossing error is completely eliminated, while EMPM fails to converge when the cell-crossing error is significant. AA-ULMPM with sns\neq n exhibits second-order accuracy while its integration with MLS-MPM has higher solution accuracy than that with kernel-MPM.

\begin{overpic}[width=78.04842pt]{image/DispCon} \put(30.0,10.0){\small slope$=2.08$} \put(40.0,-15.0){\small$\log_{2}(\Delta x)$} \put(-22.0,32.0){\small\rotatebox{90.0}{$\log_{2}(E)$}} \put(-19.0,0.0){\small$-17.6$} \put(-19.0,15.0){\small$-11.2$} \put(-19.0,30.0){\small$-10.2$} \put(-16.0,45.0){\small$-9.6$} \put(-16.0,60.0){\small$-9.2$} \put(-16.0,75.0){\small$-8.7$} \put(0.0,-8.0){\small$-7$} \put(15.0,-8.0){\small$-6$} \put(35.0,-8.0){\small$-5$} \put(55.0,-8.0){\small$-4$} \put(75.0,-8.0){\small$-3$} \put(90.0,-8.0){\small$-2$} \end{overpic}\begin{overpic}[width=78.04842pt]{image/VelCon} \put(30.0,10.0){\small slope$=1.93$} \put(40.0,-15.0){\small$\log_{2}(\Delta x)$} \put(-22.0,30.0){\small\rotatebox{90.0}{$\log_{2}(E)$}} \put(-16.0,0.0){\small$-3.9$} \put(-16.0,15.0){\small$-2.9$} \put(-16.0,30.0){\small$-2.3$} \put(-16.0,45.0){\small$-1.9$} \put(-16.0,60.0){\small$-1.6$} \put(-16.0,75.0){\small$-1.3$} \put(0.0,-8.0){\small$-7$} \put(15.0,-8.0){\small$-6$} \put(35.0,-8.0){\small$-5$} \put(55.0,-8.0){\small$-4$} \put(75.0,-8.0){\small$-3$} \put(90.0,-8.0){\small$-2$} \end{overpic}
Figure 12. Log-log plots of error (labeled EE) vs. grid mesh size Δx\Delta x. (Left) Error of the displacement, (right) error of the velocity using AA-ULMPM integrated with MLS-MPM (s=0)(s=0) (red), AA-ULMPM integrated with MLS-MPM (s0)(s\neq 0) (blue), AA-ULMPM integrated with MLS-MPM (black) (s=n)(s=n), and AA-ULMPM integrated with kernel-MPM (black) (s=0)(s=0). Our AA-ULMPM framework recovers TLMPM (s=0s=0) and EMPM (s=ns=n). Comparing the slopes and solution accuracy shows EMPM is non-convergent when grid-crossing occurs, while AA-ULMPM with s=0s=0 and sns\neq n provides convergent simulations with second order accuracy for displacement and velocity with small Δx\Delta x.

6.1.2. 2D droplet

We ran several simulations of falling droplets to compare our implementations in the AA-ULMPM framework. As shown in Figure 3, although TLMPM has benefits over EMPM for solid simulations (see Figure 2), it fails to achieve detailed free surfaces in fluid simulations, as shown in Figure 3, since the topology changes significantly in fluid-like simulations. AA-ULMPM automatically updates configuration maps to produce similar fluid dynamics as EMPM and captures rich interactions. Moreover, our integration with MLS-MPM (see Section 5) yields more energetic behavior compared to an integration with kernel-MPM (see Appendix B).

6.2. Bar Twisting

We imposed torsion and stretch boundary conditions at the two ends of a hyperelastic beam to showcase that AA-ULMPM allows large deformations in solids without non-physical fractures. As shown in Figure 4, traditional EMPM fails to preserve the shape of the beam during the twisting and pulling, while AA-ULMPM can readily handle the challenging invertible elasticity when one end of the beam is released after twisting. Figure 7 shows that AA-ULMPM is capable of robustly recovering the beam shape after extreme elastic deformations, while particles in EMPM cluster into one irreversible (or plastic) thin string blocking the “recovery” of elasticity.

6.3. Stretchy Yo-Yo

Next, we tossed a stretchy Stanford bunny yo-yo with gravity forces. Our AA-ULMPM hyperelastic bunny demonstrates rich elastic responses and realistic bouncing dynamics, while EMPM breaks due to severe numerical fracture (see Figure 10). Our AA-ULMPM framework can perfectly handle hyperelastic deformation under severe bending (see Figure 13 (left)) and stretching (see Figure 13 (right)).

Refer to caption
Figure 13. A closer view of the hyperelastic bunny yo-yo from Figure 10.

6.4. Fluid-like Bunny Simulation

We simulated the fluid-like behavior of different materials using our AA-ULMPM framework, as described in Section 5, such as elastoplastic snow (Stomakhin et al., 2013) and weakly compressible water. We dropped two copies of the snow Stanford bunny with different orientations to a solid wedge, as shown in Figure 8. AA-ULMPM captures the vivid snow smashing and scattering after the bunnies fall on the wedge, similar to its Eulerian counterparts proposed in prior works (Stomakhin et al., 2013) (see side-by-side comparisons in our video). We simulated a water Stanford bunny falling inside a spherical container (see Figure 9), showing the extreme large deformations and energetic splashes. AA-ULMPM does not update the configuration maps at each time step, in contrast to EMPM, so it is naturally more efficient in fluid-like simulations (see Table 3).

6.5. Fluid-Structure Interaction

Our AA-ULMPM framework can also simulate realistic fluid-structure interaction problems, as shown in Figure 11.

Refer to caption
Refer to caption
Figure 14. A closer view of hyperelastic deformations in the fluid-structure interaction example from Figure 11. (Left) The bowl breaks in EMPM due to numerical fractures, while (right) AA-ULMPM maintains a leakproof bowl.

We dropped a water Stanford bunny to a hyperelastic bowl. AA-ULMPM captures rich fluid-structure interactions, displaying advantages of both TLMPM and EMPM (see Figure 14 (right)), and highlighting that AA-ULMPM can adaptively handle both fluid and solid simulations without having to switch between TLMPM and EMPM. In contrast, EMPM suffers from numerical fractures. As shown in Figure 11, the hyperelastic bowl fractures, causing the water to spill below.

7. Discussion and Conclusion

7.1. Limitations and Future Work

Our model has generated a large number of compelling examples, but there remains much work to be done. Parameters to adjust the configuration update frequency were tuned by hand, and it would be interesting to calibrate them to measured models. Since each object has it own configuration map, we only briefly investigated contact by projecting particle positions to a global grid and processing grid-based collisions (Stomakhin et al., 2013). By doing this, we observed slight self-penetration in the 3D twisting beam example (see Figure 4). This could be addressed by further introducing contact algorithms, such as (Jiang et al., 2017a; Han et al., 2019). While we did not experience a need for excessively small time steps given the low stiffness of the materials we considered, deforming materials with high wave speed, such as steel, could benefit from a fully implicit discretization. Though side-to-side comparisons with Eulerian MLS-MPM shows that our AA-ULMPM framework produces similar fluid-like dynamics as EMPM and captures rich interactions, a slight energy loss in AA-ULMPM framework was observed. This could be addressed by introducing more accurate configuration update criteria. Finally, while our focus was on the material responses of water, snow, and hyperelastic solids, it would be interesting to investigate other materials and multi-physics coupling problems with AA-ULMPM.

7.2. Conclusion

We proposed an arbitrary updated Lagrangian Material Point Method (AA-ULMPM), which combines advantages of Total Lagrangian frameworks (de Vaucorbeil and Nguyen, 2021; de Vaucorbeil et al., 2020) and Eulerian frameworks (Stomakhin et al., 2013; Hu et al., 2018) in an adaptive fashion. AA-ULMPM avoids the cell-crossing instability and numerical fracture in solid simulations, while still allowing for large deformations that arise in fluid-like simulations. It can be easily integrated with any existing MPM framework and builds a foundation for devising various MPM schemes, such as PolyPIC (Fu et al., 2017), for enhanced accuracy and visual vividness.

References

  • (1)
  • Bardenhagen (2002) SG Bardenhagen. 2002. Energy conservation error in the material point method for solid mechanics. J. Comput. Phys. 180, 1 (2002), 383–403.
  • Bardenhagen and Kober (2004) Scott G Bardenhagen and Edward M Kober. 2004. The generalized interpolation material point method. Computer Modeling in Engineering and Sciences 5, 6 (2004), 477–496.
  • Brackbill et al. (1988) Jeremiah U Brackbill, Douglas B Kothe, and Hans M Ruppel. 1988. FLIP: a low-dissipation, particle-in-cell method for fluid flow. Computer Physics Communications 48, 1 (1988), 25–38.
  • d. Goes et al. (2015) F. d. Goes, C. Wallez, J. Huang, D. Pavlov, and M. Desbrun. 2015. Power Particles: An Incompressible Fluid Solver Based on Power Diagrams. ACM Trans Graph 34, 4, Article 50 (2015).
  • Daviet and Bertails-Descoubes (2016) Gilles Daviet and Florence Bertails-Descoubes. 2016. A semi-implicit material point method for the continuum simulation of granular materials. ACM Transactions on Graphics (TOG) 35, 4 (2016), 1–13.
  • de Vaucorbeil and Nguyen (2021) Alban de Vaucorbeil and Vinh Phu Nguyen. 2021. Modelling contacts with a total Lagrangian material point method. Computer Methods in Applied Mechanics and Engineering 373 (2021), 113503.
  • de Vaucorbeil et al. (2020) Alban de Vaucorbeil, Vinh Phu Nguyen, and Christopher R Hutchinson. 2020. A Total-Lagrangian Material Point Method for solid mechanics problems involving large deformations. Computer Methods in Applied Mechanics and Engineering 360 (2020), 112783.
  • Desbrun and Gascuel (1996) Mathieu Desbrun and Marie-Paule Gascuel. 1996. Smoothed Particles: A new paradigm for animating highly deformable bodies. In Computer Animation and Simulation ’96. 61–76.
  • Ding et al. (2019) Mengyuan Ding, Xuchen Han, Stephanie Wang, Theodore F Gast, and Joseph M Teran. 2019. A thermomechanical material point method for baking and cooking. ACM Transactions on Graphics (TOG) 38, 6 (2019), 1–14.
  • Erleben (2013) Kenny Erleben. 2013. Numerical Methods for Linear Complementarity Problems in Physics-Based Animation. In ACM SIGGRAPH 2013 Courses (SIGGRAPH ’13). Article 8, 42 pages.
  • Fang et al. (2019) Yu Fang, Minchen Li, Ming Gao, and Chenfanfu Jiang. 2019. Silly rubber: an implicit material point method for simulating non-equilibrated viscoelastic and elastoplastic solids. ACM Transactions on Graphics (TOG) 38, 4 (2019), 1–13.
  • Fang et al. (2020) Yu Fang, Ziyin Qu, Minchen Li, Xinxin Zhang, Yixin Zhu, Mridul Aanjaneya, and Chenfanfu Jiang. 2020. IQ-MPM: an interface quadrature material point method for non-sticky strongly two-way coupled nonlinear solids and fluids. ACM Transactions on Graphics (TOG) 39, 4 (2020), 51–1.
  • Fei et al. (2018) Y. Fei, C. Batty, E. Grinspun, and C. Zheng. 2018. A Multi-scale Model for Simulating Liquid-fabric Interactions. ACM Trans Graph 37, 4 (2018), 51:1–51:16.
  • Fei et al. (2017) Y. Fei, H. T. Maia, C. Batty, C. Zheng, and E. Grinspun. 2017. A Multi-Scale Model for Simulating Liquid-Hair Interactions. ACM Trans Graph 36, 4, Article 56 (2017).
  • Fu et al. (2017) Chuyuan Fu, Qi Guo, Theodore Gast, Chenfanfu Jiang, and Joseph Teran. 2017. A polynomial particle-in-cell method. ACM Transactions on Graphics (TOG) 36, 6 (2017), 1–12.
  • Gao et al. (2018a) M. Gao, A. Pradhana, X. Han, Q. Guo, G. Kot, E. Sifakis, and C. Jiang. 2018a. Animating fluid sediment mixture in particle-laden flows. ACM Trans Graph 37, 4 (2018), 149.
  • Gao et al. (2017) Ming Gao, Andre Pradhana Tampubolon, Chenfanfu Jiang, and Eftychios Sifakis. 2017. An adaptive generalized interpolation material point method for simulating elastoplastic materials. ACM Transactions on Graphics (TOG) 36, 6 (2017), 1–12.
  • Gao et al. (2018b) M. Gao, X. Wang, K. Wu, A. Pradhana, E. Sifakis, C. Yuksel, and C. Jiang. 2018b. GPU Optimization of Material Point Methods. ACM Trans Graph 37, 6, Article 254 (2018), 12 pages.
  • Gaume et al. (2018) J. Gaume, T. Gast, J. Teran, A. v. Herwijnen, and C. Jiang. 2018. Dynamic anticrack propagation in snow. Nature Comm 9, 1 (2018), 3047.
  • Han et al. (2019) Xuchen Han, Theodore F Gast, Qi Guo, Stephanie Wang, Chenfanfu Jiang, and Joseph Teran. 2019. A hybrid material point method for frictional contact with diverse materials. Proceedings of the ACM on Computer Graphics and Interactive Techniques 2, 2 (2019), 1–24.
  • Hegemann et al. (2013) J. Hegemann, C. Jiang, C. Schroeder, and J. Teran. 2013. A level set method for ductile fracture. In Proc ACM SIGGRAPH/Eurograp Symp Comp Anim. 193–201.
  • Hu et al. (2018) Yuanming Hu, Yu Fang, Ziheng Ge, Ziyin Qu, Yixin Zhu, Andre Pradhana, and Chenfanfu Jiang. 2018. A moving least squares material point method with displacement discontinuity and two-way rigid body coupling. ACM Transactions on Graphics (TOG) 37, 4 (2018), 1–14.
  • Hu et al. (2019) Y. Hu, J. Liu, A. Spielberg, J. B. Tenenbaum, W. T. Freeman, J. Wu, D. Rus, and W. Matusik. 2019. ChainQueen: A Real-Time Differentiable Physical Simulator for Soft Robotics. Proc of the Int Conf on Robotics and Automation (ICRA) (2019), 6265–6271.
  • Jiang et al. (2017a) Chenfanfu Jiang, Theodore Gast, and Joseph Teran. 2017a. Anisotropic elastoplasticity for cloth, knit and hair frictional contact. ACM Transactions on Graphics (TOG) 36, 4 (2017), 1–14.
  • Jiang et al. (2015) C. Jiang, C. Schroeder, A. Selle, J. Teran, and A. Stomakhin. 2015. The affine particle-in-cell method. ACM Trans Graph 34, 4 (2015), 51:1–51:10.
  • Jiang et al. (2017b) Chenfanfu Jiang, Craig Schroeder, and Joseph Teran. 2017b. An angular momentum conserving affine-particle-in-cell method. J. Comput. Phys. 338 (2017), 137–164.
  • Jiang et al. (2016) Chenfanfu Jiang, Craig Schroeder, Joseph Teran, Alexey Stomakhin, and Andrew Selle. 2016. The material point method for simulating continuum materials. In ACM SIGGRAPH 2016 Courses. 1–52.
  • Klár et al. (2016) Gergely Klár, Theodore Gast, Andre Pradhana, Chuyuan Fu, Craig Schroeder, Chenfanfu Jiang, and Joseph Teran. 2016. Drucker-prager elastoplasticity for sand animation. ACM Transactions on Graphics (TOG) 35, 4 (2016), 1–12.
  • Liu et al. (2008) MB Liu, GR Liu, and Z Zong. 2008. An overview on smoothed particle hydrodynamics. International Journal of Computational Methods 5, 01 (2008), 135–188.
  • Macklin et al. (2014) M. Macklin, M. Muller, N. Chentanez, and T. Kim. 2014. Unified particle physics for real-time applications. ACM Trans Graph 33, 4 (2014), 153:1–153:12.
  • McAdams et al. (2009) A. McAdams, A. Selle, K. Ward, E. Sifakis, and J. Teran. 2009. Detail Preserving Continuum Simulation of Straight Hair. ACM Trans Graph 28, 3 (2009), 62:1–62:6.
  • Müller et al. (2007) M. Müller, B. Heidelberger, M. Hennix, and J. Ratcliff. 2007. Position Based Dynamics. J Vis Comm Imag Repre 18, 2 (2007), 109–118.
  • Müller et al. (2004) Matthias Müller, Richard Keiser, Andrew Nealen, Mark Pauly, Markus Gross, and Marc Alexa. 2004. Point based animation of elastic, plastic and melting objects. In Proceedings of the 2004 ACM SIGGRAPH/Eurographics symposium on Computer animation. 141–151.
  • Narain et al. (2010) R. Narain, A. Golas, and M. Lin. 2010. Free-flowing granular materials with two-way solid coupling. ACM Trans Graph 29, 6 (2010), 173:1–173:10.
  • Patkar et al. (2013) S. Patkar, M. Aanjaneya, D. Karpman, and R. Fedkiw. 2013. A hybrid Lagrangian-Eulerian formulation for bubble generation and dynamics. In Proc ACM SIGGRAPH/Eurograp Symp Comp Anim. 105–114.
  • Ram et al. (2015) Daniel Ram, Theodore Gast, Chenfanfu Jiang, Craig Schroeder, Alexey Stomakhin, Joseph Teran, and Pirouz Kavehpour. 2015. A material point method for viscoelastic fluids, foams and sponges. In Proceedings of the 14th ACM SIGGRAPH/Eurographics Symposium on Computer Animation. 157–163.
  • Sadeghirad et al. (2011) Alireza Sadeghirad, Rebecca M Brannon, and Jeff Burghardt. 2011. A convected particle domain interpolation technique to extend applicability of the material point method for problems involving massive deformations. International Journal for numerical methods in Engineering 86, 12 (2011), 1435–1456.
  • Setaluri et al. (2014) Rajsekhar Setaluri, Mridul Aanjaneya, Sean Bauer, and Eftychios Sifakis. 2014. SPGrid: A Sparse Paged Grid Structure Applied to Adaptive Smoke Simulation. ACM Trans. Graph. 33, 6, Article 205 (2014), 12 pages.
  • Shabana (2018) Ahmed A Shabana. 2018. Computational continuum mechanics. John Wiley & Sons.
  • Sifakis and Barbic (2012) E. Sifakis and J. Barbic. 2012. FEM Simulation of 3D Deformable Solids: A Practitioner’s Guide to Theory, Discretization and Model Reduction. In ACM SIGGRAPH 2012 Courses. Article 20.
  • Sifakis et al. (2008) E. Sifakis, S. Marino, and J. Teran. 2008. Globally Coupled Collision Handling Using Volume Preserving Impulses. In Symp. Comp. Anim. 147–153.
  • Sin et al. (2009) Funshing Sin, Adam W. Bargteil, and Jessica K. Hodgins. 2009. A Point-Based Method for Animating Incompressible Flow. In Proceedings of the 2009 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’09). 247–255.
  • Steffen et al. (2008) Michael Steffen, Robert M Kirby, and Martin Berzins. 2008. Analysis and reduction of quadrature errors in the material point method (MPM). International journal for numerical methods in engineering 76, 6 (2008), 922–948.
  • Stomakhin et al. (2013) Alexey Stomakhin, Craig Schroeder, Lawrence Chai, Joseph Teran, and Andrew Selle. 2013. A material point method for snow simulation. ACM Transactions on Graphics (TOG) 32, 4 (2013), 1–10.
  • Stomakhin et al. (2014) Alexey Stomakhin, Craig Schroeder, Chenfanfu Jiang, Lawrence Chai, Joseph Teran, and Andrew Selle. 2014. Augmented MPM for phase-change and varied materials. ACM Transactions on Graphics (TOG) 33, 4 (2014), 1–11.
  • Su et al. (2021) Tao Su, Haozhe Xue, , Chengguizi Han, Chenfanfu Jiang, and Mridul Aanjaneya. 2021. A Unified Second-Order Accurate in Time MPM Formulation for Simulating Viscoelastic Liquids with Phase Change. ACM Trans. Graph. 40, 4, Article 119 (Aug. 2021), 18 pages.
  • Sulsky et al. (1994) Deborah Sulsky, Zhen Chen, and Howard L Schreyer. 1994. A particle method for history-dependent materials. Computer methods in applied mechanics and engineering 118, 1-2 (1994), 179–196.
  • Sulsky et al. (1995) Deborah Sulsky, Shi-Jian Zhou, and Howard L Schreyer. 1995. Application of a particle-in-cell method to solid mechanics. Computer physics communications 87, 1-2 (1995), 236–252.
  • Tampubolon et al. (2017) Andre Pradhana Tampubolon, Theodore Gast, Gergely Klár, Chuyuan Fu, Joseph Teran, Chenfanfu Jiang, and Ken Museth. 2017. Multi-species simulation of porous sand and water mixtures. ACM Transactions on Graphics (TOG) 36, 4 (2017), 1–11.
  • Wallstedt and Guilkey (2007) PC Wallstedt and JE Guilkey. 2007. Improved velocity projection for the material point method. Computer Modeling in Engineering and Sciences 19, 3 (2007), 223.
  • Wolper et al. (2020) Joshuah Wolper, Yunuo Chen, Minchen Li, Yu Fang, Ziyin Qu, Jiecong Lu, Meggie Cheng, and Chenfanfu Jiang. 2020. AnisoMPM: Animating Anisotropic Damage Mechanics. ACM Trans. Graph. 39, 4, Article 37 (2020), 16 pages.
  • Wolper et al. (2019) Joshuah Wolper, Yu Fang, Minchen Li, Jiecong Lu, Ming Gao, and Chenfanfu Jiang. 2019. CD-MPM: continuum damage material point methods for dynamic fracture animation. ACM Transactions on Graphics (TOG) 38, 4 (2019), 1–15.
  • Xue et al. (2020) Tao Xue, Haozhe Su, Chengguizi Han, Chenfanfu Jiang, and Mridul Aanjaneya. 2020. A novel discretization and numerical solver for non-fourier diffusion. ACM Transactions on Graphics (TOG) 39, 6 (2020), 1–14.
  • Xue et al. (2019) Tao Xue, Xiaobing Zhang, and Kumar K Tamma. 2019. A non-local dissipative Lagrangian modelling for generalized thermoelasticity in solids. Applied Mathematical Modelling 73 (2019), 247–265.
  • Yue et al. (2015) Y. Yue, B. Smith, C. Batty, C. Zheng, and E. Grinspun. 2015. Continuum foam: a material point method for shear-dependent flows. ACM Trans Graph 34, 5 (2015), 160:1–160:20.
  • Yue et al. (2018) Yonghao Yue, Breannan Smith, Peter Yichen Chen, Maytee Chantharayukhonthorn, Ken Kamrin, and Eitan Grinspun. 2018. Hybrid Grains: Adaptive Coupling of Discrete and Continuum Simulations of Granular Media. ACM Trans. Graph. 37, 6, Article 283 (2018), 19 pages.
  • Zhu and Bridson (2005) Yongning Zhu and Robert Bridson. 2005. Animating sand as a fluid. ACM Transactions on Graphics (TOG) 24, 3 (2005), 965–972.
  • Zienkiewicz et al. (1977) Olgierd Cecil Zienkiewicz, Robert Leroy Taylor, Perumal Nithiarasu, and JZ Zhu. 1977. The finite element method. Vol. 3. McGraw-hill London.

Appendix A MLS Gradient

Consider a domain (Ω0\Omega_{0}) in Euclidean space 𝔼\mathbb{E}. Let 𝒒iΩ0𝔼\boldsymbol{q}_{i}\in\Omega_{0}\subset\mathbb{E} denote the geometric position of a certain point in the domain and 𝒒jΩ0𝔼\boldsymbol{q}_{j}\in\Omega_{0}\subset\mathbb{E} denote another point which is close to the position 𝒒i\boldsymbol{q}_{i}. Therefore, any physical quantity at each point in space can be defined as 𝝋(𝒒i)\boldsymbol{\varphi}(\boldsymbol{q}_{i}) and following a first-order Taylor approximation gives:

(36) 𝝋(𝒒j)𝝋(𝒒i)+𝝋ij𝒓ij\boldsymbol{\varphi}(\boldsymbol{q}_{j})\cong\boldsymbol{\varphi}(\boldsymbol{q}_{i})+\nabla{\boldsymbol{\varphi}}_{ij}\boldsymbol{r}_{ij}

where 𝒓ij=𝒒j𝒒i\boldsymbol{r}_{ij}=\boldsymbol{q}_{j}-\boldsymbol{q}_{i}. A weighted error EiE_{i} of equation (36) is defined within its associated domain Ωi\Omega_{i} as follows:

(37) Ei=jΩi𝝋(𝒒j)𝝋(𝒒i)𝝋ij𝒓ij2Wij𝑑VE_{i}=\int_{j\in\Omega_{i}}\|{\boldsymbol{\varphi}(\boldsymbol{q}_{j})-\boldsymbol{\varphi}(\boldsymbol{q}_{i})}-\nabla{\boldsymbol{\varphi}_{ij}}\boldsymbol{r}_{ij}\|^{2}W_{ij}dV

where Ωi\Omega_{i} represents the neighboring domain of 𝒒i\boldsymbol{q}_{i}; WijW_{ij} represents the influence from jj to ii and is a function of 𝒓ij\left\|\boldsymbol{r}_{ij}\right\|. To minimize the error EiE_{i} and get the best approximation, the Least Squares Technique is exploited by introducing Eiϕi=0\frac{\partial E_{i}}{\partial\nabla\boldsymbol{\phi}_{i}}=0:

(38) ϕijΩi(𝝋(𝒒j)𝝋(𝒒i)𝝋ij𝒓ij)2Wij𝑑V=0\frac{\partial}{\partial\nabla\boldsymbol{\phi}_{i}}\int_{j\in\Omega_{i}}\left({\boldsymbol{\varphi}(\boldsymbol{q}_{j})-\boldsymbol{\varphi}(\boldsymbol{q}_{i})}-\nabla{\boldsymbol{\varphi}_{ij}}\boldsymbol{r}_{ij}\right)^{2}W_{ij}dV=0

Therefore, we have a MLS-gradient operator :

(39) 𝝋(𝒒i)=(jΩi𝝋(𝒒)ij𝒓ijWij𝑑V)(jΩi𝒓ij𝒓ijWij𝑑V)1\displaystyle\nabla\boldsymbol{\varphi}(\boldsymbol{q}_{i})=\left(\int_{j\in\Omega_{i}}\boldsymbol{\varphi}(\boldsymbol{q})_{ij}\otimes\boldsymbol{r}_{ij}W_{ij}dV\right)\left(\int_{j\in\Omega_{i}}\boldsymbol{r}_{ij}\otimes\boldsymbol{r}_{ij}W_{ij}dV\right)^{-1}

where 𝝋(𝒒)ij=𝝋(𝒒)j𝝋(𝒒)i\boldsymbol{\varphi}(\boldsymbol{q})_{ij}=\boldsymbol{\varphi}(\boldsymbol{q})_{j}-\boldsymbol{\varphi}(\boldsymbol{q})_{i} and its discrete form is given by:

(40) 𝝋(𝒒i)=(jΩi𝝋(𝒒)ij𝒓ijWijVj)(jΩi𝒓ij𝒓ijWijVj)1\displaystyle\nabla\boldsymbol{\varphi}(\boldsymbol{q}_{i})=\left(\sum_{j\in\Omega_{i}}\boldsymbol{\varphi}(\boldsymbol{q})_{ij}\otimes\boldsymbol{r}_{ij}W_{ij}V_{j}\right)\left(\sum_{j\in\Omega_{i}}\boldsymbol{r}_{ij}\otimes\boldsymbol{r}_{ij}W_{ij}V_{j}\right)^{-1}

where VjV_{j} denotes volume distributed at 𝒒j\boldsymbol{q}_{j}. Moreover, the derivation of 𝝋(𝒒i)\nabla\boldsymbol{\varphi}(\boldsymbol{q}_{i}) with respect to 𝒒k\boldsymbol{q}_{k} is given as follows:

(41) 𝝋(𝒒i)𝝋(𝒒k)=(jΩi𝝋(𝒒)ij𝝋(𝒒k)𝒓ijWijVj)(jΩi𝒓ij𝒓ijWijVj)1=(jΩi(δjkδik)𝒓ijWijVj)(jΩi𝒓ij𝒓ijWijVj)1\displaystyle\begin{split}&\frac{\partial\nabla\boldsymbol{\varphi}(\boldsymbol{q}_{i})}{\partial\boldsymbol{\varphi}(\boldsymbol{q}_{k})}=\left(\sum_{j\in\Omega_{i}}\frac{\boldsymbol{\varphi}(\boldsymbol{q})_{ij}}{\partial\boldsymbol{\varphi}(\boldsymbol{q}_{k})}\otimes\boldsymbol{r}_{ij}W_{ij}V_{j}\right)\left(\sum_{j\in\Omega_{i}}\boldsymbol{r}_{ij}\otimes\boldsymbol{r}_{ij}W_{ij}V_{j}\right)^{-1}\\ &=\left(\sum_{j\in\Omega_{i}}\left(\delta_{jk}-\delta_{ik}\right)\otimes\boldsymbol{r}_{ij}W_{ij}V_{j}\right)\left(\sum_{j\in\Omega_{i}}\boldsymbol{r}_{ij}\otimes\boldsymbol{r}_{ij}W_{ij}V_{j}\right)^{-1}\\ \end{split}

where δ\delta is the Kronecker delta function.

Appendix B AA-ULMPM Integration with kernel-MPM

We briefly describe the integration of our AA-ULMPM with traditional MPM (Stomakhin et al., 2013) as follows:

  1. (1)

    Transfer Particle to Grid.

    (42) mis𝒗in=pmp𝒗pnWpis,mis=pmpWpis,𝒗in=mis𝒗inmim_{i}^{s}\boldsymbol{v}_{i}^{n}=\sum_{p}m_{p}\boldsymbol{v}_{p}^{n}W_{pi}^{s},\quad m_{i}^{s}=\sum_{p}m_{p}W_{pi}^{s},\quad\boldsymbol{v}_{i}^{n}=\frac{m_{i}^{s}\boldsymbol{v}_{i}^{n}}{m_{i}}
  2. (2)

    Update Grid Momentum.

    (43) 𝒗^in+1=𝒗inΔtmipp0(𝑭p0s)TsWipsVj0𝒒in+1=𝒒in+Δt𝒗^in+1\begin{split}&\boldsymbol{\hat{v}}_{i}^{n+1}=\boldsymbol{v}_{i}^{n}-\frac{\Delta t}{m_{i}}\sum_{p}\mathbb{P}_{p}^{0}(\boldsymbol{F}_{p}^{0s})^{T}\nabla^{s}W_{ip}^{s}V_{j}^{0}\\ &\boldsymbol{q}_{i}^{n+1}=\boldsymbol{q}_{i}^{n}+\Delta t\boldsymbol{\hat{v}}_{i}^{n+1}\\ \end{split}
  3. (3)

    Transfer Grid Velocity to Particles. We project 𝒒in+1\boldsymbol{q}_{i}^{n+1} for all objects to the global grid and consider grid-based collisions (Stomakhin et al., 2013) to obtain 𝒗in+1\boldsymbol{v}_{i}^{n+1}. We transfer 𝒗in+1\boldsymbol{v}_{i}^{n+1} to particles using a weighted combination of PIC and FLIP, as described in (Stomakhin et al., 2013).

  4. (4)

    Update Particle Deformation Gradient.

    (44) 𝑭ps(n+1)=\displaystyle\boldsymbol{F}_{p}^{s(n+1)}= 𝑭psn+Δts𝒗pn+1\displaystyle\boldsymbol{F}_{p}^{sn}+\Delta t\nabla_{s}\boldsymbol{v}_{p}^{n+1}

    where s𝒗pn+1\nabla_{s}\boldsymbol{v}_{p}^{n+1} is given by:

    (46) s𝒗pn+1=i𝒗in+1sWpis\nabla_{s}\boldsymbol{v}_{p}^{n+1}=\sum_{i}\boldsymbol{v}_{i}^{n+1}\nabla^{s}W_{pi}^{s}

    By differential chain rule, the update of 𝑭p0(n+1)\boldsymbol{F}_{p}^{0(n+1)} is given by:

    (47) 𝑭p0(n+1)=𝒒pn+1𝒒ps𝒒ps𝒒p0=𝑭ps(n+1)𝑭p0s\boldsymbol{F}_{p}^{0(n+1)}=\frac{\partial\boldsymbol{q}_{p}^{n+1}}{\partial\boldsymbol{q}_{p}^{s}}\frac{\partial\boldsymbol{q}_{p}^{s}}{\partial\boldsymbol{q}_{p}^{0}}=\boldsymbol{F}_{p}^{s(n+1)}\boldsymbol{F}_{p}^{0s}