11
Chapter 2
Discrete Methods
In this chapter, we review the procedures used in the classic discrete element method and
contact dynamics to determine the contact forces and particle kinematics.
2.1 Discrete Element Method
The two defining features of the classic DEM [24] are particle deformability and the use of an
explicit time integration algorithm to resolve particle collisions. Here, particle deformability
refers to use of springs to model the contact forces, which act only when there is particle
overlap. These two features imply that the time step must be smaller than the elastic
response time for numerical stability. In this section, we discuss these two features in
detail.
2.1.1 Normal force and associated moments
To show how the contact forces are calculated, we can focus on the case of single cohesionless
contact between two particles. Consider a grain Ωi with a potentially contacting neighbor
grain Ωj , as shown in Figure 2.1. The effective normal contact force on grain Ωi at the
contact point is calculated using a linear elastic stiffness model such that
f in =
kNgn, if g < 0
0, otherwise
(2.1)
where kN is the normal elastic stiffness and gnmeasures the penetration or overlap in vector
form, determined by some contact algorithm (e.g., the closest point projection operation
12
Ωi
Ωj
x y
z
Ri
Rj
g > 0nt
Figure 2.1: Illustration of two particles (Ωi and Ωj) that are potentially contacting. The gapg between the particles is positive if the particles are separated, and negative if the particlesoverlap. The moment arms emanating from each particle’s centroid to its correspondingcontact point are denoted by Ri and Rj for Ωi and Ωj , respectively.
described in Chapter 3). The sign convention used is that the normal vector n points away
from the grain of interest, which means that gn with g < 0 has a direction pointing toward
grain Ωi. By action and reaction, the effective normal contact force on grain Ωj contacting
with grain Ωi is then
f jn = −f in (2.2)
Denoting the moment arm extending from the centroid of grain Ωi to the contact point
by Ri, the moment due to normal force is calculated as
min = Ri × f in (2.3)
Similarly, the moment due to normal force on the contacting grain Ωj is
mjn = Rj × f jn (2.4)
where Rj is the moment arm extending from the centroid of grain Ωj to the contact point.
13
Remark 2.1.1 In the case of disks or spheres, the signed gap g is calculated as
g = Ri +Rj − ‖xi − xj‖ (2.5)
where Ri and Rj are the radii of particles i and j, respectively. The corresponding particle
centroids are xi and xj.
2.1.2 Tangential force and associated moments
For simplicity, the incremental tangential forces are calculated here using the simple Coulomb
friction model proposed in [24; 53]. In this model, the tangential stiffness is initialized at
time of first contact and exists until the grains separate. The velocity of grain Ωi relative
to grain Ωj at the contact point is calculated as
vrel = vi + ωi ×Ri − vj − ωj ×Rj (2.6)
where vi and vj are the translational velocities, and ωi and ωj are the angular velocities in
global coordinate frame of grains Ωi and Ωj , respectively. We then calculate the incremental
displacement as
∆u = vrel∆t (2.7)
The increment in shear force on grain Ωi is calculated as
∆f is = −kT∆s (2.8)
where kT is the shear spring stiffness and
∆s = ∆u− (∆u · n)n (2.9)
is the tangential incremental displacement obtained by projecting the incremental displace-
ment in the tangential direction. By action and reaction, the increment in shear force on
grain Ωj is
∆f jt = −∆f it (2.10)
14
Before the previous shear force can be updated, it needs to be corrected to account for the
incremental rotation of the contact plane. The previous shear force vector at the contact
point on grain Ωp is first corrected as
f it := Z f it (2.11)
where Z is the rotation matrix that rotates the previous normal vector nprev to the current
normal vector n. The shear force on grain Ωi is updated as
f it := f it + ∆f it (2.12)
and then capped as
f it := f it
(fmax
‖f it‖
)(2.13)
where
fmax = ‖f in‖ tanφ (2.14)
with φ being the interparticle friction angle. Again, by action and reaction, the shear force
on grain Ωj contacting with grain Ωj is
f jt = −f it (2.15)
Finally, the corresponding moments associated with the tangential forces are
mit = Ri × f it (2.16)
mjt = Rj × f jt (2.17)
for grains Ωi and Ωj , respectively.
2.1.3 Discrete equations of motion
In DEM, the equations of motion are integrated explicitly, particle-by-particle, using infor-
mation from the previous time step. As such, in discussing the discrete equations of motion,
we can focus on an individual particle. We assume that the resultant force and moment,
obtained from summing all the forces and moments induced by contact interactions between
15
the particle and its contacting neighbors, are given. We first consider the translational com-
ponents. The equation governing translational motion of the grain’s center of mass is given
by Newton’s law:
M ai + C vi = Fi (2.18)
where i = 1, 2, 3 in three dimensions, M is the mass of the grain, and C = ξM is the
damping, which proportionally scales the linear velocity vi, with ξ being the global damping
parameter. The linear acceleration is given by ai and is related to the resultant force Fi. To
integrate the translational components of motion, we employ the centered finite-difference
integration scheme proposed in [24]:
vn+1/2i =
1
1 + ξ∆t/2
[(1− ξ∆t/2) v
n−1/2i +
∆t
MFi
](2.19)
xn+1i = xni + ∆t v
n+1/2i (2.20)
The control points of the NURBS patches in the grain are then translated by displacements
according to ∆t vn+1/2i .
For the 2D case, the discrete equations for integrating the rotational degree of freedom
are analogous to those for the translations. For 3D, however, this is not the case. For the
rotational components of motion in 3D, it is convenient to work in principal body-fixed
frame. For the rest of this section, unless noted otherwise, we work with quantities that are
defined with respect to the principal body-fixed frame. Consider the angular accelerations
αi given through the Euler’s equations of motion as
α1 = [m1 + ω2 ω3(J2 − J3)− ξJ1 ω1] /J1 (2.21)
α2 = [m2 + ω3 ω1(J3 − J1)− ξJ2 ω2] /J2 (2.22)
α3 = [m3 + ω1 ω2(J1 − J2)− ξJ3 ω3] /J3 (2.23)
where ωi for i = 1, 2, 3 are the angular velocities, mi are the moments, and Ji are the
principal moments of inertia. Here, inertia-proportional damping is included via the global
damping parameter ξ. The Euler equations are nonlinear due to the presence of the products
of angular velocities on the right hand side. Therefore, to appropriately integrate the
16
rotational components of motion, we use a predictor-corrector algorithm proposed in [54],
which can be described in the following steps:
1. Estimate the angular velocities at the current time step by assuming constant angular
acceleration for an additional half step:
ω′ ni = ω
n− 12
i +1
2∆ωn−1
i (2.24)
where ∆ωn−1i = αn−1
i ∆t.
2. Calculate angular velocity predictors using the above estimates:
∆ω′ n1 = ∆t
[mn
1 + ω′ n2 ω
′ n3 (J2 − J3)− ξJ1 ω
′ n1
]/J1 (2.25)
∆ω′ n2 = ∆t
[mn
2 + ω′ n3 ω
′ n1 (J3 − J1)− ξJ2 ω
′ n2
]/J2 (2.26)
∆ω′ n3 = ∆t
[mn
3 + ω′ n1 ω
′ n2 (J1 − J2)− ξJ3 ω
′ n3
]/J3 (2.27)
3. Predict angular velocities at the current time step:
ωni = ωn− 1
2i +
1
2∆ω
′ ni (2.28)
4. Calculate angular velocity correctors:
∆ωn1 = ∆t [mn1 + ωn2 ω
n3 (J2 − J3)− ξJ1 ω
n1 ] /J1 (2.29)
∆ωn2 = ∆t [mn2 + ωn3 ω
n1 (J3 − J1)− ξJ2 ω
n2 ] /J2 (2.30)
∆ωn3 = ∆t [mn3 + ωn1 ω
n2 (J1 − J2)− ξJ3 ω
n3 ] /J3 (2.31)
Additional iterations are performed by repeating steps 1 through 4 until the correctors
converge to some desired tolerance.
5. Update angular velocities using the correctors:
ωn+ 1
2i = ω
n− 12
i + ∆ωni (2.32)
For small time steps used to resolve the interparticle contacts and for quasi-static conditions
17
in which the angular velocities are small, the number of iterations is typically small. Usually,
between 3 and 5 iterations are required to achieve machine precision tolerance.
After obtaining the angular velocities, the orientation of the principal body-fixed frame
is updated using the singularity-free quaternion approach in [55], which is described as
follows. The rotation matrix that transforms vectors in global space to vectors in body
frame is given by
A =
−q21 + q2
2 − q23 + q2
4 −2 (q1 q2 − q3 q4) 2 (q2 q3 + q1 q4)
−2 (q1 q2 + q3 q4) q21 − q2
2 − q23 + q2
4 −2 (q1 q3 − q2 q4)
2 (q2 q3 − q1 q4) −2 (q1 q3 + q2 q4) −q21 − q2
2 + q23 + q2
4
(2.33)
where the qi’s are the quaternions defined by
q1 = sin
(θ
2
)sin
(ψ − φ
2
)(2.34)
q2 = sin
(θ
2
)cos
(ψ − φ
2
)(2.35)
q3 = cos
(θ
2
)sin
(ψ + φ
2
)(2.36)
q4 = cos
(θ
2
)cos
(ψ + φ
2
)(2.37)
and φ, θ, and ψ are the Euler angles in the z x′z′ notational convention [56]. The initial
values of the quaternions are calculated using the initial configurations of the grains before
the start of the simulation.
The time derivatives of the quaternions can be expressed in terms of products of the
quaternions with the angular velocities as a singularity-free set of equations:
q1
q2
q3
q4
=1
2
−q3 −q4 q2
q4 −q3 −q1
q1 q2 q4
−q2 q1 −q3
ω1
ω2
ω3
(2.38)
with closure of the above system given by the normalization relation
4∑
i=1
qi = 1 (2.39)
18
The above system of equations can be solved using an explicit finite difference scheme [54],
which results in the following update equation:
qn+1 = B−1BTqn (2.40)
where
qn =
qn1
qn2
qn3
qn4
, B =
1 −β3 β1 β2
β3 1 β2 −β1
−β1 −β2 1 −β3
−β2 β1 β3 1
(2.41)
and
βi =∆t
4ωn+ 1
2i (2.42)
and where T is the transpose operator. We note that equation (2.40) can be solved in
closed form as described in [54]. It has been shown in [55] that equation (2.38) maintains
the orthogonality relation of equation (2.39). Normalization of the quarternions, however,
is performed after each integration step to prevent normalization failure resulting from
round-off error.
The matrix An+1 of equation (2.33) at tn+1 can be evaluated using the quaternions in
qn+1. The updated orientation (triads) of the principal body-fixed frame is then given by
the rows An+1. The required rotation matrix for rotating the particle about its center of
mass is obtained as
Πn+1 = An+1TAn (2.43)
In the next calculation cycle, the moments on each grain due to interparticle contact,
calculated in the global frame, are transformed into the principal body-fixed frame using
An+1.
Damping is used to achieve quasi-static conditions by utilizing the so-called dynamic
relaxation, which allows the dissipation of accelerations, hence making all resulting forces
19
vanish, achieving in this way static equilibrium [57].
Verification tests on the classic DEM are shown in Appendix A.1.
2.2 Contact Dynamics
In contrast with DEM, CD considers the deformation of the granular medium as a whole,
determined exclusively by geometric rearrangements of rigid particles [58]. The CD formula-
tion appears to originate from the works of Lotstedt [59; 60], which provide the formulation
of the contact problem between rigid bodies as a linear complementarity problem (LCP).
Further analysis and development of solution procedures by Moreau [61] and Jean [62] led
to the introduction of CD to the granular materials research community.
In this section, we provide the basics of CD and highlight the major differences be-
tween CD and DEM. For simplicity, we will work under the assumption of near quasi-static
conditions in which the angular velocities are small. In this case, the terms containing
products of angular velocities in equation (2.23) are neglected. In addition, for the purpose
of illustrating the time integration scheme, we will assume that the coefficient of restitution
between two particles is zero. This assumption can be shown to correspond to the fully
implicit or backward Euler scheme (see Chapter 4).
The rigidity of the particles requires that the non-penetration constraint is enforced
between particles. This constraint is embodied in the non-smooth graph of normal reaction
force versus the gap or separation between two particles, as shown in Figure 2.2(a). The non-
(a) (b)
g
µp
−µp
slip
qp
Figure 2.2: Graph of non-smooth contact laws: (a) normal reaction force p against separa-tion or gap g and (b) friction force ‖q‖ against slip; µ is the friction coefficient.
20
penetration constraint is sometimes described as unilateral, which means that the normal
reaction is active when the gap is zero and is zero otherwise. In addition, a non-sliding
constraint of frictional contacts is required. The most basic of such constraint is given by
the Coulomb threshold, as shown in Figure 2.2(b).
To explain the single-contact update procedure, consider the following generalized ve-
locity and force vectors:
V =
vi
ωi
vj
ωj
(2.44)
Λ =
λ
Ri × λ−λ
−Rj × λ
(2.45)
where λ is the yet to be determined constraint force, and Ri,Rj are again the moment
arms, as shown in Figure 2.1. We can reexpress equations (2.45) in linear form as
Λ =
I
−Ri
−I
Rj
λ = Hλ (2.46)
where Ri is the matrix containing the components of the radius vector Ri arranged in the
form
Ri =
0 −Ri,3 Ri,2
Ri,3 0 −Ri,1−Ri,2 Ri,1 0
(2.47)
21
The relative velocity (2.6) can then be written as
vrel = HTV (2.48)
The equations of motion for the two interacting particles are given by
dV
dt= M−1
eff (Λ + F ext) (2.49)
where M eff is the effective mass matrix given by
M eff =
mi1 0 0 0
0 J i1 0 0
0 0 mj1 0
0 0 0 J j1
(2.50)
and F ext is the generalized external load vector containing the external translational forces
and moments acting on the particles. Using equations (2.46) and (2.48), we can rewrite
(2.49) as
dvrel
dt= HTM−1
effHλ+dvfree
dt(2.51)
where
dvfree
dt= HTM−1F ext (2.52)
is the acceleration without any interaction between the particles.
Discretizing equation (2.51) using a backward Euler scheme gives the discrete equation
corresponding to equation (2.51) as
vrel − vfree
∆t= HTM−1
effHλ (2.53)
with the new velocity without any interaction between the particles calculated as
vfree = v0rel +HTM−1F ext∆t (2.54)
22
where the quantities λ and vrel are unknowns and v0rel is the known relative velocity from
the previous time step. To determine the unknowns, the steps in Algorithm 1 are applied.
1: Check if gap is open after one time step: g + ∆tvfree · n > 0 ? Yes, set λ = 0 andvrel = vfree and exit. No, go to next step.
2: Compute new relative velocity assuming gap is closed: g + ∆tvrel · n = 0. Assumenon-sliding contact, i.e., zero tangential velocity vt rel = 0. Let vrel = −(g/∆t)n.Compute:
• Constraint force λ from equation (2.53)
• Contact normal force p = λ · n• Contact shear force q = λ− pn
Check Coulomb threshold: ‖q‖ ≤ µp ? Yes, accept vrel, λ and exit. No, go to nextstep.
3: Gap is still closed f = 0 but vt rel 6= 0. Let vrel = −(g/∆t)n+ vt rel. Solve equation(2.53) for λ and vt rel subject to:
q = −µ p vt rel
‖vt rel‖
Algorithm 1: Single-Contact Update Algorithm
Remark 2.2.1 Algorithm 1 is reminiscent of the return mapping algorithm used for elasto-
plasticity constitutive updates [63].
We note that Algorithm 1 applies only to the single-contact case. In general, the multi-
contact case applies, in which case the generalized load vector includes constraint forces
and moments from neighboring contacts. It can then be shown that the resulting global
equilibrium equation resembles a Laplace-type equation that couples all the constraint forces
and moments, and hence these cannot be computed locally. Moreover, these constraint
forces need to satisfy the non-penetration and non-sliding constraints at every contact. An
iterative scheme is applied within each time step to obtain a globally consistent set of forces
satisfying all the required constraints. In each iteration, a contact is selected and updated
based on the contact law for the single-contact case, independent of the other contacts. The
selection of contact for update is performed randomly through either a sweep or sequentially
over the contact set. In the case of a random sweep, each contact is selected exactly once
within the iteration while for the random sequential update, the same contact could be
selected more than once. The iterative procedure causes a relaxation of forces to a globally
consistent solution analogous to the behavior of information spreading in a diffusive (heat)
23
system. For a system with rigid particles, the number of unknowns in general exceeds the
number of equilibrium equations. As such, there could be more than one globally consistent
solution to the system. Therefore, it is crucial that the selection of contacts avoids any bias
in information spreading in the system during the relaxation process.
Alternatively, the coupling of all the constraint forces and moments can be dealt with by
directly solving the mixed LCP associated with the discrete update equations and contact
constraints [64–68]. While small instances of LCPs often can be solved efficiently by means
of pivot based algorithms such as that of Lemke [69], methods for larger problems still lag
far behind current convex program solvers [70], e.g., second-order cone programs (SOCPs),
as far as efficiency and robustness are concerned. Newton-based algorithms for LCP have
also been developed [71] and although these methods in principle offer the same advantages
as their convex programming counterparts, their performance has been shown to be highly
problem dependent and convergence is generally not guaranteed. Moreover, while convex
programs admit a straightforward analysis of existence and uniqueness properties (and most
implementations automatically detect infeasibility, i.e., non-existence), LCPs are in general
much harder to gauge with respect to these properties. This leads to a situation where one
is unable to distinguish between algorithmic failure and non-existence of solutions [72].
In general, the implementation of solution procedures for CD is quite complicated and
this remains the primary reason why CD has not been widely adopted by the granular
research community despite favorable performance that has been shown through a number
of studies [73–83]. In Chapter 4, we present a new formulation of CD that is numerically
more palatable and significantly easier to implement.
Top Related