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

Monolithic coupling of implicit material point method with finite element method

Eugenio Aulisa 111Department of Mathematics and Statistics, Texas Tech University    Giacomo Capodaglio222Department of Scientific Computing, Florida State University
Abstract

A monolithic coupling between the material point method (MPM) and the finite element method (FEM) is presented. The MPM formulation described is implicit, and the exchange of information between particles and background grid is minimized. The reduced information transfer from the particles to the grid improves the stability of the method. Once the residual is assembled, the system matrix is obtained by means of automatic differentiation. In such a way, no explicit computation is required and the implementation is considerably simplified. When MPM is coupled with FEM, the MPM background grid is attached to the FEM body and the coupling is monolithic. With this strategy, no MPM particle can penetrate a FEM element, and the need for computationally expensive contact search algorithms used by existing coupling procedures is eliminated. The coupled system can be assembled with a single assembly procedure carried out element by element in a FEM fashion. Numerical results are reported to display the performances and advantages of the methods here discussed.

1 Introduction

The material point method (MPM) is a numerical method for problems that involve large deformations and/or history dependent materials. It has been originally introduced in [33, 35, 34] by Sulsky et al. as an extension to solid mechanics of the hydrodynamics FLIP method [7]. The MPM has been applied to simulate numerous problems involving, for instance: membranes [22, 42], granular materials [38, 5], sea ice modeling [36], explosions [18], free surface flows [40], snow modeling [30], viscoelastic fluids [29], phase-change [31], fluid-structure interaction [39, 16, 20], and dynamic crack propagation [19]. The MPM exploits the advantages of both the Eulerian and the Lagrangian approaches. The body is discretized with a set of particles (or material points) and is positioned on a background grid, where the momentum equation is solved. The background grid may be chosen to be a finite element grid, because interpolating functions are used to transfer information from the particles to the grid and back. In the classical MPM, particles information is transferred to the background grid, where the momentum equation is solved. The new information obtained from the solution of the momentum equation at the grid nodes is used to update the values of displacement, velocity and acceleration at the particles. Then, the background grid is reset to its initial position. With such a method, the drawbacks of using a purely Lagrangian approach are avoided, because entanglement of the background grid is prevented by resetting it to its initial state after every time step. Moreover, the numerical dissipation associated with an Eulerian approach is eliminated, due to the absence of the convection term.

Historically, the MPM has been conceived as an explicit method. Compared to the extensive amount of explicit MPM formulations available in the literature, only a few efforts have been made so far to set the analysis in an implicit framework [31, 17, 37, 12, 15, 32, 27, 26, 6]. An implicit approach is desirable because it guarantees much larger time steps compared to what can be obtained with explicit methods, but more importantly the implicit formulation facilitates the monolithic coupling of the MPM with the FEM, which is the ultimate goal of the present work. As other existing implicit MPM formulations, here the assembly procedure for the problem on the background grid is carried out in a finite element fashion. The only difference between a standard FEM assembly is that, for elements of the background grid that enclose MPM particles, the quadrature points used for numerical integration are not the Gauss points as in standard FEM, but rather the particles themselves. The implicit MPM formulated here differs from existing implicit approaches [17, 37, 32, 27], because the exchange of information between particles and grid is minimized by avoiding unnecessary projections from the particles to the background grid nodes. In turn, as it is shown later, the inertial contribution is evaluated directly at the particles rather than at the grid nodes. This approach is consistent with an assembly procedure where the particles are used in place of the Gauss points. A drawback of using particles as quadrature points consists of instabilities that may arise due to inaccurate numerical integration, which may occur when an element of the background grid does not host enough particles. To overcome this issue, a soft stiffness matrix is added to the MPM system matrix as in [37]. In the present work, the magnitude of the soft stiffness contribution on a given element depends on how many particles the element itself and its neighbors are hosting. This is measured with appropriate flags whose determination procedure is discussed in Section 3.3. Once these flags are obtained, scaling factors associated with them are computed. The scaling factors are involved in the assembly procedure of the soft stiffness matrix and determine the weight of its contribution on a given element. Clearly, it is necessary to strike a balance between the need for numerical stability, given by larger soft stiffness contributions, and the desire for accuracy, which improves as the soft contributions tend to zero. To further improve numerical stability and simplify the implementation, the background grid is divided in active and inactive background grid. The former is composed of all the elements of the background grid that host at least one particle, whereas elements that do not host any particle are collected in the inactive background grid. The active background grid is what is actually used at a given instant of time to interpolate the particle instances from the grid. Contributions from nodes that belong exclusively to elements of the inactive background grid are assembled in a separate way using a lumped mass matrix. Details on this procedure are given in Section 3.3. Taking into account the inactive background grid contributions, we can avoid resizing the global system of equations every time a particle moves to a different element. Moreover, the solution corresponding to the lumped mass matrix block is inexpensive (one Jacobi iteration), because it corresponds to the inverse of a diagonal matrix. Another feature of the proposed formulation resides on the use of implicit differentiation for the computation of the system matrix. After the residual is assembled, the system matrix is obtained differentiating the residual vector with the library Adept [21]. With such a tool, the system matrix does not have to be computed explicitly as in existing implicit MPM strategies, and the implementation is strongly simplified.

For what concerns the coupling of MPM and FEM, only very few studies are available in the literature [24, 13, 23, 25]. For simplicity, it is assumed that the interaction to be simulated is that of two solid bodies: one undergoing large deformations, modeled with MPM and one subject to small deformations, modeled with FEM. Such a choice is justified by the respective advantages of the two discretization methods when applied to different deformation regimes. The assembly procedure is carried out according to a finite element strategy and automatic differentiation is used to obtain the coupled system matrix. The proposed monolithic algorithm solves simultaneously for the MPM and FEM unknowns in a unique solver, so that the two solid bodies are treated as a single continuum. The stress balance and the kinematic conditions across the MPM-FEM interface are automatically satisfied, resulting in a coupling that is accurate, robust, and stable. To allow a simultaneous solution of MPM and FEM unknowns, a finite element grid attached to the FEM body is used as background grid for the MPM. With such a feature, the interface between the MPM body and the FEM body is automatically tracked. No MPM particle can penetrate a FEM element, and a great advantage in terms of computational time is obtained, since time consuming contact search algorithms like the ones adopted in [24, 13] are eliminated. All the algorithms proposed in this work are implemented in the in-house finite element library FEMuS [1].

The paper is structured as follows: in Section 2, the domain configurations later employed in the mathematical formulation are introduced. In Section 3, a detailed description of the implicit MPM formulation proposed is provided. The new features of our formulation and the complete numerical algorithm are presented and discussed. In Section 4, the monolithic coupling between MPM and FEM is addressed, and the characteristics of the coupled problem are laid out. In Section 5, an algorithm for the receding phase of the contact interaction is described. This algorithm is necessary in order to prevent sticky phenomena induced by our monolithic formulation for large values of the Young’s modulus. The paper is concluded with Section 6, where numerical results are reported to illustrate the performances of the proposed algorithms.

2 Domain Configurations

In this section, the domain configurations used in the mathematical formulation are discussed. A general description is given first, followed by the identification of what will be referred to as the MPM domain and the FEM domain. The problem of the reset of the MPM background at the beginning of every time step is addressed for both the uncoupled and the coupled case.

Refer to caption
Figure 1: Schematics for the domain configurations.

2.1 Three general domain configurations

Three different domain configurations are used in the mathematical formulation. The reason why the configurations are three is made explicit in the following sections. Let T>0T>0 and let Ω\Omega be a given open and bounded domain such that, for all t[0,T]t\in[0,T], Ω(t)d\Omega(t)\subset\mathbb{R}^{d}. Then, the undeformed configuration of Ω\Omega is indicated with the notation Ω^\widehat{\Omega} and it represents the position of the domain in its original state at time t=0t=0. For the deformed configuration Ω(t)\Omega(t), no superscript is used, and the notation Ω(t)\Omega(t) just refers to the domain in its deformed configuration at time t>0t>0. This configuration is obtained from the undeformed configuration with a translation. Specifically, if 𝒙^\widehat{\bm{x}} represents any point of Ω^\widehat{\Omega}, then

𝒙(𝒙^,t)=𝒙^+𝒖(𝒙^,t), for t>0,\displaystyle{\bm{x}}(\widehat{\bm{x}},t)=\widehat{\bm{x}}+\bm{u}(\widehat{\bm{x}},t),\quad\text{ for }t>0, (1)

where 𝒖(𝒙^,t)\bm{u}(\widehat{\bm{x}},t) is the displacement field. The third configuration to be introduced is the reference configuration, denoted by Ω~\widetilde{\Omega}. We remark that, given n0n\geq 0, such a configuration does not change for any t(tn,tn+1]t\in(t^{n},t^{n+1}]. The reference configuration can also be obtained from the undeformed configuration with a translation, as follows

𝒙~(𝒙^)=𝒙^+𝒖reset(𝒙^), for t(tn,tn+1],\displaystyle\widetilde{\bm{x}}(\widehat{\bm{x}})=\widehat{\bm{x}}+{\bm{u}}^{reset}(\widehat{\bm{x}}),\quad\;\text{ for }t\in(t^{n},t^{n+1}], (2)

where the field 𝒖reset\bm{u}^{reset} is referred to as the reset displacement field associated with the given time interval (tn,tn+1](t^{n},t^{n+1}]. The definition of such a field is given in the next section. Any point in the deformed configuration can be also obtained from the reference configuration as

𝒙(𝒙~,t)=𝒙~+𝒖~(𝒙~,t), for t(tn,tn+1],\displaystyle{\bm{x}}(\widetilde{\bm{x}},t)=\widetilde{\bm{x}}+\widetilde{\bm{u}}(\widetilde{\bm{x}},t),\quad\text{ for }t\in(t^{n},t^{n+1}], (3)

where the field 𝒖~\widetilde{\bm{u}} is the displacement field with respect to the reference configuration, which satisfies

𝒖~(𝒙~(𝒙^),t)=𝒖(𝒙^,t)𝒖reset(𝒙^), for t(tn,tn+1].\widetilde{\bm{u}}(\widetilde{\bm{x}}(\widehat{\bm{x}}),t)=\bm{u}(\widehat{\bm{x}},t)-{\bm{u}}^{reset}(\widehat{\bm{x}}),\quad\text{ for }t\in(t^{n},t^{n+1}].

Schematics for the three domain configurations can be found in Figure 1.

The general considerations about domain configurations are applied to the MPM and FEM domains as explained next.

2.2 The MPM and the FEM domains

Let T>0T>0 and [0,T][0,T]\subset\mathbb{R}. For all t[0,T]t\in[0,T], let Ωmpm(t)\Omega_{mpm}(t) and Ωb(t)\Omega_{b}(t) be open and bounded subsets of d\mathbb{R}^{d}. Assume that Ωmpm(t)Ωb(t)\Omega_{mpm}(t)\subset\Omega_{b}(t) for all t[0,T]t\in[0,T]. From now on, Ωmpm(t)\Omega_{mpm}(t) represents the body discretized with the MPM particles. The set Ωb(t)\Omega_{b}(t) is discretized with a regular finite element grid 𝒯b\mathcal{T}_{b} [14, 8], used as a background grid for the MPM body. While Ωmpm(t)\Omega_{mpm}(t) may be subject to roto-translation and large deformations due to the movement of the MPM body, Ωb(t)\Omega_{b}(t) undergoes only limited deformations, because it follows the MPM body motion only in the time interval (tn,tn+1](t^{n},t^{n+1}]. At the beginning of each time step, Ωb(t)\Omega_{b}(t) is reset to its reference configuration Ω~b\widetilde{\Omega}_{b}, as it will be explained in the next section.

Refer to caption
Figure 2: Schematics of triangulations and domains used in the MPM-FEM coupled problem. The nodes marked with a cross belong exclusively to the inactive background grid 𝒯ib\mathcal{T}_{ib}, while those marked with a box are the nodes at the interface between the MPM background grid 𝒯b\mathcal{T}_{b} and the FEM grid 𝒯fem\mathcal{T}_{fem}.

Denoting by p\mathcal{E}_{p} the element of the background grid that hosts a given particle pp, we introduce

Ωab(t)𝒯ab=p=1Npp,\displaystyle\Omega_{ab}(t)\equiv\bigcup\limits_{\mathcal{E}\in\mathcal{T}_{ab}}\mathcal{E}=\bigcup\limits_{p=1}^{N_{p}}\mathcal{E}_{p}, (4)

where t(tn,tn+1]t\in(t^{n},t^{n+1}], and 𝒯ab𝒯b\mathcal{T}_{ab}\subset\mathcal{T}_{b} is the active background grid, composed of all elements \mathcal{E} of 𝒯b\mathcal{T}_{b} that host at least one particle pp. Similarly, we define 𝒯ib𝒯b𝒯ab\mathcal{T}_{ib}\equiv\mathcal{T}_{b}\setminus\mathcal{T}_{ab} to be the inactive background grid, composed of all elements of 𝒯b\mathcal{T}_{b} that do not enclose any particle. Note that the time dependence of Ωab(t)\Omega_{ab}(t) is due to the time dependence of p\mathcal{E}_{p} (for given pp) in the time interval (tn,tn+1](t^{n},t^{n+1}]. Moreover, because the background grid is reset at the beginning of each time step, a particle pp may leave a particular element p\mathcal{E}_{p} and move into one of its neighboring elements, so the elements of 𝒯ab\mathcal{T}_{ab} and 𝒯ib\mathcal{T}_{ib} may also change at each time step. Schematics of the grids here described are shown in Figure 2. By definition, Ωab(t)\Omega_{ab}(t) has the property that Ωmpm(t)Ωab(t)Ωb(t)\Omega_{mpm}(t)\subseteq\Omega_{ab}(t)\subseteq\Omega_{b}(t). The set Ωab(t)\Omega_{ab}(t), associated with the MPM active background grid, is what we refer to as the MPM domain. Such a choice is motivated by the fact that the MPM momentum equation is solved only on the active background grid, and its elements consequently undergo deformations that modify their reference configuration.

Concerning the FEM, since the triangulation entirely covers the body to discretize, the open and bounded set Ωfem(t)d\Omega_{fem}(t)\subset\mathbb{R}^{d} is used to characterize both the body discretized with FEM and the FEM domain. The interfaces between the FEM domain and the background grid Ωb(t)\Omega_{b}(t) and between the FEM domain and the active background grid Ωab(t)\Omega_{ab}(t) that arise during the coupling procedure are indicated with the letters Γ\Gamma and Γa\Gamma_{a}, respectively.

2.3 Definition of the reset displacement field

In the classical MPM method, where no coupling between MPM and FEM occurs, at the beginning of each time step interval (tn,tn+1](t^{n},t^{n+1}], the set Ωb(t)\Omega_{b}(t) is reset to its undeformed configuration, Ω^b\widehat{\Omega}_{b}, to avoid mesh entanglement. Namely, for any t(tn,tn+1]t\in(t^{n},t^{n+1}], if II refers to any node of the grid, the grid displacement 𝒖I\bm{u}_{I} associated to the node II is such that

limt(tn)+𝒖I(t)=𝟎.\displaystyle\lim\limits_{\;t\rightarrow{(t^{n})}^{+}}\bm{u}_{I}(t)=\bm{0}. (5)

Moreover, in general

limt(tn)𝒖I(t)=𝒖I(tn)𝟎,\displaystyle\lim\limits_{\;t\rightarrow{(t^{n})}^{-}}\bm{u}_{I}(t)=\bm{u}_{I}(t^{n})\neq\bm{0}, (6)

and as a result 𝒖I(t)\bm{u}_{I}(t) is discontinuous in time. On the other hand, in the classical uncoupled FEM method, the grid follows the solid body deformation and its displacement is continuous in time

limt(tn)𝒖I(t)=𝒖I(tn)=limt(tn)+𝒖I(t).\displaystyle\lim\limits_{\;t\rightarrow{(t^{n})}^{-}}\bm{u}_{I}(t)=\bm{u}_{I}(t^{n})=\lim\limits_{\;t\rightarrow{(t^{n})}^{+}}\bm{u}_{I}(t). (7)

With a monolithic coupling approach, there is a unique displacement field defined on the MPM background grid and on the finite element grid discretizing the FEM body. Hence, when the coupling between MPM and FEM is considered, the displacement at the grid points of 𝒯b\mathcal{T}_{b} that lie on the interface Γ\Gamma between Ωb(t)\Omega_{b}(t) and the FEM body cannot be reset to zero. This implies that at every instant of time, the deformed configuration of the MPM domain is composed of elements that are deformed, not only because of the motion of the MPM body, but also because of the FEM body motion.

The requirement of resetting the MPM background grid to its undeformed configuration at the beginning of every time step is what motivates the introduction of the reset displacement field to be used for the coupled problem. More specifically, when MPM is coupled with FEM, the background grid has to fulfill the following constraints: in the FEM domain and on the interface Γ\Gamma, it has to follow the solid deformation; in the MPM domain, in order to enforce domain continuity, it has to follow the deformation of Γ\Gamma, coming from the FEM domain. Moreover, to avoid mesh entanglement, it is desirable to reset the background grid to a configuration similar to the undeformed configuration on all MPM nodes that are sufficiently far from Γ\Gamma.

Because in the applications described in this paper the FEM solid body is subject to small deformations, the background grid constraints are satisfied with the following definition of the reset displacement field 𝒖Ireset\bm{u}_{I}^{reset}. Let \mathcal{I} be the set of grid points of 𝒯=𝒯b𝒯fem\mathcal{T}=\mathcal{T}_{b}\cup\mathcal{T}_{fem}, where 𝒯fem\mathcal{T}_{fem} denotes the finite element grid used to discretize the FEM body. For all t(tn,tn+1]t\in(t^{n},t^{n+1}], the reset displacement field satisfies

{𝒖Ireset=limt(tn)𝒖I(t), if𝒙IΩfem(t)(𝒖𝒓𝒆𝒔𝒆𝒕I+(𝒖𝒓𝒆𝒔𝒆𝒕I)T)=𝟎, if𝒙IΩb(t)Γ\displaystyle (8)

where 𝒙I\bm{x}_{I} denotes the position of node II\in\mathcal{I}. When MPM is coupled with FEM, Eq. (5) is replaced with

limt(tn)+𝒖I(t)=𝒖Ireset.\lim\limits_{\;t\rightarrow{(t^{n})}^{+}}\bm{u}_{I}(t)=\bm{u}_{I}^{reset}. (9)

By making this choice, continuity of the domain is preserved across Γ\Gamma, and the grid 𝒯b\mathcal{T}_{b} follows the solid body deformation on Ωfem(t)\Omega_{fem}(t), resulting in a continuous displacement field 𝒖I(t)\bm{u}_{I}(t). As a consequence of Eq. (9), at the beginning of each time step, the deformed configuration of the background grid coincides with its reference configuration, although it is in general different from its undeformed configuration Ω^b\widehat{\Omega}_{b}. This is more perceptible on those elements close to Γ\Gamma that may deform more to follow the FEM body motion. If the FEM body deformation is small, than the deformation of the background grid will also be small. To fulfill the classical MPM requirement in Eq. (5), a new MPM displacement field based on the reference background grid configuration is defined as

𝒖~I(t)=𝒖I(t)𝒖Ireset.\displaystyle\widetilde{\bm{u}}_{I}(t)=\bm{u}_{I}(t)-\,\bm{u}_{I}^{reset}. (10)

By Eq. (9), this new field satisfies

limt(tn)+𝒖~I(t)=𝟎,\lim\limits_{\;t\rightarrow{(t^{n})}^{+}}\widetilde{\bm{u}}_{I}(t)=\bm{0},

as in the classical uncoupled MPM method. The reference configuration is the configuration of the MPM domain associated with the field 𝒖~I(t)\widetilde{\bm{u}}_{I}(t).

3 Implicit Material Point Algorithm

The mathematical formulation of the proposed implicit material point and the complete numerical algorithm are described in this section.

3.1 Mathematical Formulation

For ease of notation, during the rest of this paper, the time dependence of Ωmpm\Omega_{mpm}, Ωab\Omega_{ab}, and of the fields involved in the formulation is not made explicit. The mass conservation is automatically satisfied by the material point method [41], therefore the governing equations for the MPM body consist of momentum conservation with appropriate boundary and initial conditions. For simplicity, we consider zero boundary conditions for displacement and normal stress

ρ𝒖¨𝝈=ρ𝒃,\displaystyle\rho\,\ddot{\bm{u}}-\nabla\cdot\bm{\sigma}=\rho\,\bm{b}, in Ωmpm×[0,T],\displaystyle\mbox{in }\Omega_{mpm}\times[0,T], (11)
𝝈𝒏=0,\displaystyle\bm{\sigma}\cdot\bm{n}=0, on Ωmpm,trac×[0,T],\displaystyle\mbox{on }{\partial\Omega_{mpm,trac}}\times[0,T],
𝒖=0,\displaystyle{\bm{u}}=0, on Ωmpm,disp×[0,T],\displaystyle\mbox{on }{\partial\Omega_{mpm,disp}}\times[0,T],
𝒖(𝒙,0)=𝒖0,𝒖˙(𝒙,0)=𝒖˙0\displaystyle{\bm{u}}(\bm{x},0)={\bm{u}}_{0},\quad\dot{\bm{u}}(\bm{x},0)=\dot{\bm{u}}_{0} in Ωmpm.\displaystyle\mbox{in }\Omega_{mpm}.

The case of Robin and mixed boundary conditions is not addressed at present. In Eq.(11), 𝒖\bm{u} represents the displacement, 𝝈\bm{\sigma} is the Cauchy stress tensor, ρ\rho is the MPM body density, 𝒃\bm{b} is the body force per unit mass, 𝒖˙\dot{\bm{u}} is the velocity, 𝒖¨\ddot{\bm{u}} is the acceleration and 𝒏\bm{n} is the unit outward normal of the boundary Ωmpm,trac\partial\Omega_{mpm,trac}, that represents the traction boundary. Similarly, Ωmpm,disp\partial\Omega_{mpm,disp} represents the portion of the boundary where displacement boundary conditions are prescribed. Constitutive equations for the Cauchy stress need to be added to complete the above set of equations. We describe the MPM solid bodies as Neo-Hookean materials, with the Cauchy stress tensor given by [28]

𝝈=λlog(J)J𝑰+μJ(𝑩𝑰).\displaystyle\bm{\sigma}=\lambda\dfrac{\log(J)}{J}\,\bm{I}+\dfrac{\mu}{J}\,\Big{(}\bm{B}-\bm{I}\Big{)}. (12)

In Eq. (12), λ\lambda is Lamé’s first parameter, 𝑰\bm{I} is the identity matrix, μ\mu is the shear modulus, 𝑩=𝑭𝑭T\bm{B}=\bm{F}\,\bm{F}^{T} is the left Cauchy-Green strain tensor, 𝑭\bm{F} is the deformation gradient and J=det(𝑭)J=\det(\bm{F}). Let ΔU={𝜹𝒖𝑯1(Ωmpm)|𝜹𝒖|Ωmpm,disp=0}\Delta U=\{\bm{\delta u}\in\bm{H}^{1}(\Omega_{mpm})\,\,|\,\,\bm{\delta u}|_{\partial\Omega_{mpm,disp}}=0\}. The virtual displacements are chosen as test functions for the weak formulation. The weak formulation of the momentum balance reads

Ωmpmρ(ui¨δui+j=1dσijsδuixjbiδui)𝑑V=0,fori=1,,d.\displaystyle\int_{\Omega_{mpm}}\rho\,\Big{(}\ddot{u_{i}}\,\delta u_{i}\,+\,\sum_{j=1}^{d}\sigma^{s}_{ij}\,\dfrac{\partial\delta u_{i}}{\partial x_{j}}\,-\,b_{i}\,\delta u_{i}\Big{)}\,dV=0,\,\,\mbox{for}\,\,i=1,\ldots,d. (13)

where σijs=σij/ρ(𝒙,t)\sigma^{s}_{ij}=\sigma_{ij}/\rho(\bm{x},t) is the specific Cauchy stress. The interested reader can consult [41] for more details on how to derive the above weak formulation. The integrals involved in Eq. (13) can be transformed in sums if the MPM density ρ\rho is approximated using the Dirac delta function δ\delta as

ρ(𝒙,t)p=1Npmpδ(𝒙𝒙p(t)),\displaystyle\rho(\bm{x},t)\approx\sum_{p=1}^{N_{p}}m_{p}\delta(\bm{x}-\bm{x}_{p}(t)), (14)

where, 𝒙p\bm{x}_{p} denotes the position of particle pp, and NpN_{p} represents the total number of particles used to discretize Ωmpm\Omega_{mpm}. Note that the number of particles NpN_{p} is time independent, assuming that no particle is leaving Ωb\Omega_{b}. Substituting Eq.(14) in Eq.(13) we obtain

p=1Npmp[\displaystyle\sum_{p=1}^{N_{p}}m_{p}\Big{[} u¨i(𝒙p)δui(𝒙p)+j=1dσijs(𝒙p)δuixj(𝒙p)bi(𝒙p)δui(𝒙p)]=0.\displaystyle\ddot{u}_{i}(\bm{x}_{p})\delta u_{i}(\bm{x}_{p})+\sum_{j=1}^{d}\sigma_{ij}^{s}(\bm{x}_{p})\dfrac{\partial\delta u_{i}}{\partial x_{j}}(\bm{x}_{p})-b_{i}(\bm{x}_{p})\delta u_{i}(\bm{x}_{p})\Big{]}=0. (15)

In the above equation, σijs(𝒙p)=J(𝒙p)σij(𝒙p)/ρ0\sigma_{ij}^{s}(\bm{x}_{p})=J(\bm{x}_{p})\,\sigma_{ij}(\bm{x}_{p})/\rho_{0}, where ρ0\rho_{0} is the density of the MPM body in the initial, undeformed configuration.

Remark 1.

Since the MPM body is discretized with particles, the values of the fields at the particles can be identified with the particle fields. For instance, u¨i(𝐱p)=u¨i,p\ddot{u}_{i}(\bm{x}_{p})=\ddot{u}_{i,p}, where u¨i,p\ddot{u}_{i,p} represents the ii-th component of the acceleration of particle pp.

Considering the above remark, Eq. (15) can be rewritten as

p=1Npmp[\displaystyle\sum_{p=1}^{N_{p}}m_{p}\Big{[} u¨i,pδui(𝒙p)+j=1dσij,psδuixj(𝒙p)bi,pδui(𝒙p)]=0.\displaystyle\ddot{u}_{i,p}\delta u_{i}(\bm{x}_{p})+\sum_{j=1}^{d}\sigma_{ij,p}^{s}\dfrac{\partial\delta u_{i}}{\partial x_{j}}(\bm{x}_{p})-b_{i,p}\delta u_{i}(\bm{x}_{p})\Big{]}=0. (16)

The weak formulation for the MPM equations in Eq. 16 is solved numerically employing the active background grid 𝒯ab\mathcal{T}_{ab}. For any given particle pp, an interpolation from the nodes of the element p𝒯ab\mathcal{E}_{p}\in\mathcal{T}_{ab} that encloses pp is performed. This step is part of the assembly procedure of the background grid system and is discussed within the complete numerical algorithm.

3.2 Implicit Time Integration

In a time dependent framework, the position, displacement, velocity and acceleration of a given particle are functions of time. The Newmark-beta integrator is adopted for the numerical integration of u¨i,p\ddot{u}_{i,p} in Eq. (16). If 𝒖pn+1\bm{u}^{n+1}_{p} denotes the particle displacement at time tn+1t^{n+1} and the same notation is also adopted for particle velocity and acceleration, the method gives

𝒖˙pn+1\displaystyle\dot{\bm{u}}^{n+1}_{p} =𝒖˙pn+(1γ)Δt𝒖¨pn+γΔt𝒖¨pn+1,\displaystyle=\dot{\bm{u}}^{n}_{p}+(1-\gamma)\,\,\Delta t\,\,\ddot{\bm{u}}^{n}_{p}+\gamma\,\,\Delta t\,\,\ddot{\bm{u}}^{n+1}_{p}, (17)
𝒖pn+1\displaystyle{\bm{u}}^{n+1}_{p} =𝒖pn+Δt𝒖˙pn+12Δt2(12β)𝒖¨pn+Δt2β𝒖¨pn+1,\displaystyle={\bm{u}}^{n}_{p}+\Delta t\,\,\dot{\bm{u}}^{n}_{p}+\frac{1}{2}\Delta t^{2}\,(1-2\beta)\ddot{\bm{u}}^{n}_{p}+{\color[rgb]{0,0,0}{\Delta t^{2}}}\beta\ddot{\bm{u}}^{n+1}_{p}, (18)

for γ[0,1]\gamma\in[0,1], β[0,0.5]\beta\in[0,0.5] and Δt=tn+1tn\Delta t=t^{n+1}-t^{n}. It follows that,

𝒖¨pn+1=1βΔt2(𝒖pn+1𝒖pn)1βΔt𝒖˙pn12β2β𝒖¨pn.\displaystyle\ddot{\bm{u}}^{n+1}_{p}=\dfrac{1}{\beta\,\Delta t^{2}}\,\Big{(}{\bm{u}}^{n+1}_{p}-{\bm{u}}^{n}_{p}\Big{)}-\dfrac{1}{\beta\Delta t}\,\,\dot{\bm{u}}^{n}_{p}-\dfrac{1-2\beta}{2\beta}\ddot{\bm{u}}^{n}_{p}. (19)

3.3 The numerical algorithm

The complete numerical algorithm for the implicit MPM scheme presented in this paper is described next. The algorithm is divided into a series of stages and it is set in a parallel framework where different processes handle their own share of the background grid and particles.

  • Initialization of the MPM particles.
    The first step consists of particle initialization. We assume that the total number of particles NpN_{p}, the volume VpV_{p} associated with each particle, and the initial density ρ0\rho_{0} of the undeformed MPM body are given. With this information, the mass of each particle is computed as mp=ρ0Vpm_{p}=\rho_{0}\,V_{p}. The initial position 𝒙p\bm{x}_{p} of each particle pp is also known. The values of displacement 𝒖p\bm{u}_{p} and velocity 𝒖˙p\dot{\bm{u}}_{p} of the particles are initialized as in Eq. (11). The acceleration 𝒖¨p\ddot{\bm{u}}_{p} is set to zero, while the deformation gradient 𝑭p\bm{F}_{p} at the particle is initialized to a given initial value 𝑭p0𝑭p(0)\bm{F}^{0}_{p}\equiv\bm{F}_{p}(0). Once a particle has been placed on the FEM background grid, the element p\mathcal{E}_{p} on the background grid that hosts the particle is determined, using the point locating method described in [11]. As already mentioned above, such an element may be different over time, so for a given pp, p\mathcal{E}_{p} is actually a function of time. For ease of notation, the time dependence is not made explicit. While for each pp the value of p\mathcal{E}_{p} is known to all processes, the local coordinates 𝝃p\bm{\xi}_{p} of pp are computed only by the process that owns it, so the other processes do not possess this information. To obtain the local coordinates 𝝃p\bm{\xi}_{p} in the FEM reference configuration, an inverse mapping obtained with Newton’s method is employed. For more details on this procedure please see [11].

  • Assembly and solution of the background grid system.
    For this step, it is assumed that the particle instances at time tnt^{n} are known and that those at time tn+1t^{n+1} have to be determined. Let b={1,,Nb}\mathcal{I}_{b}=\{1,\dots,N_{b}\} be the set of grid points of 𝒯b\mathcal{T}_{b}. Let ab\mathcal{I}_{ab} be the set of grid points associated with 𝒯ab\mathcal{T}_{ab} and ib=bab\mathcal{I}_{ib}=\mathcal{I}_{b}\setminus\mathcal{I}_{ab}. The assembly procedure is carried out differently depending on whether a node of the background grid belongs to the active or inactive background grid. Both assembly procedures are described in detail in the next steps.

    1. 1.

      Assembly of the active background grid contributions.
      A loop on the particles is executed to assemble the MPM contributions. Given a particle pp from the loop, the element p\mathcal{E}_{p} on the active background grid 𝒯ab\mathcal{T}_{ab} that is currently hosting the particle is extracted. In a sense, this procedure is similar to a standard FEM procedure since the assembly is still performed in an element-by-element fashion. The differences are that now particles are used as quadrature points instead of Gauss points, and that the quadrature contributions on a given element are not computed sequentially, since particles that belong to the same element may not be all grouped together in the particle loop.

      Remark 2.

      It is important to point out that, unlike other existing implicit MPM formulations [17, 37, 32, 27], our assembly procedure does not start with a mapping from the particles to the grid nodes. The Newmark scheme in Eq.(19) is used directly on the particle instances instead of the grid instances as existing strategies do. For this reason, no mapping from the particles to the background grid is necessary.

      According to a FEM approach, the particle virtual displacement in Eq.(16) can be obtained through interpolation from the nodes of p\mathcal{E}_{p}. If NpN_{\mathcal{E}_{p}} denotes the number of nodes of element p\mathcal{E}_{p}, we have δui,p=Ip=1Npδui,IpϕIp(𝒙p)\delta u_{i,p}=\sum_{I_{\mathcal{E}_{p}}=1}^{N_{\mathcal{E}_{p}}}\delta u_{i,I_{\mathcal{E}_{p}}}\phi_{I_{\mathcal{E}_{p}}}(\bm{x}_{p}), where δui,Ip\delta u_{i,I_{\mathcal{E}_{p}}} represents the nodal value of the virtual displacement at node IpI_{\mathcal{E}_{p}} and ϕIp\phi_{I_{\mathcal{E}_{p}}} is the finite element shape function associated with node IpI_{\mathcal{E}_{p}}. Thanks to the arbitrariness of δui,Ip\delta u_{i,I_{\mathcal{E}_{p}}} and the fact that by definition δui,Ip=0\delta u_{i,I_{\mathcal{E}_{p}}}=0 on pΩmpm,disp{\mathcal{E}_{p}\cap\partial\Omega_{mpm,disp}}, the equation for the IpI_{\mathcal{E}_{p}}-th entry of the local residual vector associated with MPM contributions is obtained from Eq. (16)

      rmpm,i,Ip\displaystyle r_{mpm,i,I_{\mathcal{E}_{p}}} p=1Npmp[u¨i,pϕIp(𝒙p)+(j=1dσij,psϕIpxj(𝒙p))\displaystyle\equiv\sum_{p=1}^{N_{p}}m_{p}\Big{[}\ddot{u}_{i,p}\phi_{I_{\mathcal{E}_{p}}}(\bm{x}_{p})+\Big{(}\sum_{j=1}^{d}\sigma^{s}_{ij,p}\dfrac{\partial\phi_{I_{\mathcal{E}_{p}}}}{\partial x_{j}}(\bm{x}_{p})\Big{)} (20)
      bi,pϕIp(𝒙p)]=0,Ip=1,Np.\displaystyle-b_{i,p}\phi_{I_{\mathcal{E}_{p}}}(\bm{x}_{p})\Big{]}=0,\quad I_{\mathcal{E}_{p}}=1,\ldots N_{\mathcal{E}_{p}}.

      In general, it may not be necessary to interpolate from the grid nodes to the particles to evaluate the body force at the particles. For instance, if the body force is a gravitational force, then no interpolation is necessary and its value at the particles can be computed directly. Therefore, the values of the body force remain evaluated at the particles, and interpolation may be performed if needed. The term u¨i,p\ddot{u}_{i,p} in Eq. (16) is computed with the Newmark scheme in Eq. (19). Specifically, u¨i,p\ddot{u}_{i,p} is given by

      u¨i,p\displaystyle\ddot{u}_{i,p} =1βΔt2u~i,g(𝒙p)1βΔtu˙i,pn12β2βu¨i,pn,\displaystyle=\dfrac{1}{\beta\,\Delta t^{2}}\,\widetilde{u}_{i,g}(\bm{x}_{p})-\dfrac{1}{\beta\Delta t}\,\dot{u}^{n}_{i,p}-\dfrac{1-2\beta}{2\beta}\,\ddot{u}^{n}_{i,p}, (21)

      where u~i,g(𝒙p)\widetilde{u}_{i,g}(\bm{x}_{p}) denotes the reference background grid displacement value at 𝒙p\bm{x}_{p}, defined as

      u~i,g(𝒙p)Ip=1Npu~i,Ipϕ~Ip(𝒙p),\displaystyle\widetilde{u}_{i,g}(\bm{x}_{p})\equiv\sum_{I_{\mathcal{E}_{p}}=1}^{N_{\mathcal{E}_{p}}}\widetilde{u}_{i,I_{\mathcal{E}_{p}}}\widetilde{\phi}_{I_{\mathcal{E}_{p}}}(\bm{x}_{p}), (22)

      where u~i,Ip\widetilde{u}_{i,I_{\mathcal{E}_{p}}} is as in Eq. (10). The value of σij,ps\sigma^{s}_{ij,p} in Eq. (20) refers to the specific Cauchy stress obtained with a partial interpolation from the grid nodes, as in [17]. Recalling the constitutive law in Eq. (12), σij,ps\sigma^{s}_{ij,p} is given by

      𝝈ps=λlog(Jp)ρJp𝑰+μJp(𝑩p𝑰),\displaystyle\bm{\sigma}^{s}_{p}=\dfrac{\lambda\,\,\log(J_{p})}{\rho\,\,J_{p}}\,\bm{I}+\dfrac{\mu}{J_{p}}\,\Big{(}\bm{B}_{p}-\bm{I}\Big{)}, (23)

      where Jp=det(𝑭p)J_{p}=\det(\bm{F}_{p}), 𝑩p=𝑭p(𝑭p)T\bm{B}_{p}=\bm{F}_{p}\,(\bm{F}_{p})^{T} and

      𝑭p=(~𝒖~g(𝒙p)+𝑰)𝑭pn.\displaystyle\bm{F}_{p}=\Big{(}\widetilde{\nabla}\widetilde{\bm{u}}_{g}(\bm{x}_{p})+\bm{I}\Big{)}\,\bm{F}_{p}^{n}. (24)

      In Eq. (24), ~\widetilde{\nabla} represents the Del operator with respect to the reference configuration and ~𝒖~g(𝒙p)\widetilde{\nabla}\widetilde{\bm{u}}_{g}(\bm{x}_{p}) is the background grid displacement gradient with respect to the reference configuration, evaluated at 𝒙p\bm{x}_{p}, defined as

      ~u~ij,g(𝒙p)Ip=1Npu~i,Ipϕ~Ipx~j(𝒙p).\displaystyle\widetilde{\nabla}\widetilde{u}_{ij,g}(\bm{x}_{p})\equiv\sum_{I_{\mathcal{E}_{p}}=1}^{N_{\mathcal{E}_{p}}}\widetilde{u}_{i,I_{\mathcal{E}_{p}}}\dfrac{\partial\widetilde{\phi}_{I_{\mathcal{E}_{p}}}}{\partial\widetilde{x}_{j}}(\bm{x}_{p}). (25)

      It is important to stress that if no coupling is considered, the undeformed configuration coincides with the reference configuration, since the reset displacement field is identically zero. This can be easily recalled considering Eq. (2).

      The next step consists of determining the scaling factors to be used in the assembly of the soft stiffness matrix. Such factors depend on flags MM_{\mathcal{E}} assigned to each element of the active background grid 𝒯ab\mathcal{T}_{ab}. The value of a flag depends on the element’s relative position with respect to the MPM particles. Let NN_{\mathcal{E}} be the total number of degrees of freedom associated with an element \mathcal{E} on the active background grid. For instance, for bi-quadratic quadrilateral elements N=9N_{\mathcal{E}}=9. See for instance Appendix A in [11] for a sketch of the Lagrangian bi-quadratic triangle and quadrilateral with associated degrees of freedom. For simplicity, we only consider the bi-quadratic case, but the following reasoning can be easily extended to linear and serendipity elements, as well as to higher dimensions. The value of the flag MM_{\mathcal{E}} is initialized to NN_{\mathcal{E}} for all elements in the active background grid. Let \mathcal{E} be any of such elements. Then the value of MM_{\mathcal{E}} is modified according to the following criterion: for any node II_{\mathcal{E}} of \mathcal{E} that also belongs to an element of 𝒯ib\mathcal{T}_{ib}, MM_{\mathcal{E}} is decreased by a unit. Hence, for instance, bi-quadratic quadrilateral elements that are surrounded by elements that do not enclose particles will have M=1M_{\mathcal{E}}=1.

      Next, a loop on all elements that are part of the active background grid is carried out in the standard finite element fashion, to compute the soft stiffness contribution of the local residual

      rsoft,i,IμC[~𝒖~+(~𝒖~)T]i~ϕ~I𝑑V,forI=1,,N.\displaystyle{r}_{soft,i,I_{\mathcal{E}}}\equiv\mu\,C_{\mathcal{E}}\int_{\mathcal{E}}\Big{[}\widetilde{\nabla}\bm{\widetilde{u}}+\big{(}\widetilde{\nabla}\bm{\widetilde{u}}\big{)}^{T}\Big{]}_{i}\cdot\widetilde{\nabla}\widetilde{\phi}_{I_{\mathcal{E}}}dV,\,\mbox{for}\quad I_{\mathcal{E}}=1,\ldots,N_{\mathcal{E}}. (26)

      The integral in Eq. (26) is approximated by means of a quadrature rule on the element \mathcal{E}, where Gauss points are used as quadrature points. The value of CC_{\mathcal{E}} is a measure of the magnitude of the soft stiffness contribution and it depends on the flags MM_{\mathcal{E}} previously determined. This is easily explained by the fact that the larger MM_{\mathcal{E}}, the more elements filled with particles surround \mathcal{E}, and the smaller soft stiffness contribution is needed to stabilize the equations within \mathcal{E}. As a general rule, CC_{\mathcal{E}} is a non-increasing function of MM_{\mathcal{E}}, and it is zero for any element fully surrounded by elements containing particles. The soft stiffness improves stability while decreasing accuracy. Accuracy decreases because a contribution that is not associated with the MPM problem is added to the system. As mentioned in the introduction, it is necessary to strike a balance between the need for accuracy and stability. A value of C=0C_{\mathcal{E}}=0 is appropriate for elements that are fully surrounded by elements with particles but it may not be sufficient for those elements on the boundary of the MPM body. This is because they may not be filled enough with particles. It is recommended to keep CC_{\mathcal{E}} as small as possible, for instance in the interval [102,108].[10^{-2},10^{-8}]. In the numerical simulations, we do not change the mass of the particles, but we test our model for increasing values of the Young’s modulus EE. As a consequence, the stiffness of the body increases, since CC_{\mathcal{E}} is multiplied by μ\mu, which is proportional to EE, while the gravitational force acting on the body remains the same. If the constant CC_{\mathcal{E}} remains the same, the artificial stiffness proportional to μC\mu\,C_{\mathcal{E}} would increase. Hence, it is reasonable to decrease the value of CC_{\mathcal{E}} at least proportionally to the increase of the Young’s modulus. A dimensionless analysis of the equation would confirm this straightforwardly. Examples of values for CC_{\mathcal{E}} will be given in Section 6.

      Note that Eq. (20) and Eq. (26) only involve nodes that belong to the active background grid 𝒯ab\mathcal{T}_{ab}, while the equation system at this stage is actually defined and solved for all the nodes of 𝒯b\mathcal{T}_{b}. In such a way, there is no need to construct a new background grid at each instant of time, rather part of the background grid becomes active depending on the position of Ωmpm\Omega_{mpm}, as already explained above. For all nodes that belong to ib\mathcal{I}_{ib} (so exclusively to the inactive background grid), a fictitious equation is assembled using a lumped mass matrix, as it is shown next.

    2. 2.

      Assembly of the inactive background grid contributions.
      Here, a loop on all the elements of the inactive background grid is carried out in a standard finite element fashion. Let \mathcal{E} be any element in 𝒯ib\mathcal{T}_{ib}. Then, for any node IibI_{\mathcal{E}}\in\mathcal{I}_{ib}, the local residual is computed as the product of a lumped mass matrix with the nodal displacement vector, as follows

      rmass,i,I\displaystyle{r}_{mass,i,I_{\mathcal{E}}} ^ui,Iϕ^I𝑑Vui,I(ig=1N,gω^igϕ^I(𝒙ig)),\displaystyle\equiv\int_{\widehat{\mathcal{E}}}u_{i,I_{\mathcal{E}}}\widehat{\phi}_{I_{\mathcal{E}}}dV\approx u_{i,I_{\mathcal{E}}}\Big{(}\sum_{i_{g}=1}^{N_{\mathcal{E},g}}\widehat{\omega}_{i_{g}}\widehat{\phi}_{I_{\mathcal{E}}}(\bm{x}_{i_{g}})\Big{)}, (27)

      for I=1,,NI_{\mathcal{E}}=1,\ldots,N_{\mathcal{E}}, I𝒯ibI_{\mathcal{E}}\in\mathcal{T}_{ib}. Recall that ib\mathcal{I}_{ib} contains only the nodes that belong exclusively to the inactive background grid, so nodes that are shared with elements that include at least one particle are excluded from the inactive background grid contribution. In Eq. (27), for ig=1,,N,gi_{g}=1,\ldots,{N_{\mathcal{E},g}}, 𝒙ig\bm{x}_{i_{g}} is a Gauss point of the undeformed element ^\widehat{\mathcal{E}} associated with \mathcal{E}, ω^ig\widehat{\omega}_{i_{g}} is the quadrature weight associated with 𝒙ig\bm{x}_{i_{g}}, ui,Iu_{i,I_{\mathcal{E}}} is ii-th component of the nodal displacement value at the local node II_{\mathcal{E}}, and ϕ^I\widehat{\phi}_{I_{\mathcal{E}}} is the shape function associated with node II_{\mathcal{E}} of the undeformed element ^\widehat{\mathcal{E}}.

    3. 3.

      Differentiation of the residual vector.
      Let 𝒓mpm,p=[rmpm,1,1,rmpm,1,2,,rmpm,d,Np]\bm{r}_{mpm,\mathcal{E}_{p}}=[r_{mpm,1,1},r_{mpm,1,2},\ldots,r_{mpm,d,N_{\mathcal{E}_{p}}}] denote the local residual vector associated with the MPM contributions from element p\mathcal{E}_{p}. The global MPM residual vector is denoted by

      𝒓mpm=[rmpm,1,1,rmpm,1,2,,rmpm,d,Ng]\bm{r}_{mpm}=[r_{mpm,1,1},r_{mpm,1,2},\ldots,r_{mpm,d,N_{g}}]

      and is obtained in the standard finite element fashion, adding the entries of the local MPM residual vectors associated with the same global nodes. In the same way, the global soft residual vector 𝒓soft\bm{r}_{soft} and the global mass residual vector 𝒓mass\bm{r}_{mass} are constructed. It is important from an implementational point of view to ensure that the three global residual have matching dimensions and that they are all initialized to zero. Next, the global residual vector 𝒓\bm{r} for the background grid system is defined as

      𝒓=𝒓mass+𝒓soft+𝒓mpm.\displaystyle\bm{r}=\bm{r}_{mass}+\bm{r}_{soft}+\bm{r}_{mpm}. (28)

      Let 𝒖k+1=[u1,1k+1,u1,2k+1,,ud,Ngk+1]\bm{u}^{k+1}=[u^{k+1}_{1,1},u^{k+1}_{1,2},\ldots,u^{k+1}_{d,N_{g}}] represent the vector of displacement values at the grid nodes at iteration k+1k+1, then 𝒓(𝒖k+1)\bm{r}(\bm{u}^{k+1}) is a nonlinear function of 𝒖k+1\bm{u}^{k+1} and to determine the values of the displacement at the grid nodes, it is necessary to solve the nonlinear equation

      𝒓(𝒖k+1)=0.\displaystyle\bm{r}(\bm{u}^{k+1})=0. (29)

      Writing 𝒖k+1=𝒖k+Δ𝒖k+1\bm{u}^{k+1}=\bm{u}^{k}+\Delta\bm{u}^{k+1} and expanding Eq.(29) in a Taylor series around 𝒖k\bm{u}^{k}, the following equation is obtained

      0=𝒓(𝒖k+1)=𝒓(𝒖k)+𝒓(𝒖k)𝒖Δ𝒖k+1+O((Δ𝒖k+1)2).\displaystyle 0=\bm{r}(\bm{u}^{k+1})=\bm{r}(\bm{u}^{k})+\dfrac{\partial\bm{r}(\bm{u}^{k})}{\partial\bm{u}}\Delta\bm{u}^{k+1}+O(({\Delta\bm{u}^{k+1}})^{2}). (30)

      Neglecting the higher order terms, a linear system of equations is recovered

      𝑲(𝒖k)Δ𝒖k+1=𝒓(𝒖k),\displaystyle\bm{K}(\bm{u}^{k})\Delta\bm{u}^{k+1}=-\bm{r}(\bm{u}^{k}), (31)

      where 𝑲(𝒖k)𝒓(𝒖k)𝒖\bm{K}(\bm{u}^{k})\equiv\dfrac{\partial\bm{r}(\bm{u}^{k})}{\partial\bm{u}} is the background grid stiffness matrix, Δ𝒖k+1\Delta\bm{u}^{k+1} is the solution increment vector and the forcing term 𝒓(𝒖k)-\bm{r}(\bm{u}^{k}) is the negative residual vector associated with the solution at the previous iteration. In the numerical implementation, the matrix 𝑲(𝒖k)\bm{K}(\bm{u}^{k}) is obtained using automatic differentiation provided by the Adept library [21]. Hence, once the residual has been assembled, no explicit computation has to be carried out to obtain such a matrix.
      After an appropriate reordering of the grid nodes, Eq. (31) can be written as the following block system

      [𝑲ab(𝒖abk)𝟎𝟎𝑴ib][Δ𝒖abk+1Δ𝒖ibk+1]=[𝒓ab(𝒖abk)𝒓ib(𝒖ibk)],\displaystyle\begin{bmatrix}\bm{K}_{ab}(\bm{u}_{ab}^{k})\quad&\bm{0}\\ \\ \bm{0}\quad&\bm{M}_{ib}\\ \end{bmatrix}\begin{bmatrix}\Delta\bm{u}_{ab}^{k+1}\\ \\ \Delta\bm{u}_{ib}^{k+1}\end{bmatrix}=\begin{bmatrix}-\bm{r}_{ab}(\bm{u}_{ab}^{k})\\ \\ -\bm{r}_{ib}(\bm{u}_{ib}^{k})\end{bmatrix}, (32)

      where

      𝑲ab(𝒖abk)=𝑲soft(𝒖abk)+𝑲mpm(𝒖abk),\displaystyle\bm{K}_{ab}(\bm{u}_{ab}^{k})=\bm{K}_{soft}(\bm{u}_{ab}^{k})+\bm{K}_{mpm}(\bm{u}_{ab}^{k}), (33)
      𝒓ab(𝒖abk)=𝒓soft(𝒖abk)+𝒓mpm(𝒖abk),\displaystyle\bm{r}_{ab}(\bm{u}_{ab}^{k})=\bm{r}_{soft}(\bm{u}_{ab}^{k})+\bm{r}_{mpm}(\bm{u}_{ab}^{k}),
      𝑲soft(𝒖abk)𝒓soft(𝒖abk)𝒖ab,𝑲mpm(𝒖abk)𝒓mpm(𝒖abk)𝒖ab,\displaystyle\bm{K}_{soft}(\bm{u}_{ab}^{k})\equiv\dfrac{\partial\bm{r}_{soft}(\bm{u}_{ab}^{k})}{\partial\bm{u}_{ab}},\quad\bm{K}_{mpm}(\bm{u}_{ab}^{k})\equiv\dfrac{\partial\bm{r}_{mpm}(\bm{u}_{ab}^{k})}{\partial\bm{u}_{ab}},
      𝒓ib(𝒖ibk)=𝒓mass(𝒖ibk),𝑴ib=𝒓mass(𝒖ibk)𝒖ib.\displaystyle\bm{r}_{ib}(\bm{u}_{ib}^{k})=\bm{r}_{mass}(\bm{u}_{ib}^{k}),\quad\bm{M}_{ib}=\dfrac{\partial\bm{r}_{mass}(\bm{u}_{ib}^{k})}{\partial\bm{u}_{ib}}.
    4. 4.

      Solution of the background grid system.
      Let Δ𝒖k+1\Delta\bm{u}^{k+1} denote the solution of system (32). With such an information, the displacement at the grid is advanced 𝒖k+1=𝒖k+Δ𝒖k+1\bm{u}^{k+1}=\bm{u}^{k}+\Delta\bm{u}^{k+1}. If the displacement falls below a prescribed tolerance, the algorithm moves to the next stage, otherwise further iterations are carried out.

  • Update of Particle Instances.
    In the last stage of the algorithm, the position, velocity, acceleration and deformation gradient of the particles are updated. As for the assembly procedure, this step begins with a loop on the particles. Then, for a given particle pp in the loop, the element p\mathcal{E}_{p} that hosts pp is again extracted. The deformation gradient is updated in the following way

    𝑭pn+1=(~𝒖~gn+1(𝒙p)+𝑰)𝑭pn,\displaystyle\bm{F}_{p}^{n+1}=(\widetilde{\nabla}\bm{\widetilde{u}}^{n+1}_{g}(\bm{x}_{p})+\bm{I})\,\bm{F}_{p}^{n}, (34)

    where

    𝒖~gn+1(𝒙p)Ip=1Np𝒖~Ipn+1ϕ~Ip(𝒙p).\displaystyle\bm{\widetilde{u}}_{g}^{n+1}(\bm{x}_{p})\equiv\sum_{I_{\mathcal{E}_{p}}=1}^{N_{\mathcal{E}_{p}}}\bm{\widetilde{u}}^{n+1}_{I_{\mathcal{E}_{p}}}\widetilde{\phi}_{I_{\mathcal{E}_{p}}}(\bm{x}_{p}). (35)

    The particle displacement is obtained via interpolation from the displacement 𝒖~I\widetilde{\bm{u}}_{I} at the nodes of p\mathcal{E}_{p}. Namely, 𝒖pn+1𝒖~gn+1(𝒙p)\bm{u}^{n+1}_{p}\equiv\bm{\widetilde{u}}_{g}^{n+1}(\bm{x}_{p}). With this information and the particle instances at the previous instant of time, velocity and acceleration are updated using the Newmark scheme in Eq. (17) and Eq. (19) respectively. Finally, the particle positions are updated as 𝒙pn+1=𝒙pn+𝒖pn+1\bm{x}^{n+1}_{p}=\bm{x}^{n}_{p}+\bm{u}^{n+1}_{p}.

4 Monolithic coupling between MPM and FEM

In this section, the solid-solid monolithic coupling between the proposed implicit material point method and the finite element method is described. The two solid bodies are treated as a single continuum, and a shared finite element grid is used for the FEM body and the MPM background grid. In this way, the MPM background grid follows the solid deformations and the interface between MPM and FEM bodies is automatically tracked. With this monolithic approach, there is no need for time consuming contact algorithms because the MPM particles do not penetrate the FEM body (conservation of mass). In addition, the continuity of the normal stress on the shared interface is automatically satisfied (conservation of momentum). The monolithic coupling used in this work is highly inspired by monolithic coupling strategies for fluid-structure interaction (FSI) problems [9, 2, 10, 3, 4]. As a matter of fact, the MPM background grid is used in the same way as the finite element grid employed to discretize the fluid domain in FSI problems. In such problems, the displacement of the fluid grid at the interface is required to match the displacement of the solid grid. The same requirement is enforced here between the MPM background grid and the FEM solid grid. However, there is a major difference between the approach adopted in this work and the one used to model FSI problems. Indeed, for any node of the background grid that does not belong to the FEM body, the displacement is reset to zero after every time step, as the MPM algorithm requires. On the other hand, such a reset does not occur for the fluid displacement in FSI problems. Another major difference is that of course no actual fluid equation is solved on the background grid in the present case, and the active background grid is only used for interpolation during the solution of the MPM equations.

The weak system of equations solved in the coupled case is the following

Ωabρmpm(𝒖¨mpmδ𝒖mpm+𝝈mpms:δ𝒖mpm𝒃mpmδ𝒖mpm)dV\displaystyle\int_{\Omega_{ab}}\rho_{mpm}\,\Big{(}\ddot{\bm{u}}_{mpm}\cdot\delta\bm{u}_{mpm}\,+\bm{\sigma}_{mpm}^{s}:\nabla\delta\bm{u}_{mpm}\,-\,\bm{b}_{mpm}\cdot\delta\bm{u}_{mpm}\Big{)}\,dV (36)
Γaρmpm(𝝈mpmsδ𝒖mpm)𝒏mpm=0,δ𝒖mpmΔUmpm,\displaystyle\quad-\int_{\Gamma_{a}}\rho_{mpm}(\bm{\sigma}_{mpm}^{s}\cdot\delta\bm{u}_{mpm})\cdot\bm{n}_{mpm}\ =0,\qquad\forall\delta\bm{u}_{mpm}\in\Delta U_{mpm},
Ωfemρfem𝒖¨femδ𝒖fem+𝝈fem:δ𝒖femρfem𝒃femδ𝒖femdV\displaystyle\int_{\Omega_{fem}}\rho_{fem}\ddot{\bm{u}}_{fem}\cdot\delta\bm{u}_{fem}\,+\bm{\sigma}_{fem}:\nabla\delta\bm{u}_{fem}\,-\,\rho_{fem}\bm{b}_{fem}\cdot\delta\bm{u}_{fem}\,dV
Γa(𝝈femδ𝒖fem)𝒏fem=0,δ𝒖femΔUfem,\displaystyle-\int_{\Gamma_{a}}(\bm{\sigma}_{fem}\cdot\delta\bm{u}_{fem})\cdot\bm{n}_{fem}\ =0,\qquad\forall\delta\bm{u}_{fem}\in\Delta U_{fem},

where ΔUfem\Delta U_{fem} represents the set of the test functions for the FEM weak formulation. Since two elastic bodies are simulated, the momentum equation is the same for both the MPM and the FEM body and the Cauchy stress is still given by Eq. (12) for both solids. Recall from Section 2.2 that Γa=ΩabΩfem\Gamma_{a}=\partial\Omega_{ab}\cap\partial\Omega_{fem} denotes the interface between the MPM and the FEM domains. The continuity of mass and momentum between the equations in system (LABEL:coupledMPM) are satisfied. Namely,

𝒖mpm=𝒖fem\displaystyle\bm{u}_{mpm}=\bm{u}_{fem} (37)
(𝝈𝒏)|fem,Γa+(𝝈𝒏)|mpm,Γa=0,\displaystyle\left.(\bm{\sigma}\cdot\bm{n})\right|_{fem,\Gamma_{a}}+\left.(\bm{\sigma}\cdot\bm{n})\right|_{mpm,\Gamma_{a}}=0,

where the second equation means that the FEM and the MPM values of (𝝈𝒏)(\bm{\sigma}\cdot\bm{n}) match on Γa\Gamma_{a}. Due to the monolithic approach, the equations for the MPM body and for the FEM body are solved at the same time with a unique assembly for the two. The assembly procedure is carried out exactly in the same way as in Section 3.3 for the nodes on the MPM background grid 𝒯b\mathcal{T}_{b}. If 𝒯fem\mathcal{T}_{fem} denotes the finite element grid used to discretize Ωfem\Omega_{fem}, let fem\mathcal{I}_{fem} be the set of grid points of 𝒯fem\mathcal{T}_{fem}. The inactive grid contributions are given only to the nodes in (abfem)\mathcal{I}\setminus(\mathcal{I}_{ab}\cup\mathcal{I}_{fem}), so no coupling between inactive nodes and FEM nodes exists. For any node in fem\mathcal{I}_{fem}, the assembly procedure is carried out in a standard finite element fashion, using Gauss points as quadrature points. Recalling the constitutive law in Eq. (12), for a given Gauss point igi_{g}, we define σij,igs\sigma^{s}_{ij,{i_{g}}} by

𝝈igsλfemlog(Jig)ρfemJig𝑰+μfemJig(𝑩ig𝑰),\displaystyle\bm{\sigma}^{s}_{i_{g}}\equiv\dfrac{\lambda_{fem}\,\,\log(J_{i_{g}})}{\rho_{fem}\,\,J_{i_{g}}}\,\bm{I}+\dfrac{\mu_{fem}}{J_{i_{g}}}\,\Big{(}\bm{B}_{i_{g}}-\bm{I}\Big{)}, (38)

where Jig=det(𝑭ig)J_{i_{g}}=\det(\bm{F}_{i_{g}}), 𝑩ig=𝑭ig(𝑭ig)T\bm{B}_{i_{g}}=\bm{F}_{i_{g}}\,(\bm{F}_{i_{g}})^{T} and

𝑭ig=(^𝒖g(𝒙ig)+𝑰).\displaystyle\bm{F}_{i_{g}}=\Big{(}\widehat{\nabla}\bm{u}_{g}(\bm{x}_{i_{g}})+\bm{I}\Big{)}. (39)

In Eq. (39), ^𝒖g(𝒙ig)\widehat{\nabla}\bm{u}_{g}(\bm{x}_{i_{g}}) represents the background grid displacement gradient with respect to the undeformed finite element configuration, evaluated at 𝒙ig\bm{x}_{i_{g}}, given by

^uij,g(𝒙ig)=I=1Ngui,Iϕ^Ix^j(𝒙ig).\displaystyle\widehat{\nabla}u_{ij,g}(\bm{x}_{i_{g}})=\sum_{I_{\mathcal{E}}=1}^{N_{\mathcal{E}_{g}}}u_{i,I_{\mathcal{E}}}\dfrac{\partial\widehat{\phi}_{I_{\mathcal{E}}}}{\partial\widehat{x}_{j}}(\bm{x}_{i_{g}}). (40)

For any 𝒯fem\mathcal{E}\in\mathcal{T}_{fem}, the local residual is computed as

rfem,i,I\displaystyle{r}_{fem,i,I_{\mathcal{E}}} ig=1Ngωig[u¨i,igϕI(𝒙ig)+(j=1dσij,igsϕIxj(𝒙ig))\displaystyle\equiv\sum_{i_{g}=1}^{N_{{\mathcal{E}}_{g}}}\omega_{i_{g}}\Big{[}\ddot{u}_{i,i_{g}}\phi_{I_{\mathcal{E}}}(\bm{x}_{i_{g}})+\Big{(}\sum_{j=1}^{d}\sigma^{s}_{ij,i_{g}}\dfrac{\partial\phi_{I_{\mathcal{E}}}}{\partial x_{j}}(\bm{x}_{i_{g}})\Big{)} (41)
ρfembi,igJigϕI(𝒙ig)]=0,forI=1,,N.\displaystyle-\dfrac{\rho_{fem}\,b_{i,i_{g}}}{J_{i_{g}}}\phi_{I_{\mathcal{E}}}(\bm{x}_{i_{g}})\Big{]}=0,\,\,\mbox{for}\,\,I_{\mathcal{E}}=1,\ldots,N_{\mathcal{E}}.

Since particles are substituted by Gauss points in the FEM assembly, the Newmark scheme in Eq. (19) for the FEM body becomes

𝒖¨ign+1=1βΔt2(𝒖ign+1𝒖ign)1βΔt𝒖˙ign12β2β𝒖¨ign,\displaystyle\ddot{\bm{u}}^{n+1}_{i_{g}}=\dfrac{1}{\beta\,\Delta t^{2}}\,\Big{(}{\bm{u}}^{n+1}_{i_{g}}-{\bm{u}}^{n}_{i_{g}}\Big{)}-\dfrac{1}{\beta\Delta t}\,\,\dot{\bm{u}}^{n}_{i_{g}}-\dfrac{1-2\beta}{2\beta}\ddot{\bm{u}}^{n}_{i_{g}}, (42)

where

𝒖ign+1=𝒖n+1(𝒙ig)I=1N,g𝒖In+1ϕI(𝒙ig).\displaystyle{\bm{u}}^{n+1}_{i_{g}}=\bm{u}^{n+1}(\bm{x}_{i_{g}})\equiv\sum_{I_{\mathcal{E}}=1}^{N_{\mathcal{E},g}}\bm{u}^{n+1}_{I_{\mathcal{E}}}\phi_{I_{\mathcal{E}}}(\bm{x}_{i_{g}}). (43)

The displacement, velocity and acceleration at the Gauss point at time tnt^{n} in Eq. (42) are computed in an analogous way as the displacement at the Gauss point at time tn+1t^{n+1} in Eq. (43). The coupled monolithic block system is again block diagonal and is given by

[𝑲ab(𝒖k)𝑲ab,fem(𝒖k)𝟎𝑲fem,ab(𝒖k)𝑲fem(𝒖k)𝟎𝟎𝟎𝑴ib][Δ𝒖abk+1Δ𝒖femk+1Δ𝒖ibk+1]=[𝒓ab(𝒖k)𝒓fem(𝒖k)𝒓ib(𝒖k)],\displaystyle\begin{bmatrix}\bm{K}_{ab}(\bm{u}^{k})&\bm{K}_{ab,fem}(\bm{u}^{k})&\bm{0}\\ \\ \bm{K}_{fem,ab}(\bm{u}^{k})&\bm{K}_{fem}(\bm{u}^{k})&\bm{0}\\ \\ \bm{0}&\bm{0}&\bm{M}_{ib}\\ \end{bmatrix}\begin{bmatrix}\Delta\bm{u}_{ab}^{k+1}\\ \\ \Delta\bm{u}_{fem}^{k+1}\\ \\ \Delta\bm{u}_{ib}^{k+1}\end{bmatrix}=\begin{bmatrix}-\bm{r}_{ab}(\bm{u}^{k})\\ \\ -\bm{r}_{fem}(\bm{u}^{k})\\ \\ -\bm{r}_{ib}(\bm{u}^{k})\end{bmatrix}, (44)

where

𝑲ab(𝒖k)=𝑲soft(𝒖k)+𝑲mpm(𝒖k),\displaystyle\bm{K}_{ab}(\bm{u}^{k})=\bm{K}_{soft}(\bm{u}^{k})+\bm{K}_{mpm}(\bm{u}^{k}), (45)
𝒓ab(𝒖k)=𝒓soft(𝒖k)+𝒓mpm(𝒖k),\displaystyle\bm{r}_{ab}(\bm{u}^{k})=\bm{r}_{soft}(\bm{u}^{k})+\bm{r}_{mpm}(\bm{u}^{k}),
𝑲soft(𝒖k)𝒓soft(𝒖k)𝒖ab,𝑲mpm(𝒖k)𝒓mpm(𝒖k)𝒖ab,\displaystyle\bm{K}_{soft}(\bm{u}^{k})\equiv\dfrac{\partial\bm{r}_{soft}(\bm{u}^{k})}{\partial\bm{u}_{ab}},\quad\bm{K}_{mpm}(\bm{u}^{k})\equiv\dfrac{\partial\bm{r}_{mpm}(\bm{u}^{k})}{\partial\bm{u}_{ab}},
𝑲ab,fem(𝒖k)𝒓ab(𝒖k)𝒖fem,𝑲fem,ab(𝒖k)𝒓fem(𝒖k)𝒖ab,\displaystyle\bm{K}_{ab,fem}(\bm{u}^{k})\equiv\dfrac{\partial\bm{r}_{ab}(\bm{u}^{k})}{\partial\bm{u}_{fem}},\quad\bm{K}_{fem,ab}(\bm{u}^{k})\equiv\dfrac{\partial\bm{r}_{fem}(\bm{u}^{k})}{\partial\bm{u}_{ab}},
𝒓ib(𝒖k)=𝒓mass(𝒖k),𝑴ib=𝒓mass(𝒖k)𝒖ib.\displaystyle\bm{r}_{ib}(\bm{u}^{k})=\bm{r}_{mass}(\bm{u}^{k}),\quad\bm{M}_{ib}=\dfrac{\partial\bm{r}_{mass}(\bm{u}^{k})}{\partial\bm{u}_{ib}}.

The (1,2) and (2,1) blocks represent the coupling between the active background grid and the FEM body nodes. After the solution of the monolithic system, the nodal values of velocity and acceleration at the grid nodes in fem\mathcal{I}_{fem} are updated using the Newmark scheme

𝒖¨In+1\displaystyle\ddot{\bm{u}}_{I}^{n+1} =1βΔt2(𝒖In+1𝒖In)1βΔt𝒖˙In12β2β𝒖¨In,\displaystyle=\dfrac{1}{\beta\Delta t^{2}}{\color[rgb]{0,0,0}{\Big{(}{\bm{u}}_{I}^{n+1}-{\bm{u}}_{I}^{n}\Big{)}}}-\dfrac{1}{\beta\Delta t}\dot{\bm{u}}_{I}^{n}-\dfrac{1-2\,\beta}{2\beta}\ddot{\bm{u}}_{I}^{n}, (46)
𝒖˙In+1\displaystyle\dot{\bm{u}}_{I}^{n+1} =𝒖˙In+Δt((1γ)𝒖¨In+γ𝒖¨In+1).\displaystyle=\dot{\bm{u}}_{I}^{n}+\Delta t\Big{(}(1-\gamma)\ddot{\bm{u}}_{I}^{n}+\gamma\,\ddot{\bm{u}}_{I}^{n+1}\Big{)}.

5 Receding Contact Force Correction

The MPM domain may be subject to roto-translation and large deformations, and it is possible for its boundary to come into contact with the domain boundary where a Dirichlet boundary condition is imposed or with the FEM solid boundary. These situations require the contact force modeling to be carefully described. The contact force between two surfaces acts only when they touch, and a mutual pressure is applied. During the receding phase, when the bodies detach, the contact force must be zero. Moreover, compenetration between the touching domains should never occur. The proposed monolithic formulation never allows for compenetration, and the force balance at the interface is automatically satisfied in the touching phase of the contact. However, in the receding phase, the contact suffers of small to moderate sticky effects, that grow with increasing values of the Young’s modulus of the MPM body.

To avoid the artificial stickiness in the receding phase, a simple correction to the contact description is embedded in the implicit monolithic formulation. The correction requires a small modification in the MPM assembly for those elements of the active background grid for which a face is shared with an element of the FEM body, or Dirichlet boundary conditions are imposed on it. The nodal displacement values of such elements receive an additional contribution for each enclosed particle that moves away from the face. The idea is to reduce the reaction force exerted by the face in the evaluation of 𝑭p\bm{F}_{p} in Eq. (24). In particular, a reduction of the contribution of ~𝒖~g(𝒙p)\widetilde{\nabla}\widetilde{\bm{u}}_{g}(\bm{x}_{p}) to the deformation gradient 𝑭p\bm{F}_{p} is obtained.

Refer to caption
Figure 3: Schematics for the receding contact force algorithm

The algorithm has been implemented here only for bi-quadratic Lagrangian quadrilateral elements but it readily extends to other shapes and families of finite elements. Let pp be a particle and let p\mathcal{E}_{p} be the element that encloses it, depicted in Figure 3. For simplicity, we consider the case where Dirichlet zero boundary conditions have been imposed on the lower face of p\mathcal{E}_{p}. Hence, the lower face will remain undeformed in the time interval (tn,tn+1](t^{n},t^{n+1}]. This implies that 𝒖~1=𝒖~2=𝒖~5=𝟎\widetilde{\bm{u}}_{1}=\widetilde{\bm{u}}_{2}=\widetilde{\bm{u}}_{5}=\bm{0}, whereas the other nodes are free to move, see the dashed gray contour in Figure 3. If the particle moves away from the Dirichlet boundary, the values of 𝒖~Ip\widetilde{\bm{u}}_{I_{\mathcal{E}_{p}}}, with Ip=1,,Np=9{I_{\mathcal{E}_{p}}}=1,\ldots,N_{\mathcal{E}_{p}}=9, are modified as follows

𝒖~1=(1Cc)𝒖~1+Cc(43𝒖~413𝒖~8),\displaystyle\widetilde{\bm{u}}_{1}^{*}=(1-C_{c})\widetilde{\bm{u}}_{1}+C_{c}\left(\frac{4}{3}\widetilde{\bm{u}}_{4}-\frac{1}{3}\widetilde{\bm{u}}_{8}\right), (47)
𝒖~2=(1Cc)𝒖~2+Cc(43𝒖~313𝒖~6),\displaystyle\widetilde{\bm{u}}_{2}^{*}=(1-C_{c})\widetilde{\bm{u}}_{2}+C_{c}\left(\frac{4}{3}\widetilde{\bm{u}}_{3}-\frac{1}{3}\widetilde{\bm{u}}_{6}\right),
𝒖~5=(1Cc)𝒖~5+Cc(43𝒖~713𝒖~9),\displaystyle\widetilde{\bm{u}}_{5}^{*}=(1-C_{c})\widetilde{\bm{u}}_{5}+C_{c}\left(\frac{4}{3}\widetilde{\bm{u}}_{7}-\frac{1}{3}\widetilde{\bm{u}}_{9}\right),
𝒖~Ip=𝒖~Ip for Ip=3,4,6,7,8,9,\displaystyle\widetilde{\bm{u}}_{I_{\mathcal{E}_{p}}}^{*}=\widetilde{\bm{u}}_{I_{\mathcal{E}_{p}}}\text{ for }I_{\mathcal{E}_{p}}=3,4,6,7,8,9\,,

with Cc[0,1]C_{c}\in[0,1]. Note that the terms multiplied by CcC_{c} in the above equations represent the correction terms. The new deformation field allows the nodes on the lower face to move, see the dashed red line in Figure 3. For Cc=0C_{c}=0, the Dirichlet boundary condition is restored. For Cc=1C_{c}=1, the new displacement field is such that ~𝒖~g(𝒙𝟏)=~𝒖~g(𝒙𝟐)=~𝒖~g(𝒙𝟓)=𝟎\widetilde{\nabla}\widetilde{\bm{u}}_{g}^{*}(\bm{x_{1}})=\widetilde{\nabla}\widetilde{\bm{u}}_{g}^{*}(\bm{x_{2}})=\widetilde{\nabla}\widetilde{\bm{u}}_{g}^{*}(\bm{x_{5}})=\bm{0}, and consequently for each particle pp located on the lower face it would be

𝑭p=(~𝒖~g(𝒙p)+𝑰)𝑭pn=𝑭pn,\displaystyle\bm{F}_{p}=\Big{(}\widetilde{\nabla}\widetilde{\bm{u}}^{*}_{g}(\bm{x}_{p})+\bm{I}\Big{)}\,\bm{F}_{p}^{n}=\bm{F}_{p}^{n}, (48)

with no new contribution to the stress tensor. For Cc(0,1)C_{c}\in(0,1), the resulting boundary condition can be considered of mixed type. The equations in (47) can be used also for the case of non zero Dirichlet boundary condition or contact of the MPM body with the FEM body.

The value of the constant CcC_{c} has been investigated numerically. It is shown in Section 6 that if an MPM body rolls on a boundary (or on a FEM body), one can choose Cc=0.5C_{c}=0.5 regardless of the material type, the grid resolution and the coefficients CC_{\mathcal{E}} for the soft stiffness matrix. For the case of a bouncing MPM object on a FEM plate, the numerical results show sensitivity to CcC_{c}, and a different value has to be chosen any time one of the parameters changes. However, it will be shown that the range of values of CcC_{c} remains small.

6 Numerical Results

Numerical results are presented in this section to showcase the performances of the algorithms here described. First, the implicit MPM scheme is tested, followed by the monolithic coupling between MPM and FEM. When possible, the numerical results are compared to analytic solutions to show the great accuracy of the methods presented. For simplicity, only 2-dimensional numerical tests are performed, even if the methods developed in this work readily apply to 3-dimensional problems as well.

6.1 Initialization of the MPM Bodies

In the following numerical examples, two different types of MPM bodies are considered, a disk and a beam. Both bodies have a uniform particle distribution in their core and a progressively refined distribution moving from an a priori chosen interior surface towards the boundary. Recall that the particle mass is defined as mp=ρ0Vpm_{p}=\rho_{0}V_{p}, where ρ0\rho_{0} is the initial density of the MPM body and VpV_{p} is the particle volume. This volume has a value that depends on the location of the particle within the particle distribution used to discretized the body. Two different initialization procedures are carried out depending on the specific body.

6.1.1 Initialization of the disk

The input parameters for the disk are: the coordinates of the center of the disk (xc,yc)(x_{c},y_{c}), the radius of the disk RR , the radius of the interior disk in which the uniform distribution is built R0R_{0} , and Nθ0N_{\theta_{0}}, which is the number of particles located within the disk of radius R0R_{0}. The number of boundary layers NbN_{b} between the circles can be obtained after RR, R0R_{0}, and Nθ0N_{\theta_{0}} have been chosen. For each particle, the output parameters are its initial coordinates and its volume VpV_{p}.

6.1.2 Initialization of the beam

The input parameters for the beam are: the coordinates of the center point of the left boundary (x0,y0)(x_{0},y_{0}), the height HH and length LL of the beam, the height H0H_{0} of the interior beam in which a uniform distribution is built, and the number NHN_{H} of particle rows in the interior beam. The number of boundary layers NbN_{b} between the beams can be obtained once HH, H0H_{0} and NHN_{H} are chosen. For each particle, the output parameters are again its initial coordinates and its volume VpV_{p}.

The pseudocode for the initialization of the two MPM bodies is given in Appendix A. We remark that the performances of the method do not depend on the specific particle distribution adopted in this work and other distributions may be possible.

6.2 Tests for the implicit MPM

We begin by considering a 2-dimensional example of a disk rolling on an inclined plane. The case of a rolling disk (or ball in 3D) is a common test for the MPM, and it has been used in several other works, we report for instance [5, 13, 24]. The plane has an inclination of θ=π/4\theta=\pi/4, the disk has radius R=1.6mR=1.6\,m, and Young’s modulus EE. Two values of EE are chosen for the simulations, E1=4.2 106PaE_{1}=4.2\,\cdot\,10^{6}\,Pa and E2=4.2 108PaE_{2}=4.2\,\cdot\,10^{8}\,Pa. The coarse mesh is composed of 44 horizontal layers, each with 2020 bi-quadratic quadrilateral elements, so each of them has unitary length in the xx-direction. Because the mesh is progressively refined moving towards the plane, each layer has a different cell size in the yy-direction. These lengths are 1.72m1.72\,m, 1.34m1.34\,m, 1.09m1.09\,m, and 0.85m0.85\,m. Finer grids are obtained with midpoint refinement. Hence, after every refinement, the number of elements increases by a factor of four. Let JJ denote the number of refinements carried out for a given simulation. For instance, if J=3J=3, the coarse background grid is refined 33 times. If J=0J=0, it means that the coarse grid is not refined. The values of J=1,2,3,4J=1,2,3,4 are chosen for the tests. The initial distance d0(J)d_{0}(J) of the center of the disk from the plane depends on the refinement of the grid, and it is designed to keep a small gap between the disk and the plane. For given JJ and EE, the gap is a fraction of the height of the element of the background grid where the contact occurs. We choose d0(J)=R+0.2/2J1d_{0}(J)=R+0.2/2^{J-1} for E1E_{1}, and d0(J)=R+0.3/2J1d_{0}(J)=R+0.3/2^{J-1} for E2E_{2}. The reference frame is translated and centered at the center of the disk as in Figure 4. The analytic expression of the xx-coordinate of the center of mass assuming an undeformable disk is given by

x(t)=x0+13gt2sin(θ),\displaystyle x(t)=x_{0}+\dfrac{1}{3}\,g\,t^{2}\,sin(\theta), (49)

where x0x_{0} is assumed to be zero.

Refer to caption
Figure 4: Schematics of the rolling disk test.

Concerning the other simulation parameters, the density of the disk is 1000kg/m31000\,kg/m^{3}, the Poisson’s coefficient is ν=0.4\nu=0.4, and the step size is Δt=0.01s\Delta t=0.01\,s. For Newmark’s integrator, β=0.3\beta=0.3 and γ=0.5\gamma=0.5 are selected. Rolling without slip is considered and Cc=0.5C_{c}=0.5. The input parameters for the generation of the disk are (xc,yc)=(0,0)(x_{c},y_{c})=(0,0), R0=1.4mR_{0}=1.4\,m, R=1.6mR=1.6\,m, Nθ0=300N_{\theta_{0}}=300, and Nb=22N_{b}=22, for a total of 4873948739 particles. The pseudocode for the initialization of the MPM disk can be found in Appendix A. In Figure 5, the particle distribution (including the particle boundary layers) and some details about the graded mesh for the background grid are visible. In Figure 5 the values of the flags MM_{\mathcal{E}} are also reported for the elements of the background grid. Recall that since bi-quadratic elements are considered, the maximum possible value of MM_{\mathcal{E}} is 9, which is attained for interior elements.

Refer to caption
Figure 5: Rolling disk simulation for E=E1=4.2 106PaE=E_{1}=4.2\,\cdot\,10^{6}\,Pa. The different shades of gray for the elements of the background grid identify different values of MM_{\mathcal{E}}, which is referred to as Mat in the legend. One refinement (J=1J=1) has been considered for the background grid.

The lightest gray refers to the elements of the inactive background grid. The following values were chosen for the soft stiffness scaling factor CC_{\mathcal{E}} in Eq. (26)

For E1:C={103ifM<5,107if5M<9,0ifM=9,\displaystyle\mbox{For $E_{1}$:}\,\,C_{\mathcal{E}}= (50)
For E2:C={105ifM<5,109if5M<9,0ifM=9.\displaystyle\mbox{For $E_{2}$:}\,\,C_{\mathcal{E}}= (51)

The horizontal position of the center of mass obtained numerically solving our implicit MPM scheme is compared to the analytic expression in Eq. (49) for different values of JJ, and EE. Results for E1E_{1} are visible in Figure 6 I), for different mesh sizes. The curves obtained with the proposed implicit MPM method are in agreement with the analytic equation of the center of mass in Eq. (49). It is also shown that a progressive refinement of the mesh provides increasingly accurate results, since the curve associated with J=4J=4 is the one that best overlaps with the analytic expression. Results for E2E_{2} are reported in Figure 6 II). Once again, the curves are in agreement with the analytic expression and larger values of JJ give better accuracy.

I) Refer to caption
II) Refer to caption

Figure 6: Position of the center of mass of the rolling disk. I): E=E1=4.2 106PaE=E_{1}=4.2\,\cdot\,10^{6}\,Pa. II): E=E2=4.2 108PaE=E_{2}=4.2\,\cdot\,10^{8}\,Pa.

Average relative errors are also shown, to provide a quantitative measure of the error. If x(t)x(t) represents the position of the center of mass defined in Eq. (49), let x¯(t)\overline{x}(t) be the position computed with the proposed method. Then the averaged relative error is defined as

1Nti=1Nt|x(ti)x¯(ti)|x(ti),\displaystyle\dfrac{1}{N_{t}}\sum\limits_{i=1}^{N_{t}}\dfrac{|x(t_{i})-\overline{x}(t_{i})|}{x(t_{i})}, (52)

where Nt=250N_{t}=250 is the total number of time steps considered. Results for the above error are reported in Table 1 corresponding to the curves in Figure 6.

EE CC_{\mathcal{E}} J=1J=1 J=2J=2 J=3J=3 J=4J=4
4.21064.2\cdot 10^{6} Eq. (50) 5.545e-02 3.921e-02 2.571e-02 2.253e-02
4.21084.2\cdot 10^{8} Eq. (51) 4.520e-02 3.502e-02 2.423e-02 1.720e-02
Table 1: averaged relative error associated with the results in Figure 6.

The section continues with simulations of a cantilever beam with length L=0.625mL=0.625\,m and height H=0.25mH=0.25\,m, visible in Figure 7. The parameters to build the MPM beam are (x0,y0)=(0,0)(x_{0},y_{0})=(0,0), L=0.625mL=0.625\,m, H=0.25mH=0.25\,m, H0=0.15mH_{0}=0.15\,m, NH=20N_{H}=20, and Nb=21N_{b}=21, for a total of 2304123041 particles. The pseudocode for the MPM beam initialization is given in Appendix A. The domain is a unit box, whose center of the left boundary is placed at the origin, and the coarse mesh is composed of 4 bi-quadratic quadrilateral elements. The background grid obtained when J=2J=2 is visible in Figure 7. The beam has density ρ=10,000kg/m3\rho=10,000\,kg/m^{3}, Poisson’s coefficient ν=0.4\nu=0.4, and Young’s modulus E=1.74 106PaE=1.74\,\cdot\,10^{6}\,Pa. The step size is Δt=0.008s\Delta t=0.008\,s and, as before, β=0.3\beta=0.3 and γ=0.5\gamma=0.5 are chosen for Newmark’s integrator. The values of CC_{\mathcal{E}} are

For E2:C={106ifM<5,1010if5M<9,0ifM=9.\displaystyle\mbox{For $E_{2}$:}\,\,C_{\mathcal{E}}= (53)

The simulation is carried out in the following way: the beam is initially subject to its self weight, so only the gravitational force is applied to it. Then, when it reaches its larges deformation, is assumed that the gravitational force is removed and the oscillations of the tip of the beam are monitored. If no significant damping in the oscillations can be observed as time increases, it means that the method is accurate. Graphs for such oscillations are reported in Figure 8, for values of J=2J=2, J=3J=3 and J=4J=4.

Refer to caption
Refer to caption
Figure 7: Cantilever beam simulation with J=2J=2. The MPM particles are omitted on the right figure to highlight the deformations and the values of MM_{\mathcal{E}} for the background grid elements.
Refer to caption
Figure 8: Oscillations of the tip of the cantilever beam, as the resolution of the background grid is varied.

From Figure 8 it can be seen that, as time increases, the oscillations became slightly off-phase as the mesh becomes finer. Although, the damping of the oscillations is very small, for all mesh sizes considered, despite the long duration of the simulation which is 8 seconds.

6.3 Tests for the MPM-FEM coupling

In this section, numerical results for the MPM-FEM coupling are presented. We begin by considering a disk rolling on an inclined plate, as in [24, 13]. The disk is modeled with MPM while the plate is discretized with FEM. The dimensions of the plate are 20×1.6m20\times 1.6\,m while the radius of the disk is R=1.6mR=1.6\,m. Rolling without slip is considered and the inclination of the plate is θ=π/4\theta=\pi/4. The MPM background grid is the same as the one used for the rolling ball in the uncoupled case, whereas for the FEM plate two horizontal layers of 2020 elements each are considered, with xx length 1m1\,m and yy length 0.85m0.85\,m. Recall that the use of a background grid for the MPM attached to the FEM body is one of the major contributions of the present work. The coupling coefficient CcC_{c} is equal to 0.50.5. The coarse grid is refined by means of midpoint refinement, with JJ indicating the number of refinements performed. The density and the Poisson’s coefficient of both the disk and the plate are set to 1000kg/m31000\,kg/m^{3} and ν=0.4\nu=0.4, respectively. For what concerns the time integration, Δt=0.01s\Delta t=0.01\,s, and the parameters for Newmark’s integrator are β=0.3\beta=0.3 and γ=0.5\gamma=0.5. The Young’s moduli of the MPM and the FEM bodies are respectively Empm=4.210αPaE_{mpm}=4.2\cdot 10^{\alpha}\,Pa and Efem=8.410αPaE_{fem}=8.4\cdot 10^{\alpha}\,Pa, with α=6,7,8\alpha=6,7,8. The initial vertical distance d0(J)d_{0}(J) of the center of the disk from the plane is d0(J)=R+0.15/2J1d_{0}(J)=R+0.15/2^{J-1} for α=6\alpha=6, d0(J)=R+0.2/2J1d_{0}(J)=R+0.2/2^{J-1} for α=7\alpha=7, and d0(J)=R+0.25/2J1d_{0}(J)=R+0.25/2^{J-1} for α=8\alpha=8. Again this is done so that there exists an initial small gap between the disk and the plane, and it is designed so that the gap dimension is a fraction of the height of the background grid element where the contact occurs. The reference frame is then translated and centered at the center of mass of the disk, hence the analytic expression of the xx-coordinate of the center of mass is given in Eq. (49). The parameters for the initialization of the MPM disk are now (xc,yc)=(0, 0)(x_{c},\,y_{c})=(0,\,0), R=0.16mR=0.16\,m, R0=0.14mR_{0}=0.14m, Nθ0=600N_{\theta_{0}}=600 and Nb=24N_{b}=24, for a total of 5708457084 particles. The coefficient CC_{\mathcal{E}} for the present tests has been chosen as follows:

For α=6:C={102ifM<5,106if5M<9,0ifM=9,\displaystyle\mbox{For $\alpha=6$:}\,\,C_{\mathcal{E}}= (54)
For α=7:C={103ifM<5,107if5M<9,0ifM=9.\displaystyle\mbox{For $\alpha=7$:}\,\,C_{\mathcal{E}}= (55)
For α=8:C={104ifM<5,108if5M<9,0ifM=9.\displaystyle\mbox{For $\alpha=8$:}\,\,C_{\mathcal{E}}= (56)
EmpmE_{mpm} EfemE_{fem} CC_{\mathcal{E}} J=1J=1 J=2J=2 J=3J=3 J=4J=4
4.21054.2\cdot 10^{5} 8.41058.4\cdot 10^{5} Eq. (54) 1.604e-01 1.263e-01 1.051e-01 8.783e-02
4.21064.2\cdot 10^{6} 8.41068.4\cdot 10^{6} Eq. (55) 9.029e-02 7.918e-02 5.416e-02 3.654e-02
4.21074.2\cdot 10^{7} 8.41078.4\cdot 10^{7} Eq. (56) 5.368e-02 4.289e-02 2.919e-02 1.959e-02
Table 2: averaged relative error associated with the results in Figure 9.

In Figure 9, results are displayed for α=6,7,8\alpha=6,7,8. We observe that also in the coupled case there is agreement between the numerical results and the analytic position of the center of mass. Once again, increasing the value of JJ provides better accuracy with respect to the analytic curve. Moreover, to stiffer materials it corresponds a smaller error. This is also expected since the analytic solution is obtained under the assumption of an undeformable body. The averaged relative errors reported in Table 2 confirm the accuracy and validity of the proposed coupling method.

I) Refer to caption
II) Refer to caption
III) Refer to caption

Figure 9: Position of the center of mass of the rolling disk for the coupled MPM-FEM case. I): Empm=4.2106PaE_{mpm}=4.2\cdot 10^{6}\,Pa and Efem=8.4106PaE_{fem}=8.4\cdot 10^{6}\,Pa. II): Empm=4.2107PaE_{mpm}=4.2\cdot 10^{7}\,Pa and Efem=8.4107PaE_{fem}=8.4\cdot 10^{7}\,Pa. III): Empm=4.2108PaE_{mpm}=4.2\cdot 10^{8}\,Pa and Efem=8.4108PaE_{fem}=8.4\cdot 10^{8}\,Pa.

This section is concluded with simulations of a disk falling from above and bouncing on a horizontal plate. As before, the disk is modeled with MPM and the plate is discretized with FEM. The coarse MPM background grid has dimensions 1.28×1.84m1.28\times 1.84\,m and it is made of 80 elements of xx length 0.16m0.16\,m and yy length 0.184m0.184\,m. The FEM plate has dimensions 1.28×0.64m1.28\times 0.64\,m and is discretized with 2 horizontal layers of 8 cells each, of xx length 0.16m0.16\,m and yy length 0.08m0.08\,m. The disk has radius R=0.16mR=0.16\,m and is placed initially at the center-top of the background grid such that its distance from the upper surface of the plate is 1.68m1.68\,m. Schematics of the coarse background grid and discretizations are visible in Figure 10, while a picture of the impact between the disk and the plate can be found in Figure 11

Refer to caption
Figure 10: Disk falling on a horizontal plate. The disk (white) is modeled with MPM, and the plate (black) with FEM. The coarse background grid is in gray color.
Refer to caption
Figure 11: Deformation of the disk and plate as the disk impacts on the plate.

The parameters for the initialization of the MPM disk are now (xc,yc)=(0, 0)(x_{c},\,y_{c})=(0,\,0), R=0.16mR=0.16\,m, R0=0.14mR_{0}=0.14m, Nθ0=300N_{\theta_{0}}=300 and Nb=22N_{b}=22, for a total of 4873948739 particles. For what concerns the physical parameters, both the disk and the plate have density ρmpm=ρfem=1000kg/m3\rho_{mpm}=\rho_{fem}=1000\,kg/m^{3} and Poisson’s coefficient ν=0.4\nu=0.4. The Young’s moduli for the MPM and FEM body are, respectively, Empm=5.91106PaE_{mpm}=5.91\cdot 10^{6}\,Pa and Efem=4.2107PaE_{fem}=4.2\cdot 10^{7}\,Pa. The aim of these tests is to further demonstrate the accuracy of the proposed methods and to highlight how it improves as the values of the coefficient CC_{\mathcal{E}} is decreased, considering fixed values of EE. This behavior is explained by the fact that for fixed Young’s modulus, smaller values of CC_{\mathcal{E}} decrease the soft stiffness contribution and therefore decrease the error added to the method. The values of CC_{\mathcal{E}} for this example are as follows

C,1={102ifM<5,106if5M<9,0ifM=9,\displaystyle C_{{\mathcal{E}},1}= (57)
C,2={105ifM<5,109if5M<9,0ifM=9.\displaystyle C_{{\mathcal{E}},2}= (58)

The value of the coupling coefficient CcC_{c} depends on the refinement level and on CC_{\mathcal{E}} in this case. Its values are reported in Table 3. To speed up the simulation, the time stepping is adaptive, meaning that Δt\Delta t is large when the disk is far from the plate and it is suddenly decreased after the disk reaches a given distance from the plate. The value of Δt\Delta t when the disk is near the plate is reported in Table 3. The parameters for Newmark’s integrator are once again β=0.3\beta=0.3 and γ=0.5\gamma=0.5.

CcC_{c}
J=2J=2 J=3J=3 J=4J=4
C,1C_{\mathcal{E},1} 0.06 0.1 0.2
C,2C_{\mathcal{E},2} 0 0.1 0.2
Δtplate(sec)\Delta t_{plate}\,(sec)
J=2J=2 J=3J=3 J=4J=4
C,1C_{\mathcal{E},1} 0.0005 0.00025 0.000125
C,2C_{\mathcal{E},2} 0.001 0.0005 0.00025
Table 3: Contact constant CcC_{c} and step size near the plate Δtplate\Delta t_{plate} for the bouncing disk case.

The results for C,1C_{\mathcal{E},1} are displayed in Figure 12 I), where the vertical position of the center of mass is tracked as time increases. It is assumed that the reference frame is positioned on the initial position of the center of mass and that the plate is not subject to the gravitational force, to avoid oscillations not caused by the impact.

I)Refer to caption
II)Refer to caption

Figure 12: Vertical position of the center of mass of a disk bouncing on a plate. I) C=C,1C_{\mathcal{E}}=C_{\mathcal{E},1} defined in Eq. (57). II) C=C,2C_{\mathcal{E}}=C_{\mathcal{E},2} defined in Eq. (58).

As the refinement of the background grid increases, a slight offset between the curves is observed, the magnitude of which increases with time. An analogous situation was observed in Figure 8, for the case of an oscillating cantilever beam. A different situation is displayed in Figure 12 II), for C,2C_{\mathcal{E},2}. Compared to Figure 12 I), it can be seen that the offset is considerably reduced and now the all the curves are in better agreement, especially those for J=3J=3 and J=4J=4. In both cases shown, no damping of the oscillations is observed, once again confirming the reliability and accuracy of our monolithic coupling. In conclusion, the results presented here show that, for fixed values of the Young’s modulus, it is important for the accuracy to choose the least possible values of CC_{\mathcal{E}} that guarantees the convergence of the method.

7 Conclusion

A new coupling procedure between the material point method and the finite element method has been presented. The material point method has been formulated implicitly, and unnecessary exchanges of information between the particles and the background grid have been avoided, resulting in an improved accuracy compared to the case where this transfer of information is performed. The coupling with the finite element method has been carried out in a monolithic fashion, eliminating the need for time consuming contact search algorithms used by existing strategies to determine the relative position of the bodies. While numerical results have shown accuracy and reliability of the newly developed monolithic coupling procedure, further work has to be done to explore its capabilities. For instance, different types of couplings other than solid-solid will be investigated, as well as techniques to use our monolithic approach for the coupling of the MPM with a fluid-structure interaction framework.

Appendix A

Initialization of the MPM disk pseudocode:

Input Parameters: xc,yc,R,R0,Nθ0,Nb(with NbRR0R0 ceil(Nθ02π))\displaystyle\mbox{Input Parameters: }x_{c},\,y_{c},\,R,\,R_{0},\,N_{\theta_{0}},\,N_{b}\,\;\left(\text{with }N_{b}\geq\frac{R-R_{0}}{R_{0}}\text{ ceil}\left(\frac{N_{\theta_{0}}}{2\pi}\right)\right)
Nr=ceil(Nθ02π),ΔR=R0Nr\displaystyle N_{r}=\text{ceil}\left(\frac{N_{\theta_{0}}}{2\pi}\right),\quad\Delta R=\frac{R_{0}}{N_{r}}
#Uniform Distribution
p=1,xp=xc,yp=yc\displaystyle p=1,\quad x_{p}=x_{c},\quad y_{p}=y_{c}
for i=0,,Nr1\displaystyle\mbox{{for} }i=0,...,N_{r}-1
ri=R0iΔR,Nθi=ceil(Nθ0riR0),Δθi=2πNθi\displaystyle\qquad r_{i}=R_{0}-i\,\Delta R\,,\quad N_{\theta_{i}}=\text{ceil}\left(N_{\theta_{0}}\,\frac{r_{i}}{R_{0}}\right),\quad\Delta\theta_{i}=\frac{2\pi}{N_{\theta_{i}}}
for j=0,,Nθi1\displaystyle\qquad\mbox{{for} }j=0,...,N_{\theta_{i}}-1
p=p+1,xp=xc+ricos(jΔθi),yp=yc+risin(jΔθi)\displaystyle\qquad\qquad p=p+1,\quad x_{p}=x_{c}+r_{i}\cos(j\,\Delta\theta_{i}),\quad y_{p}=y_{c}+r_{i}\sin(j\,\Delta\theta_{i})
end for
end for
for i=1,,p\displaystyle\mbox{{for} }i=1,...,p
mp=ρmpmπR02p\displaystyle\qquad m_{p}=\rho_{mpm}\frac{\pi R_{0}^{2}}{p}
end for
#Boundary Layers
Find a such thatk=1NbΔRak=RR0\displaystyle\mbox{{Find $a$ such that}}\sum_{k=1}^{N_{b}}\Delta R\,a^{k}=R-R_{0}
for i=1,,Nb\displaystyle\mbox{{for} }i=1,...,N_{b}
ri=R0+k=1iΔRak,Nθi=ceil(Nθ0ai),Δθi=2πNθi\displaystyle\qquad r_{i}=R_{0}+\sum_{k=1}^{i}\Delta R\,a^{k}\,,\quad N_{\theta_{i}}=\text{ceil}\left(\frac{N_{\theta_{0}}}{a^{i}}\right)\,,\quad\Delta\theta_{i}=\frac{2\pi}{N_{\theta_{i}}}
for j=0,,Nθi1\displaystyle\qquad\mbox{{for} }j=0,...,N_{\theta_{i}}-1
p=p+1,xp=xc+ricos(jΔθi),yp=yc+risin(jΔθi)\displaystyle\qquad\qquad p=p+1,\quad x_{p}=x_{c}+r_{i}\cos(j\,\Delta\theta_{i}),\quad y_{p}=y_{c}+r_{i}\sin(j\,\Delta\theta_{i})
mp=ρmpmriΔθiΔRai\displaystyle\qquad\qquad m_{p}=\rho_{mpm}\,r_{i}\,\Delta\theta_{i}\,\Delta R\,a^{i}
end for
end for

Initialization of the MPM beam pseudocode:

Input Parameters: x0,y0,H,L,H0,NH,Nb(with NbHH02NH1H0)\displaystyle\text{Input Parameters: }x_{0},\,y_{0},\,H,L,\,H_{0},\,N_{H},\,N_{b}\;\left(\text{with }N_{b}\geq\frac{H-H_{0}}{2}\frac{N_{H}-1}{H_{0}}\right)
ΔH=H0NH1,L0=LHH02,NL=ceil(L0ΔH),ΔL=L0NL1\displaystyle\Delta H=\frac{H_{0}}{N_{H}-1}\,,\quad L_{0}=L-\frac{H-H_{0}}{2}\,,\quad N_{L}=\mbox{ceil}\left(\frac{L_{0}}{\Delta H}\right)\,,\quad\Delta L=\frac{L_{0}}{N_{L}-1}
#Uniform Distribution
p=1\displaystyle p=1
for i=0,,NL1\displaystyle\mbox{{for} }i=0,...,N_{L}-1
for j=0,,NH1\displaystyle\qquad\mbox{{for} }j=0,...,N_{H}-1
p=p+1,xp=x0+iΔL,yp=y0H02+jΔH\displaystyle\qquad\qquad p=p+1,\quad x_{p}=x_{0}+i\,\Delta L,\quad y_{p}=y_{0}-\frac{H_{0}}{2}+j\Delta H
mp=ρ0ΔLΔH\displaystyle\qquad\qquad m_{p}=\rho_{0}\,\Delta L\,\Delta H
end for
end for
#Boundary Layers
Find a such thatk=1NbΔHak=HH02\displaystyle\mbox{{Find $a$ such that}}\sum_{k=1}^{N_{b}}\Delta H\,a^{k}=\frac{H-H_{0}}{2}
for i=1,,Nb\displaystyle\mbox{{for} }i=1,...,N_{b}
Hi=H0+2k=1iΔHak,NHi=ceil(HiΔH)+1,ΔHi=HiNHi1\displaystyle\qquad H_{i}=H_{0}+2\sum_{k=1}^{i}\Delta H\,a^{k}\,,\quad N_{H_{i}}=\text{ceil}\left(\frac{H_{i}}{\Delta H}\right)+1\,,\quad\Delta H_{i}=\frac{H_{i}}{N_{H_{i}}-1}
Li=L0+k=1iΔHak,NLi=ceil(LiΔH)+1,ΔLi=LiNLi1\displaystyle\qquad L_{i}=L_{0}+\sum_{k=1}^{i}\Delta H\,a^{k}\,,\quad N_{L_{i}}=\text{ceil}\left(\frac{L_{i}}{\Delta H}\right)+1\,,\quad\Delta L_{i}=\frac{L_{i}}{N_{L_{i}}-1}
for j=0,,NLi1\displaystyle\qquad\mbox{{for} }j=0,...,N_{L_{i}}-1
p=p+1,xp=x0+jΔLi,yp=y0+H02\displaystyle\qquad\qquad p=p+1\,,\quad x_{p}=x_{0}+j\Delta L_{i}\,,\quad y_{p}=y_{0}+\frac{H_{0}}{2}
mp=ρ0ΔLiΔHi\displaystyle\qquad\qquad m_{p}=\rho_{0}\,\Delta L_{i}\,\Delta H_{i}
end for
for j=1,,NHi1\displaystyle\qquad\mbox{{for} }j=1,...,N_{H_{i}}-1
p=p+1,xp=x0+Li,yp=y0+H02jΔHi\displaystyle\qquad\qquad p=p+1\,,\quad x_{p}=x_{0}+L_{i}\,,\quad y_{p}=y_{0}+\frac{H_{0}}{2}-j\Delta H_{i}
mp=ρ0ΔLiΔHi\displaystyle\qquad\qquad m_{p}=\rho_{0}\,\Delta L_{i}\,\Delta H_{i}
end for
for j=1,,NLi1\displaystyle\qquad\mbox{{for} }j=1,...,N_{L_{i}}-1
p=p+1,xp=x0+LijΔLi,yp=y0H02\displaystyle\qquad\qquad p=p+1\,,\quad x_{p}=x_{0}+L_{i}-j\Delta L_{i}\,,\quad y_{p}=y_{0}-\frac{H_{0}}{2}
mp=ρ0ΔLiΔHi\displaystyle\qquad\qquad m_{p}=\rho_{0}\,\Delta L_{i}\,\Delta H_{i}
end for
end for

References

  • [1] Eugenio Aulisa, Simone Bná, and Giorgio Bornia. FEMuS Web page. https://github.com/eaulisa/MyFEMuS, 2017.
  • [2] Eugenio Aulisa, Simone Bna, and Giorgio Bornia. A monolithic ALE Newton–Krylov solver with Multigrid-Richardson–Schwarz preconditioning for incompressible Fluid-Structure Interaction. Computers & Fluids, 174:213–228, 2018.
  • [3] Eugenio Aulisa, Giorgio Bornia, and Sara Calandrini. Fluid-Structure Interaction Modeling of Artery Aneurysms with Steady-State Configurations. In VII International Conference on Computational Methods for Coupled Problems in Science and Engineering, COUPLED PROBLEMS, pages 616–627, 2017.
  • [4] Eugenio Aulisa, Giorgio Bornia, and Sara Calandrini. Fluid-structure simulations and benchmarking of artery aneurysms under pulsatile blood flow. In 6th ECCOMAS Conference - COMPDYN 2017, pages 955–974, 2017.
  • [5] SG Bardenhagen, JU Brackbill, and Deborah Sulsky. The material-point method for granular materials. Computer methods in applied mechanics and engineering, 187(3-4):529–541, 2000.
  • [6] Lars Beuth, Thomas Benz, Pieter A Vermeer, and Zdzislaw Wikeckowski. Large deformation analysis using a quasi-static material point method. Journal of Theoretical and Applied Mechanics, 2008.
  • [7] JU Brackbill and HM Ruppel. FLIP: A method for adaptively zoned, particle-in-cell calculations of fluid flows in two dimensions. Journal of Computational Physics, 65(2):314–343, 1986.
  • [8] Susanne Brenner and Ridgway Scott. The mathematical theory of finite element methods, volume 15. Springer Science & Business Media, 2007.
  • [9] Sara Calandrini and Eugenio Aulisa. Fluid-structure interaction simulations of venous valves: A monolithic ale method for large structural displacements. International Journal for Numerical Methods in Biomedical Engineering, 0(0):e3156, 2018. e3156 cnm.3156.
  • [10] Sara Calandrini, Giacomo Capodaglio, and Eugenio Aulisa. Magnetic drug targeting simulations in blood flows with fluid-structure interaction. International journal for numerical methods in biomedical engineering, 34:e2954, 2018.
  • [11] Giacomo Capodaglio and Eugenio Aulisa. A particle tracking algorithm for parallel finite element applications. Computers & Fluids, 159:338–355, 2017.
  • [12] TJ Charlton, WM Coombs, and CE Augarde. iGIMP: An implicit generalised interpolation material point method for large deformations. Computers & Structures, 190:108–125, 2017.
  • [13] ZP Chen, XM Qiu, X Zhang, and YP 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:1–19, 2015.
  • [14] Philippe G. Ciarlet. Finite Element Method for Elliptic Problems. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 2002.
  • [15] SJ Cummins and JU Brackbill. An implicit particle-in-cell method for granular materials. Journal of Computational Physics, 180(2):506–548, 2002.
  • [16] Anvar Gilmanov and Sumanta Acharya. A hybrid immersed boundary and material point method for simulating 3D fluid–structure interaction problems. International journal for numerical methods in fluids, 56(12):2151–2177, 2008.
  • [17] James Edward Guilkey and Jeffrey 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):1323–1338, 2003.
  • [18] JE Guilkey, TB Harman, and B Banerjee. An Eulerian–Lagrangian approach for simulating explosions of energetic devices. Computers & structures, 85(11-14):660–674, 2007.
  • [19] YJ Guo and JA Nairn. Three-dimensional dynamic fracture analysis using the material point method. Computer Modeling in Engineering and Sciences, 16(3):141, 2006.
  • [20] Fursan Hamad, Zdzislaw Wikeckowski, and Christian Moormann. Interaction of fluid–solid–geomembrane by the material point method. Computers and Geotechnics, 81:112–124, 2017.
  • [21] Robin J Hogan. Fast reverse-mode automatic differentiation using expression templates in C++. ACM Transactions on Mathematical Software (TOMS), 40(4):26, 2014.
  • [22] Irina Ionescu, James Guilkey, Martin Berzins, Robert M Kirby, and Jeffrey Weiss. Computational simulation of penetrating trauma in biological soft tissues using the material point method. Studies in health technology and informatics, 111:213–218, 2005.
  • [23] Yanping Lian, Xiong Zhang, and Yan Liu. Coupling between finite element method and material point method for problems with extreme deformation. Theoretical and Applied Mechanics Letters, 2(2), 2012.
  • [24] YP Lian, X Zhang, and 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):3482–3494, 2011.
  • [25] YP Lian, X Zhang, and Y Liu. An adaptive finite element material point method and its application in extreme deformation problems. Computer methods in applied mechanics and engineering, 241:275–285, 2012.
  • [26] E Love and DL Sulsky. An energy-consistent material-point method for dynamic finite deformation plasticity. International Journal for Numerical Methods in Engineering, 65(10):1608–1638, 2006.
  • [27] E Love and DL Sulsky. An unconditionally stable, energy–momentum consistent implementation of the material-point method. Computer Methods in Applied Mechanics and Engineering, 195(33-36):3903–3925, 2006.
  • [28] Raymond W Ogden. Non-linear elastic deformations. Courier Corporation, 1997.
  • [29] Daniel Ram, Theodore Gast, Chenfanfu Jiang, Craig Schroeder, Alexey Stomakhin, Joseph Teran, and Pirouz Kavehpour. A material point method for viscoelastic fluids, foams and sponges. In Proceedings of the 14th ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 157–163. ACM, 2015.
  • [30] Alexey Stomakhin, Craig Schroeder, Lawrence Chai, Joseph Teran, and Andrew Selle. A material point method for snow simulation. ACM Transactions on Graphics (TOG), 32(4):102, 2013.
  • [31] Alexey Stomakhin, Craig Schroeder, Chenfanfu Jiang, Lawrence Chai, Joseph Teran, and Andrew Selle. Augmented MPM for phase-change and varied materials. ACM Transactions on Graphics (TOG), 33(4):138, 2014.
  • [32] D Sulsky and A Kaul. Implicit dynamics in the material-point method. Computer Methods in Applied Mechanics and Engineering, 193(12-14):1137–1170, 2004.
  • [33] Deborah Sulsky, Zhen Chen, and Howard L Schreyer. A particle method for history-dependent materials. Computer methods in applied mechanics and engineering, 118(1-2):179–196, 1994.
  • [34] Deborah Sulsky and Howard L Schreyer. Axisymmetric form of the material point method with applications to upsetting and taylor impact problems. Computer Methods in Applied Mechanics and Engineering, 139(1-4):409–429, 1996.
  • [35] Deborah Sulsky, Shi-Jian Zhou, and Howard L Schreyer. Application of a particle-in-cell method to solid mechanics. Computer physics communications, 87(1-2):236–252, 1995.
  • [36] Han D Tran, Deborah L Sulsky, and Howard L Schreyer. An anisotropic elastic-decohesive constitutive relation for sea ice. International Journal for Numerical and Analytical Methods in Geomechanics, 39(9):988–1013, 2015.
  • [37] Bin Wang, Philip J Vardon, Michael A Hicks, and Zhen Chen. Development of an implicit material point method for geotechnical applications. Computers and Geotechnics, 71:159–167, 2016.
  • [38] Zdzislaw Wikeckowski, Sung-Kie Youn, and Jeoung-Heum Yeon. A particle-in-cell solution to the silo discharging problem. International journal for numerical methods in engineering, 45(9):1203–1225, 1999.
  • [39] Allen R York, Deborah Sulsky, and Howard L Schreyer. Fluid–membrane interaction based on the material point method. International Journal for Numerical Methods in Engineering, 48(6):901–924, 2000.
  • [40] Fan Zhang, Xiong Zhang, Kam Yim Sze, Yanping Lian, and Yan Liu. Incompressible material point method for free surface flow. Journal of Computational Physics, 330:92–110, 2017.
  • [41] Xiong Zhang, Zhen Chen, and Yan Liu. The material point method: a continuum-based particle method for extreme loading cases. Academic Press, 2016.
  • [42] Shijian Zhou, John Stormont, and Zhen Chen. Simulation of geomembrane response to settlement in landfills by using the material point method. International journal for numerical and analytical methods in geomechanics, 23(15):1977–1994, 1999.