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

BFEMP: Interpenetration-Free MPM-FEM Coupling with Barrier Contact

Xuan Li111These authors contributed equally to this work xuanli1@math.ucla.edu Yu Fang222These authors contributed equally to this work Minchen Li minchen@math.ucla.edu Chenfanfu Jiang cffjiang@math.ucla.edu Department of Mathematics, University of California, Los Angeles, United States Department of Computer and Information Science, University of Pennsylvania, United States
Abstract

This paper introduces BFEMP, a new approach for monolithically coupling the Material Point Method (MPM) with the Finite Element Method (FEM) through barrier energy-based particle-mesh frictional contact using a variational time-stepping formulation. The fully implicit time integration of the coupled system is recast into a barrier-augmented unconstrained nonlinear optimization problem. A modified line-search Newton’s method is adopted to strictly prevent material points from penetrating the FEM domain, ensuring convergence and feasibility regardless of the time step size or the mesh resolutions. The proposed coupling scheme also reduces to a new approach for imposing separable frictional kinematic boundaries for MPM when all nodal displacements in the FEM domain are prescribed with Dirichlet boundary conditions. Compared to standard implicit time integration, the extra algorithmic components associated with the contact treatment only depend on simple point-segment (or point-triangle in 3D) geometric queries which robustly handle arbitrary FEM mesh boundaries represented with codimension-1 simplices. Experiments and analyses are performed to demonstrate the robustness and accuracy of the proposed method.

keywords:
Material Point Method , MPM-FEM Coupling , Implicit Integration , Barrier Method , Frictional Contact
journal:  

1 Introduction

The Material Point Method (MPM) [1, 2] extends the Particle-In-Cell (PIC) [3] and the Fluid Implicit Particle (FLIP) [4] methods from fluid dynamics to computational solids. In contrast to the commonly used Total Lagrangian Finite Element Method for elastodynamics [5], MPM utilizes Lagrangian particles to represent continuum materials and an Eulerian background grid to discretizes the governing equations. Except for recent advancements in Total Lagrangian MPM [6, 7], MPM is usually considered to be following an Updated Lagrangian kinematic assumption with particles tracking historical deformation, strain, stress, and other constitutive variables through evolving them with velocity fields. The hybrid Lagrangian-Eulerian perspective combined with the Updated Lagrangian kinematics puts MPM in a very advantageous position in modeling and simulating high-speed, large-deformation, and topologically changing events [8]. Having gained a lot of attention in the last two decades, MPM and its variants [9, 10, 11, 12, 13] have been successfully applied in challenging problems including multiphase flows, fracture, contact, adaptivity, free-surface flows, soil-fluid mixture, explosives, and granular media [14, 15, 16, 17, 18, 19, 20, 21, 22].

Although MPM has been demonstrated effective on a wide range of materials, many application scenarios favor other discretization schemes due to considerations in efficiency, accuracy, and suitability. Correspondingly, a large number of engineering applications necessitate hybrid or coupled solvers combining MPM with other discretization choices. For example, MPM has been coupled or hybridized with the Discrete Element Method (DEM) for solid-fluid interaction [23] and granular media [24, 25, 26], the Finite Difference Method (FDM) for multiphase saturated soils [27], and the Smoothed Particle Hydrodynamics (SPH) for solid mechanics [28].

Even though MPM itself can be derived as a Galerkin Finite Element Method, it is still more common in computational solid mechanics to use the term “FEM” to refer to the standard Total Lagrangian mesh-based FEM discretization. In this sense, MPM is much less developed than FEM and still suffers from unique challenges in aspects such as stability, accuracy, boundary condition enforcement, and numerical fracture [29, 30, 31]. Therefore, FEM is often more suitable for analyzing hyperelastic structures under small or moderate deformations. Resultingly, MPM-FEM coupling becomes highly desirable in many multi-material simulation tasks or those involving strongly heterogeneous deformations, for example, the blast event simulations involving vehicles [32]. The coupling between MPM and FEM has been extensively studied over the last decade. A natural way to hybridize the two schemes is to treat FEM vertices as MPM particles and embed them into the MPM grid [33, 34]. The FEM shell formulation can also be embedded into the MPM grid [35]. In a similar fashion, EMPFE [36] discretizes the entire domain according to the severity of deformation – small deformation regions with FEM, while large deformation regions with MPM, and then it embeds the displacement of interface FEM vertices to the MPM grid. Despite its simplicity, additional treatment for eliminating the hourglass mode is necessary due to simple trilinear MPM kernels for the interface computation. Later on, AFEMP [37] extends this idea to support the dynamical conversion from severely distorted FEM elements to MPM particles. These methods handle material interactions through the grid-based MPM contact and inherit common MPM-based contact characteristics such as the strict nonslip condition between contacting interfaces.

To circumvent these issues, CFEMP [38] was proposed to only use the interface MPM grid for contact detection while computing frictional contact forces directly based on the contact conditions. CFEMP has been successfully applied to coupling FEM membranes with MPM solids [39], and also to modeling needle-tissue interactions [40]. However, these grid-based MPM-FEM coupling strategies require the FEM boundary element size to be similar to the MPM grid spacing. If it is too large, interpenetration can happen, while if it is too small, intrinsic damping will appear [33], and the time step size for explicit time integration would also be more restricted. Accordingly, Cheon and Kim [41] proposed to add extra distributed interaction (DI) nodes on the FEM boundary elements to improve contact detection for large-sized elements.

An improvement to CFEMP that also applies to AFEMP was later proposed to couple FEM with MPM by handling contact primitive pairs between FEM boundary elements and nearby MPM particles [42, 43]. A penalty method is applied for computing the frictional contact forces. Later, Song et al. [44] extended this idea with an iterative contact force computation approach for the simultaneous satisfaction of all contact conditions, together with an improved local search method to prevent interpenetration issues at the contact crack. Bewick [45] proposed to insert intermediate nodes at the interface for 1D impact-resistant design problems, and the coupling forces are calculated by FEM displacements which are determined by MPM particles.

So far, all the discussed MPM-FEM coupling works are designed for explicit time integration. Imposing frictional contact between FEM and MPM within implicit time integration is challenging because the associated inequality constraints that need to be simultaneously enforced while solving the nonlinear system of equations are also nonlinear and non-smooth. Aulisa et al. [46] proposed a monolithic coupling method for implicit MPM and FEM through a conforming interface mesh, while extra care is needed to avoid the sticky artifact in receding contact cases. Larese et al. [47] discussed implicit MPM-FEM coupling researches in geomechanics. In a soil-structure interaction problem, the impact forces on the interface are transferred between the soil and the structure solver and iterated until convergence. A similar method for enforcing nonconforming boundary conditions for MPM [48] was also applied. However, as pointed out in their work, the method requires smaller time increments for problems with high relative velocity towards the boundary, as otherwise, the boundary enforcement will be too late, and the incoming material points may penetrate the nonconforming boundary surfaces.

This paper explores MPM-FEM coupling under the assumption of implicit integration in both domains. Compared to explicit time integration, implicit schemes permit substantially larger time steps with superior stability for stiff nonlinear problems. Implicit MPM/GIMP has been explored by many researchers [29, 49, 30, 50, 51, 52]. We refer to these literature for more discussions about the advantages of implicit time integration. Our work follows the variational formulation of a wide family of implicit time integrators [53, 54], where the displacement evolvement in each time step is formulated as the stationarity point of a time discretized energy functional. The resulting optimization-based time integrator has been applied in MPM with Newton-Krylov [55], and more recently, quasi-Newton L-BFGS [56] solvers.

In this work, integrating both MPM and FEM domains implicitly, we study MPM-FEM coupling based on contact mechanics (thus we do not consider objects with partially mixed discretization choices). A barrier-augmented variational frictional contact formulation is known as the Incremental Potential Contact (IPC) [57, 58, 59] was recently proposed for nonlinear elastodynamics with linear kernel FEM, which has also shown to be effective for codimensional models [60], reduced space dynamics [61, 62], and embedded interfaces [63]. It formulates the contact problem during time stepping as minimizing a potential energy inside the manifold of interpenetration-free displacement trajectories characterized by boundary geometric primitives of elastic structures. Extending this approach, we model MPM-FEM coupling as jointly finding optimal FEM mesh nodal displacements and MPM grid nodal displacements under the constraint that MPM particles, with their trajectories embedded in grid nodal displacements, maintain strict positive distances to the FEM mesh throughout the implicit integration. The resulting method is named barrier FEMP (BFEMP) because these constraints are enforced using barrier energies. Even though contact conditions are defined between MPM particles and the FEM mesh, the real displacement unknown variables for the MPM domain which the implicit time integration solves for are still defined on MPM grids. The MPM particles remain embedded quadrature points in the MPM grid degrees of freedom. Compared to soft penalty-based methods such as the particle-to-surface contact algorithm recently proposed by Nakamura et al.[64], BFEMP requires no stiffness parameter tuning and guarantees strict, hard non-penetration conditions under convergence. Another useful feature of the proposed coupling scheme is that it enables a new way of imposing irregular, separable, and frictional kinematic boundaries for MPM. Irregular boundaries for MPM is a recently advanced topic [65]. BFEMP inherently enables it by assigning all nodes in the FEM domain with prescribed Dirichlet displacements and letting MPM interacts with them.

2 Governing Equations

In this study we focus on elastodynamics based on continuum mechanics. The corresponding governing equations for a deformed continuum domain Ωt\Omega^{t} with 𝐱Ωt\mathbf{x}\in\Omega^{t} and time t[0,)t\in[0,\infty) are given by [66]

DρDt+ρ𝐱𝐯\displaystyle\frac{D\rho}{Dt}+\rho\nabla^{\mathbf{x}}\cdot\mathbf{v} =0,\displaystyle=0, (1)
ρD𝐯dt=𝐱𝝈\displaystyle\rho\frac{D\mathbf{v}}{dt}=\nabla^{\mathbf{x}}\cdot\bm{\sigma} +ρ𝐠,\displaystyle+\rho\mathbf{g}, (2)

where ρ(𝐱,t)\rho(\mathbf{x},t) is the density, 𝐯(𝐱,t)\mathbf{v}(\mathbf{x},t) is the velocity, 𝝈(𝐱,t)\bm{\sigma}(\mathbf{x},t) is the Cauchy stress, and 𝐠\mathbf{g} is the gravitational acceleration which is assumed to be the only body force. Under the finite strain assumption (as we shall assume throughout this paper), deformation ϕ(𝐗,t)\phi(\mathbf{X},t) maps 𝐗Ω0\mathbf{X}\in\Omega^{0} from the material space to 𝐱Ωt\mathbf{x}\in\Omega^{t} in the world space: 𝐱=ϕ(𝐗,t)\mathbf{x}=\phi(\mathbf{X},t). The deformation gradient is defined as

𝐅=ϕ𝐗(𝐗,t)\displaystyle\mathbf{F}=\frac{\partial\phi}{\partial\mathbf{X}}(\mathbf{X},t) (3)

to describe the local deformation.

In Lagrangian Finite Element analysis for nonlinear dynamics, it is often preferred to derive the weak form for 𝐗Ω0\mathbf{X}\in\Omega^{0}. Here we can pull back the momentum equation to the material space. Denoting the first Piola-Kirchhoff stress 𝐏=𝐏(𝐗,t)\mathbf{P}=\mathbf{P}(\mathbf{X},t), the Lagrangian momentum equation is then

R0𝐀(𝐗,t)=𝐗𝐏(𝐗,t)+R0𝐠,\displaystyle R_{0}\mathbf{A}(\mathbf{X},t)=\nabla^{\mathbf{X}}\cdot\mathbf{P}(\mathbf{X},t)+R_{0}\mathbf{g}, (4)

where R0=R(𝐗,0)R_{0}=R(\mathbf{X},0) is the material density at time 0, and 𝐀(𝐗,t)=2Φt2(𝐗,t)\mathbf{A}(\mathbf{X},t)=\frac{\partial^{2}\Phi}{\partial t^{2}}(\mathbf{X},t) is the Lagrangian acceleration, 𝐕(𝐗,t)=Φt(𝐗,t)\mathbf{V}(\mathbf{X},t)=\frac{\partial\Phi}{\partial t}(\mathbf{X},t) is the Lagrangian velocity. The Cauchy stress is related to the first Piola Kirchhoff stress as

𝝈=det(𝐅)1𝐏𝐅T.\bm{\sigma}=\text{det}(\mathbf{F})^{-1}\mathbf{P}\mathbf{F}^{T}. (5)

In this paper we are concerned with hyperelasticity. Thus there exists an elastic energy density function ψ(𝐅)\psi(\mathbf{F}) such that

𝐏(𝐅)=ψ𝐅(𝐅).\displaystyle\mathbf{P}(\mathbf{F})=\frac{\partial\psi}{\partial\mathbf{F}}(\mathbf{F}). (6)

Without loss of generality, we focus on isotropic materials and adopt a compressible Neo-Hookean constitutive model with

ψ(𝐅)\displaystyle\psi(\mathbf{F}) =μ2tr(𝐅T𝐅𝐈)μlog(J)+λ2log(J)2,\displaystyle=\frac{\mu}{2}\text{tr}(\mathbf{F}^{T}\mathbf{F}-\mathbf{I})-\mu\log(J)+\frac{\lambda}{2}\log(J)^{2}, (7)

where J=det𝐅J=\det{\mathbf{F}}, μ\mu and λ\lambda are the Lamé parameters.

Remark 1.

Many hyperelasticity models such as the Neo-Hookean model are only well defined for J>0J>0. Discretely this will impose a nonlinear strict inequality constraint on the displacements for each quadrature point with a discrete sample of 𝐅\mathbf{F}. Ignoring these constraints in a nonlinear optimization-based Newton solver will cause floating-point number failures when a search step tries to evaluate energy or stress quantities at an intermediate configuration with J0J\leq 0. Instead of requiring a reduction of the time step, we directly enforce this constraint through a line search filtering strategy (see Section 5).

2.1 Weak Form

Given trial function 𝐐(,t):Ω03\mathbf{Q}(\cdot,t):\Omega^{0}\rightarrow\mathbb{R}^{3}, the corresponding Lagrangian weak form of Equation (4) is

Ω0Qα(𝐗,t)R0Aα(𝐗,t)𝑑𝐗=Ω0QαTα𝑑S(𝐗)Ω0Qα,βPαβ𝑑𝐗+Ω0Qα(𝐗,t)R0gα𝑑𝐗,\displaystyle\int_{\Omega^{0}}Q_{\alpha}(\mathbf{X},t)R_{0}A_{\alpha}(\mathbf{X},t)d\mathbf{X}=\int_{\partial\Omega^{0}}Q_{\alpha}T_{\alpha}dS(\mathbf{X})-\int_{\Omega^{0}}Q_{\alpha,\beta}P_{\alpha\beta}d\mathbf{X}+\int_{\Omega^{0}}Q_{\alpha}(\mathbf{X},t)R_{0}g_{\alpha}d\mathbf{X}, (8)

where Tα=PαβNβT_{\alpha}=P_{\alpha\beta}N_{\beta} (with 𝐍(𝐗)\mathbf{N}(\mathbf{X}) being the material space normal) is the traction field at the domain boundary Ω0\partial\Omega^{0}, on which one could presribe traction boundary conditions as needed.

While Total Langrangian FEM typically discretizes Equation (8), MPM usually adopts the Updated Lagrangian view and consequently discretizes an Eulerian weak form instead [8]. Correspondingly the stress derivatives are discretized at the current configuration Ωt\Omega^{t}. We can either push forward Equation (8) or directly integrate Equation (2) to reach

Ωtqα(𝐱,t)ρ(𝐱,t)ai(𝐱,t)𝑑𝐱\displaystyle\int_{\Omega^{t}}q_{\alpha}(\mathbf{x},t)\rho(\mathbf{x},t)a_{i}(\mathbf{x},t)d\mathbf{x} =Ωtqαtα𝑑s(𝐱)Ωtqα,βσαβ𝑑𝐱+Ωtqα(𝐱,t)ρ(𝐱,t)gα𝑑𝐱,\displaystyle=\int_{\partial\Omega^{t}}q_{\alpha}t_{\alpha}ds(\mathbf{x})-\int_{\Omega^{t}}q_{\alpha,\beta}\sigma_{\alpha\beta}d\mathbf{x}+\int_{\Omega^{t}}q_{\alpha}(\mathbf{x},t)\rho(\mathbf{x},t)g_{\alpha}d\mathbf{x}, (9)

where 𝐪(𝐱,t)=𝐐(Φ1(𝐱,t),t)\mathbf{q}(\mathbf{x},t)=\mathbf{Q}(\Phi^{-1}(\mathbf{x},t),t) is the push forward of 𝐐\mathbf{Q}, i.e., an Eulerian trial function, 𝐚(𝐱,t)=𝐀(Φ1(𝐱,t),t)=D𝐯Dt(𝐱,t)=𝐯t+𝐯𝐯\mathbf{a}(\mathbf{x},t)=\mathbf{A}(\Phi^{-1}(\mathbf{x},t),t)=\frac{D\mathbf{v}}{Dt}(\mathbf{x},t)=\frac{\partial\mathbf{v}}{\partial t}+\mathbf{v}\cdot\nabla\mathbf{v}, and 𝐭=𝝈𝐧\mathbf{t}=\bm{\sigma}\mathbf{n} is the traction at Ωt\partial\Omega^{t} with 𝐧(𝐱)\mathbf{n}(\mathbf{x}) being the outward pointing normal.

2.2 Incremental Variational Form

To enable the development of efficient optimization-based time integrators, we follow the variational treatment of the time-discretized incremental problem [53, 67]. Concretely, for a broad family of time discretization schemes (we will focus on backward Euler and the Newmark-β\beta family in this paper), the solution of Equation (8)(\ref{eqn:lagrangian-weak-form}) during an incremental time step, i.e., the advancement from ϕn=ϕ(𝐗,tn)\phi^{n}=\phi(\mathbf{X},t^{n}) to ϕn+1=ϕ(𝐗,tn+1)\phi^{n+1}=\phi(\mathbf{X},t^{n+1})), for an hyperelastic material is given by minimizing the following functional:

I(ϕn+1)\displaystyle I(\phi^{n+1}) =Ω0(12R0βΔt2ϕn+12+2αΨ(𝐅n+1))𝑑𝐗Ω0R0𝐁¯n+1ϕn+1𝑑𝐗2αΩ0𝐓ϕn+1𝑑S(𝐗),\displaystyle=\int_{\Omega_{0}}\left(\frac{1}{2}\frac{R_{0}}{\beta\Delta t^{2}}\|\phi^{n+1}\|^{2}+2\alpha\Psi(\mathbf{F}^{n+1})\right)d\mathbf{X}-\int_{\Omega_{0}}R_{0}\bar{\mathbf{B}}_{n+1}\cdot\phi^{n+1}d\mathbf{X}-2\alpha\int_{\partial\Omega_{0}}\mathbf{T}\cdot\phi^{n+1}dS(\mathbf{X}), (10)

where

𝐁¯n+1=2α𝐠+1βΔt2(ϕn+Δtϕt(𝐗,tn)+α(12β)Δt22ϕt2(𝐗,tn))\displaystyle\bar{\mathbf{B}}_{n+1}=2\alpha\mathbf{g}+\frac{1}{\beta\Delta t^{2}}\left(\phi^{n}+\Delta t\frac{\partial\phi}{\partial t}(\mathbf{X},t^{n})+\alpha\left(1-2\beta\right)\Delta t^{2}\frac{\partial^{2}\phi}{\partial t^{2}}(\mathbf{X},t^{n})\right) (11)

encodes the inertia term and is a constant field in the minimization problem. The velocity update rule is

ϕt(𝐗,tn+1)=ϕt(𝐗,tn)+Δt((1γ)2ϕt2(𝐗,tn)+γ2ϕt2(𝐗,tn+1)).\displaystyle\frac{\partial\phi}{\partial t}(\mathbf{X},t^{n+1})=\frac{\partial\phi}{\partial t}(\mathbf{X},t^{n})+\Delta t\left(\left(1-\gamma\right)\frac{\partial^{2}\phi}{\partial t^{2}}(\mathbf{X},t^{n})+\gamma\frac{\partial^{2}\phi}{\partial t^{2}}(\mathbf{X},t^{n+1})\right). (12)

Here we have slightly modified the energy proposed by Radovitzky and Ortiz [67] to let it be compatible with backward Euler since their version was explicitly built for Newmark’s algorithm.

Note that in the case of backward Euler (α=1\alpha=1, β=12\beta=\frac{1}{2}, γ=1\gamma=1), it can be easily shown that the Euler-Lagrangian equation of functional (10) gives back the time-discretized momentum balance

R0Δt2ϕn+1𝐗𝐏n+1=R0𝐠+R0Δt2(ϕn+Δt𝐕n).\displaystyle\frac{R_{0}}{\Delta t^{2}}\phi^{n+1}-\nabla^{\mathbf{X}}\cdot\mathbf{P}^{n+1}=R_{0}\mathbf{g}+\frac{R_{0}}{\Delta t^{2}}(\phi^{n}+\Delta t\mathbf{V}^{n}). (13)

Similarly, for Middle-point Newmark (α=12\alpha=\frac{1}{2}, β=14\beta=\frac{1}{4}, γ=12\gamma=\frac{1}{2}), we would get

R0Δt2ϕn+114𝐗𝐏n+1=14R0𝐠+R0Δt2(ϕn+Δt𝐕n+14Δt2𝐀n).\displaystyle\frac{R_{0}}{\Delta t^{2}}\phi^{n+1}-\frac{1}{4}\nabla^{\mathbf{X}}\cdot\mathbf{P}^{n+1}=\frac{1}{4}R_{0}\mathbf{g}+\frac{R_{0}}{\Delta t^{2}}(\phi^{n}+\Delta t\mathbf{V}^{n}+\frac{1}{4}\Delta t^{2}\mathbf{A}^{n}). (14)

Both of them match the results from temporally discretizing the Lagrangian form of Equation (2).

Refer to caption
Figure 1: Deformation map. The material space of FEM and MPM domains (ΩF0\Omega_{\text{F}}^{0} and ΩM0\Omega_{\text{M}}^{0}) on the left are mapped via ϕF\phi_{\text{F}} and ϕM\phi_{\text{M}} to the world space (ΩFn+1\Omega_{\text{F}}^{n+1} and ΩMn+1\Omega_{\text{M}}^{n+1}) on the right, with ΩFtΩMt=\Omega_{\text{F}}^{t}\cap\Omega_{\text{M}}^{t}=\varnothing for all t[0,)t\in[0,\infty). With Updated Lagrangian kinematics, MPM treats ΩMn\Omega_{M}^{n} as the “intermediate” material space and focuses on studying the deformation from ΩMn\Omega_{M}^{n} to ΩMn+1\Omega_{M}^{n+1}. Here Γ\Gamma represents Dirichlet boundary or nonzero Neumann boundary.

2.3 Coupling

In the proposed framework, the Lagrangian form is discretized on the FEM domain ΩF\Omega_{F} (Section 3.1), while the Eulerian form is discretized on the MPM domain ΩM\Omega_{M} (Section 3.2). We assume

ΩF0ΩM0=\displaystyle\Omega_{F}^{0}\cap\Omega_{M}^{0}=\varnothing (15)

and their corresponding deformation map 𝐱M=ϕM(𝐗M,t)\mathbf{x}_{M}=\phi_{M}(\mathbf{X}_{M},t) and 𝐱F=ϕF(𝐗F,t)\mathbf{x}_{F}=\phi_{F}(\mathbf{X}_{F},t) are fully governed by their own variational forms in the absence of any coupling mechanism. In other words, without coupling, evolving the two domains independently (with two solvers) is equivalent to minimizing

Π(ϕM,ϕF)=I(ϕM)+I(ϕF)\displaystyle\Pi(\phi_{M},\phi_{F})=I(\phi_{M})+I(\phi_{F}) (16)

by directly letting Ω=ΩFΩM\Omega=\Omega_{F}\cup\Omega_{M}.

The coupling between FEM and MPM domains are then modeled via imposing the non-interpenetration constraints:

ΩFtΩMt=,t[0,)\displaystyle\Omega_{F}^{t}\cap\Omega_{M}^{t}=\varnothing,\quad\forall t\in[0,\infty) (17)

between the two domains. Note that the time is discretized with t=t0,t1,t2,,tnt=t^{0},t^{1},t^{2},\dots,t^{n}. We use Ωn\Omega^{n} to denote Ωtn\Omega^{t^{n}} for notational simplicity. See Figure 1 for an illustration. Thus the final variational MPM-FEM coupling problem can be described as minimizing Equation (16) under the equality constraint described by Equation (17).

The feasible region described by Equation (17) can be equivalently expressed as

ϕM(𝐗M,t)ϕF(𝐗F,t),𝐗MΩM0,𝐗FΩF0,t[0,).\displaystyle\phi_{M}(\mathbf{X}_{M},t)\neq\phi_{F}(\mathbf{X}_{F},t),\quad\forall\mathbf{X}_{M}\in\Omega_{M}^{0},\mathbf{X}_{F}\in\Omega_{F}^{0},t\in[0,\infty). (18)

Moreover, if we define

d(ϕM,ϕF,t)=min𝐗F,𝐗MϕF(𝐗F,t)ϕM(𝐗M,t)\displaystyle d(\phi_{M},\phi_{F},t)=\min_{\mathbf{X}_{F},\mathbf{X}_{M}}\|\phi_{F}(\mathbf{X}_{F},t)-\phi_{M}(\mathbf{X}_{M},t)\| (19)

to describe the Euclidean proximity between ΩMt\Omega_{M}^{t} and ΩFt\Omega_{F}^{t}, Equation (18) can be further converted to a strict inequality constraint

d(ϕM,ϕF,t)>0,t[0,).\displaystyle d(\phi_{M},\phi_{F},t)>0,\quad\forall t\in[0,\infty). (20)

Note that in Equation (15), we have assumed that the undeformed domains are non-overlapping. Thus the minimization problem starts with a strictly feasible solution at t=0t=0.

In Section 4.1 we describe a barrier method that results in a contact pressure for enforcing Equation (15). See Section 4.3 for extra components on incorporating tangential frictional effects.

3 Discretization

The finite element domain is discretized with linear simplex elements (triangles in 2D and tetrahedra in 3D), and the material point domain is discretized using a collection of material points and an Eulerian background grid with quadratic B-spline kernels. Both schemes adopt mass lumping and assume zero traction at boundaries unless otherwise specified in an example. Stacking all nodal positions, velocities, and accelerations from both the FEM mesh and the MPM grid at time step nn as xn=[(xFn)T,(xMn)T]Tx^{n}=[(x^{n}_{\text{F}})^{T},(x^{n}_{\text{M}})^{T}]^{T}, vn=[(vFn)T,(vMn)T]Tv^{n}=[(v^{n}_{\text{F}})^{T},(v^{n}_{\text{M}})^{T}]^{T}, and an=[(aFn)T,(aMn)T]Ta^{n}=[(a^{n}_{\text{F}})^{T},(a^{n}_{\text{M}})^{T}]^{T} where subscripts F stands for FEM while M for MPM, the unified time integration update rule can be written as

v~n+1=vn+Δt((1γ)an+γan+1),x~n+1=xn+Δtvn+αΔt2((12β)an+2βan+1)),\begin{split}\tilde{v}^{n+1}&=v^{n}+\Delta t((1-\gamma)a^{n}+\gamma a^{n+1}),\\ \tilde{x}^{n+1}&=x^{n}+\Delta tv^{n}+\alpha\Delta t^{2}((1-2\beta)a^{n}+2\beta a^{n+1})),\end{split} (21)

and it is equivalent to first solving the optimization problem

minx:(12xx^nM2+2αβΔt2Ψ(x))\min_{x}:\left(\frac{1}{2}\|x-\hat{x}^{n}\|^{2}_{M}+2\alpha\beta\Delta t^{2}\Psi(x)\right) (22)

to get x~n+1\tilde{x}^{n+1}, and then explicitly calculating v~n+1\tilde{v}^{n+1}. Here x^n=xn+vnΔt+α(12β)Δt2an\hat{x}^{n}=x^{n}+v^{n}\Delta t+\alpha(1-2\beta)\Delta t^{2}a^{n}, and Ψ(x)=qVq0ψ(𝐅q(x))\Psi(x)=\sum_{q}V_{q}^{0}\psi(\mathbf{F}_{q}(x)) with qq belonging to FEM elements or MPM particles and Vq0V_{q}^{0} the rest volume of a FEM element or a MPM particle.

For FEM, the time integration is solely performed on the Lagrangian nodal degrees of freedom throughout the simulation and so x~Fn+1=xFn+1\tilde{x}^{n+1}_{\text{F}}=x^{n+1}_{\text{F}} and v~Fn+1=vFn+1\tilde{v}^{n+1}_{\text{F}}=v^{n+1}_{\text{F}}. But for MPM, Equations (21) are only part of the Eulerian time integration performed on the Eulerian grid before and after particle-grid transfers for xMx_{\text{M}} and vMv_{\text{M}}, so x~Mn+1xMn+1\tilde{x}^{n+1}_{\text{M}}\neq x^{n+1}_{\text{M}} and v~Mn+1vMn+1\tilde{v}^{n+1}_{\text{M}}\neq v^{n+1}_{\text{M}} (see Section 3.2 for details). Note that the minimization problem (22) is equivalent to the discrete form of the variational time integration in [53, 68, 56] for hyperelastic problems. xFx_{\text{F}} and xMx_{\text{M}} are coupled through contact modeling between the two domains (Section 4).

3.1 The Finite Element Domain

For the FEM domain, nodal positions and velocities are stored on mesh vertices and updated directly. The nodal masses are kept constant, i.e., min=mim^{n}_{i}=m_{i}.

Inside any simplex element, the material and world space coordinate of an arbitrary location 𝐗\mathbf{X} are expressed using linear interpolation kernels Ni(𝐗)N_{i}(\mathbf{X}) of node 𝐗i\mathbf{X}_{i} as

𝐗=iNi(𝐗)𝐗iandϕ(𝐗,t)=iNi(𝐗)ϕ(𝐗i,t).\mathbf{X}=\sum_{i}N_{i}(\mathbf{X})\mathbf{X}_{i}\quad\text{and}\quad\phi(\mathbf{X},t)=\sum_{i}N_{i}(\mathbf{X})\phi(\mathbf{X}_{i},t). (23)

Then according to the definition of 𝐅\mathbf{F} (Equation (3)), with NiN_{i} being the linear hat function, the deformation gradient is piecewise constant. Inside a linear simplex element ee it is directly evaluated as a function of xx:

𝐅e(x)=𝐓e(x)𝐁e1,\mathbf{F}_{e}(x)=\mathbf{T}_{e}(x)\mathbf{B}_{e}^{-1}, (24)

where 𝐓e(x)\mathbf{T}_{e}(x) is the current triangle basis of element ee and 𝐁e\mathbf{B}_{e} is the triangle basis of element ee in material space.

3.2 The Material Point Domain

For the MPM domain, the nodal positions xMnx^{n}_{\text{M}} are the uniform Cartesian grid coordinates at each time step. The grid velocity 𝐯in\mathbf{v}_{i}^{n} and mass minm_{i}^{n} are transferred from particles. The nodal movements are conceptual. x~Mn+1\tilde{x}^{n+1}_{\text{M}} and v~Mn+1\tilde{v}^{n+1}_{\text{M}} will be transferred back to particles for advection.

Similar to FEM, each MPM grid node ii is associated with a kernel function Ni(𝐱)N_{i}(\mathbf{x}) for the grid to represent the continuous field. Note that the kernel is defined in terms of 𝐱\mathbf{x} rather than 𝐗\mathbf{X} because the grid is essentially a discretization of ΩMn\Omega_{M}^{n} – a direct consequence of adopting Updated Lagrangian kinematics. When NiN_{i} is evaluated at a particle location 𝐱qn\mathbf{x}_{q}^{n}, a shorter notation Ni(𝐱qn)=wiqnN_{i}(\mathbf{x}_{q}^{n})=w_{iq}^{n} is from now on used instead. Here NiN_{i} directly takes the current particle location 𝐱qn\mathbf{x}_{q}^{n} as input as opposed to FEM because there is no globally defined reference configuration in MPM and the deformation is evolved over time steps rather than recomputed using a rest shape. More specifically, the deformation gradient of a particle qq is defined as

𝐅q(x)=i𝐱i(wipn)T𝐅qn.\mathbf{F}_{q}(x)=\sum_{i}\mathbf{x}_{i}(\nabla w^{n}_{ip})^{T}\mathbf{F}_{q}^{n}. (25)

In this paper, without loss of generality, we adopt the quadratic B-spline kernel for Ni(𝐱)N_{i}(\mathbf{x}) to avoid MPM’s cell-crossing instability [69]. Other kernels based on the NURBS [70], Generalized Interpolation Material Point Method (GIMP) [9], Convective Particle Domain Interpolation (CPDI) [31, 71, 72], or the Dual Domain Material Point (DDMP) [73, 74] can also be directly used in our framework.

To transfer information between the particles and the grid, we implemented options including the Affine Particle-In-Cell (APIC) method [75, 34] (Table 1), Particle-In-Cell (PIC) method [3] (Table 2), and the Fluid-Implicit Particle (FLIP) method [4] (Table 3). Note that other transfer schemes such as XPIC [76] can also be applied in our framework in a straightforward manner.

Table 1: APIC Particle-Grid Transfer
Particles to grid (APIC) Grid to particles (APIC)
min=pmpwipn𝐃pn=iwipn(𝐱in𝐱pn)(𝐱in𝐱pn)Tmin𝐯in=pwipmpn(𝐯pn+𝐁p(𝐃p)1(𝐱in𝐱pn))\begin{split}m^{n}_{i}&=\sum_{p}m_{p}w_{ip}^{n}\\ \mathbf{D}_{p}^{n}&=\sum_{i}w_{ip}^{n}(\mathbf{x}_{i}^{n}-\mathbf{x}_{p}^{n})(\mathbf{x}_{i}^{n}-\mathbf{x}_{p}^{n})^{T}\\ m_{i}^{n}\mathbf{v}_{i}^{n}&=\sum_{p}w_{ip}m_{p}^{n}(\mathbf{v}_{p}^{n}+\mathbf{B}_{p}(\mathbf{D}_{p})^{-1}(\mathbf{x}_{i}^{n}-\mathbf{x}_{p}^{n}))\end{split} 𝐯pn+1=i𝐯~in+1wipn𝐱pn+1=i𝐱~in+1wipn𝐁pn=12iwipn(𝐯~in+1(𝐱in𝐱pn+𝐱~in+1𝐱pn+1)T+(𝐱in𝐱pn𝐱~in+1+𝐱pn+1)(𝐯~in+1)T)𝐅pn+1=i𝐱~in+1(wipn)T𝐅pn\begin{split}\mathbf{v}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{v}}^{n+1}_{i}w_{ip}^{n}\\ \mathbf{x}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{x}}^{n+1}_{i}w_{ip}^{n}\\ \mathbf{B}_{p}^{n}=&\frac{1}{2}\sum_{i}w_{ip}^{n}\bigg{(}\tilde{\mathbf{v}}^{n+1}_{i}(\mathbf{x}_{i}^{n}-\mathbf{x}_{p}^{n}+\tilde{\mathbf{x}}_{i}^{n+1}-\mathbf{x}_{p}^{n+1})^{T}\\ &+(\mathbf{x}_{i}^{n}-\mathbf{x}_{p}^{n}-\tilde{\mathbf{x}}_{i}^{n+1}+\mathbf{x}_{p}^{n+1})(\tilde{\mathbf{v}}^{n+1}_{i})^{T}\bigg{)}\\ \mathbf{F}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{x}}^{n+1}_{i}(\nabla w^{n}_{ip})^{T}\mathbf{F}_{p}^{n}\end{split}
Table 2: PIC Particle-Grid Transfer
Particles to grid (PIC) Grid to particles (PIC)
min=pmpwipnmin𝐯in=pwipnmpn𝐯pn\begin{split}m^{n}_{i}&=\sum_{p}m_{p}w_{ip}^{n}\\ m_{i}^{n}\mathbf{v}_{i}^{n}&=\sum_{p}w_{ip}^{n}m_{p}^{n}\mathbf{v}_{p}^{n}\end{split} 𝐱pn+1=i𝐱~in+1wipn𝐯pn+1=i𝐯~in+1wipn𝐅pn+1=i𝐱~in+1(wipn)T𝐅pn\begin{split}\mathbf{x}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{x}}^{n+1}_{i}w_{ip}^{n}\\ \mathbf{v}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{v}}^{n+1}_{i}w_{ip}^{n}\\ \mathbf{F}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{x}}^{n+1}_{i}(\nabla w^{n}_{ip})^{T}\mathbf{F}_{p}^{n}\end{split}
Table 3: FLIP Particle-Grid Transfer
Particles to grid (FLIP) Grid to particles (FLIP)
min=pmpwipnmin𝐯in=pwipnmpn𝐯pn\begin{split}m^{n}_{i}&=\sum_{p}m_{p}w_{ip}^{n}\\ m_{i}^{n}\mathbf{v}_{i}^{n}&=\sum_{p}w_{ip}^{n}m_{p}^{n}\mathbf{v}_{p}^{n}\end{split} 𝐱pn+1=i𝐱~in+1wipn𝐯pn+1=𝐯pn+iwipn(𝐯~in+1𝐯in)𝐅pn+1=i𝐱~in+1(wipn)T𝐅pn\begin{split}\mathbf{x}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{x}}^{n+1}_{i}w_{ip}^{n}\\ \mathbf{v}_{p}^{n+1}=&\mathbf{v}_{p}^{n}+\sum_{i}w_{ip}^{n}(\tilde{\mathbf{v}}^{n+1}_{i}-\mathbf{v}^{n}_{i})\\ \mathbf{F}_{p}^{n+1}=&\sum_{i}\tilde{\mathbf{x}}^{n+1}_{i}(\nabla w^{n}_{ip})^{T}\mathbf{F}_{p}^{n}\end{split}

4 The Contact between Domains

4.1 Contact Potential

Recently for Lagrangian FEM, Li et al.[57, 59] proposed a consistent variational contact model that smoothly approximates the nonsmooth contact phenomena with bounded error, and demonstrated its convergence under refinement for piecewise linear boundary discretization. Here we customize the FEM contact potential [59] to the FEM-MPM coupling setting by defining the inter-surface contact potential between surfaces ΩM\partial\Omega_{\text{M}} and ΩF\partial\Omega_{\text{F}} to be

ΩM0b(min𝐱fΩFtdPP(𝐱m,𝐱f),d^)𝐝𝐗m,\int_{\partial\Omega_{\text{M}}^{0}}b(\min_{\mathbf{x}_{f}\in\partial\Omega_{\text{F}}^{t}}d^{PP}(\mathbf{x}_{m},\mathbf{x}_{f}),\hat{d})\mathbf{d}\mathbf{X}_{m}, (26)

where dPP(𝐱m,𝐱f)=𝐱m𝐱fd^{PP}(\mathbf{x}_{m},\mathbf{x}_{f})=\|\mathbf{x}_{m}-\mathbf{x}_{f}\| is the point-point distance function, and

b(d,d^)={κ(dd^1)2ln(dd^)0<d<d^0dd^b(d,\hat{d})=\begin{cases}-\kappa(\frac{d}{\hat{d}}-1)^{2}\ln{(\frac{d}{\hat{d}})}&0<d<\hat{d}\\ 0&d\geq\hat{d}\end{cases} (27)

is a smoothly clamped barrier function that serves as the contact energy density with dd the input distance, d^\hat{d} a small distance threshold below which contact activates, and κ\kappa in PaPa the barrier stiffness [57, 59], which scales the magnitude of contact forces at a certain distance.

Intuitively, min𝐱fΩFtdPP(𝐱m,𝐱f)\min_{\mathbf{x}_{f}\in\partial\Omega_{\text{F}}^{t}}d^{PP}(\mathbf{x}_{m},\mathbf{x}_{f}) is the distance between a material point 𝐱mΩMt\mathbf{x}_{m}\in\partial\Omega_{\text{M}}^{t} and surface ΩFt\partial\Omega_{\text{F}}^{t}, and Equation (26) can be viewed as an integration of the point(𝐱m\mathbf{x}_{m})-surface(ΩFt\partial\Omega_{\text{F}}^{t}) contact energy density over surface ΩM0\partial\Omega_{\text{M}}^{0}. The barrier function bb smoothly increases from 0 to infinity as the input distance decreases from d^\hat{d} to 0, providing arbitrarily large repulsion to ensure no interpenetration and at the same time bound the contact gap error within d^\hat{d} (Figure 2). As d^0\hat{d}\rightarrow 0, the approximation error between the contact energy density function bb and the real contact phenomenon described in Equation (20) decreases, which also makes ΩM\partial\Omega_{\text{M}} and ΩF\partial\Omega_{\text{F}} interchangeable in the limit. Note that the integration is performed in the material space while the distance is evaluated in the world space.

Refer to caption
Figure 2: The barrier energy density function Equation (27) plotted with different d^\hat{d}. Decreasing d^\hat{d} asymptotically matches the discontinuous definition of the contact condition.

4.2 Discretization

After applying FEM and MPM discretization schemes, assuming 2D, the contact potential Equation (26) is discretized to be

B(x)=q𝒬ωqb(minedPE(𝐱q,e),d^),B(x)=\sum_{q\in\mathcal{Q}}\omega_{q}b(\min_{e\in\mathcal{B}}d^{PE}(\mathbf{x}_{q},e),\hat{d}), (28)

where 𝒬\mathcal{Q} is the set of all MPM particles, ωq\omega_{q} is the integration weight (equivalently, the boundary area) of MPM particle qq, \mathcal{B} is the set of FEM boundary edges, and dPE(𝐱q,e)d^{PE}(\mathbf{x}_{q},e) is the point-edge distance between particle 𝐱q\mathbf{x}_{q} and edge ee. Note that the MPM grid nodal positions x~M\tilde{x}_{\text{M}} to be solved and the particle positions 𝐱q\mathbf{x}_{q} after advection using x~M\tilde{x}_{\text{M}} are linearly related through the particle-grid transfer kernel (Figure 3 right), and so the contact force on the MPM nodal degrees of freedom can be calculated by applying the chain rule:

BxM=q𝒬(𝐱qxM)TB𝐱q,\frac{\partial B}{\partial x_{\text{M}}}=\sum_{q\in\mathcal{Q}}\left(\frac{\partial\mathbf{x}_{q}}{\partial x_{\text{M}}}\right)^{T}\frac{\partial B}{\partial\mathbf{x}_{q}}, (29)

where

(𝐱qxM)α,id+β=δαβwiqn\left(\frac{\partial\mathbf{x}_{q}}{\partial x_{M}}\right)_{\alpha,id+\beta}=\delta_{\alpha\beta}w_{iq}^{n}

with α,β=1,2,,d\alpha,\beta=1,2,...,d and d=2d=2 or 33 the spatial dimension since 𝐱q=iwiqn𝐱i\mathbf{x}_{q}=\sum_{i}w_{iq}^{n}\mathbf{x}_{i}.

Ideally, ωq\omega_{q} should be zero for interior particles. It should reveal the proportional surface area of boundary particles. Since FEM boundary elements are always outside the MPM domain and the barrier function bb is only activated at a small distance, the activation of bb can be applied to conveniently decide whether an MPM particle is at the boundary or the interior without explicitly identifying the MPM domain boundary in each time step (Figure 3 left). Then assuming a close to uniform particle distribution to be maintained throughout the simulation, ωq\omega_{q} can be set to 2Vq0/π2\sqrt{V_{q}^{0}/\pi} in 2D and π(3Vq0/(4π))23\pi\left(3V_{q}^{0}/\left(4\pi\right)\right)^{\frac{2}{3}} in 3D for all particles, which is the area of the largest cross section of a spherical particle qq.

Refer to caption
Figure 3: Contact constraint pairs. Left: Contact activates on all pairs of MPM particles and FEM boundary elements with distance below d^\hat{d}. Right: Contact force is transferred from MPM particles to MPM grids via chain rule.
Refer to caption
Figure 4: A visual demonstration in 2D of (left) the unsigned distance function to a segmented mesh, and (right) the corresponding barrier function (27) visualized with an exaggerated d^\hat{d} parameter.

The minimization operator in the potential (Equation (28)) helps to compute the point-polyline distance from point-edge distances. As the barrier function bb is monotonically decreasing, the potential can be rewritten as

B(x)=q𝒬ωqmaxeb(dPE(𝐱q,e),d^).B(x)=\sum_{q\in\mathcal{Q}}\omega_{q}\max_{e\in\mathcal{B}}b(d^{PE}(\mathbf{x}_{q},e),\hat{d}). (30)

Due to the existence of a max\max operator, it is only C0C^{0} continuous, making the incremental potential challenging to be efficiently minimized by gradient-based optimization methods like Newton’s method. Since the barrier function bb is with local support around each boundary element, and that it maps a majority of the activate distances to tiny potential values (Figure 4), the maximization of the potential field can be well approximated by summation, with the duplicate potential around FEM boundary nodes compensated by subtraction as proposed by Li et al. [59]:

B(x)=q𝒬ωq(eb(dPE(𝐱q,e),d^)k^(ηk1)b(dPP(𝐱q,𝐱k),d^)),B(x)=\sum_{q\in\mathcal{Q}}\omega_{q}\left(\sum_{e\in\mathcal{B}}b(d^{PE}(\mathbf{x}_{q},e),\hat{d})-\sum_{k\in\hat{\mathcal{B}}}\left(\eta_{k}-1\right)b(d^{PP}(\mathbf{x}_{q},\mathbf{x}_{k}),\hat{d})\right), (31)

where ^\hat{\mathcal{B}} is the set of all FEM boundary nodes and ηk\eta_{k} is the number of FEM boundary edges incident to node kk. For closed manifold domains in 2D, ηk=2\eta_{k}=2 for all kk.

Similarly, in 3D, the discretized contact potential becomes

B(x)=q𝒬ωq(tb(dPT(𝐱q,t),d^)e^(ηe1)b(dPE(𝐱q,e),d^)+𝐱p~b(dPP(𝐱q,𝐱p),d^)),B(x)=\sum_{q\in\mathcal{Q}}\omega_{q}\left(\sum_{t\in\mathcal{B}}b(d^{PT}(\mathbf{x}_{q},t),\hat{d})-\sum_{e\in\hat{\mathcal{B}}}\left(\eta_{e}-1\right)b(d^{PE}(\mathbf{x}_{q},e),\hat{d})+\sum_{\mathbf{x}_{p}\in\tilde{\mathcal{B}}}b(d^{PP}(\mathbf{x}_{q},\mathbf{x}_{p}),\hat{d})\right), (32)

where \mathcal{B} is now the set of all FEM boundary triangles, ^\hat{\mathcal{B}} is the set of all edges on the FEM boundary with ηe\eta_{e} the number of FEM boundary triangles incident to edge ee, ~\tilde{\mathcal{B}} the set of all nodes that are in the interior of the FEM boundary surface mesh, and dPT(𝐱q,t)d^{PT}(\mathbf{x}_{q},t) the point-triangle distance between particle 𝐱q\mathbf{x}_{q} and triangle tt. For closed manifold domains in 3D, ηe=2\eta_{e}=2 for all ee.

Adding the contact potential into the incremental potential, the minimization problem for time integration is now fully unconstrained:

minx:12xx^nM2+2αβΔt2(Ψ(x)+B(x)).\min_{x}:\frac{1}{2}\|x-\hat{x}^{n}\|^{2}_{M}+2\alpha\beta\Delta t^{2}\left(\Psi(x)+B(x)\right). (33)

Since the distance values measured for contacting MPM particle - FEM simplex pairs are all unsigned, Problem (33) may contain a local optimum at configurations with intersections. To be consistent with the continuous constraint Equation (20), it is also constrained that the iterates always stay in the feasible region on one side of the barrier without crossing. This is achieved by applying the interior-point filter line-search algorithm [77] with continuous collision detection (CCD) [78, 60].

4.3 Friction

To model frictional contact, local frictional forces FkF_{k} can be added for every active contact pair kk. For each such pair kk, at the current state xx, a consistently oriented sliding basis Tk(x)dm×(d1)T_{k}(x)\in\mathbb{R}^{dm\times(d-1)} can be constructed, where mm is the total number of colliding nodes and dd is the dimension of space, such that 𝐮k=Tk(x)T(Δtvn+Δt2((1γ)an+γan+1))d1\mathbf{u}_{k}=T_{k}(x)^{T}(\Delta tv^{n}+\Delta t^{2}((1-\gamma)a^{n}+\gamma a^{n+1}))\in\mathbb{R}^{d-1} provides the local relative sliding displacement in the frame orthogonal to the distance gradient. The corresponding sliding velocity is then 𝐯k=𝐮k/Δtd1\mathbf{v}_{k}=\mathbf{u}_{k}/\Delta t\in\mathbb{R}^{d-1}.

Maximizing dissipation rate subject to the Coulomb constraint defines friction forces variationally [79, 80]

Fk(x)=Tk(x)argmin𝜷d1𝜷T𝐯ks.t.𝜷μλk,\displaystyle\begin{split}F_{k}(x)=T_{k}(x)\>\mathop{\rm argmin}_{\bm{\beta}\in\mathbb{R}^{d-1}}\bm{\beta}^{T}\mathbf{v}_{k}\quad\text{s.t.}\quad\|\bm{\beta}\|\leq\mu\lambda_{k},\end{split} (34)

where λk\lambda_{k} is the contact force magnitude and μ\mu is the local friction coefficient. This is equivalent to

Fk(x)=μλkTk(x)f(𝐮k)𝐬(𝐮k),F_{k}(x)=-\mu\lambda_{k}T_{k}(x)f(\|\mathbf{u}_{k}\|)\>\mathbf{s}(\mathbf{u}_{k}), (35)

with 𝐬(𝐮k)=𝐮k𝐮k\mathbf{s}(\mathbf{u}_{k})=\frac{\mathbf{u}_{k}}{\|\mathbf{u}_{k}\|} when 𝐮k>0\|\mathbf{u}_{k}\|>0, while 𝐬(𝐮k)\mathbf{s}(\mathbf{u}_{k}) takes any unit vector when 𝐮k=0\|\mathbf{u}_{k}\|=0. The friction magnitude function, ff, is nonsmooth with respect to 𝐮k\mathbf{u}_{k} since f(𝐮k)=1f(\|\mathbf{u}_{k}\|)=1 when 𝐮k>0\|\mathbf{u}_{k}\|>0, and f(𝐮k)[0,1]f(\|\mathbf{u}_{k}\|)\in[0,1] when 𝐮k=0\|\mathbf{u}_{k}\|=0. This nonsmoothness would severely slow and even break convergence of gradient-based optimization.

To enable efficient and stable optimization, the friction-velocity relation in the transition to static friction can be mollified by replacing ff with a smoothly approximated function. Following Li et al. [57], we use

f1(y)={y2ϵv2Δt2+2yϵvΔt,y[0,Δtϵv)1,yΔtϵv,\displaystyle f_{1}(y)=\begin{cases}-\frac{y^{2}}{\epsilon_{v}^{2}\Delta t^{2}}+\frac{2y}{\epsilon_{v}\Delta t},&y\in[0,\Delta t\epsilon_{v})\\ 1,&y\geq\Delta t\epsilon_{v},\end{cases} (36)

where f1(Δtϵv)=0f_{1}^{\prime}(\Delta t\epsilon_{v})=0 and a velocity magnitude bound ϵv\epsilon_{v} (in units of m/sm/s) below which sliding velocities 𝐯k\mathbf{v}_{k} are treated as static is defined for bounded approximation error (Figure 5).

Refer to caption
Figure 5: Friction mollifier plotted with different ϵv\epsilon_{v}. Decreasing ϵv\epsilon_{v} asymptotically matches the discontinuous Coulomb friction model.

Note that the velocity used in our friction model on the MPM side is the interpolated grid velocity at particle quadrature locations, rather than the particle velocity after grid-to-particle transfer. This makes the velocity seen by frictional forces independent from the choice of the particle-grid transfer scheme. This is important because for example in FLIP, the particle velocity does not reflect its displacement (𝐯qn+1(𝐱pn+1𝐱pn)/Δt\mathbf{v}_{q}^{n+1}\neq(\mathbf{x}_{p}^{n+1}-\mathbf{x}_{p}^{n})/\Delta t) and thus should not be used to define friction in an implicit solve.

However, challenges remain on incorporating friction into the optimization time integration. A major problem is that friction is not a conservative force and there is no well-defined potential such that taking the opposite of its gradient produces the frictional force. Therefore, following Li et al. [57], we fix the friction constraint set \mathcal{F} along with the normal force magnitude λ\lambda and the tangent operator TT during the nonlinear optimization to the last updated value j=(xj)\mathcal{F}^{j}=\mathcal{F}(x^{j}), λj=λ(xj)\lambda^{j}=\lambda(x^{j}), and Tj=T(xj)T^{j}=T(x^{j}), which then makes the lagged friction force integrable with the pseudo-potential

D(x)=kjμλkjf0(𝐮¯k),D(x)=\sum_{k\in\mathcal{F}^{j}}\mu\lambda_{k}^{j}f_{0}(\|\bar{\mathbf{u}}_{k}\|), (37)

where j\mathcal{F}^{j} is the set of all contact pairs with nonzero λkj\lambda_{k}^{j}, f0(y)=f1(y)f^{\prime}_{0}(y)=f_{1}(y), 𝐮¯k=(Tkj)T(Δtvn+Δt2((1γ)an+γan+1))\bar{\mathbf{u}}_{k}=(T_{k}^{j})^{T}(\Delta tv^{n}+\Delta t^{2}((1-\gamma)a^{n}+\gamma a^{n+1})) and so we have D(x)=kjμλkjTkjf1(𝐮¯k)𝐬(𝐮¯k)-\nabla D(x)=-\sum_{k\in\mathcal{F}^{j}}\mu\lambda^{j}_{k}T^{j}_{k}f_{1}(\|\bar{\mathbf{u}}_{k}\|)\>\mathbf{s}(\bar{\mathbf{u}}_{k}), which is a semi-implicit discretization of the frictional force with lagged variables λkj\lambda^{j}_{k} and TkjT^{j}_{k}. Then we can iteratively alternate between the nonlinear optimization with fixed \mathcal{F}, λ\lambda, and TT given as

minx:E(x)=12xx^nM2+2αβΔt2(Ψ(x)+B(x)+D(x)),\min_{x}:E(x)=\frac{1}{2}\|x-\hat{x}^{n}\|^{2}_{M}+2\alpha\beta\Delta t^{2}\left(\Psi(x)+B(x)+D(x)\right), (38)

and friction update until convergence (Algorithm 1). Although the friction convergence is not guaranteed for arbitrarily large time step sizes due to the nonlinearity and asymmetry of the problem, we have confirmed that all our experiments converge with the practical time step sizes applied (Section 6).

4.4 Irregular Boundaries for MPM

In the BFEMP framework, an experimental setup with a subset or all of the FEM nodes prescribed with Dirichlet boundary conditions on their displacements can be applied to model irregular boundaries for MPM. This can not only resolve detailed boundary geometries even when the MPM grid is relatively coarse (Section 6.2), but also provide accurate and controllable friction on the boundary (Section 6.4).

5 Nonlinear Optimization

The time integration framework of BFEMP for one time step is outlined in Algorithm 1. MPM particle-grid transfers are performed in the beginning (line 2) and the end (line 12). On the MPM grid and the FEM mesh, the minimization of incremental potential with lagged friction (line 7) is alternated with the friction update (line 9) until convergence to the fully implicit friction solution.

Algorithm 1 BFEMP Time Integration
1:procedure TimeIntegration(xFnx_{\text{F}}^{n}, vFnv_{\text{F}}^{n}, MFM_{\text{F}}, xPnx_{\text{P}}^{n}, vPnv_{\text{P}}^{n}, MPM_{\text{P}}, Δt\Delta t) \triangleright subscript P is for stacked particle variables
2:     xMnx_{\text{M}}^{n}, vMnv_{\text{M}}^{n}, MMnM_{\text{M}}^{n}\leftarrow particleToGrid(xPnx_{\text{P}}^{n}, vPnv_{\text{P}}^{n}, MPM_{\text{P}}) \triangleright Table 12, and 3
3:     x~Fn+1xFn\tilde{x}^{n+1}_{\text{F}}\leftarrow{x}^{n}_{\text{F}}, x~Mn+1xMn\tilde{x}^{n+1}_{\text{M}}\leftarrow{x}^{n}_{\text{M}} \triangleright for initial guess
4:     j0j\leftarrow 0
5:     j\mathcal{F}^{j}, λj\lambda^{j}, TjT^{j}\leftarrow computeFrictionOperator(x~Fn+1\tilde{x}_{\text{F}}^{n+1}, x~Mn+1\tilde{x}_{\text{M}}^{n+1}) \triangleright Section 4.3
6:     do
7:         [x~Fn+1x~Mn+1]\begin{bmatrix}\tilde{x}^{n+1}_{\text{F}}\\ \tilde{x}^{n+1}_{\text{M}}\end{bmatrix}, [v~Fn+1v~Mn+1]\begin{bmatrix}\tilde{v}^{n+1}_{\text{F}}\\ \tilde{v}^{n+1}_{\text{M}}\end{bmatrix} \leftarrow MinimizeIP( [xFnxMn]\begin{bmatrix}x^{n}_{\text{F}}\\ x^{n}_{\text{M}}\end{bmatrix}, [vFnvMn]\begin{bmatrix}v^{n}_{\text{F}}\\ v^{n}_{\text{M}}\end{bmatrix}, [MFMMn]\begin{bmatrix}M_{\text{F}}&\\ &M^{n}_{\text{M}}\end{bmatrix}, Δt\Delta t, j\mathcal{F}^{j}, λj\lambda^{j}, TjT^{j}, [x~Fn+1x~Mn+1]\begin{bmatrix}\tilde{x}^{n+1}_{\text{F}}\\ \tilde{x}^{n+1}_{\text{M}}\end{bmatrix}) \triangleright Algorithm 2
8:         jj+1j\leftarrow j+1
9:         j\mathcal{F}^{j}, λj\lambda^{j}, TjT^{j}\leftarrow computeFrictionOperator(x~Fn+1\tilde{x}_{\text{F}}^{n+1}, x~Mn+1\tilde{x}_{\text{M}}^{n+1}) \triangleright Section 4.3
10:     while friction not converged \triangleright Section 5
11:     xFn+1x~Fn+1x^{n+1}_{\text{F}}\leftarrow\tilde{x}^{n+1}_{\text{F}}, vFn+1v~Fn+1v^{n+1}_{\text{F}}\leftarrow\tilde{v}^{n+1}_{\text{F}}
12:     xPn+1x^{n+1}_{\text{P}}, vPn+1v^{n+1}_{\text{P}} \leftarrow gridToParticle(x~Mn+1\tilde{x}^{n+1}_{\text{M}}, v~Mn+1\tilde{v}^{n+1}_{\text{M}}) \triangleright Table 12, and 3
13:     return xFn+1x_{\text{F}}^{n+1}, vFn+1v_{\text{F}}^{n+1}, xPn+1x_{\text{P}}^{n+1}, vPn+1v_{\text{P}}^{n+1}
14:end procedure
Algorithm 2 Line Search Method for Incremental Potential Minimization
1:procedure MinimizeIP(xnx^{n}, vnv^{n}, MnM^{n}, Δt\Delta t, j\mathcal{F}^{j}, λj\lambda^{j}, TjT^{j}, x¯\bar{x})
2:     xx¯x\leftarrow\bar{x} \triangleright initial guess
3:     EprevE(x)E_{\text{prev}}\leftarrow E(x), xprevxx_{\text{prev}}\leftarrow x \triangleright E(x)E(x) defined in (38) also depends on xnx^{n}, vnv^{n}, MnM^{n}, Δt\Delta t, j\mathcal{F}^{j}, λj\lambda^{j}, TjT^{j}
4:     do
5:         HcomputeProxyMatrix(x)H\leftarrow\text{computeProxyMatrix}(x) \triangleright applying projected Newton [81]
6:         pH1E(x)p\leftarrow-H^{-1}\nabla E(x) \triangleright solved using CHOLMOD [82]
7:         τinitStepSize(x)\tau\leftarrow\text{initStepSize}(x) \triangleright line search filtering [77]
8:         do\triangleright Armijo line search [83]
9:              xxprev+τpx\leftarrow x_{\text{prev}}+\tau p
10:              ττ/2\tau\leftarrow\tau/2
11:         while E(x)>EprevE(x)>E_{\text{prev}}
12:         EprevE(x)E_{\text{prev}}\leftarrow E(x), xprevxx_{\text{prev}}\leftarrow x
13:     while p/Δt>ϵd\|p\|_{\infty}/\Delta t>\epsilon_{d} \triangleright Section 5
14:     x~n+1x\tilde{x}^{n+1}\leftarrow x, v~n+1vn+1Δt(Mn)1((γ1)E(xn)γE(x))\tilde{v}^{n+1}\leftarrow v^{n}+\frac{1}{\Delta t}(M^{n})^{-1}((\gamma-1)\nabla E(x^{n})-\gamma\nabla E(x)) \triangleright Section 3
15:     return x~n+1\tilde{x}^{n+1}, v~n+1\tilde{v}^{n+1}
16:end procedure

Applying the projected Newton’s method [81] for incremental potential minimization (Algorithm 2), we compute the proxy matrix HH by projecting the local Hessian of every elasticity, barrier, and friction stencil to its closest positive semi-definite form by zeroing out the negative eigenvalues, and then summing them up together with the mass matrix MnM^{n} (line 5). The search direction pp is computed by factorizing HH and back-solving it on E(x)-\nabla E(x) using CHOLMOD [82] (line 6). To obtain global convergence, the backtracking line search that ensures the decrease of energy is applied (line 8 to 11), starting from a large feasible step size that avoids interpenetration and deformation gradient degeneracy (line 7). After converging to a local optimum, velocity is updated with the newly obtained position (line 14) and returned together (line 15). Here we use the infinity norm of the Newton increment (search direction pp) in the unit of velocity (m/sm/s) for the stopping criteria, which provides a 2nd-order approximation on the distance to the true solution. Similarly, friction convergence in Algorithm 1 is also determined this way, but with \mathcal{F}, λ\lambda, and TT computed using the current xx.

Along Newton’s search direction pp, we compute the largest step size that will first result in a 0 distance on any contact pair or a 0 determinant on any deformation gradient. We then set the initial line search step size to be 0.9×0.9\times of this critical value. The critical value for 0 distance is computed via continuous collision detection (CCD) [60], and for 0 determinant it is just the smallest positive real root of a polynomial equation [84]. This ensures that interpenetration or deformation gradient degeneracy could never happen throughout the simulation since the following backtracks always result in step sizes smaller than the critical value.

The numerical parameters in BFEMP all have physical meanings and directly control the extent of approximation to the continuous problem. To summarize, we have d^\hat{d} (contact activation distance in mm), ϵv\epsilon_{v} (stick-slip velocity threshold in m/sm/s), ϵd\epsilon_{d} (Newton tolerance in m/sm/s), and physical parameter κ\kappa (barrier stiffness in PaPa). Here κ\kappa also affects the convergence speed of the projected Newton method (Algorithm 2), but the convergence is always guaranteed eventually. In our experiments, we observed that setting κ\kappa several orders of magnitude smaller than the average elasticity stiffness of the objects in the simulation can provide efficient convergence.

6 Numerical Simulations

In this section, we provide 6 examples in 2D and 1 example in 3D to verify the contact model and the friction model in the proposed BFEMP approach. The numerical parameters d^\hat{d}, ϵv\epsilon_{v} , ϵd\epsilon_{d}, and physical parameter κ\kappa are all reported respectively in each experiment. If not mentioned otherwise, all elasticities are with the neo-Hookean model, and all particle-grid transfer schemes are with APIC. The visualized stresses are all the von Mises stress.

6.1 Momentum and Energy Study

Refer to caption
Figure 6: Colliding rings. The experiment setup and stress wave propagation over time.
Refer to caption
Figure 7: Momentum and Energy Behavior. The energy and momentum plot for APIC and FLIP transfer schemes.

The collision between two elastic rings is simulated to verify the momentum and energy behavior of BFEMP and to demonstrate the robustness of our framework in handling large deformation. This example is modified from the MPM-MPM contact version in [85].

The experiment setup is shown in the left-middle subfigure of Figure 6. The two rings are identical except that the left ring is discretized with MPM, and the right one is discretized with FEM. The inner radius of the ring shape is 3m3m, and the outer radius of the ring shape is 4m4m. The Young’s modulus is E=108PaE=10^{8}Pa, the Poisson’s ratio is ν=0.2\nu=0.2, and the density is ρ=1000kg/m2\rho=1000kg/m^{2}. The MPM ring is discretized by 20098 particles, where the grid spacing is 0.1m0.1m. The FEM ring is discretized by 1830 vertices and 3310 triangles. The gravitational force and the frictional forces are not included. The two rings are placed 2m2m apart and then move towards each other with an initial speed of 40m/s40m/s. The contact active distance and the contact stiffness are set to d^=102m\hat{d}=10^{-2}m and κ=107Pa\kappa=10^{7}Pa respectively. To minimize numerical dissipation, we use the Newmark time integrator with time step size Δt=2×104s\Delta t=2\times 10^{-4}s. The Newton tolerance is ϵd=106m/s\epsilon_{d}=10^{-6}m/s. We also compare the APIC and FLIP transfer schemes. Their differences in displacement and stress are small, so only the stress wave propagation with APIC is shown in Figure 6. The energies and momenta over time are plotted for both APIC and FLIP in Figure 7.

The collision happens between 0.025s0.025s and 0.293s0.293s. The symmetry of stress patterns is preserved during the collision. The system’s total momentum is perfectly preserved with both transfer schemes. Part of the energy is lost during the collision: 8.57%8.57\% energy is lost with APIC, and 9.67%9.67\% with FLIP. After the rings are separated, the FEM ring preserves its energy over time, while the MPM ring gradually loses energy, primarily due to numerical dissipation in the particle-grid transfers.

6.2 FEM as Contact Boundary for MPM

Refer to caption
Figure 8: FEM as Boundary Condition. The friction-free interaction between a sine wave shape boundary and an MPM cube are simulated to compare BFEMP based slip boundary condition and traditional level set based slip boundary condition. (ux,uy)(u_{x},u_{y}) is the displacement of the sine wave w.r.t. its initial position. BFEMP based slip boundary condition can guarantee non-penetration and doesn’t have adhesive forces when it is separating from the object.

The guaranteed impenetrability between MPM particles and FEM boundaries makes BFEMP a natural strategy for enforcing kinematic separable boundary conditions in MPM simulations. Here we test the friction-free interaction between a sine wave shape boundary and an MPM cube. The BFEMP-based boundary condition is compared with a level-set based slip boundary condition, which enforces a zero normal relative velocity condition at each grid node inside the sine wave’s level set, i.e., at each time step, for those nodes that are within the level set, their normal velocities along the level set interface are prescribed, so that the original unconstrained optimization 22 for the time integration are solved with these equality constraints.

The experiment setup is shown in the left-top subfigure of Figure 8. A 1m×1m1m\times 1m elastic box with Young’s modulus E=106PaE=10^{6}Pa, Poisson’s ratio ν=0.2\nu=0.2 and ρ=1000kg/m2\rho=1000kg/m^{2} is placed on a no-slip ground. It is discretized by 21026 particles, with grid spacing 0.02m0.02m. A sine wave boundary is placed 0.2m0.2m above the box, whose contour is determined by y=140cos2π0.1xy=\frac{1}{40}\cos\frac{2\pi}{0.1}x. For BFEMP, the sine wave boundary condition is discretized by a FEM mesh with prescribed displacements at each time step. While for MPM, it is described by an analytical level set. The sine wave boundary first moves 0.6m0.6m downwards, then 0.5m0.5m to the left, and finally upwards until separation. The moving speed is 1m/s1m/s all the way. The contact active distance and the contact stiffness is set to d^=103m\hat{d}=10^{-3}m and κ=104Pa\kappa=10^{4}Pa respectively. The implicit Euler time integration with time step h=103sh=10^{-3}s is used. The Newton tolerance is set to ϵd=104m/s\epsilon_{d}=10^{-4}m/s.

As shown in Figure 8, the BFEMP-based boundary condition more accurately resolves the complex boundary geometry without exhibiting any numerical adhesive forces when the boundary is separating from the cube. With the level-set based slip condition, particles will penetrate the boundary because the boundary condition is only defined on the MPM grid in a “smeared out” manner. The numerical adhesive force comes from that at each time step, the grid with slip condition is locked within some plane. On the contrary, with BFEMP, MPM particles can freely move around outside the FEM mesh.

6.3 Brazilian Disk Test

Refer to caption
Figure 9: Brazilian Disk Test. The experiment setup and the compression procedure are shown here. The contact force and contact radius are illustrated in the middle figure.
Refer to caption
Figure 10: Brazilian Disk Test. Within the small deformation range, our contact model fits well with Hertzian contact theory. The non-smoothness of the measured radius from the simulation results can be alleviated as the resolution increases.

To verify the accuracy of the contact model, BFEMP is studied on the Brazilian disk test, which is a special case of the plane Hertzian contact problem [86, 87]. The Brazilian disk test can be used for tensile strength testing, which involves a 2D elastic disk squeezed between two rigid objects. We use a fixed rigid plate and a moving rigid plate to simulate the compression procedure. According to the Hertzian contact model, the contact force FF and the contact radius aa have the following relation:

F=π4E1ν2a2R.F=\frac{\pi}{4}\frac{E}{1-\nu^{2}}\frac{a^{2}}{R}. (39)

The contact force and the contact radius are illustrated in Figure 10.

In this experiment, the radius of the MPM disk is 1m1m. It is composed of 42920 particles with MPM grid spacing Δx=0.025m\Delta x=0.025m. The Young’s modulus is E=1010PaE=10^{10}Pa, and the Poisson’s ratio is ν=0.3\nu=0.3. To reduce the inertial effect, we artificially decrease the density of the material, which is set to ρ=100kg/m2\rho=100kg/m^{2}. The contact active distance is d^=104m\hat{d}=10^{-4}m and the contact stiffness is κ=104Pa\kappa=10^{4}Pa. The two plates are discretized with FEM. Each of them is composed of four vertices and two triangles. The fixed plate is placed d^\hat{d} below the disk, and the moving plate is placed d^\hat{d} above the disk. The constant velocity 0.1m/s0.1m/s of the moving plate is enforced by prescribing its displacements at each time step. The simulation is performed with implicit Euler time integration with time step size h=102sh=10^{-2}s and the Newton tolerance is ϵd=108m/s\epsilon_{d}=10^{-8}m/s. Friction coefficient μ=1\mu=1 is used to prevent the disk from slipping.

The Hertzian model requires to measure the contact radius aa. Following [87], we use half of the horizontal range of the particles within the contact distance around the bottom FEM plate to approximate it. Here we test both linear elasticity and neo-Hookean elasticity. The compression procedure in Figure 9 is visualized for the linear elasticity case. The (a,F)(a,F) data points within the small deformation range from the two simulations and the analytical FaF-a relation from the Hertzian contact model are plotted in Figure 10. The non-smoothness of the measured radius from the simulation results is due to the inaccurate approximation of the radius aa through a finite number of particles. This non-smoothness can be alleviated as the resolution increases. Despite that, we observe a qualitative match between the simulated data and the Hertzian contact theory.

6.4 Critical Value of Friction Coefficient

Refer to caption
Figure 11: Critical Value of Friction Coefficient. (a,d) initial configuration with the extra support; (b,c,e) results at t=3st=3s of μ=0\mu=0, 0.10.1, and 0.19990.1999, sliding distances all matching analytical solutions; (f) the result at t=3st=3s of μ=0.2\mu=0.2, static solution with sliding error bounded by ϵv\epsilon_{v}.
Refer to caption
Figure 12: Critical Value of Friction Coefficient. At all friction coefficients, including μ=0\mu=0 (no friction), μ=0.1\mu=0.1, μ=0.1999\mu=0.1999 (99.95%99.95\% of the critical value), and μ=0.2\mu=0.2 (the critical value), the velocities and accelerations over the releasing period (2s2s to 3s3s) are all accurately matching the analytical solutions.

To verify the accuracy of BFEMP’s friction model, an experiment with a stiff MPM box resting or sliding on a fixed FEM slope (or BFEMP’s friction-controllable boundary condition) with a certain friction coefficient is created. When a rigid box is placed on a slope with zero initial velocity, its acceleration has the following analytical form:

ax={g(sinθμcosθ),θtanθ,0,θ<tanθ,a_{x}=\begin{cases}g(\sin\theta-\mu\cos\theta),&\theta\geq\tan\theta,\\ 0,&\theta<\tan\theta,\end{cases} (40)

where μ\mu is the friction coefficient between the box and the slope, gg is the gravity acceleration, θ[0,π/4)\theta\in[0,\pi/4) is the inclined angle of the slope. Experiments show that BFEMP’s friction model matches analytical solutions on sliding dynamics and critical value of friction coefficient both with bounded and small approximation error.

The initial configuration of this example is obtained by placing the MPM box d^\hat{d} away from the slope, placing another fixed plane perpendicular to the slope on the side of the box where it may slide (also d^\hat{d} away), and then simulate under gravity (g=5.10m/s2g=5.10m/s^{2}) without friction until the box becomes static (Figure 11a). After obtaining the initial configuration, the slope test simulation is performed without the extra plane and with multiple different friction coefficients for each test (Figure 11b,c,d).

Here the MPM box is 0.1m×0.02m0.1m\times 0.02m, composed of 369 particles (grid dx=0.005dx=0.005) with density ρ=100kg/m2\rho=100kg/m^{2}, Young’s modulus E=4.0×1012PaE=4.0\times 10^{12}Pa and Poisson’s ratio ν=0.2\nu=0.2. Slopes with friction coefficient μ=0\mu=0, 0.10.1, 0.19990.1999, and 0.20.2 have been tested, all with contact active distance d^=0.001m\hat{d}=0.001m, contact stiffness κ=106Pa\kappa=10^{6}Pa, static friction velocity threshold ϵv=105m/s\epsilon_{v}=10^{-5}m/s, and with the lagged normal forces in friction iteratively updated until converging to a solution with fully-implicit friction. All simulations are using implicit Euler time integration with time step size h=0.001sh=0.001s, and the Newton tolerance is set to ϵd=108m/s\epsilon_{d}=10^{-8}m/s.

With sliding velocity and acceleration of the box’s center of mass plotted over time (Figure 12), they have all been shown to well match analytical solutions within 0.01%0.01\% relative errors. Even for μ=0.1999\mu=0.1999 (99.95%99.95\% that of the critical coefficient), the sliding behavior can still be accurately captured. For μ=0.2\mu=0.2, it is also confirmed that the acceleration vanishes, and the velocity throughout the simulation is around ϵv\epsilon_{v}, the static friction velocity threshold in BFEMP’s approximation to provide the static friction force in the same magnitude as dynamic friction.

6.5 Convergence under Refinement

Refer to caption
Figure 13: Convergence under Refinement. (a) Experiment setup. (b) The final equilibrium under low resolution. (c) The final equilibrium under high resolution. Stress pattern is visualized.
Refer to caption
Figure 14: Convergence under Refinement. Higher PPC can reduce the noise in the convergence curve at higher resolutions. BFEMP with PPC = 16 achieves a convergence order of 2.75 to high-resolution result. Convergence curves with order 1 and order 2 are also plotted for reference.

To verify the convergence under refinement property of BFEMP, an example with a soft MPM box stacking on a soft FEM box is created. A series of experiments with increasing resolutions and decreasing contact active distances are simulated to study the convergence rate under refinement. Results show that BFEMP can achieve a second-order convergence rate.

The initial configuration is illustrated in Figure 13 (a). The MPM box is with size 2m×1m2m\times 1m, Young’s modulus E=4×104PaE=4\times 10^{4}Pa, Poisson’s ratio ν=0.4\nu=0.4 and density ρ=103kg/m3\rho=10^{3}kg/m^{3}. The particles are sampled regularly within each cell by placing each particle on the center of a sub-cell. The FEM box below is with size 4m×1m4m\times 1m, Young’s modulus E=4×104PaE=4\times 10^{4}Pa, Poisson’s ratio ν=0.4\nu=0.4 and density ρ=102kg/m2\rho=10^{2}kg/m^{2}. The minimal edge length of the FEM mesh and the grid spacing of MPM are with the same value (Δx\Delta x) in each experiment. The MPM box initially is placed Δx\Delta x above the FEM box and then simulated under gravity (g=10m/s2g=10m/s^{2}) until no oscillation is observed. To accelerate simulation to reach its final static state, PIC transfer scheme and implicit Euler time integration with large time step sizes (up to CFL limit for MPM) are used. The Newton tolerance is set to ϵd=109m/s\epsilon_{d}=10^{-9}m/s. The contact stiffness is set to κ=106Pa\kappa=10^{6}Pa for all experiments. Figure 13 (b) and Figure 13 (c) show the final equilibria under low resolution and high resolution respectively.

To examine the convergence rate of displacement to high-resolution results, the example is refined with Δx=1N\Delta x=\frac{1}{N} and d^=1N2\hat{d}=\frac{1}{N^{2}}, where NN iterates all positive even numbers smaller than or equal to 2020. The reference high-resolution result is choose as with N=30N=30. The error is defined as the difference in height of the center of mass of the whole domain (with both FEM and MPM domains) between each testing resolution and the high-resolution reference. Due to quadrature error in MPM [2], we also experiment with three different particle per cell (PPC) values: 4, 9, and 16. The three error sequences are plotted in Figure 14. As observed from the plot, a higher PPC value can reduce the noise in the convergence curve. The error sequence with PPC 16 almost falls into line. Under this setting, BFEMP achieves a convergence order of 2.752.75.

6.6 Buckling Behaviours under Different Friction Coefficients

This example tests frictions between two semi-circular rings with large deformation. The two semi-circular rings are stacked together. As the outer semi-circular ring is compressed, different buckling patterns of the inner semi-circular ring under different friction coefficients are observed. This example is modified from the version with FEM-FEM contact in [88].

The experiment setup is shown in Figure 15. The outer semi-circular ring with outer radius 14m14m and inner radius 12m12m is discretized by FEM with 2714 vertices and 5067 triangles. The inner semi-circular ring with outer radius 11.99m11.99m and inner radius 10m10m is discretized by MPM with 10261 particles with grid spacing 0.25m0.25m. The two semi-circular rings are both with Young’s modulus E=106PaE=10^{6}Pa, Poisson’s ratio ν=0.3\nu=0.3 and density ρ=100kg/m2\rho=100kg/m^{2}. One FEM plate is placed 103m10^{-3}m above the outer semi-circular ring. The displacement of this plate is prescribed to follow a rigid linear motion with a constant downward velocity 1m/s1m/s. Large friction (μ=10\mu=10) between the plate and the outer semi-circular ring is activated so that the plate can be viewed as a BFEMP based no-slip boundary condition. The feet of two semi-circular rings are fixed using the level set-based no-slip boundary condition. Another level set-based slip boundary condition is added at the bottom middle below the semi-circular rings to prevent the inner semi-circular rings from colliding into the ground. The contact active distance and the contact stiffness are set to d^=103m\hat{d}=10^{-3}m and κ=105Pa\kappa=10^{5}Pa. The static friction velocity threshold is set to ϵv=105m/s\epsilon_{v}=10^{-5}m/s. Implicit Euler time integrator with time step size h=102sh=10^{-2}s and Newton tolerance ϵd=104m/s\epsilon_{d}=10^{-4}m/s are used.

We vary the friction coefficient between the two semi-circular rings from μ=0\mu=0, μ=0.2\mu=0.2 and μ=0.5\mu=0.5. The compression procedure is visualized in Figure 15. In the beginning, there is little difference between the three settings. As the FEM plate moves further down, the inner MPM semi ring under the friction-free setting is buckled first as expected. Friction with μ=0.2\mu=0.2 lags the appearance of the buckling. For the large friction case with μ=0.5\mu=0.5, no buckling happens at all.

Refer to caption
Figure 15: Buckling Behaviours under Different Friction Coefficients. The experiment setup is illustrated on the left. Under different friction coefficients, the buckling appears at different vertical displacements (uyu_{y}).

6.7 3D Twist with Friction

Refer to caption
Figure 16: 3D Twist with Friction. (a) Initial setup: The FEM spherical shell is placed d^\hat{d} above the MPM cube; (b) Before twist procedure, the spherical shell is controlled to press down 0.5m0.5m; (c, d, e, f) Equilibria under different friction coefficients when the shell stops rotating. The nonzero rotation angle with μ=0\mu=0 is caused by the non-smoothness of the contacting interfaces, which will decrease as the resolution increases (top views).
Refer to caption
Figure 17: 3D Twist with Friction. The average twist angle around the z-axis of the top center of the cube. The twist procedure happens between 0.5s0.5s and 5s5s. The slipping between the cube and the shell appears at different time points under different friction coefficients.

To test BFEMP’s contact and friction model in 3D, a twist test between a FEM spherical shell and an MPM cube is conducted. The FEM shell is controlled to exert a constant twist speed. Under different friction coefficients, it is expected to observe different maximal twist angles on the MPM cube. This example is modified from the version with FEM-FEM contact in [88] as well.

The initial setup is illustrated in Figure 16 (a). The MPM cube with an edge length of 1m1m is placed 102m10^{-2}m below the FEM shell. It is discretized by 90929 particles, where the grid spacing is 0.0625m0.0625m. The Young’s modulus is 108Pa10^{8}Pa. The Poisson’s ratio is 0.4. And the density is 100kg/m3100kg/m^{3}. The FEM shell with inner radius 0.45m0.45m and outer radius 0.5m0.5m is discretized by 1364 points and 3920 tetrahedra. The Young’s modulus is 1010Pa10^{10}Pa. The Poisson’s ratio is 0.4. The density is 104kg/m310^{4}kg/m^{3}. The displacements of the top part of the shell are prescribed to follow a rigid motion to exert downward compression and constant-speed twist: it first compresses down with a constant speed 0.5m/s0.5m/s for 1s1s (Figure 16 (b)) and then rotates around the z-axis with a constant angular velocity π5\frac{\pi}{5} for 4.5s4.5s. The contact active distance and the contact stiffness are set to d^=102m\hat{d}=10^{-2}m and κ=107Pa\kappa=10^{7}Pa. For settings with frictions, the static friction velocity threshold is set to ϵv=103m/s\epsilon_{v}=10^{-3}m/s. The simulation uses the implicit Euler time integrator with the time step size h=102sh=10^{-2}s. The Newton tolerance is set to ϵd=103m/s\epsilon_{d}=10^{-3}m/s.

With different friction coefficients, the slipping between the shell bottom and the top center of the cube happens after different twist angles RzR_{z}. The final equilibria when the shell stops twisting are visualized in Figure 16 (c) (d) (e) (f). The twist angles of the top center part of the cube are plotted in Figure 17. Since the pressure forces are between triangles and particles, the interface between the shell and the cube is not perfectly smooth. This roughness results in that the slipping happens when Rz=0.1πR_{z}=0.1\pi in the friction-free settings. The final rotation angle should decrease as the resolution increases. To verify this, we increase the resolution of the FEM mesh and compare the final equilibria in the original setting and the higher-resolution setting. The top views are attached in Figure 16, which shows that, with higher resolution, the final state of the cube is close to the initial state before the twisting. For μ=0.2\mu=0.2 and μ=0.5\mu=0.5, the slipping happens when the twists angles are around Rz=0.3πR_{z}=0.3\pi and Rz=0.7πR_{z}=0.7\pi respectively. With μ=1.0\mu=1.0, there is no slipping between the shell and the cube.

7 Conclusion

In this paper, we proposed a new method for monolithically coupling an MPM domain and a FEM domain for elastodynamics through frictional contact. By approximating the non-interpenetration constraint with a barrier energy term and performing time integration using a variational formulation, our method guarantees that no particles will penetrate into the FEM mesh throughout the simulation. Furthermore, when the displacement of the FEM domain is fully prescribed, BFEMP reduces to an explicit mesh-based boundary treatment for MPM. Through numerical experiments validating the energy behavior, robustness, stability, and accuracy, we demonstrated the advantages of the proposed method.

Limitations and Future Works

For our current formulation, when MPM particles get very close to the FEM boundary, there is in fact a small portion of overlap between FEM and MPM domains even when there is no interpenetration. This is because MPM particles represent a region of the domain. Although the overlapping area vanishes under spatial refinement, it would still be interesting to also consider the size and deformation of the regions when defining the distance constraints. In addition, it would be meaningful to extend our framework to support cutting of MPM solids by FEM meshes, where the MPM particles on different sides of the FEM mesh should not communicate with each other even when the FEM mesh is much thinner than the MPM kernel.

References

  • [1] D. Sulsky, S.-J. Zhou, H. L. Schreyer, Application of a particle-in-cell method to solid mechanics, Computer physics communications 87 (1-2) (1995) 236–252.
  • [2] A. de Vaucorbeil, V. P. Nguyen, S. Sinaie, J. Y. Wu, Material point method after 25 years: theory, implementation and applications, Submitted to Advances in Applied Mechanics (2019) 1.
  • [3] F. H. Harlow, The particle-in-cell method for numerical solution of problems in fluid dynamics, Tech. rep., Los Alamos Scientific Lab., N. Mex. (1962).
  • [4] J. U. Brackbill, D. B. Kothe, H. M. Ruppel, Flip: a low-dissipation, particle-in-cell method for fluid flow, Computer Physics Communications 48 (1) (1988) 25–38.
  • [5] T. J. Hughes, The finite element method: linear static and dynamic finite element analysis, Courier Corporation, 2012.
  • [6] A. de Vaucorbeil, V. P. Nguyen, C. R. Hutchinson, A total-lagrangian material point method for solid mechanics problems involving large deformations, Computer Methods in Applied Mechanics and Engineering 360 (2020) 112783.
  • [7] A. de Vaucorbeil, V. P. Nguyen, Modelling contacts with a total lagrangian material point method, Computer Methods in Applied Mechanics and Engineering 373 (2021) 113503.
  • [8] X. Zhang, Z. Chen, Y. Liu, The material point method: a continuum-based particle method for extreme loading cases, Academic Press, 2016.
  • [9] S. G. Bardenhagen, E. M. Kober, The generalized interpolation material point method, Computer Modeling in Engineering and Sciences 5 (6) (2004) 477–496.
  • [10] D. Z. Zhang, X. Ma, P. T. Giguere, Material point method enhanced by modified gradient of shape function, Journal of Computational Physics 230 (16) (2011) 6379–6398.
  • [11] A. Sadeghirad, R. M. Brannon, J. Burghardt, 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.
  • [12] Y. Gan, Z. Sun, Z. Chen, X. Zhang, Y. Liu, Enhancement of the material point method using b-spline basis functions, International Journal for numerical methods in engineering 113 (3) (2018) 411–431.
  • [13] Y. Hu, Y. Fang, Z. Ge, Z. Qu, Y. Zhu, A. Pradhana, C. Jiang, 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.
  • [14] D. Z. Zhang, Q. Zou, W. B. VanderHeyden, X. Ma, Material point method applied to multiphase flows, Journal of Computational Physics 227 (6) (2008) 3159–3173.
  • [15] M. A. Homel, E. B. Herbold, Field-gradient partitioning for fracture and frictional contact in the material point method, International Journal for Numerical Methods in Engineering 109 (7) (2017) 1013–1044.
  • [16] J. A. Nairn, Material point method calculations with explicit cracks, Computer Modeling in Engineering and Sciences 4 (6) (2003) 649–664.
  • [17] M. Homel, E. Herbold, Fracture and contact in the material point method: New approaches and applications, in: Advances in Computational Coupling and Contact Mechanics, World Scientific, 2018, pp. 289–326.
  • [18] H. Tan, J. A. Nairn, Hierarchical, adaptive, material point method for dynamic energy release rate calculations, Computer Methods in Applied Mechanics and Engineering 191 (19-20) (2002) 2123–2137.
  • [19] F. Zhang, X. Zhang, K. Y. Sze, Y. Lian, Y. Liu, Incompressible material point method for free surface flow, Journal of Computational Physics 330 (2017) 92–110.
  • [20] K. Abe, K. Soga, S. Bandara, Material point method for coupled hydromechanical problems, Journal of Geotechnical and Geoenvironmental Engineering 140 (3) (2014) 04013033.
  • [21] J. Guilkey, T. Harman, B. Banerjee, An eulerian–lagrangian approach for simulating explosions of energetic devices, Computers & structures 85 (11-14) (2007) 660–674.
  • [22] J. Gaume, T. Gast, J. Teran, A. van Herwijnen, C. Jiang, Dynamic anticrack propagation in snow, Nature communications 9 (1) (2018) 1–10.
  • [23] Y. Yang, P. Sun, Z. Chen, Combined mpm-dem for simulating the interaction between solid elements and fluid particles, Communications in Computational Physics 21 (5) (2017) 1258–1281.
  • [24] C. Liu, Q. Sun, Y. Yang, Multi-scale modelling of granular pile collapse by using material point method and discrete element method, Procedia Engineering 175 (2017) 29–35.
  • [25] Y. Jiang, M. Li, C. Jiang, F. Alonso-Marroquin, A hybrid material-point spheropolygon-element method for solid and granular material interaction, International Journal for Numerical Methods in Engineering 121 (14) (2020) 3021–3047.
  • [26] P. Y. Chen, M. Chantharayukhonthorn, Y. Yue, E. Grinspun, K. Kamrin, Hybrid discrete-continuum modeling of shear localization in granular media, Journal of the Mechanics and Physics of Solids (2021) 104404.
  • [27] Y. Higo, F. Oka, S. Kimoto, Y. Morinaka, Y. Goto, Z. Chen, A coupled mpm-fdm analysis method for multi-phase elasto-plastic soils, Soils and foundations 50 (4) (2010) 515–532.
  • [28] S. J. Raymond, B. Jones, J. R. Williams, A strategy to couple the material point method (mpm) and smoothed particle hydrodynamics (sph) computational techniques, Computational Particle Mechanics 5 (1) (2018) 49–58.
  • [29] S. Cummins, J. Brackbill, An implicit particle-in-cell method for granular materials, Journal of Computational Physics 180 (2) (2002) 506–548.
  • [30] J. E. Guilkey, J. A. Weiss, Implicit time integration for the material point method: Quantitative and algorithmic comparisons with the finite element method, International Journal for Numerical Methods in Engineering 57 (9) (2003) 1323–1338.
  • [31] M. A. Homel, R. M. Brannon, J. Guilkey, Controlling the onset of numerical fracture in parallelized implementations of the material point method (mpm) with convective particle domain interpolation (cpdi) domain scaling, International Journal for Numerical Methods in Engineering 107 (1) (2016) 31–48.
  • [32] D. Swensen, M. Denison, J. Guilkey, T. Harman, R. Goetz, A software framework for blast event simulation, Report of Reaction Engineering International (2006) 9.
  • [33] Y. Lian, X. Zhang, X. Zhou, Z. Ma, A femp method and its application in modeling dynamic response of reinforced concrete subjected to impact loading, Computer methods in applied mechanics and engineering 200 (17-20) (2011) 1659–1670.
  • [34] C. Jiang, C. Schroeder, A. Selle, J. Teran, A. Stomakhin, The affine particle-in-cell method, ACM Transactions on Graphics (TOG) 34 (4) (2015) 1–10.
  • [35] B. Banerjee, Simulation of thin hyperelastic shells with the material point method (2005). arXiv:arXiv:cond-mat/0510370.
  • [36] X. Zhang, K. Sze, S. Ma, An explicit material point finite element method for hyper-velocity impact, International Journal for Numerical Methods in Engineering 66 (4) (2006) 689–706.
  • [37] Y. Lian, X. Zhang, Y. Liu, An adaptive finite element material point method and its application in extreme deformation problems, Computer methods in applied mechanics and engineering 241 (2012) 275–285.
  • [38] Y. Lian, X. Zhang, Y. Liu, Coupling of finite element method with material point method by local multi-mesh contact method, Computer Methods in Applied Mechanics and Engineering 200 (47-48) (2011) 3482–3494.
  • [39] Y.-P. Lian, Y. Liu, X. Zhang, Coupling of membrane element with material point method for fluid–membrane interaction problems, International Journal of Mechanics and Materials in Design 10 (2) (2014) 199–211.
  • [40] M. Li, Y. Lei, D. Gao, Y. Hu, X. Zhang, A novel material point method (mpm) based needle-tissue interaction model, Computer Methods in Biomechanics and Biomedical Engineering (2021) 1–15.
  • [41] Y.-J. Cheon, H.-G. Kim, An efficient contact algorithm for the interaction of material particles with finite elements, Computer Methods in Applied Mechanics and Engineering 335 (2018) 631–659.
  • [42] Z. Chen, X. Qiu, X. Zhang, Y. Lian, Improved coupling of finite element method with material point method based on a particle-to-surface contact algorithm, Computer Methods in Applied Mechanics and Engineering 293 (2015) 1–19.
  • [43] B. Wu, Z. Chen, X. Zhang, Y. Liu, Y. Lian, Coupled shell-material point method for bird strike simulation, Acta Mechanica Solida Sinica 31 (1) (2018) 1–18.
  • [44] Y. Song, Y. Liu, X. Zhang, A non-penetration fem-mpm contact algorithm for complex fluid-structure interaction problems, Computers & Fluids 213 (2020) 104749.
  • [45] B. T. Bewick, A combined FEM and MPM simulation of impact-resistant design, University of Missouri-Columbia, 2004.
  • [46] E. Aulisa, G. Capodaglio, Monolithic coupling of the implicit material point method with the finite element method, Computers & Structures 219 (2019) 1–15.
  • [47] A. Larese, I. Iaconeta, B. Chandra, V. Singer, Implicit mpm and coupled mpm-fem in geomechanics, Computational mechanics 175 (2019) 226–232.
  • [48] B. Chandra, V. Singer, T. Teschemacher, R. Wuechner, A. Larese, Nonconforming dirichlet boundary conditions in implicit material point method by means of penalty augmentation, Acta Geotechnica (2021) 1–21.
  • [49] J. Guilkey, J. Weiss, An implicit time integration strategy for use with the material point method, in: Proceedings from the First MIT Conference on Computational Fluid and Solid Mechanics, Vol. 2, 2001.
  • [50] A. Nair, S. Roy, Implicit time integration in the generalized interpolation material point method for finite deformation hyperelasticity, Mechanics of Advanced Materials and Structures 19 (6) (2012) 465–473.
  • [51] T. Charlton, W. Coombs, C. Augarde, igimp: An implicit generalised interpolation material point method for large deformations, Computers & Structures 190 (2017) 108–125.
  • [52] E. Love, D. L. Sulsky, An unconditionally stable, energy–momentum consistent implementation of the material-point method, Computer Methods in Applied Mechanics and Engineering 195 (33-36) (2006) 3903–3925.
  • [53] M. Ortiz, L. Stainier, The variational formulation of viscoplastic constitutive updates, Computer methods in applied mechanics and engineering 171 (3-4) (1999) 419–444.
  • [54] C. Kane, J. E. Marsden, M. Ortiz, M. West, Variational integrators and the newmark algorithm for conservative and dissipative mechanical systems, International Journal for numerical methods in engineering 49 (10) (2000) 1295–1325.
  • [55] T. F. Gast, C. Schroeder, A. Stomakhin, C. Jiang, J. M. Teran, Optimization integrator for large time steps, IEEE Transactions on Visualization and Computer Graphics (TVCG) 21 (10) (2015) 1103–1115.
  • [56] X. Wang, M. Li, Y. Fang, X. Zhang, M. Gao, M. Tang, D. M. Kaufman, C. Jiang, Hierarchical optimization time integration for cfl-rate mpm stepping, ACM Transactions on Graphics (TOG) 39 (3) (2020) 1–16.
  • [57] M. Li, Z. Ferguson, T. Schneider, T. Langlois, D. Zorin, D. Panozzo, C. Jiang, D. M. Kaufman, Incremental potential contact: Intersection-and inversion-free, large-deformation dynamics, ACM transactions on graphics (2020).
  • [58] M. Li, Robust and accurate simulation of elastodynamics and contact, Ph.D. thesis, University of Pennsylvania (2020).
  • [59] Anonymous, Convergent incremental potential contact for piecewise linear boundaries, unpublished (N.D.).
  • [60] M. Li, D. M. Kaufman, C. Jiang, Codimensional incremental potential contact, ACM Trans. Graph. (SIGGRAPH) 40 (4) (2021).
  • [61] Z. Ferguson, M. Li, T. Schneider, F. Gil-Ureta, T. Langlois, C. Jiang, D. Zorin, D. M. Kaufman, D. Panozzo, Intersection-free rigid body dynamics, ACM Transactions on Graphics (SIGGRAPH) 40 (4) (2021).
  • [62] L. Lan, Y. Yang, D. M. Kaufman, J. Yao, M. Li, C. Jiang, Medial IPC: Accelerated incremental potential contact with medial elastics, ACM Transactions on Graphics (SIGGRAPH) 40 (4) (2021).
  • [63] J. Choo, Y. Zhao, Y. Jiang, M. Li, C. Jiang, K. Soga, A barrier method for frictional contact on embedded interfaces (2021). arXiv:2107.05814.
  • [64] K. Nakamura, S. Matsumura, T. Mizutani, Particle-to-surface frictional contact algorithm for material point method using weighted least squares, Computers and Geotechnics 134 (2021) 104069.
  • [65] E. Y. Tjung, S. Kularathna, K. Kumar, K. Soga, Modeling irregular boundaries using isoparametric elements in material point method, in: Geo-Congress 2020: Modeling, Geomaterials, and Site Characterization, American Society of Civil Engineers Reston, VA, 2020, pp. 39–48.
  • [66] J. Bonet, R. D. Wood, Nonlinear Continuum Mechanics for Finite Element Analysis, Cambridge University Press, 2008.
  • [67] R. Radovitzky, M. Ortiz, Error estimation and adaptive meshing in strongly nonlinear dynamic problems, Computer Methods in Applied Mechanics and Engineering 172 (1-4) (1999) 203–240.
  • [68] M. Li, M. Gao, T. Langlois, C. Jiang, D. M. Kaufman, Decomposed optimization time integrator for large-step elastodynamics, ACM Transactions on Graphics (TOG) 38 (4) (2019) 1–10.
  • [69] M. Steffen, R. Kirby, M. Berzins, Analysis and reduction of quadrature errors in the material point method (MPM), Int J Numer Meth Eng 76 (6) (2008) 922–948.
  • [70] C. C. Long, G. Moutsanidis, Y. Bazilevs, D. Z. Zhang, Using nurbs as shape functions for mpm, Tech. rep., Los Alamos National Lab.(LANL), Los Alamos, NM (United States) (2019).
  • [71] A. Sadeghirad, R. M. Brannon, J. Guilkey, Second-order convected particle domain interpolation (cpdi2) with enrichment for weak discontinuities at material interfaces, International Journal for numerical methods in Engineering 95 (11) (2013) 928–952.
  • [72] V. P. Nguyen, C. T. Nguyen, T. Rabczuk, S. Natarajan, On a family of convected particle domain interpolations in the material point method, Finite Elements in Analysis and Design 126 (2017) 50–64.
  • [73] C. Long, D. Zhang, C. Bronkhorst, G. Gray III, Representing ductile damage with the dual domain material point method, Computer Methods in Applied Mechanics and Engineering 300 (2016) 611–627.
  • [74] D. Z. Zhang, Dual domain material point method for extreme material deformation, Tech. rep., Los Alamos National Lab.(LANL), Los Alamos, NM (United States) (2013).
  • [75] C. Jiang, C. Schroeder, J. Teran, An angular momentum conserving affine-particle-in-cell method, Journal of Computational Physics 338 (2017) 137–164.
  • [76] C. C. Hammerquist, J. A. Nairn, A new method for material point method particle updates that reduces noise and enhances stability, Computer methods in applied mechanics and engineering 318 (2017) 724–738.
  • [77] A. Wächter, L. T. Biegler, On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming, Mathematical programming 106 (1) (2006) 25–57.
  • [78] T. Brochu, E. Edwards, R. Bridson, Efficient geometrically exact continuous collision detection, ACM Transactions on Graphics (TOG) 31 (4) (2012) 1–7.
  • [79] J. J. Moreau, On unilateral constraints, friction and plasticity, in: New variational techniques in mathematical physics, Springer, 2011, pp. 171–322.
  • [80] S. Goyal, A. Ruina, J. Papadopoulos, Planar sliding with dry friction part 2. dynamics of motion, Wear 143 (2) (1991) 331–352.
  • [81] J. Teran, E. Sifakis, G. Irving, R. Fedkiw, Robust quasistatic finite elements and flesh simulation, in: Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation (SCA), ACM, 2005, pp. 181–190.
  • [82] Y. Chen, T. A. Davis, W. W. Hager, S. Rajamanickam, Algorithm 887: Cholmod, supernodal sparse cholesky factorization and update/downdate, ACM Transactions on Mathematical Software (TOMS) 35 (3) (2008) 1–14.
  • [83] J. Nocedal, S. Wright, Numerical optimization, Springer Science & Business Media, 2006.
  • [84] Y. Li, X. Li, M. Li, Y. Zhu, B. Zhu, C. Jiang, Lagrangian–eulerian multidensity topology optimization with the material point method, International Journal for Numerical Methods in Engineering 122 (14) (2021) 3400–3424.
  • [85] P. Huang, X. Zhang, S. Ma, X. Huang, Contact algorithms for the material point method in impact and penetration simulation, International Journal for Numerical Methods in Engineering 85 (4) (2010) 498–517. doi:10.1002/nme.2981.
    URL https://doi.org/10.1002/nme.2981
  • [86] J. R. Barber, Plane contact problems, in: Solid Mechanics and Its Applications, Springer Netherlands, 2009, pp. 171–198.
  • [87] C. Liu, W. Sun, ILS-MPM: An implicit level-set-based material point method for frictional particulate contact mechanics of deformable particles, Computer Methods in Applied Mechanics and Engineering 369 (2020) 113168. doi:10.1016/j.cma.2020.113168.
    URL https://doi.org/10.1016/j.cma.2020.113168
  • [88] B. K. Zimmerman, G. A. Ateshian, A surface-to-surface finite element algorithm for large deformation frictional contact in febio, Journal of Biomechanical Engineering 140 (8) (Jul. 2018). doi:10.1115/1.4040497.
    URL https://doi.org/10.1115/1.4040497