DataPDF Available

Material point method: basics and applications

Authors:

Abstract and Figures

This note gives a complete practical description of the Material Point Method, a method suitable for large deformation impact problems. Topics included are MPM basis functions ranging from linear shape functions, B-splines, GIMP and CPDI. Contact modelling in the framework of MPM is also discussed. A brief introduction to the Uintah MPM code, a massive parallel MPM code, is given as well. Sample Matlab scripts are provided. This note was written when I was in Cardiff and have been constantly updated since then. Making this version public is to help students understand this powerful method. Latest version of the note is available at https://www.academia.edu/3889961/Material_point_method_an_introduction_and_applications
Content may be subject to copyright.
Material point method: basics and applications
Vinh Phu Nguyen
Cardiff Unitversity
Department of Civil Engineering
Institute of Advanced Mechanics and Materials
Contents
1 Lagrangian, Eulerian and Arbitrary Lagrangian-Eulerian descriptions 2
2 Introduction 3
3 Governing equations 5
4 Weak form and discretisation 5
5 Explicit time integration 7
6 Implementation 10
6.1 Eulerian grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2 Shape functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.2.1 B-splines basis functions . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.3 Initial particle distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.4 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7 Examples 18
7.1 1D examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2 Axial vibration of a continuum bar . . . . . . . . . . . . . . . . . . . . . . . . 22
7.3 Impact of two elastic bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.4 Impact of two elastic rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8 Generalized Interpolation Material Point Method-GIMP 32
9 Implicit time integration 34
10 Fluid-structure interaction 36
1
1 LAGRANGIAN, EULERIAN AND ARBITRARY LAGRANGIAN-EULERIAN
DESCRIPTIONS
Figure 1: Eulerian vs Lagrangian description.
1 Lagrangian, Eulerian and Arbitrary Lagrangian-Eulerian
descriptions
In Eulerian formulations the governing equations are solved on the fixed grid, and material
moves through the mesh. In Lagrangian methods, the computational grid or mesh is attached to
the material being simulated. The Lagrangian mesh moves and distorts with the material.
From Fig. 1it is obvious that the most distinct advantage of the Eulerian description is
the ability to deal with highly distorted motion since the grid is always fixed. However it suf-
fers from the following disadvantages (1) difficulties with history dependent materials because
material points are not tracked, (2) difficulties in defining material boundaries. The stress of
fluids is independent of its history, the Eulerian description is then widely adopted in describing
the motion of fluids. Furthermore, the material time derivative in an Eulerian description is
the sum of a spatial time derivative and a convective term (this convective term is vanished in
a Lagrangian formulation). This term is generally expensive to handle from a computational
perspective.
There are also some mixed methods which combine the advantages of these two descriptions
and to avoid their disadvantages, such as the arbitrary Lagrangian-Eulerian (ALE). In ALE,
the computational mesh is continuously moved independently of the material deformation to
optimize element shapes and describe the boundaries accurately. However, the convection term
still exists in the ALE formulation, which may cause numerical difficulties. In addition, it
2
2 INTRODUCTION
still remains a challenging task to design an efficient and effective mesh moving algorithm to
maintain mesh regularity for three-dimensional complicated material domain. The Material
Point Method (MPM) was born as a simple ALE method.
2 Introduction
The Material Point Method (MPM) is one of the latest developments in particle-in-cell (PIC)
methods. The first PIC technique was developed in the early 1950s and was used primarily
for applications in fluid mechanics. Early implementations suffered from excessive energy
dissipation which was overcome in 1986, by Brackbill and Ruppel and they introduced FLIP-the
Fluid Implicit Particle method. The FLIP technique was modified and tailored for applications
in solid mechanics by Sulsky and her co-workers Sulsky et al. [1994,1995] and has since been
referred to as the material point method (MPM) Sulsky and Schreyer [1996].
The MPM discretizes a continuum body with a finite set of npmaterial points (or par-
ticles) in the original configuration that are tracked throughout the deformation process. The
terms particle and material point will be used interchangeably throughout this manuscript. The
mass and volume of subregions which the particles represent are memorised for these points,
but changes in the shape of the subregions are not traced1. Let xt
p(p= 1,2,...,np)denote the
current position of material point pat time t. Each material point has an associated mass Mp,
density ρp, velocity vp, Cauchy stress tensor σpand any other internal state variables necessary
for the constitutive model. Thus, these material points provide a Lagrangian description of the
continuum body. Since each material point contains a fixed amount of mass for all time, mass
conservation is automatically satisfied. In MPM, a fixed Eulerian grid is used where the equa-
tion of balance of momentum is solved. This is in contrast to other meshfree/particle methods
where the momentum equations are solved on the particles. We refer to Fig 2for a graphical
illustration of the discretisation in MPM. The grid covers the solid in its initial configuration
as well as the region in which the solid is expected to move. The particles interact with other
particles in the same body, with other solid bodies, or with fluids through a background Eu-
lerian grid. In general, after each time step the grid is discarded i.e., it is reset to the initial
configuration. This is the key difference between MPM and the updated Lagrange FEM, cf.
Fig. 3and makes the method distortion-free. The MPM for solid mechanics conserves mass
and momentum by construction, but energy conservation is not explicitly enforced. Advantages
of the MPM algorithm include the absence of mesh-tangling problems and error-free advection
of material properties via the motion of the material points. Yet another advantage is that fully
coupled, fluid-structure interaction problems can be handled in a straightforward manner. A no
slip contact algorithm is automatic to the method. That is, it comes at no additional computa-
tional expense.
Applications of the MPM are emerging in ice-sheet models for climate simulation
Sulsky et al. [2007] as well as more traditional explosive-related simulations ?. In 2004, nu-
merical noise caused by cell-boundary crossing of material points was identified, and the gener-
alized interpolation material point (GIMP) method was introduced to avoid the noise ?. When
1Advanced MPM formulations do track the subregion shape.
3
2 INTRODUCTION
Figure 2: Material point method: Lagrangian material points overlaid over an Eulerian grid.
The dotted lines denote the physical domains for each particle. These domains can be found by
Voronoi tesselation.
Figure 3: Material point method: Lagrangian material points overlaid over an Eulerian grid.
Note that the material points can move to other elements. This is contrast to integration points
in FEM which always stay at the same element.
4
4 WEAK FORM AND DISCRETISATION
the choice of characteristic function is the Dirac delta function, the traditional MPM formula-
tion is recovered exactly. fluid-membrane interaction York et al. [1999,2000]. ?comparative
study of SPH and MPM for hypervelocity impact problems. The conclusion was that the mate-
rial point method is an efficient and promising method for simulating the hypervelocity impact
problems. geo-engineering landslide.
3 Governing equations
4 Weak form and discretisation
The MPM also uses the weak formulation as in FEM which is given as
Z
ρδuiaidΩ + Z
ρ∂δui
∂xj
σs
ij dΩ = Z
ρδuibidΩ + ZΓt
ρδui¯
ti(1)
where denotes the current configuration, σs
ij is the specific stresses i.e., σs
ij =σij .
The whole material domain is described with a set of material points, and it is assumed that
the whole mass of a material subdomain is concentrated at the corresponding material point,
which means that the mass density field is expressed as
ρ(x, t) =
np
X
p=1
Mpδ(xxp)(2)
where δis the Dirac delta function with dimension of the inverse of volume. Substitution of
Equation (2) into Equation (1) results in
np
X
p=1
Mpδui(xp)ai(xp)+
np
X
p=1
Mp
∂δui
∂xj(xp)
σs
ij (xp) =
np
X
p=1
Mpδui(xp)bi(xp)+
np
X
p=1
Mpδui(xp)¯
ti(xp)
(3)
At this point, MPM is identical to FEM in which the material points are served as integration
points. The background Eulerian grid serves as a finite element mesh with shape functions
{NI}nn
I=1 where nndenotes the total number of nodes. Thanks to the use of a grid, evaluation of
shape functions and derivatives are standard and does not involve neighbor search as in meshfree
methods such as SPH. The position and displacement of particle pare then given by
xi(xp) =
nn
X
I=1
NI(xp)xiI (4)
ui(xp) =
nn
X
I=1
NI(xp)uiI (5)
5
4 WEAK FORM AND DISCRETISATION
where xiI is the icomponent of the position vector of node I. In 3D, one writes xI=
(x1I, x2I, x3I). And uiI is the icomponent of the displacement vector of node I. Subscript
Idenotes the value of grid node I, and subscript pdenotes the value of particle p.
The velocity and acceleration fields are given by
vi(xp) =
nn
X
I=1
NI(xp)viI (6)
ai(xp) =
nn
X
I=1
NI(xp)aiI (7)
where viI ,aiI are the icomponent of the velocity and acceleration vectors of node I.
Using the Bubnov-Galerkin method, the virtual displacement field is approximated as
δui(xp) =
nn
X
I=1
NI(xp)δuiI (8)
thus
∂δui
∂xj(xp)
=
nn
X
I=1
∂NI
∂xj(xp)
δuiI (9)
Substituting Equations (8), (7) and (9) into Equation (3) leads to
np
X
p=1
Mp"nn
X
I=1
NI(xp)δuiI #"nn
X
J=1
NJ(xp)aiJ #
np
X
p=1
Mp"nn
X
I=1
∂NI
∂xj(xp)
δuiI #σs
ij (xp) =
np
X
p=1
Mp"nn
X
I=1
NI(xp)δuiI #bi(xp) +
np
X
p=1
Mp"nn
X
I=1
NI(xp)δuiI #¯
ti(xp)(10)
Since δuiI are arbitrary, we obtain the following set of equations (iequations for each node
I, I = 1,...,nn)
np
X
p=1
MpNI(xp)(
nn
X
J=1
NJ(xp)aiJ )
np
X
p=1
Mp
∂NI
∂xj(xp)
σs
ij (xp) =
np
X
p=1
MpNI(xp)bi(xp) +
np
X
p=1
MpNI(xp)¯
ti(xp)(11)
which can be written in the following compact form
mIJ aJ=fext
I+fint
I(12)
where mIJ ,fext
I,fint
Iare the consistent mass matrix, the external force vector and the internal
force vector. This equation is exactly identical to FEM.
6
5 EXPLICIT TIME INTEGRATION
The consistent mass matrix is given by
mIJ =
np
X
p=1
MpNI(xp)NJ(xp)(13)
Note that the mass matrix is not constant as in FEM but changes in time because the material
points move while the grid nodes are fixed. Therefore, for every time step, an inversion of the
mass matrix must be carried out. Thus, explicit integration is usually employed in MPM with
the use of a diagonal lumped mass matrix. The diagonal mass matrix is the standard row sum
matrix in which the diagonal terms are given by
mI=
nn
X
J=1
mIJ =
nn
X
J=1
np
X
p=1
MpNI(xp)NJ(xp) =
np
X
p=1
MpNI(xp)(14)
where Equation (13) and the partition of unity property of FE shape functions were used.
The external force vector is written as
fext
I=
np
X
p=1
MpNI(xp)b(xp) +
np
X
p=1
MpNI(xp)¯
t(xp)(15)
and the internal force vector as
fint
I=
np
X
p=1
MppσpNI(xp) =
np
X
p=1
VpσNI(xp)(16)
where NI= (NI
∂x1, NI
∂x2, NI
∂x3)Tdenotes the gradient of the shape function; Vpis the volume
of particle p. Note that particle densities are defined as the ratio of particle mass to particle
volume. Note also that σpis a 3×3matrix in 3D. This is different from the usual stress vector
written in Voigt notation in FEM.
5 Explicit time integration
If a lumped mass matrix is used, Equation (12) becomes
mt
Iat
I=fext
I+fint
Ift
I(17)
and after being multiplied with t, one gets
mt
I(vt+∆t
Ivt
I) = ft
It(18)
which permits the computation of the updated nodal momenta (mv)t+∆t
I. Note that essential
boundary conditions must be applied before (18). It was shown in Ref. [39] that the explicit
procedure of time integration of the dynamic equations required shorter time increment when
the MPM is utilized than in the case of using the finite element method. However, before
7
5 EXPLICIT TIME INTEGRATION
node particle
(a) node to particle (b) particle to node
Figure 4: FE mapping in the material point method: (a) nodes to particles mapping and (b)
particles to nodes mapping. The former is the standard FE mapping (from nodal displacements
to integration points’ strains). The latter is something unpopular in FEM although this is also
used for FE visualization (mapping the stresses of integration points to the nodes). Note also
that the former mapping is local and the latter is non-local (for C0shape functions). It should
be emphasized that some high order Lagrange basis functions are negative and therefore they
are not used in the particles to nodes mapping. High order B-splines are always positive and
hence can be used.
solving Equation (17), one needs the nodal masses and momenta which are not stored at the
nodes. Therefore, they are mapped from the particles using the shape functions
mt
I=X
p
NI(xt
p)Mp
(mv)t
I=X
p
NI(xt
p)(Mv)t
p
(19)
Note that this mapping, graphically illustrated in Fig. (4), is a kind of extrapolation and is a
non-local operation.
The particle velocities and positions are updated as follows
vt+∆t
p=vt
p+ ∆tX
I
NI(xp)ft
I/mt
I(20)
xt+∆t
p=xt
p+ ∆tX
I
NI(xp)(mv)t+∆t
I/mt
I(21)
which are standard FE interpolations, cf. Fig. (4). Note that this is the momentum formulation
in which momentum is used instead of velocity as much as possible, thus avoiding divisions
by potentially small nodal masses. Because the velocity field is single-valued, interpenetration
of material is precluded. It should be emphasized that this is totally an updated Lagrangian
formulation since the grid nodes are moved to new positions xt+∆t
I=vt
I+ ∆tvt+∆t
I. However
8
5 EXPLICIT TIME INTEGRATION
node
particle
Figure 5: Troubled nodes with nearly zero mass resulting in infinite acceleration (node 2).
the grid nodes are not explicitly moved because it will be discarded anyway at the end of the
time step.
Next, one needs to compute the updated particle gradient velocities using the nodal veloc-
ities vt+∆t
I. However if the velocities were computed as vt+∆t
I= (mv)t+∆t
I/mt
Ifrom Equa-
tion (18) the velocities would then be infinite if the mass mt
Iis small. This happens when a
particle is very closed to a node having only one particle within its support, Fig. 5. There are at
least three ways to treat this issue: (i) using a cutoff value to detect small nodal masses, (ii) a
modified USL and (iii) USF. In the first approach, the nodal velocities are computed as
vt+∆t
I=
(mv)t+∆t
I
mt
I
if mt
I> tol
0otherwise
(22)
which requires an extra parameter (a cutoff value) in the algorithm which is not clear how to
choose. Even a good cutoff value can be chosen, it produces an undesirable constraint which
should not be in the system. For example it results in non-zero stresses (albeit small) in particles
which are moving with the same speed.
The second way Sulsky et al. [1994] is to map the particle velocities back to the nodal
velocities using
(mv)t+∆t
I=X
p
NI(xp)(Mv)t+∆t
p(23)
and thus
vt+∆t
I=(mv)t+∆t
I
mt
I
=PpNI(xp)(Mv)t+∆t
p
PpNI(xp)Mp
=PpNI(xp)(Mv)t+∆t
p
mt
I
(24)
The appearance of the shape functions in both numerator and denominator, in the second equal-
ity, cancel out its role and the numerical problem is thus cured. Our implementation uses the
final equality because mt
Iwas computed in Equation (19). Note, however, that this option is
inefficient for Equation (23) is a particle-to-node map within the node-to-particle phase.
Next particle velocity gradients are computed
9
6 IMPLEMENTATION
Lt+∆t
p≡ ∇vt+∆t
p=X
I
NI(xp)vt+∆t
I(25)
where Lpis a 3×3matrix of which components are Lij =vi,j (in three dimensions). It is
a2×2matrix in two dimensions. From the velocity gradients one can compute the gradient
deformation using the relation ˙
F=LF. Utilizing a forward Euler method, one can write
Ft+∆tFt
t=Lt+∆tFt(26)
And the gradient deformation tensor is thus computed
Ft+∆t
p= (I+Lt+∆t
pt)Ft
p(27)
which allows to compute the updated particle volume Vt+∆t
p= det Ft+∆t
pV0
p. In the above
equation, Iis the identity matrix.
Next, the particle stresses are updated. This depends on the constitutive model. For example,
one might need to compute the strain increment
ep=symLt+∆t
pt(28)
and using it to compute the stress increment σp. The updated particle stresses are given by
σt+∆t
p=σt
p+ ∆σp(29)
In Box 5.1 the step-by-step algorithm of an explicit MPM is given. In the literature it is
referred to as USL (Update Stress Last). In Bardenhagen [2002], another MPM implementation
named USF (Update Stress First) was presented and for completeness, the USF procedure is
given in Box 5.2. For explicit dynamics, there is an restriction on the time step dt < dx/c,
where dx is the grid spacing and c=pE/ρ is the speed of sound in the material.
6 Implementation
In this section, we present a serial implementation of MPM that reuses existing FE resources.
Before doing so, it is beneficial to recognize the resemblances and differences between MPM
and FEM:
MPM can be seen as the updated Lagrangian finite element method in which material
points serve as integration points and uncoupled from the Eulerian grid. Practically ma-
terial points, where constitutive equations are applied, move from elements to elements
rather than remain at the Gauss points of an element. This requires to track the movement
of the material points.
Contrary to standard FEM where the mesh is fitted to the physical domain of interest,
the Eulerian grid in MPM is dimensioned sufficiently large to cover the deformed solid.
Therefore, at a certain time step, there are elements with no material points. They are
labeled as inactive elements and skipped in the assembly process.
10
6 IMPLEMENTATION
Box 5.1 Solution procedure of an explicit MPM code: USL formulation.
1. Initialisation phase
(a) Particle distribution in the undeformed configuration
(b) Grid set up
(c) Initialise particle quantities such as mass, stress, strain etc.
2. Solution phase for time step tto t+ ∆t
(a) Mapping from particles to nodes
i. Compute nodal mass mt
I=PpNI(xt
p)Mp
ii. Compute nodal momentum (mv)t
I=PpNI(xt
p)(Mv)t
p
iii. Compute external force fext,t
I
iv. Compute internal force fint
I=Pnp
p=1 VpσpNI(xp)
v. Compute nodal force fI=fext
I+fint
I
(b) Update the momenta (mv)t+∆t
I= (mv)t
I+fIt
(c) Mapping from nodes to particles
i. Update particle velocities vt+∆t
p=vt
p+ ∆tPINI(xp)ft
I/mt
I
ii. Update particle positions xt+∆t
p=xt
p+ ∆tPINI(xp)(mv)t+∆t
I/mt
I
iii. Update nodal velocities vt+∆t
I= (mv)t+∆t
I/mt
I
iv. Update gradient velocity Lt+∆t
p=PINI(xp)vt+∆t
I
v. Updated gradient deformation tensor Ft+∆t
p= (I+Lt+∆t
pt)Ft
p
vi. Update volume Vt+∆t
p= det Ft+∆t
pV0
p.
vii. Update stresses σt+∆t
p=σt
p+ ∆σp
3. Reset the grid (if it was updated) and advance to the next time step.
11
6 IMPLEMENTATION
Box 5.2 Solution procedure of an explicit MPM code: USF formulation.
1. Initialisation phase
2. Solution phase for time step tto t+ ∆t
(a) Mapping from particles to nodes
i. Compute nodal mass mt
I=PpNI(xt
p)Mp
ii. Compute nodal momentum (mv)t
I=PpNI(xt
p)(Mv)t
p
iii. Compute nodal velocities vt
I= (mv)t
I/mt
I
iv. Compute gradient velocity Lt
p=PINI(xp)vt
I
v. Compute gradient deformation tensor Ft
p= (I+Lt
pt)Ft
p
vi. Update volume Vt
p= det Ft+∆t
pV0
p
vii. Update stresses σt
p=σt
p+ ∆σp
viii. Compute external force fext,t
I
ix. Compute internal force fint
I=Pnp
p=1 VpσpNI(xp)
x. Compute nodal force fI=fext
I+fint
I
(b) Update the momenta (mv)t+∆t
I= (mv)t
I+fIt
(c) Mapping from nodes to particles
i. Update particle velocities vt+∆t
p=vt
p+ ∆tPINI(xp)ft
I/mt
I
ii. Update particle positions xt+∆t
p=xt
p+ ∆tPINI(xp)(mv)t+∆t
I/mt
I
3. Reset the grid (if it was updated) and advance to the next time step.
12
6 IMPLEMENTATION
Unlike FEM, in MPM there is a mapping from Gauss points (particles) to nodes.
Some advantages of MPM are listed as follows
Mesh distortion of Lagrangian FEM is eliminated.
The problem of free surface is easy to solve.
The problem of no-slip self-contact is solved automatically in the case of granular ma-
terial: there is no penetration of particles because the velocities of the material point are
single valued.
Boundary conditions can be applied as easily as in the case of standard FEM.
Adding material points during calculations is relatively easy as there is no coupling be-
tween them and the grid.
The MPM can be implemented in a FEM program in a relatively easy way in constrast to
meshfree methods or ALE methods.
Solving fluid-structure interaction is relatively straightforward: the background grid is
also used as an Eulerian grid for the fluid.
The MPM suffers from the following disadvantages
Efficiency of MPM is lower than that of FEM due to the mappings between the back-
ground grid and the particles and the accuracy of particles quadrature used in MPM is
lower than that of Gauss quadrature used in FEM.
This method, in analogy with meshless methods, also introduces new visualization chal-
lenges.
Whereas the finite element method (FEM) has long-established basic verification stan-
dards (patch tests, convergence testing, etc.), no such standards have been universally
adopted within the particle method community.
Available MPM codes
Uintah, http://www.uintah.utah.edu
MPM-GIMP, http://sourceforge.net/p/mpmgimp/home/Home/
Mechsys, http://mechsys.nongnu.org/index.shtml
NairnMPM, http://osupdocs.forestry.oregonstate.edu/index.php/Main_Page
CartaBlanca
All are written in C++ except the last one which is written in Java.
13
6.1 Eulerian grid 6 IMPLEMENTATION
Figure 6: A two dimensional structured grid.
6.1 Eulerian grid
In MPM a structured Eulerian grid is usually used for its advantages. Among other bene-
fits, a uniform Cartesian grid eliminates the need for computationally expensive neighborhood
searches during particle-mesh interaction. A structured mesh is illustrated in Fig. 6for 2D
cases. For a particle pwith coordinates (xp, yp), it is straightforward to track which element it
belongs to using the following equation
e= [floor((xpxmin)/x) + 1] + nelx[floor((ypymin )/y)] (30)
where nelxdenotes the number of elements along the xdirection and (xmin , ymin )are the mini-
mum node coordinates and x, yare the nodal spacing in the xand ydirections, respectively.
In order to keep the implementation similar to FEM as much as possible, at every time step,
the elements must know which particles they are storing. Listing 1gives a simple data structure
implemented in Matlab for this purpose.
Listing 1: Matlab data structures for mesh-particle interaction
p El e m s = o n e s ( p C o un t , 1 ) ;
m p o i n t s = c e l l ( e le m C o u nt , 1 ) ;
f o r p = 1 : p Co u n t
x = x p ( p , 1 ) ;
y = x p ( p , 2 ) ;
e = f l o o r ( x / d e l t a x ) + 1 + numx2 f l o o r ( y / d e l t a y ) ;
pEle ms ( p ) = e ; % p a r t i c l e " p " s t a y s i n e l e m e n t " e "
en d
f o r e = 1 : e l e mC o u n t
i d = f i nd ( pEle m s== e ) ;
m p o i n t s { e } = i d ; % m p o i n t s { e}> i n d i c e s o f p a r t i c l e s i n " e "
en d
14
6 IMPLEMENTATION 6.2 Shape functions
Figure 7: Material point method: One dimensional shape functions defined in global coordinate
system.
6.2 Shape functions
Although any grid can be used in MPM, a Cartesian grid is usually chosen for computational
convenience reasons. In order to avoid finding the natural coordinates of material points if shape
functions are defined in the parameter space, in MPM shape functions are conveniently defined
in the global coordinate system. In 1D, the shape functions are defined as
Nx
I(x) = (1− |xxI|/lxif |xxI| ≤ lx
0else (31)
where lxdenotes the nodal spacing or element size in the xdirection. For 2D, the shape func-
tions are simply the tensor-product of the two shape functions along the xand ydirections
NI(x, y) = Nx
I(x)Ny(y)(32)
Remark 6.1.If shape functions are defined in the parent domain as most isoparametric elements
are i.e., NI=NI(ξ, η), then one has to perform one extra step–after getting the updated particle
positions, determine the natural coordinates (ξ, η)of them. For a 2D structured grid with linear
elements, it is straightforward to do so as
ξ=2x(xe
1+xe
2)
xe
2xe
1
η=2y(ye
1+ye
2)
ye
2ye
1
(33)
where (xe
1, ye
1)and (xe
2, ye
2)denote the lower-left and upper-right nodes of element e, respec-
tively. Extension to 3D is straightforward.
15
6.3 Initial particle distribution 6 IMPLEMENTATION
(a) parametric mesh (b) physical mesh
Figure 8: A two dimensional structured grid with B-splines.
6.2.1 B-splines basis functions
Steffen et al. [2008] showed that for simple problems, the use of cubic splines improves the
spatial convergence properties of method as grid-crossing errors are reduced.
Given a knot vector Ξ1={ξ1, ξ2,...,ξn+p+1}, the associated set of B-spline basis functions
{Ni,p}n
i=1 are defined recursively by the Cox-de-Boor formula, starting with the zeroth order
basis function (p= 0)
Ni,0(ξ) = (1if ξiξ < ξi+1,
0otherwise,(34)
and for a polynomial order p1
Ni,p(ξ) = ξξi
ξi+pξi
Ni,p1(ξ) + ξi+p+1 ξ
ξi+p+1 ξi+1
Ni+1,p1(ξ).(35)
in which fractions of the form 0/0are defined as zero.
In two dimensions, the knot vectors are Ξ1={ξ1, ξ2,...,ξn+p+1}and Ξ2=
{η1, η2, . . . , ηm+q+1}and the bi-variate B-spline basis functions are defined as
Ni,j (ξ, η) = Ni,p (ξ)Mj,q (η)(36)
The mapping between the parameter space and the physical space is always linear regardless
of the basis order and is given by
x= (xmax xmin)ξ+xmin , y = (ymax ymin)η+ymin (37)
High order B-spline basis functions are Cp1not C0, the connectivity of elements is different
from standard finite elements. Fig. 9illustrates this difference in case of cubic B-splines. Apart
from this B-splines MPM is exactly identical to standard MPM.
6.3 Initial particle distribution
There are numerous ways to obtain the initial particle distribution depends on the geometry of
the object and/or the available tools. For example, in order to generate particles for a circular
16
6 IMPLEMENTATION 6.3 Initial particle distribution
0 0.2 0.4 0.6 0.8 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
elements
nodes
1 2 3 4 5 6 7 8
particle
Figure 9: One dimensional cubic (p= 3) B-spline basis functions on a open uniform knot Ξ =
{0,0,0,0,0.2,0.4,0.6,0.8,1,1,1,1}. There are 8 nodes (control points in CAD terminology)
and 5 elements (or knot spans in CAD). At can be seen from the figure, at any point there are 4
(= (p+ 1)) non-zero basis functions. Therefore each element has 4 nodes. The firstelement’s
connectivity is [1,2,3,4].
17
6.4 Visualisation 7 EXAMPLES
Figure 10: Initial particle distribution: obtained using the available FE mesh generators.
disk, one can use a mesh generator to partition the disk into a set of triangles. The particles
can be taken as the centers of these triangles, Fig. 10. Alternatively, integration points of the
triangular elements are mapped to the global coordinate systems and then are used as material
points. The area of each triangle can be easily obtained and thus the particle volumes and
masses can be determined.
6.4 Visualisation
In FEM visualisation is typically performed on the mesh. Information stored at the integration
points are extrapolated to the nodes to this end. In MPM, the computational grid is fixed and
thus not suitable for visualisation. There are at least two approaches to visualizing MPM results
Particle visualization: the particles are visualized directly as spheres. Particle data (posi-
tion, stresses etc.) are written to files (say VTK files) and can be processed by Paraview
or Visit.
Particle mesh visualization: in standard MPM, one can generate a mesh from the parti-
cle positions using a Delaunay triangulation and use this mesh for visualization. Note
however that this method is expensive since the particles positions are evolving in time.
7 Examples
In this section various examples in one and two dimensions are provided to verify the imple-
mentation as well as to demonstrate the performance of the MPM.
7.1 1D examples
As the simplest MPM example, let us consider the vibration of a single material point as shown
in Fig. 11. The bar is represented by a single point initially located at Xp=L/2, which has an
initial velocity v0. The material is linear elastic.
18
7 EXAMPLES 7.1 1D examples
Figure 11: Vibration of a single material point (solid point).
The exact solution is given by
v(t) = v0cos(ωt), ω =1
LpE/ρ (38)
for the velocity and
x(t) = x0exp hv0
Lw sin(ωt)i(39)
for the position. The density ρis constant and equals one. The constitutive equation is ˙σ=E˙ǫ,
˙ǫ=dv/dx where Eis the Young’s modulus. The grid consists of one two-noded element.
The elastic wave speed is c=pE/ρ = 2π. Boundary conditions are imposed on the grid
and demand that both the node velocity and the acceleration at x= 0 (the left node) be zero
throughout the simulation. The Matlab implementation is given in Listing 2. Comparison
between MPM and the exact solutions are given in Fig. 12. Kinetic, strain and total energies
are plotted in Fig. 13 from which one observes that energy is conserved. The strain and kinetic
energy are computed as
U=1
2σpǫpVp, K =1
2v2
pMp(40)
Listing 2: Matlab implementation
% C o m p u t a t i o n a l g r i d
n o d e s = [ 0 L ] ;
e l e m e n t s = [ 1 2 ] ;
el e m Co u n t = s i z e ( e l e m e n t s , 1 ) ;
nodeCount = s i z e ( n o de s , 2 ) ;
% M a t e r i a l p o i n t s
x p = 0 . 5 L ; % p o s i t i o n
Mp = 1 ; % mass
Vp = 1 ; % volu m e
vp = 0 . 1 ; % v e l o c i t y
s = 0 . ; % s t r e s s
q = Mpvp ; % momentum
% T im e l o o p
t i m e = 0 . 1 ;
d ti m e = 0 . 0 1 ;
t = 0 ;
19
7.1 1D examples 7 EXAMPLES
t a = [ ] ; va = [ ] ; xa = [ ] ;
w h i l e ( t < t i m e )
% sh ap e f u n c t i o n s a nd d e r i v a t i v e s
N1 = 1 a b s ( xpn o d e s ( 1 ) ) / L ;
N2 = 1 a b s ( xpn o d e s ( 2 ) ) / L ;
dN1 = 1/ L ;
dN2 = 1 / L ;
% p a r t i c l e m as s an d momentum t o n od e
m1 = N1Mp;
m2 = N2Mp;
mv1 = N1q ;
mv2 = N2q ;
mv1 = 0 ; % Bo u nd ar y c o n d i t i o n v =0 a t n o de 1
% i n t e r n a l f o r c e
f i n t 1 = Vpsd N1 ;
f i n t 2 = Vpsd N2 ;
f 1 = f i n t 1 ; % t h e r e i s no e x t e r n a l f o r c e
f 2 = f i n t 2 ;
% u p d a t e n o d a l m om en ta
f 1 = 0 ; % Bo un da ry c o n d i t i o n s f 1 = m1a 1 , a 1 =0
mv1 = mv1 + f 1 d t i m e ;
mv2 = mv2 + f 2 d t i m e ;
% u pd a te p a r t i c l e v e l o c i t y a nd p o s i t i o n
v p = vp + d t i m e ( N1 f 1 / m1 + N2f 2 / m2 ) ;
x p = xp + d t i m e ( N1 mv1 / m1 + N2 mv2 / m2 ) ;
q = Mpvp ; % momentum
v1 = N1Mpvp / m1 ;
v2 = N2Mpvp / m2 ;
v 1 = 0 ; % b o u n d ar y c o n d i t i o n
Lp = dN1 v1 + dN2 v 2 ; % g r a d i e n t v e l o c i t y
d Ep s = d t i m e Lp ; % s t r a i n i n c r e m e n t
s = s + E d Ep s ; % s t r e s s u p d a t e
% s t o r e t im e , v e l o c t y f o r p l o t t i n g
t a = [ t a ; t ] ;
va = [ va ; v p ] ;
xa = [ xa ; x p ] ;
% a d v a n c e t o t h e n e x t t i m e s t e p
t = t + d t i m e ;
en d
20
7 EXAMPLES 7.1 1D examples
0246810
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
Time
Velocity
MPM
Exact
0 2 4 6 8 10
−8
−6
−4
−2
0
2
4
6
8
10
Time
Displacement
MPM
Exact
Figure 12: Vibration of a single material point.
0 0.5 1 1.5 2
0
1
2
3
4
5
6
7x 10−3
Time
Energy
kinetic
strain
total
Figure 13: Vibration of a single material point: kinetic, strain and total energies.
21
7.2 Axial vibration of a continuum bar 7 EXAMPLES
7.2 Axial vibration of a continuum bar
In this example, we study the axial vibration of a continuum bar with Young’s modulus E= 100
and the bar length L= 25.
Exact solutions for mode 1 are
v(x, t) = v0cos(ω1t) sin(β1x)(41)
u(x, t) = v0
ω1
sin(ω1t) sin(β1x)(42)
where ω1=π
2LpE/ρ and β1=π
2L.
The initial velocity is given by
v(x, 0) = v0sin(β1x)(43)
The grid consists of 13 two-noded line elements (14 grid nodes) and 13 material points
placed at the center of the elements are used. The initialisation step implemented in Matlab is
given in Listing 3. The solution step implemented in Matlab is given in Listing 4. The results
are given in Fig. 14 and the evolution of kinetic energy, strain energy and their sum (the total
energy) is plotted in Fig. 15. The time increment is chosen as t= 0.1∆x/c where xdenotes
the nodal spacing.
Listing 3: Vibration of a continuum bar: initialisation.
% C o m p u t a t i o n a l g r i d : t wo no d e d e l e m e n t s
e le m Co u n t = 1 3 ;
n o d e s = l i n s p a c e ( 0 , L , e l em C ou n t + 1 ) ;
e l e m e n t s = zeros( e l em Co u nt , 2 ) ;
f o r i e = 1 : e l e mC o u n t
e l e m e n t s ( i e , : ) = i e : i e + 1 ;
en d
nodeCount = s i z e ( no d es , 2 ) ;
v e l o = zeros ( n od eC o un t , 1 ) ;
mId = f l o o r ( ( el em Co un t ) / 2 ) + 1 ; % i d o f t h e c e n t e r m as s p a r t i c l e
% M a t e r ia l p o i n t s : c e n t e r s o f t h e e l em e n ts o ne p a r t i c l e p e r e l e me n t
c = s q r t ( E / r h o ) ;
b e t a 1 = p i / 2 / L ;
om eg a1 = b e t a 1 c ;
d e l t a x = L / e l em Co un t ; % n o d a l s p a c i n g
% m a t e r i a l p o i n t s a t t he c e n t e r o f e l em e nt s
xp = zeros( e le mC ou nt , 1 ) ;
f o r p = 1 : el e m C ou n t 1
xp ( p ) = 0 . 5 ( n o d e s ( p ) + n o d e s ( p + 1 ) ) ;
en d
pCount = l e n g t h ( xp ) ;
Mp = d e l t a x o n e s ( p Co u n t , 1 ) ; % m a s s
Vp = d e l t a x o n e s ( p Co u n t , 1 ) ; % v o lu me
22
7 EXAMPLES 7.2 Axial vibration of a continuum bar
Fp = o n e s ( p C o un t , 1 ) ; % g r a d i e n t d e f o rm a t io n
Vp0 = Vp ; % i n i t i a l v olu m e
sp = zeros ( p C o unt , 1 ) ; % s t r e s s
vp = zeros( p C oun t , 1 ) ; % v e l o c i t y
% i n i t i a l v e l o c i t i e s
f o r p = 1 : pC o u n t
vp ( p ) = 0 .1 s i n ( b e t a 1 x p ( p ) ) ;
en d
Listing 4: Vibration of a continuum bar: processing step.
d t i m e = 0 . 1 d e l t a x / c ;
t i m e = 1 0 0 ;
t = 0 ;
t a = [ ] ; va = [ ] ; xa = [ ] ;
nmas s = zeros ( n od eC ou nt , 1 ) ; % n o d a l m as s v e c t o r
nmomentum = zeros ( n od eC o un t , 1 ) ; % n o d a l mom entum v e c t o r
n i f o r c e = zeros( n od eC o un t , 1 ) ; % n o d a l i n t e r n a l f o r c e v e c t o r
n e f o r c e = zeros ( n od eC ou n t , 1 ) ; % n o d a l e x t e r n a l f o r c e v e c t o r
w h i l e ( t < t i m e )
n ma ss ( : ) = 0 ;
nm omen tum ( : ) = 0 ;
n i f o r c e ( : ) = 0 ;
% l o o p o v e r c o m p u t a t i o n a l c e l l s o r e l e m e n t s
f o r e = 1 : e le m C o u nt
e s c t r = e l e m e n t s ( e , : ) ;
e n od e = n o d e s ( e s c t r ) ;
Le = e n od e (2) en od e ( 1 ) ;
m p ts = m p o i n t s { e } ;
% l o o p o v e r p a r t i c l e s
f o r p = 1 : l e n g t h ( m pt s )
p i d = m p ts ( p ) ;
N1 = 1 a b s ( x p ( p i d ) en od e ( 1 ) ) / Le ;
N2 = 1 a b s ( x p ( p i d ) en od e ( 2 ) ) / Le ;
dN1 = 1/ Le ;
dN2 = 1 / Le ;
% p a r t i c l e m as s a nd momentum t o n ode
nm ass ( e s c t r ( 1 ) ) += N1Mp( p i d ) ;
nm ass ( e s c t r ( 2 ) ) += N2Mp( p i d ) ;
nmomentum ( e s c t r ( 1 ) ) += N1Mp( p i d ) v p ( p i d ) ;
nmomentum ( e s c t r ( 2 ) ) += N2Mp( p i d ) v p ( p i d ) ;
% i n t e r n a l f o r c e
n i f o r c e ( e s c t r ( 1 ) ) = n i f o r c e ( e s c t r ( 1 ) ) Vp ( p i d ) s p ( p id ) dN1 ;
n i f o r c e ( e s c t r ( 2 ) ) = n i f o r c e ( e s c t r ( 2 ) ) Vp ( p i d ) s p ( p id ) dN2 ;
en d
en d
% u p d a t e n o d a l m om en ta
nm omen tum ( 1 ) = 0 ; % B ou nd ar y c o n d i t i o n s f 1 = m1a1 , a 1 =0
n i f o r c e ( 1 ) = 0 ;
23
7.3 Impact of two elastic bodies 7 EXAMPLES
f o r i = 1 : n od e C o un t
nmomentum ( i ) = nmo mentum ( i ) + n i f o rc e ( i ) d t i m e ;
en d
% u pd a te p a r t i c l e v e l o c i t y a nd p o s i t i o n a nd s t r e s s e s
f o r e = 1 : e le m C o u nt
e s c t r = e l e m e n t s ( e , : ) ;
e n od e = n o d e s ( e s c t r ) ;
Le = e n od e (2) en od e ( 1 ) ;
m p ts = m p o i n t s { e } ;
% l o o p o v e r p a r t i c l e s
f o r p = 1 : l e n g t h ( m pts )
p i d = m p ts ( p ) ;
N1 = 1 a b s ( xp ( p i d )e no de ( 1 ) ) / Le ;
N2 = 1 a b s ( xp ( p i d )e no de ( 2 ) ) / Le ;
dN1 = 1/ Le ; dN2 = 1 / Le ;
i f n ma ss ( e s c t r ( 1 ) ) > t o l
v p ( p i d ) += d t i m e N1n i f o r c e ( e s c t r ( 1 ) ) / n ma ss ( e s c t r ( 1 ) ) ;
en d
i f n ma ss ( e s c t r ( 2 ) ) > t o l
v p ( p i d ) += d t i m e N2n i f o r c e ( e s c t r ( 2 ) ) / n mas s ( e s ct r ( 2 ) ) ;
en d
x p ( p i d ) += d t i m e ( N1n momentum ( e s c t r ( 1 ) ) / nm as s ( e s c t r ( 1 ) ) +
N2nmomentum ( e s c t r ( 2 ) ) / n ma ss ( e s c t r ( 2 ) ) ) ;
v1 = nmomentum ( e s c t r ( 1 ) ) / n ma ss ( e s c t r ( 1 ) ) ;
v2 = nmomentum ( e s c t r ( 2 ) ) / n ma ss ( e s c t r ( 2 ) ) ;
%i f ( e s c t r ( 1 ) == 1 ) v 1 = 0 ; en d
Lp = dN1 v 1 + dN2 v 2 ; % g r a d i e n t v e l o c i t y
Fp ( p i d ) = ( 1 + Lp d t i m e ) F p ( p i d ) ; % g r a d i e n t d e f o r m a t i o n
Vp ( p i d ) = Fp ( p i d ) Vp0 ( p i d ) ; % volum e
d Ep s = d t i m e Lp ; % s t r a i n i n c r e m e n t
s p ( p i d ) = s p ( p i d ) + E dE p s ; % s t r e s s u p d a t e
en d
en d
% s t o r e t im e , v e l o c t y f o r p l o t t i n g
t a = [ t a ; t ] ; va = [ v a ; vp ( mId ) ] ; xa = [ x a ; xp ( mId ) ] ;
% a d v a n c e t o t h e n e x t t i m e s t e p
t = t + d t i m e ;
en d
7.3 Impact of two elastic bodies
Fig. 16 shows the problem of the impact of two identical elastic disks which move in opposite
direction towards each other Sulsky et al. [1994]. The computational domain is a square which
is discretised into 20 ×20 Q4 elements. A plane strain condition is assumed. The mesh and
the initial particle distribution are shown in Fig. 17. There are 320 particles for two disks which
are obtained by meshing (using Gmsh) the two disks and take the centers as the initial particle
positions. Initial condition for this problem is the initial velocities of the particles, vp=vfor
lower-left particles and vp=vfor upper-right particles. There is no boundary conditions
in this problem since the simulation stops before the particles after impact move out of the
24
7 EXAMPLES 7.3 Impact of two elastic bodies
Figure 14: Vibration of a continuum bar: comparison of the MPM velocity solution and the
exact solution.
0 20 40 60 80 100
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
Time
Energy
kinetic
strain
total
Figure 15: Vibration of a continuum bar: kinetic, strain and total energies.
25
7.3 Impact of two elastic bodies 7 EXAMPLES
Figure 16: Impact of two elastic bodies: problem statement.
computational box.
In order to check the energy conservation, the strain and kinetic energy are computed for
each time step. They are defined as
U=
np
X
p=1
upVp, K =1
2
np
X
p=1
vp·vpMp(44)
where updenotes the strain energy density of particle p,up= 1/2σp,ijǫp,ij or explicitly as
up=1
4µκ+ 1
4(σ2
p,xx +σ2
p,yy )2(σp,xx σp,yy σ2
p,xy)(45)
with µand κare the shear modulus and the Kolosov constant, respectively.
List 5and 6gives the code for initialising the particle data and nodal data. Lists 7,8and
9presents the codes for the solution phase. Note that some C++ notations (+=) were adopted
to save space. It should be emphasized that the code has not been optimized to make it easy
to understand. One can, for example, store the shape functions and its derivatives computed in
List 8so that they can be reused in List 9.
Listing 5: Two dimensional MPM: particle initialisation.
pC o un t = numel em ; % # of p a r t i c l e s
Mp = o n e s ( p Co u n t , 1 ) ; % m a s s
Vp = o n e s ( p C ou n t , 1 ) ; % v o l u me
Fp = o n e s ( p C o un t , 4 ) ; % g r a d i e n t d e f o r m a t i o n
s = zeros ( p Co u nt , 3 ) ; % s t r e s s
ep s =zeros ( pC o u nt , 3 ) ; % s t r a i n
vp = zeros( p C oun t , 2 ) ; % v e l o c i t y
xp = zeros( p C oun t , 2 ) ; % p o s i t i o n
% i n i t i a l i s e p a r t i c l e p o s i t i o n , m a ss , volume , v e l o c i t y
f o r e = 1 : n ume le m
c o o r d = n o d e 1 ( e l e m e n t 1 ( e , : ) , : ) ;
a = d e t ( [ c o or d , [ 1 ; 1 ; 1 ] ] ) / 2 ;
Vp ( e ) = a ;
26
7 EXAMPLES 7.3 Impact of two elastic bodies
Figure 17: Impact of two elastic bodies: Eulerian mesh and initial particle distribution.
Mp( e ) = a r h o ;
xp ( e , : ) = me an ( c o o r d ) ;
% t h i s i s p a r t i c u l a r f o r t h e two i m p ac t d i s k s e x am pl e
i f xp ( e , 1 ) < 0 . 5
vp ( e , : ) = [ v v ] ;
e l s e
vp ( e , : ) = [vv ] ;
en d
Fp ( e , : ) = [ 1 0 0 1 ] ;
en d
Vp0 = Vp ;
Listing 6: Two dimensional MPM: nodal initialisation.
% b u i l d t h e s t r u c t u r e d g r i d . . .
% i n i t i a l i s e n o d a l d at a
nmas s = zeros ( n od eC ou nt , 1 ) ; % n o d a l m as s v e c t o r
nmomentum = zeros ( n od eC o un t , 2 ) ; % n o d a l mom entum v e c t o r
n i f o r c e = zeros( n od eC o un t , 2 ) ; % n o d a l i n t e r n a l f o r c e v e c t o r
n e f o r c e = zeros ( n od eC ou n t , 2 ) ; % n o d a l e x t e r n a l f o r c e v e c t o r
Listing 7: Two dimensional MPM: solution phase (explicit).
w h i l e ( t < t i m e )
% r e s e t g r i d d a t a
n ma ss ( : ) = 0 ;
nm omen tum ( : ) = 0 ;
n i f o r c e ( : ) = 0 ;
% p a r t i c l e t o g r i d n o d e s
27
7.3 Impact of two elastic bodies 7 EXAMPLES
Se e L i s t 8
% u p d a t e n o d a l m om en ta
nmomentum = nmomentum + n i f o r c e d t i m e ;
% n o d es t o p a r t i c l e s
Se e L i s t 9
% s t o r e t im e , v e l o c t y f o r p l o t t i n g
p o s { i s t e p } = xp ;
v el { i s t e p } = vp ;
% u p d a t e t h e e l e m e n t p a r t i c l e l i s t
f o r p = 1 : p Co u n t
x = xp ( p , 1 ) ;
y = xp ( p , 2 ) ;
e = f l o o r ( x / d e l t a X ) + 1 + num x2f l o o r ( y / d e l t a Y ) ;
pE lem s ( p ) = e ;
en d
f o r e = 1 : e le m C o u nt
i d = f i n d ( pEl e ms ==e ) ;
m p o i n t s { e } = i d ;
en d
% VTK o u t p u t
i f ( mod ( i s t e p , i n t e r v a l ) == 0 )
x p = p o s { i s t e p } ;
v t k F i l e = s p r i n t f (’../results/%s%d’ , v t k F i l e N a m e , i s t e p ) ;
V T K P a r t i c l e s ( x p , v t k F i l e , s ) ;
en d
% a d v a n c e t o t h e n e x t t i m e s t e p
t = t + d t i m e ; i s t e p = i s t e p + 1 ;
en d
Listing 8: Two dimensional MPM: particles to nodes.
f o r e = 1 : e le m C o u nt % l o o p o v e r e l e m e n t s
e s c t r = e l e m e n t ( e , : ) ; % e l em e nt c o n n e c t i v i t y
e no d e = no d e ( e s c t r , : ) ; % e l e m e n t n o d e c o o r d s
m p ts = m p o i n t s { e } ; % p a r t i c l e s i n s i d e e l e m e n t e
% l o o p o v e r p a r t i c l e s
f o r p = 1 : l e n g t h ( m pt s )
p i d = m p ts ( p ) ; % p a r t i c l e ID
p t ( 1 ) = ( 2 xp ( p i d , 1 ) ( e no de ( 1 , 1) + en o de ( 2 , 1 ) ) ) / d e lt a X ;
p t ( 2 ) = ( 2 xp ( p i d , 2 ) ( e no de ( 2 , 2) + en o de ( 3 , 2 ) ) ) / d e lt a Y ;
[N , d Nd xi ] = l a g r a n g e _ b a s i s ( ’Q4’ , p t ) ; % e l e m e n t s h a p e f u n c t i o n s
J 0 = e n o de d Nd x i ; % e l e m e n t J a c o b i a n m a t r i x
i n v J 0 = i n v ( J 0 ) ;
dNdx = d N dxi i n v J 0 ;
% p a r t i c l e m as s an d momentum t o n od e
s t r e s s = s ( p i d , : ) ;
f o r i = 1 : l e n g t h ( e s c t r )
i d = e s c t r ( i ) ; % nod e ID
d NI dx = dNdx ( i , 1 ) ;
d NI dy = dNdx ( i , 2 ) ;
n ma s s ( i d ) += N( i ) Mp ( p i d ) ;
28
7 EXAMPLES 7.3 Impact of two elastic bodies
nm ome ntu m ( i d , : ) += N( i ) Mp( p i d ) v p ( p i d , : ) ;
n i f o r c e ( id , 1 ) = Vp ( p i d ) ( s t r e s s ( 1 )d NI dx + s t r e s s ( 3 ) dNIdy ) ;
n i f o r c e ( id , 2 ) = Vp ( p i d ) ( s t r e s s ( 3 )d NI dx + s t r e s s ( 2 ) dNIdy ) ;
en d
en d
en d
Listing 9: Two dimensional MPM: nodes to particles.
f o r e = 1 : e le m C o u nt % l o o p o v e r e l e m e n t s
e s c t r = e l e m e n t ( e , : ) ;
e no d e = no d e ( e s c t r , : ) ;
m p ts = m p o i n t s { e } ;
% l o o p o v e r p a r t i c l e s
f o r p = 1 : l e n g t h ( m pt s )
p i d = m p ts ( p ) ;
p t ( 1 ) = ( 2 xp ( p i d , 1 ) ( e n od e ( 1 , 1 ) + e no d e ( 2 , 1 ) ) ) / d e l t a X ;
p t ( 2 ) = ( 2 xp ( p i d , 2 ) ( e n od e ( 2 , 2 ) + e no d e ( 3 , 2 ) ) ) / d e l t a Y ;
[N , d Nd xi ] = l a g r a n g e _ b a s i s ( ’Q4’ , p t ) ;
J 0 = en o de dN dxi ;
i n v J 0 = i n v ( J 0 ) ;
dNdx = d N dxi i n v J 0 ;
Lp = zeros ( 2 , 2 ) ;
f o r i = 1 : l e n g t h ( e s c t r )
i d = e s c t r ( i ) ; % n o de ID
v I = [ 0 0 ] ;
i f n ma s s ( i d ) > t o l
v p ( p i d , : ) += d t i m e N( i ) n i f o r c e ( id , : ) / nmas s ( i d ) ;
x p ( p i d , : ) += d t i m e N( i ) nm ome ntu m ( i d , : ) / n m as s ( i d ) ;
v I = nm ome ntu m ( i d , : ) / nm a s s ( i d ) ; % n o d a l v e l o c i t y
en d
Lp = L p + v I d Ndx ( i , : ) ; % p a r t i c l e g r a d i e n t v e l o c i t y
en d
F = ( [ 1 0 ; 0 1 ] + Lp dt i m e ) r e s h a p e ( Fp ( p i d , : ) , 2 , 2 ) ;
Fp ( p i d , : ) = r e s h a p e ( F , 1 , 4 ) ;
Vp ( p i d ) = d e t ( F ) V p0 ( p i d ) ;
d Ep s = d t i m e 0 . 5 ( L p+Lp ’ ) ;
ds i g ma = C [ d Ep s ( 1 , 1 ) ; dE ps ( 2 , 2 ) ; 2 d Ep s ( 1 , 2 ) ] ;
s ( p i d , : ) = s ( p i d , : ) + d s ig m a ;
ep s ( p i d , : ) = e ps ( p id , : ) + [ d E ps ( 1 , 1 ) dEp s ( 2 , 2 ) 2dE ps ( 1 , 2 ) ] ;
en d
en d
The movement of two disks is given in Fig. 18. The collision occurs in a physically realistic
fashion, although no contact law has been specified. Fig. 19 plots the evolution of the kinetic,
strain and total energy.
29
7.3 Impact of two elastic bodies 7 EXAMPLES
time: 0.930000
time: 1.205000
time: 1.930000
time: 2.480000
Figure 18: Impact of two elastic bodies: time snapshots of the bodies. Top figures: twp bodies
move towards each other and collide. Bottom figures: they bounce back and move far from
each other. These figures were created in Matlab using the scatter command.
30
7 EXAMPLES 7.4 Impact of two elastic rings
0 0.5 1 1.5 2 2.5 3 3.5
0
0.5
1
1.5
2
2.5
3
Time
Energy
kinetic
strain
total
Figure 19: Impact of two elastic bodies: evolution of strain, kinetic and total energies in time.
Figure 20: Impact of two elastic bodies: problem description. Dimensions are in millimeters.
7.4 Impact of two elastic rings
This example problem involves two hollow elastic cylinders, under the assumption of plane
strain, impacting each other Fig. 20. The material is a compressible Neo-Hookean with bulk
modulus K= 121.7MPa, shear modulus µ= 26.1MPa, the density is ρ= 1010 ×1012
kg/mm3. The Cauchy stresses are computed as follows
σ=1
J[µ0(bI) + λ0ln JI](46)
where J= det Fand b=FFTis the left Cauchy strain tensor; λ0=K2/3µ0is the first
Lamé constant.
A grid of 100 ×60 elements is adopted and each cylinder is discretized by 5488 particles.
The time step was chosen as t= 0.2pE/ρ = 1.5×106s. For this problem, it is very
31
8 GENERALIZED INTERPOLATION MATERIAL POINT METHOD-GIMP
hard to find a cutoff value in Equation (22). We therefore used Equation (24) to compute the
nodal velocities which are subsequently used to compute the particle velocity gradient Lp. For
visualization, the particle data (positions and stresses) are written to a VTP file (PolyData) and
processed in Paraview using the filter Glyph.
8 Generalized Interpolation Material Point Method-GIMP
The original MPM with C0shape functions suffers from the so-called cell crossing instability.
In order to illustrate this phenomenon, consider a 1D MPM discretisation shown in Fig. 22 in
which all particles have the same stress (i.e., uniform stress state), and the same volume and a
uniform element size. Each element has two particles, Fig. 22a. The internal force at node 2 is
identically zero in the absence of body force. When a particle have just moved to a new cell,
Fig. 22b, the internal force at node 2 is non-zero resulting in non-equilibrium. One solution is
not to reset the grid at the end of the time step. However doing so can result in mesh distortion
which makes MPM resemble to FEM. The cell-crossing error can be mitigated using high order
B-splines basis functions or the generalized interpolation material point (GIMP) method.
These functions, which can be interpreted as averages of the basis function and its gradient
over the particle domain, are used for mapping and interpolating data between particles and grid
nodes as well as calculating internal and external forces.
φIp φI(xp) = ¯
SIp =1
VpZχ
χ(xxp)NI(x)d(47)
φIp ≡ ∇φI(xp) = ¯
SIp =1
VpZχ
χ(xxp)NI(x)d(48)
where χ(x)is the particle characteristic function centered at the particle position and χdenotes
the current support of this function; NIare the standard linear shape functions. Typically piece-
wise constant particle characteristic function is used
χ(x) = (1if xp
0otherwise (49)
More precisely in 1D the following particle characteristic function is usually employed
χ(x)p=(1if |x| ≤ lp/2
0otherwise (50)
Here lpis the current particle size. The initial particle size is determined by dividing the cell
spacing L by the number of particles per cell. In order to have a closed form expression for
the weighting functions given in Equation (48) so as to avoid numerical integration of these
functions, it is assumed that pis always a rectangle which is aligned with the grid. In this
case, one can explicitly compute the weighting function φas
32
8 GENERALIZED INTERPOLATION MATERIAL POINT METHOD-GIMP
Figure 21: Impact of two elastic bodies: simulation snapshots.
33
9 IMPLICIT TIME INTEGRATION
node
particle
(equilibriuum)
(a)
(b)
Figure 22: Cell crossing issue in MPM.
φ(x) =
1(4x2+l2
p)/(4hlp)if |x|<0.5lp
1− |x|/h if lp≤ |x| ≤ h0.5lp
(h+lp/2− |x|)2/(2hlp)if h0.5lp≤ |x|< h + 0.5lp
0otherwise
(51)
of which an example is given in Fig. 23. Note that φI=φ(xxI). As can be seen, if there are
many particles per element (lpis getting smaller), the GIMP functions resemble the standard
FE hat functions.
Since the GIMP functions depend on the particle size which in turn evolves in time, the
GIMP functions are particle specific and time-dependent. To simplify things, pis kept fixed
and the resulting approach is referred to as uGIMP (unchanged GIMP). A more complicated
approach, known as cpGIMP (contiguous particle GIMP), is to update the particle domain using
the deformation gradient F, cf. Fig. 24. Still, the updated particle domain is a rectangle in 2D
and space cannot be tiled.
The implementation of uGIMP follows closely the MPM except two things: (i) the GIMP
functions φIreplace the FE hat functions NIand (ii) a larger connectivity array of the elements
i.e., the particles not only contribute to the nodes of the element they locate but also nodes of
neighboring elements.
χ(x)p=Vpδ(xxp)(52)
9 Implicit time integration
The explicit code operates with a time step restricted by the usual Courant-Friedrichs-Lewy
(CFL) condition, and thus the code resolves all waves. Simulating many manufacturing and
34
9 IMPLICIT TIME INTEGRATION
node
0 0.5 1 1.5 2 2.5 3 3.5 4
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4
0
0.2
0.4
0.6
0.8
1
Figure 23: One dimensional GIMP basis functions.
Figure 24: Tracking particle domain in GIPM: space cannot be tiled in a general multi-
dimension domain using rectilinear p.
35
10 FLUID-STRUCTURE INTERACTION
(a) MPM (b) GIMP
1 2
55
Figure 25: Larger element connectivity in GIMP (b) than in MPM (a). The connectivity of an
element in GIMP can be determined by getting firstly its neighboring elements (very fast for
structured grids used in MPM/GIMP) and then the nodes of these elements.
other problems with an implicit method can result in a considerable reduction in computational
cost if one is interested only in the low-frequency, bulk motion, and not in the elastic wave
motion.
10 Fluid-structure interaction
Action of the air on aeronautic structures (aeroelasticity, flutter)
Effect of the wind on civil structures (bridges, suspended cables, skyscrapers)
Effect of water movement on dam or sloshing of a fluid in a container
Fluid-membrane interaction (parachutes, vehicle airbags, blood vessels etc.)
The numerical procedures to solve the Fluid-structure interaction (FSI) problems may be
broadly classified into two approaches
Monolithic approach: the equations governing the fluid flow and the structure deforma-
tion are solved in a single solver;
Partitioned approach: the fluid and solid equations are solved separately using different
solvers.
The monolithic approach requires a code developed for this particular FSI problem whereas the
partitioned approach preserves software modularity because an existing flow solver and solid
solver are coupled. On the other hand, development of stable and accurate coupling algorithms
is required in partitioned approaches. Particularly, the fluid-solid interface location is not known
a priori and usually changed in time; thus, the partitioned approach requires the tracking of the
new interface location and its related quantities, which can be cumbersome and error-prone.
36
REFERENCES REFERENCES
The partitioned approach is also referred to as coupling method as there are two models
which are coupled. Within the coupling method, one can differentiate between one-way and
two-way coupling. The coupling is one-way if the motion of a fluid flow influences a solid
structure but the reaction of a solid upon a fluid is negligible. The other way around is also
possible. Moreover, the coupling can be loose or tight coupling.
σf= 2µ˙
ǫ2
3µtr(˙
ǫ)IˆpI(53)
ˆp= (γ1)ρe (54)
eis the specific internal energy and γis the ratio of specific heats.
References
S.G. Bardenhagen. Energy Conservation Error in the Material Point Method for Solid Mechan-
ics. Journal of Computational Physics, 180(1):383–403, 2002.
M Steffen, PC Wallstedt, and JE Guilkey. Examination and analysis of implementation choices
within the material point method (MPM). Computer Modeling in Engineering and Sciences,
31(2):107–127, 2008.
D Sulsky and HL Schreyer. Axisymmetric form of the material point method with applications
to upsetting and Taylor impact problems. Computer Methods in Applied Mechanics and
Engineering, 0457825(96), 1996.
D Sulsky, Z Chen, and HL Schreyer. A particle method for history-dependent materials. Com-
puter Methods in Applied Mechanics and Engineering, 5, 1994.
D. Sulsky, S.J. Zhou, and H. L. Schreyer. Application of a particle-in-cell method to solid
mechanics. Computer Physics Communications, 87(1-2):236–252, 1995.
D. Sulsky, H.L. Schreyer, K. Peterson, R. Kwok, and M. Coon. Using the material-point method
to model sea ice dynamics. Journal of Geophysical Research, 112(C2):C02S90, 2007.
AR York, D. Sulsky, and HL Schreyer. The material point method for simulation of thin
membranes. International Journal for Numerical Methods in Engineering, 1456(May 1998),
1999.
AR York, D. Sulsky, and HL Schreyer. Fluidâ ˘
A¸Smembrane interaction based on the material
point method. International Journal for Numerical Methods in Engineering, pages 901–924,
2000.
37
... where P denotes the coordinates of the control points and A is the global index of control point 23 . ...
... where i denotes the i-th body in the computational domain, v cm I is the center-of-mass velocity 23 of the control point I-th for each pair in contact ...
... A quadratic (d=2) BSMPM grid Unlike the original MPM, the particles in BSMPM are considered in the whole discretized domain, instead of a specific cell, as shows in the equation below23 ...
Article
Full-text available
In the MPM algorithm, all the particles are formulated in a single-valued velocity field hence the non-slip contact can be satisfied without any contact treatment. However, in some impact and penetration problems, the non-slip contact condition is not appropriate and may even yield unreasonable results, so it is important to overcome this drawback by using a contact algorithm in the MPM. In this paper, the variation of contact force with respect to time caused by the impact is investigated. The MPM using the Lagrange basis function, so causing the cell-crossing phenomenon when a particle moves from one cell to another. The essence of this phenomenon is due to the discontinuity of the gradient of the linear basis function. The accuracy of the results is therefore also affected. The high order B-spline MPM is used in this study to overcome the cell-crossing error. The BSMPM uses higher-order B-spline functions to make sure the derivatives of the shape functions are continuous, so that alleviate the error. The algorithm of MPM and BSMPM has some differences in defining the computational grid. Hence, the original contact algorithm in MPM needs to be modified to be suitable in order to use in the BSMPM. The purpose of this study is to construct a suitable contact algorithm for BSMPM and then use it to investigate the contact force caused by impact. Some numerical examples are presented in this paper, the impact of two circular elastic disks and the impact of a soft circular disk into a stiffer rectangular block. All the results of contact force obtained from this study are compared with finite element results and perform a good agreement, the energy conservation is also considered.
... The illustrations of Eulerian and Lagrangian description seen in Figure 14. Figure 14. Illustration of Eulerian and Lagrangian description (Nguyen & Cardiff University, 2014) As shown in Figure 14, the Eulerian formulation has a fixed grid with a highly distorted motion of the materials, which gives the materials moves from point to point based on the size of the grid (Nairn, 2003). However, using Eulerian formulation gives few disadvantages such as the difficulties with history-dependent materials due to the past material locations not tracked. ...
... However, using Eulerian formulation gives few disadvantages such as the difficulties with history-dependent materials due to the past material locations not tracked. The other disadvantage of using this formulation is defining the material boundaries (Nguyen & Cardiff University, 2014). Hence, the Eulerian formulation is very conservative due to its movement that static based on the grid/mesh shape. ...
... Eulerian formulation gives a fixed boundaries and grid where the equation balance of momentum solved as shown in Figure 15. Figure 15. Illustration of MPM with Lagrangian material points over Eulerian grid (Nguyen & Cardiff University, 2014) Furthermore, Lagrangian formulation provides a unique property for each material element. The moving material points with the integration of time and fixed Eulerian grid (McDougall & Hungr, 2004). ...
Thesis
Full-text available
The Bingham Canyon Mine is located approximately 30 km south-west of Salt Lake City in Utah, USA. Bingham Canyon mine is located at Oquirrh Mountains at late Palaeozoic period (between 260 and 320 million years ago). Bingham Canyon Mine dependent on hydrothermally altered and mineralised plutonic body referred to as Bingham Stock. The mineralisation that formed the deposit is mainly chalcopyrite and bornite. The Kennecott failure occurred on the 10th of April 2013. The first event happened at 03:30 am UT from the middle bench of the mine, where infrastructures located. The second event occured at 05:56 am UT from the top bench of the pit. There are no casualties in both events. However, there are damaged trucks even with the predicted run-out before the event take place. This project covers mainly on numerical analysis using a tridimensional limit equilibrium method to define suitable failure surfaces and later the Material Point Method (MPM) to describe the kinematics of the landslide. The relevance of this analysis relies on the potential of defining a framework of actions that may give insights on the preparation to attend the operative needs in a failed slope and mitigate its adverse effects. The volumes of the first failure are approximately 24Mm3 volumes with 0.98 for FOS with 3D Bishop’s search method. The volumes of the second failure are approximately 22Mm3 volumes with 0.89 for FOS with 3D Bishop’s search method. In comparison, the second failure gives lower FOS rather than the first one due to some of the mass that move from the first failure acted as support for the mass that moved at the second failure. Kinetic energy of the first slide shows a decrease value at t=40s. It is suspected that the failure material points hit the pit wall that causes the material points to change direction throughout the run-out. The kinetic energy of the second slide is constant throughout the event due to the path that created by the first slide cause the failure path to be smoother. Same behaviour occurred with the velocity analysis for both first and second failure, and it is in close agreement with twodimensional and LFH past research. Sensitivity analysis was conducted by changing the geotechnical properties of the failure surfaces to observed the changes that will affect the run-out of the landslide. A tridimensional approach is able to describe better due to complex topography than two-dimensional simplifications. The numerical analysis used to give insight in predicting the possible failure that might occur on site, to help assess the risk assessment and safety
... This section gives a brief introduction to MPM for solid mechanics. We refer to [12] for a comprehensive treatment of MPM and to the note [43] for beginners where implementation details with Matlab codes are presented. The discussion is confined to explicit time integration as it is the most widely used time integrator in MPM. ...
... All simulations are carried out using in-house MPM codes written in Matlab and Julia. The Matlab codes are described in [43]. In Julia, just like in Python, accessing external packages is very simple. ...
Article
Full-text available
This article presents the implementation of the material point method (MPM) using Julia. Julia is an open source, multi-platform, high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to Matlab and Python programmers. MPM is a hybrid particle-grid approach that combines the advantages of Eulerian and Lagrangian methods and is suitable for complex solid mechanics problems involving contact, impact and large deformations. We will show that a Julia based MPM code, which is short, compact and readable and uses only Julia built in features, performs much better (with speed up of up to 8) than a similar Matlab based MPM code for large strain solid mechanics simulations. We share our experiences of implementing MPM in Julia and demonstrate that Julis is a very interesting platform for rapid development in the field of scientific computing.
... In this section, we summarize the standard MPM formulation for a continuum body undergoing large deformation. For more details of the MPM formulation and related backgrounds, we refer to Nguyen (2014), Jiang et al. (2016), Zhang et al. (2016) andde Vaucorbeil et al. (2020). ...
Article
The material point method (MPM) is often used to simulate soils that interact with (nearly) rigid objects, such as structures, machines, or rocks. Yet MPM simulations of such problems are quite challenging when the objects have complex shapes. In this paper, we propose an efficient approach for incorporating geometrically complex rigid objects into MPM modeling. The proposed approach leverages the level set method, which can efficiently delineate arbitrary surface geometry, to represent the boundary of a discrete object. For coupling the level set object with the MPM domain, a robust algorithm is developed on the basis of contact mechanics. Through numerical examples of varied complexity, we verify the proposed approach and demonstrate its ability to efficiently simulate challenging problems wherein soils interact with complex rigid objects such as debris-resisting baffles, a vehicle wheel, and basal terrain.
... As a new generation mesh-free numerical method, Material Point Method (MPM) is free from the above limitations, and is therefore inherently more suitable to simulate this problem. The MPM is one of the latest and popular developments in Particle in Cell (PIC) methods (Nguyen, 2014). Originally developed for hydrodynamic problems, it is currently growing in its popularity in solving solid mechanics problems (Richefeu and Villard, 2016), especially those involving large deformations such as excavations (Cheng et al., 2015, Fern, 2019, footing strips (Woo and Salgado, 2018) and slope failures (Wang, 2016). ...
Article
Excessive deformation of tunnel lining structures can be identified as a common problem in Eastern China soft ground. Grouting treatment is an effective and common method to actively mitigate excessive cross-sectional deformation of tunnel lining rings in soft soils. However, grouting operations would introduce localized heavy disturbance to the surrounding ground around the grouting nozzles, causing large-deformational soil movement. The occurrence of large soil movement makes it difficult to use traditional finite element methodologies when it comes to modeling the effects of the grouting treatment on tunnel lining structures. To cope with this challenge, this paper proposes a simulation framework based on the Material Point Method, which enables explicit modeling of the grouting injection process and natural incorporation of large deformation. On the other hand, a field experimental study of an operational shield metro tunnel with grouting treatment has been conducted. The experimental study involved an extensive monitoring scheme and various geometrical arrangements of the grouting operation, thus the data from the field monitoring records enable a comprehensive comparison with the numerical results. The comparison between the experimental and numerically simulated results from the grouting treatment shows a satisfactory agreement. A sensitivity analysis of the grouting parameters is then carried out. The results from both the field experiment and numerical simulation show that with the increase of the height and volume of the grout, the recovery effect of the horizontal convergence is improved. However, limiting values of these grout parameters exist, beyond which any further increase would become less effective. The relative positions of the grouting to the tunnel, both horizontally and vertically, also show a sensitive effect.
... We think that beginners to the field should implement the MPM themselves using a high-level language such as Matlab, Python, or Julia; as it is the only way to fully understand the method. To that end, the note of Nguyen [2014b] and the Julia implementation 5 in Sinaie et al. [2017] can be consulted. On the other hand, to solve large scale problems, one would need a more efficient MPM code, usually implemented in a low-level language such as Fortran or C++. ...
Chapter
Full-text available
It has been 25 years since Sulsky and her co-workers developed the first version of the material point method (MPM): a quasi particle method to solve continuum mechanics problems. In the MPM, the continua are discretized by Lagrangian particles moving over a fixed Eulerian background grid. As a result, large deformation and contact can be treated effortlessly. Since then, many improved instances of the MPM have been developed and the MPM has found applications in many fields from geoengineering to movie industry. As the MPM has now been matured and a large body of literature on it exists, it is a good time to ponder and reflect on the developments of the method to date. To this end, this manuscript provides a concise introduction to the MPM, covering theory, implementation and applications. All the algorithms required to have a working MPM implementation for the simulations of solids, fluids and their interactions are provided. We have coded these algorithms in in-house open source programs and used them to study the performance of different MPM variants for large deformation solid mechanics problems. These problems exhibit large plastic deformation, fractures and contacts. Convergence of different MPMs (CPDI, GIMP, B-splines, Total Lagrangian MPM, improved MPMs) are studied. Furthermore, MPM formulations for fluids/gases and heat conduction are also covered. Potential areas for improvement on the method have been identified. The paper is the first review of the MPM and presents a state-of-the-art of the current MPM literature covering 339 references.
... We think that beginners to the field should implement the MPM themselves using a high-level language such as Matlab, Python, or Julia; as it is the only way to fully understand the method. To that end, the note of Nguyen [2014b] and the Julia implementation 5 in Sinaie et al. [2017] can be consulted. On the other hand, to solve large scale problems, one would need a more efficient MPM code, usually implemented in a low-level language such as Fortran or C++. ...
Preprint
Full-text available
It has been 25 years since Sulsky and her co-workers developed the first version of the material point method (MPM): a quasi particle method to solve continuum mechanics problems. In the MPM, the continua are discretized by Lagrangian particles moving over a fixed Eulerian background grid. As a result, large deformation and contact can be treated effortlessly. Since then, many improved instances of the MPM have been developed and the MPM has found applications in many fields from geoengineering to movie industry. As the MPM has now been matured and a large body of literature on it exists, it is a good time to ponder and reflect on the developments of the method to date. To this end, this manuscript provides a concise introduction to the MPM, covering theory, implementation and applications. All the algorithms required to have a working MPM implementation for the simulations of solids, fluids and their interactions are provided. We have coded these algorithms in in-house open source programs and used them to study the performance of different MPM variants for large deformation solid mechanics problems. These problems exhibit large plastic deformation, fractures and contacts. Convergence of different MPMs (CPDI, GIMP, B-splines, Total Lagrangian MPM, improved MPMs) are studied. Furthermore, MPM formulations for fluids/gases and heat conduction are also covered. Potential areas for improvement on the method have been identified. The paper is the first review of the MPM and presents a state-of-the-art of the current MPM literature covering 339 references.
... MPM is itself a development in particle cell method (PIC) tailored for solid mechanic by Sulsky et al. [11], [12]. Material Point Method simulations have the advantage of being free from mesh tangling common e.g. in the Finite Element Method and have no problem in modelling fluid-structure interaction [13] while using the continuum mechanics framework. In this research, GIMP method encoded in the software suite Uintah (http://uintah.utah.edu) ...
Conference Paper
Full-text available
Landslides and avalanches cause loss of lives, as well as generate significant economic cost. Protection barriers help reduce the impact of such events. However, the design of the barriers requires the prediction of the landslide flow trajectory and the estimation of impact force. Material Point Method appears to have great potential for estimating those, since it can account for large displacement nature of sediment flows and their nonlinear behaviour. Therefore, it may be able to capture the complex interaction of landslides or avalanches with the ground and structures. This study focuses on simulating granular flows with Generalized Interpolation Material Point Method. The calculations use a constitutive model inspired by the Bagnold theory of granular flow to model sand landslide / avalanche experiment with sand treated as a linear elasto-plastic material. Shown simulations aim was to replicate the experiment. In particular, the paper focuses on estimation of the impact force of sand flow on a fixed rigid wall. Such force estimation is a first step to validate the Generalized Interpolation Material Point Method for use as a tool for the design of barriers defending against landslides and avalanches.
... In this section we give a brief account of MPM for solid mechanics. We refer to [7] for a comprehensive treatment of MPM and to the note [52] for beginners where implementation details with Matlab code snippets are provided. The discussion is confined to explicit time integration as it is the most widely used time integrator in MPM. ...
Article
Full-text available
We present a family of convected particle domain interpolations (CPDIs) within the framework of the material point method (MPM). That includes two dimensional triangular, quadrilateral, and polygonal CPDIs and three dimensional tetrahedron and polyhedron CPDIs. Theoretical derivations as well as computer implementation aspects are provided. A new perspective of CPDIs is given to link it to the recent works on the coupling of MPM and finite element method. Numerical examples are given to demonstrate the proposed method.
Article
Full-text available
In the field of in situ mechanical characterization of soils, penetration tests are commonly used. Penetration tests measure the properties of soils in the domain of large deformations. The tip resistances, deduced from pile driving theory, can be measured either in dynamic conditions (q d ) either in static conditions (q c ). Recently, the measurement technique in dynamic conditions has been improved and it is now possible to record the whole response of the soil during one impact in terms of tip force and penetration distance. The exploitation of this new curve provides information not only on dynamic tip resistance but also on additional mechanical parameters involved during the driving of the tip. The objective of this work is to develop a numerical model in 2D able to reproduce the penetrometric record obtained experimentally by static or dynamic penetration tests. This model is based on the discrete element method with a simple linear contact model. After the validation of the model, a parametric study was performed essentially on the loading type (static or dynamic), the penetration rate, the particle size of the granular material and the arrangement (density variation). Besides the influence of these parameters on the penetrometer signals and the tip resistance, a particular attention was focused on micromechanical analysis: energy dissipation in the medium, force chain evolution, contact orientation. This analysis requires the development of specific numerical tools to better understand the penetration mechanism and try to explain the macroscopic mechanical response obtained. The penetration rate influences significantly only in the dense flow regime on the static and dynamic penetration tests. There is no significant microscopic difference between static and dynamic penetration tests with similar penetration rates. Regarding the influence of the characteristics of the material, the numerical results obtained conform to the real results when the particle friction or the compactness of the medium varies. Concerning the particle size, the dynamic signal variation and the dynamic tip force increases when the average particle diameter increases.
Article
Full-text available
The Material Point Method (MPM) has shown itself to be a powerful tool in the simulation of large deformation problems, especially those involving complex geometries and contact where typical finite element type methods frequently fail. While these large complex problems lead to some impressive simulations and solutions, there has been a lack of basic analysis characterizing the errors present in the method, even on the simplest of problems. The large number of choices one has when implementing the method, such as the choice of basis functions and boundary treatments, further complicates this error analysis. In this paper we explore some of the many choices one can make when implementing an MPM algorithm and the numerical ramifications of these choices. Specifically, we analyze and demonstrate how the smoothing length within the Generalized Interpolation Material Point Method (GIMP) can affect the error and stability properties of the method. We also demonstrate how various choices of basis functions and boundary treatments affect the spatial convergence properties of MPM.
Article
Full-text available
1] The material-point method (MPM) is a numerical method for continuum mechanics that combines the best aspects of Lagrangian and Eulerian discretizations. The material points provide a Lagrangian description of the ice that models convection naturally. Thus properties such as ice thickness and compactness are computed in a Lagrangian frame and do not suffer from errors associated with Eulerian advection schemes, such as artificial diffusion, dispersion, or oscillations near discontinuities. This desirable property is illustrated by solving transport of ice in uniform, rotational and convergent velocity fields. Moreover, the ice geometry is represented by unconnected material points rather than a grid. This representation facilitates modeling the large deformations observed in the Arctic, as well as localized deformation along leads, and admits a sharp representation of the ice edge. MPM also easily allows the use of any ice constitutive model. The versatility of MPM is demonstrated by using two constitutive models for simulations of wind-driven ice. The first model is a standard viscous-plastic model with two thickness categories. The MPM solution to the viscous-plastic model agrees with previously published results using finite elements. The second model is a new elastic-decohesive model that explicitly represents leads. The model includes a mechanism to initiate leads, and to predict their orientation and width. The elastic-decohesion model can provide similar overall deformation as the viscous-plastic model; however, explicit regions of opening and shear are predicted. Furthermore, the efficiency of MPM with the elastic-decohesive model is competitive with the current best methods for sea ice dynamics.
Article
The material point method (MPM) uses unconnected, Lagrangian, material points to discretize solids, fluids or membranes. All variables in the solution of the continuum equations are associated with these points; so, for example, they carry mass, velocity, stress and strain. A background Eulerian mesh is used to solve the momentum equation. Data mapped from the material points are used to initialize variables on the background mesh. In the case of multiple materials, the stress from each material contributes to forces at nearby mesh points, so the solution of the momentum equation includes all materials. The mesh solution then updates the material point values. This simple algorithm treats all materials in a uniform way, avoids complicated mesh construction and automatically applies a noslip contact algorithm at no additional cost. Several examples are used to demonstrate the method, including simulation of a pressurized membrane and the impact of a probe with a pre-inflated airbag. Copyright (C) 2000 John Wiley & Sons, Ltd.
Article
The material-point method (MPM) is extended to handle membranes, which are discretized by a collection of unconnected material points placed along each membrane surface. These points provide a Lagrangian description of the membrane. To solve for the membrane motion, data carried by the material points are transferred to a background mesh where equations of motion are discretized and solved. Then the solution on the background mesh is used to update the membrane material points. This process of combining Lagrangian and Eulerian features is standard in MPM; the modification for membranes involves merely an implementation of the constitutive equation in a local, normal-tangential coordinate system. It is shown that this procedure does, in fact, provide adequate resolution of membranes with thicknesses that can vary substantially from that of the background mesh spacing. A general formulation is given, but the implementation is in a two-dimensional code that provides a proof-of-principle.Numerical examples including a spring, pendulum and a string with initial slack are used to illustrate the method. The string with slack uses an additional modification of the membrane constitutive equation that allows wrinkles to be modeled at low computational cost. Presented also are examples of two disks impacting, pinching a membrane and rebounding, a difficult problem for standard finite element codes. These simulations require a relaxation of the automatic no-slip contact algorithm in MPM. The addition of the capability to model membranes and the new contact algorithm provide a significant improvement over existing methods for handling an important class of problems. Copyright © 1999 John Wiley & Sons, Ltd.
Article
An extension to solid mechanics of the FLIP particle-in-cell method is presented. The particle-in-cell method uses two representations of the continuum, one based on a collection of material points and the other based on a computational grid. The material points are followed throughout the deformation of a solid and provide a Lagrangian description that is not subject to mesh tangling. This feature permits constitutive equations with history-dependent variables to be applied at these material points with no requirement for mapping the history parameters from one point to another. A grid, which can be held fixed or adapted as the need arises, is used to determine spatial gradients. Since the grid is used as an updated Lagrangian frame, the nonlinear convection term associated with Eulerian formulations does not appear. With the use of maps between material points and the grid, the advantages of both Eulerian and Lagrangian schemes are utilized. No-slip impact between bodies, inelastic, elastic, or rigid, is handled automatically by the method without resorting to a special contact algorithm.
Article
The material point method is an evolution of particle-in-cell methods which utilize two meshes, one a material or Lagrangian mesh defined over material of the body under consideration, and the second a spatial or Eulerian mesh defined over the computational domain. Although meshes are used, they have none of the negative aspects normally associated with conventional Eulerian or Lagrangian approaches. The advantages of both the Eulerian and Lagrangian methods are achieved by using the appropriate frame for each aspect of the computation, with a mapping between the two meshes that is performed at each step in the loading process. The numerical dissipation normally displayed by an Eulerian method because of advection is avoided by using a Lagrangian step; the mesh distortion associated with the Lagrangian method is prevented by mapping to a user-controlled mesh. Furthermore, explicit material points can be tracked through the process of deformation, thereby alleviating the need to map history variables. As a consequence, problems which have caused severe numerical difficulties with conventional methods are handled fairly routinely. Examples of such problems are the upsetting of billets and the Taylor problem of cylinders impacting a rigid wall. Numerical solutions to these problems are obtained with the material point method and where possible comparisons with experimental data and existing numerical solutions are presented.
Article
The material point method (MPM) for solid mechanics conserves mass and momentum by construction, but energy conservation is not explicitly enforced. Material constitutive response and internal energy are carried on discrete points (material points), while the governing equations are solved on an overlying grid. The constitutive response (and internal energy) may be updated at the beginning or end of a numerical time step without affecting mass or momentum conservation properties. Both versions of the algorithm have been applied in the literature. Here energy conservation on the material points is investigated and found to depend strongly on the version of the algorithm used. The energy error is found and partitioned into two terms, one of which is of definite sign (and dissipative). The other term is indefinite, and of opposite sign for the two algorithmic variations. It is shown analytically for a single-material-point free-vibration example that one version of the algorithm is strictly dissipative. For the other version the error terms cancel each other out and energy is conserved. The same trends are borne out in numerical solutions of free axial vibration of continuum bars as the wavelength of the vibrational mode begins to approach the computational cell size. The dissipative algorithm may be described as tending to damp out unresolved modes. For resolved modes, both algorithms give identical results, with no perceptible energy error or dissipation. It is suggested that the dissipative algorithm is a better choice in general, as the damping is consistent with the accuracy of the solution.
Article
A broad class of engineering problems including penetration, impact and large rotations of solid bodies causes severe numerical problems. For these problems, the constitutive equations are history dependent so material points must be followed; this is difficult to implement in a Eulerian scheme. On the other hand, purely Lagrangian methods typically result in severe mesh distortion and the consequence is ill conditioning of the element stiffness matrix leading to mesh lockup or entanglement. Remeshing prevents the lockup and tangling but then interpolation must be performed for history dependent variables, a process which can introduce errors. Proposed here is an extension of the particle-in-cell method in which particles are interpreted to be material points that are followed through the complete loading process. A fixed Eulerian grid provides the means for determining a spatial gradient. Because the grid can also be interpreted as an updated Lagrangian frame, the usual convection term in the acceleration associated with Eulerian formulations does not appear. With the use of maps between material points and the grid, the advantages of both Eulerian and Lagrangian schemes are utilized so that mesh tangling is avoided while material variables are tracked through the complete deformation history. Example solutions in two dimensions are given to illustrate the robustness of the proposed convection algorithm and to show that typical elastic behavior can be reproduced. Also, it is shown that impact with no slip is handled without any special algorithm for bodies governed by elasticity and strain hardening plasticity.
The material point method for simulation of thin membranes
  • D Ar York
  • H L Sulsky
  • Schreyer
AR York, D. Sulsky, and HL Schreyer. The material point method for simulation of thin membranes. International Journal for Numerical Methods in Engineering, 1456(May 1998), 1999.