File Dae5c
File Dae5c
by
Luning Fang
Doctor of Philosophy
(Mechanical Engineering)
at the
UNIVERSITY OF WISCONSIN–MADISON
2022
The dissertation is approved by the following members of the Final Oral Committee:
Dan Negrut, Professor, Mechanical Engineering
Melih Eriten, Professor, Mechanical Engineering
Krishnan Suresh, Professor, Mechanical Engineering
Mike Zinn, Professor, Mechanical Engineering
Eftychios Sifakis, Professor, Computer Science
© Copyright by Luning Fang 2022
All Rights Reserved
i
To My Family
ii
ac k n ow l e d g m e n t s
I would like to express my sincere gratitude to my advisor, Professor Dan Negrut, for his
continuous support and guidance for my research, for his expertise and wisdom, and for his
patience with me. Him leading by example as a mentor who is passionate about research and
cares for his students will continuously inspire me throughout my life.
Thank all the past and current members of Simulation-based Engineering Lab for interesting
discussions and collaborations.
I want to thank my husband, Brock, for motivating me along the journey, and for doing
as much childcare as he can. Last but not least, I want to thank my parents for their
unconditional love.
iii
contents
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Handling of body attitude using Lie-integration . . . . . . . . . . . . 2
1.2.2 Handling of friction and contact . . . . . . . . . . . . . . . . . . . . . 4
1.3 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Multibody Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Generalized coordinates . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Bilateral constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Kinematics analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4 Equations of motion . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.5 Formulating Differential Algebraic Equations of motion . . . . . . . . 13
2.1.6 Posing Differential Algebraic Equations of motion using Euler Parameters 14
2.1.7 Solving Differential Algebraic Equations of motion . . . . . . . . . . . 16
2.2 Handling Friction and Contact in Multibody Dynamics . . . . . . . . . . . . 19
2.2.1 Discrete Element Method . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Differential Variational Inequalities . . . . . . . . . . . . . . . . . . . 28
2.2.3 Comparison between DEM and DVI . . . . . . . . . . . . . . . . . . 30
7 Validations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.1 Small-scale Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.1.1 Head-on collision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.1.2 Brick sliding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.1.3 Oblique impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
v
8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.1 Conclusions and Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
A Appdices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.1 Lagrange Multiplier Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.2 Newton–Raphson method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.3 Partial derivatives of unit surface normal on an ellipsoid . . . . . . . . . . . 147
A.4 Principal directions on an ellipsoid . . . . . . . . . . . . . . . . . . . . . . . 148
A.5 Material-based parameters in normal and tangential force models . . . . . . 150
A.6 Finding the contact frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.7 Analytical solution of a sphere rolling on an incline . . . . . . . . . . . . . . 152
A.8 Spinning stiffness Kψ based on Hertzian contact theory . . . . . . . . . . . . 154
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
vi
l i s t o f ta b l e s
3.1 The number of bodies nb , the number of basic constraints and the Degree of
Freedom (DOF) in each mechanism. . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Properties of double pendulum setup (SI units). . . . . . . . . . . . . . . . . . . 48
3.3 Properties of the four–link mechanism (SI units). . . . . . . . . . . . . . . . . . 48
3.4 Mass and inertia properties of each body of the slider–crank mechanism (SI units). 49
3.5 DP1 driving constraints of the slider–crank and four–link mechanisms. . . . . . 49
4.1 Various values of the body bj curvature κj lead to different rolling friction pa-
rameters KR and threshold deflection Θ■
i for body bi , see Eq.(4.6) and Eq.(4.7).
For rolling mode rm == s, replace the black square ■ with s; for rolling mode
rm == d, replace it with d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2 Brick on incline parameters (all SI units). . . . . . . . . . . . . . . . . . . . . . 76
4.3 Rolling disk parameters (all SI units). . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4 Four steady-state configurations for sphere on incline. Acronyms: “S” – Static;
“PR” – Pure Rolling; “PS” – Pure Slip; “RwS” – Rolling with Slipping. . . . . . 85
4.5 Sphere parameters, physics-based model (all SI units). . . . . . . . . . . . . . . 87
4.6 Ellipsoid parameters (all SI units), used in subsections 4.4.6.1. . . . . . . . . . . 89
4.7 Effect of curvature on spinning using KE = 5 × 106 N/m. . . . . . . . . . . . . . 92
5.1 Sphere rolling on a concave surface, parameters for the friction model in Chap. 4. 110
6.1 Various data type in Chrono::GPU and their memory location. . . . . . . . . . . 115
list of figures
2.1 Backward Euler scheme for solving Differential Algebraic Equations of motion
using Newton–Raphson method. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Coulomb friction force Ft vs relative slip velocity vrel,t . . . . . . . . . . . . . . . 19
2.3 Two approaches for handling friction and contact in multibody dyanmics, DEM
and DVI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Contact forces that describe particle-particle interaction: from left to right, normal
force Fn , tangential friction force Ft , rolling friction torque Mr and spinning
friction torque Msp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 DEM Kinematic relation when sphere i comes into contact with sphere j. . . . . 21
2.6 Pressure profile at contact patch when there is no relative rolling (left) vs relative
rolling(right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Several kinematic quantities that come into play when the contact point moves
on the surfaces of bi and bj as the time advances from t0 to t1 . The length of the
arcs ⃗si and ⃗sj are exaggerated; in simulation Cj0 and Cj1 are close to each other. 66
4.2 The projection process that leads to C̄i0 and C̄j0 of body i and j, respectively. . . 68
4.3 The process of realigning the (n1 , ū1 , w̄1 ) to the (n1 , u1 , w1 ) reference frames.
Note that the realigning process takes p̄j into pj and that the angle between p̄j
and ū1 is equal to the angle between pj and u1 . The image also illustrates the
spin angle ψ. In the example shown, (n1 , ū1 , w̄1 ) undergoes a counterclockwise
rotation of angle ψ to overlap (n1 , u1 , w1 ) . . . . . . . . . . . . . . . . . . . . . 68
4.4 Body bi on top, with κi > 0. Three scenarios shown for body bj : positive, zero,
and negative curvature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5 Brick on incline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6 Brick on an incline simulation with (red) and without (blue) damping in friction
force. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.7 Brick on inclines of different angles α = tan−1 µk , tan−1 µs and 0.25. . . . . . . . 78
4.8 Rolling disk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.9 Kinematics and friction forces of a disk rolling on flat surface. . . . . . . . . . . 80
4.10 Comparison using different damping coefficient, Dr and KD . . . . . . . . . . . . 81
x
4.11 Angular position (left) and rolling friction torque (right) using different rolling
friction models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.12 Sphere going up an incline of 35o with v0 = 0.5m/s. . . . . . . . . . . . . . . . . 84
4.13 Steady state, captured at the end of the simulation, for sphere rolling up an incline
scenario 4.4.4, color indicates different steady-state configurations. . . . . . . . . 85
4.14 Snapshots, sphere spinning, empirical model; ηψ = 0.006, K = 5, ω0 = 1rad/s. . 86
4.15 Angular velocity ω over time using various ηψ (left); Global contact frame when
the sphere settles(right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.16 Sphere spinning; physics-based model. . . . . . . . . . . . . . . . . . . . . . . . 88
4.17 Snapshots of ellipsoid “falling over”. For closure, a Hookean normal force model
was used; the penetration was computed at each time step via collision detection. 90
4.18 Ellipsoid spinning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.19 Snapshots of three-sphere stacking problem. . . . . . . . . . . . . . . . . . . . . 94
6.1 Representing particle position indirectly through owner SD as Pglobal = Ploc + PSD .116
6.2 The co-simulation workflow in one time step. . . . . . . . . . . . . . . . . . . . . 117
7.1 Before and after sketches of a head-on collision of two spheres without gravity. . 119
xi
7.2 Ratio between the rebound velocity and the initial velocity ∥vend /vi ∥ in head-on
collision tests using various COR in the normal force model (left); Differences
between vend /vi from the simulation and the COR assigned to the normal force
model. (right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.3 Before and after sketch of a brick sliding on a flat surface of friction coefficient µ. 120
7.4 Relative distance between actual sliding distance and vi2 /2µg . . . . . . . . . . . 120
7.5 Analytical and numerical tangential COR et for impact angle θ, where e = 1,
µs = 0.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.6 Oblique impact test results with various impact angle θ, where e = 1, µs = 0.3,
vn = 3.132 m s−1 , R=0.5 m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.7 Minimum mass of top sphere mctop for the pile to collapse. . . . . . . . . . . . . 124
7.8 Goldenberg test diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.9 Force profiles on the bottom in response to different values of applied forces, Fext ,
at the top of the grid at pos = 0, the effect of gravity is excluded. . . . . . . . 127
7.10 Normalized vertical forces at the bottom center with various normalized Fext /mg 128
7.11 Direct shear test setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.12 Shear stress vs shear displacement relation under various normal stress. . . . . . 130
7.13 Cratering test setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14 Penetration depth d over scaled drop height H. . . . . . . . . . . . . . . . . . . 132
7.15 Effect of the depth of the granular material on collision behavior, earth gravity. 133
7.16 Effect of the impact velocity and rolling friction coefficient µr on collision behavior,
earth gravity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.17 Effect of the depth of the granular material on collision behavior, low gravity . . 135
7.18 Effect of the impact velocity on collision behavior, low gravity . . . . . . . . . . 135
7.19 Steady-state flow patterns with increasing Froude number. Particles are colored
by normalized velocity magnitude, ∥v∥/ωRdrum . . . . . . . . . . . . . . . . . . . 137
7.20 Co-simulation framework of the single wheel test using MPI. . . . . . . . . . . . 140
xii
7.21 Drawbar pull, torque and sinkage over different slip ratio using various rolling
friction coefficient µr ; all tests used µs = 0.9. . . . . . . . . . . . . . . . . . . . . 140
7.22 Drawbar pull, torque and sinkage over different slip ratio using various sliding
friction coefficient µSS
s ; all tests used µr = 0.2. . . . . . . . . . . . . . . . . . . . 141
7.23 Drawbar pull, torque and sinkage over different slip ratio using µSS
s = 0.9 and
A.1 Evaluate the global contact frame at current time step . . . . . . . . . . . . . . 152
A.2 Spinning rotation of the contact area and the distribution of micro-sliding. . . . 154
xiii
Luning Fang
In multibody dynamics, two common approaches for handling friction and contact are
the Discrete Element Method (DEM) and Differential Variational Inequalities (DVI). Both
methods rely on augmenting the Newton-Euler equations of motion. In DEM, contact forces
are modeled as spring-damper mechanisms with large stiffness, resulting in small step sizes.
Although larger step sizes can be taken, the DVI approach calls for solving a quadratic
cone-constrained optimization problem at every time step.
This thesis presents a novel framework for modeling frictional contact in multibody
dynamics. The approach formulates the contacts as algebraic constraints in the Differential
Algebraic Equations (DAEs) of motion. Solving the DAEs produces normal contact force
and contact points on the surfaces of each body in mutual contact. The contact points can
capture the relative motion between the surfaces, leading to 3D friction loads (sliding, rolling,
and spinning frictions) via a phenomenological friction model. The friction model represents
Coulomb friction where the stick-slip condition is characterized.
Instead of utilizing intermediate parameters to represent the body attitude, such as Euler
parameters or Euler angles, the orientation matrices are directly solved for in the DAEs.
To this end, both first- and second-order half-implicit Lie-group integrators are developed
for DAEs to integrate position-level quantities implicitly and velocity-level explicitly while
preserving the SO(3) structure of the orientation matrix. The integration scheme is adopted
to solve the proposed friction contact model numerically, where the friction loads can be
treated explicitly, avoiding the computation of its sensitivity matrices.
By tracking contact points locally and treating the contact points as part of the solution
xiv
of the DAEs, non-trivial geometries can be modeled and contact detection is no longer
needed after the initiation of the contact. The half-implicit Lie integrator allows a more
straightforward formulation of DAEs and the Jacobians, which leads to faster convergence.
Dan Negrut
1
1 i n t ro d u c t i o n
1.1 Background
In recent years, researchers are increasingly relying on simulations to assist and, in some
cases, replace costly or dangerous experiments in real life. For instance, how does a wheel
grouser pattern affect the ability of a rover to climb up a slope? How should we deposit a
landing probe onto a comet without the lander bouncing high up into space [2]? How does a
reduced-gravity environment affect the collision behavior on a granular surface?
Each mathematical model requires robust and accurate numerical schemes to generate
solutions since analytical ones are rarely available for large-scale problems.
To describe the time evolution of a body, one needs to uniquely define the location of the
body in space and its attitude. By attaching a fixed Local Reference Frame (LRF) to the
body, one can capture the location of the body using the origin of the LRF, r ∈ R3 , and its
rotation matrix with respect to the Global Reference Frame (GRF), A ∈ SO(3).
In most applications that compute the orientation of the body, such as controlling where
the tip of a robotic arm is moving or predicting how the vehicle turns under certain steering
torque, the orientation matrix A is expressed through several parameters. Two ways of
parameterizing A are Euler angles, ϵ = [θ, ψ, ϕ] and Euler parameters p = [e0 , e1 , e2 , e3 ].
Euler angles use only three parameters, but it lacks uniqueness when ψ = kπ. One solution
is to change the local reference frame whenever the body approaches a singular configura-
tion. The re-parameterization results in assembling a new set of equations of motions and
constraints, increasing computation cost. Alternatively, one can use four parameters, Euler pa-
rameters (quaternions), but an extra constraint is needed to ensure p is a unit vector, pT p = 1.
3
One way to mathematically represent a multibody system linked by joints is using Differen-
tial Algebraic Equations(DAEs). The differential part describes the Newton-Euler equations
of motion, solved by implicitly integrating the acceleration- and velocity-level quantities;
the algebraic part describes the topology of how bodies are connected. They are nonlinear
and solved iteratively using the Newton-Raphson method. Commercial multibody dynamics
software packages use Euler angles (such as ADAMS [8]) and Euler parameters (such as
Siemens Simcenter 3D [9]) to handle the orientation A. However, both Euler angles and
Euler parameters are a means to an end, and the ultimate goal is to find the attitude of the
body A in space. One might wonder, can we eschew the use of intermediate coordinates and
instead pose equations of motion and solve for it directly with A?
When treating A as the unknown, two questions need to be answered: 1) How can one
integrate an SO(3) matrix A over time? 2) How can one evaluate the iteration matrix
necessary for each Newton step? Traditional numerical integrators can be directly applied to
quantities in a vector space Rn , such as Euler parameters and Euler angles, but not those in
the SO(3) space, due to the loss of the Lie-group structure. For instance, using the Forward
Euler to compute A at the next time step, An+1 = An + hȦn can result in A no longer
being a rotation matrix (subscript indicates that the orientation matrix corresponds to the
simulation time tn ). On the other hand, geometric integrators can integrate A so that A
remains orthogonal.
Solving DAEs using a mixed integrator where a Lie-integrator for A combined with a
conventional one for r is not new [10]. However, the approach has only been applied to small
problems and has not gained the same popularity as using the intermediate coordinates. One
possible cause is that there lacks a systematic way of deriving the first- and second-order
variations required in a Newton iteration step with respect to the unknown A.
4
In a recent contribution [11], it is suggested that solving for A directly instead of using
intermediate coordinates leads to simpler equations of motion and a faster numerical solution.
Therein, the Newton iteration matrix is approximated without the second-order variations of
the constraints. Although it does not affect the quality of the solutions, the convergence can
be improved further. Against this backdrop, part of the work herein investigates a family of
hybrid half-implicit integrators that: 1) preserve the Lie group structure of A, and 2) simplify
the formulation and produce more accurate Newton iteration matrices which lead to faster
convergence of the numerical solution.
Frictional contact exists in most mechanical systems, and it can significantly influence the
dynamics of the system at micro- and macroscopic levels. Due to the complex nature of
friction, modeling a system with hundreds and thousands of bodies interacting through friction
and contact is challenging. Two common approaches for handling friction and contact in
multibody dynamics are the Discrete Element Method (DEM) and via Differential Variational
Inequalities (DVI). Both model particles discretely and evaluate the frictional contact force
between individual particles.
DEM assumes that rigid particles are deformable at the contact area and are allowed
to penetrate during collisions. The amount of the micro-displacement at the contact point,
particle geometry, and material properties are used to compute contact forces on each particle
using various friction and contact laws [3, 4]. Particle position and velocity are explicitly
integrated over time.
DVI considers particles perfectly rigid and enforces the non-penetration condition at the
contact points. At each time step, a cone-constrained quadratic optimization problem is
formulated using non-penetration constraints and the Coulomb friction law [5]. Therein, the
5
Each method has its pros and cons. For DEM, since the deformation at the contact is
microscopic, the problem itself has high stiffness, and a smaller step size has to be used to
q
ensure stability. Specifically, step size h ∼ O( k/m), where m is the mass of a particle, and
k is supposed to have the same order as the Young’s Modulus of the particle. Conventionally,
k is decreased by 3 to 5 orders of magnitude [6], and the particle size is increased to render a
reasonable step size of 10−6 to 10−4 seconds. Even with an increased step size by “fudging”
material property, the computation cost is still high since hundreds and thousands of parti-
cles are involved in a typical DEM application, such as granular assemblies and bulk materials.
On the other hand, DVI allows integration step size about two to three orders larger
than the DEM approach, since the step size is not restricted by high stiffness. However, it
is not straightforward to “tune” frictional contact force models available in the literature;
instead, the DVI model has to be reformulated [7]. Another problem is the lack of uniqueness
due to the rigid body assumption. For instance, given the weight of a four-leg chair resting
on the ground, one can not determine the reaction forces on each leg, only the sum. Once
deformation is allowed, each reaction force can be determined based on elasticity theory.
Against this backdrop, part of this thesis explores a modeling technique that allows a
larger step size by avoiding the high stiffness in the normal force Fn . Still, the model can
capture the micro-displacements necessary to compute the friction loads.
contact in multibody dynamics, DEM and DVI. A literature review on typical contact
force-displacement models among the DEM community is summarized as well, e.g., normal
force, tangential friction force, rolling friction torque, and spinning friction torque.
Chapter 3 investigates a family of half-implicit hybrid Lie-integrators of first- and second-order
accuracy that are applied to the DAEs to compute the orientation matrix directly A.
Chapter 4 presents a phenomenological friction model that evaluates sliding, rolling and
spinning friction where the micro-displacements at the contact point are produced by tracking
the contact points on the surfaces of two bodies.
Chapter 5 examines a framework for modeling the normal force Fn through a non-penetration
constraint, combined with evaluating the frictional loads using the model presented in Chap. 4.
The numerical scheme implemented in Chap. 3 is applied to produce quantities such as posi-
tions and orientations of the bodies and the locations of the contact points on the surfaces
of two bodies in mutual contact, eschewing contact detection at every time step after the
initiation of the contact.
Chapter 6 reports a GPU-based simulation package, Chrono::GPU, designed for DEM applica-
tions.
Chapter 7 showcases a series of validation tests against experimental and analytical results
provided in the literature to ensure the soundness of Chrono::GPU.
Chapter 8 highlights this thesis and presents the direction of future work.
7
2 b ac kg ro u n d
Multibody dynamics analysis is a powerful tool for simulating the dynamic response of
complex systems of rigid or flexible bodies, with the relative motion of the bodies restricted
through the joints. Multibody systems are involved in a wide range of applications, from
vehicle dynamics and biomechanics to robotics and the gaming industry.
The first part of this chapter, Sec. 2.1, provides an overview of modeling a system of linked
rigid bodies as a set of Differential Algebraic Equations(DAEs) of motion and demonstrates
a numerical scheme for solving the DAEs. Section 2.1.1 introduces possible choices of the
generalized coordinates for describing the position and the attitude of a body. Section
2.1.2 describes four basic kinematic constraints that restrict the relative motion of a pair of
bodies. Section 2.1.3 outlines the framework of kinematic analysis. Section 2.1.4 derives the
Newton-Euler form of the equations of motion using the principle of virtual work. Section
2.1.5 formulates the DAEs, the mathematical form for describing a constrained multibody
system. Section 2.1.6 demonstrates how one can formulate the DAEs using a different set of
generalized coordinates. Section 2.1.7 presents a common numerical scheme, Backward Euler
approach, for solving the DAEs.
Friction and contact can be present when modeling multibody systems, such as the
contacts between a wheel and the road or the grasping of a robotic hand. The second part
of this chapter focuses on two approaches for handling friction and contacts in multibody
dynamics, the Discrete Element Method (DEM) and the Differential Variational Inequality
(DVI) method. Section 2.2.1 introduces DEM. Section 2.2.1.1 derives the contact kinematics.
Section 2.2.1.2 to 2.2.1.5 lists the constitutive laws for computing normal force, tangential
friction force, rolling friction, and spinning friction. Section 2.2.2 presents the formulation
of the DVI approach. Section 2.2.3 compares the assumptions, modeling techniques and
numerical schemes of DEM and DVI.
8
The time evolution of a rigid body can be described by the global position of the centroidal
fixed body frame r and a set of parameters representing the orientation of the body. There are
several ways to characterize the orientation of a body. For example, Euler angles ϵ = [θ, ϕ, ψ]T
use three independent parameters, however, they can result in singularity when ϕ = kπ. Euler
parameters (quaternions), p = [e0 , eT ]T = [e0 , e1 , e2 , e3 ]T , use four dependent parameters
to avoid the singularity issue, but an extra normalization constraint has to be satisfied,
pT p = 1. One can also use all 9 entries of the orientation matrix A directly, which performs
a rotation from GRF to LRF. Extra 6 constraints are needed, so A stays an orthogonal
matrix, AT A = I. The orientation matrix A can be expressed in terms of Euler angles ϵ or
Euler parameters p, i.e., A = A(p) = A(ϵ).
The rotational coordinates, together with translational ones, are called generalized co-
ordinates, q. For a multibody system of nb number of rigid bodies, the state of the
system can be represented by generalized position q = [r1T , ϵT1 , . . . , rnTb , ϵTnb ]T ∈ R6nb , or
q = [r1T , pT1 , . . . , rnTb , pTnb ]T ∈ R7nb , generalized velocity v = [ṙ1T , ω̄1T , . . . , ṙnTb , ω̄nTb ]T ∈ R6nb ,
T T
and generalized acceleration v̇ = [r̈ T1 , ω̄˙ 1 , . . . , ṙnTb , ω̄˙ nb ]T ∈ R6nb , where ω̄ is the angular
velocity expressed locally. Other alternatives to represent velocity-level quantities associated
with orientation include angular velocity expressed globally, ω, the time derivative of Euler
angles, ϵ̇ or Euler parameters ṗ. The derivations of equations of motion are based on ω̄ first,
9
Bilateral constraints describe the linkage between two interconnected rigid bodies. Mathe-
matically, they represent a set of algebraic equations that enforce the relative position and
orientation between two bodies,
Φ(q, t) = [Φ1 (q, t), Φ2 (q, t), . . . , Φnbc (q, t)]T = 0, Φ ∈ Rnbc (2.2)
where nbc is the total number of bilateral constraints. Based on how rigid bodies are connected
through different joints, such as prismatic joints, revolute joints, and spherical joints, four
basic geometric constraints are commonly used as “building blocks” that restrict the relative
translational and rotational motion among a pair of bodies. The relative motion is represented
through either dij , a geometric vector pointing from a point P on body i to a point Q on
body j, or ai , a geometric vector located on body i.
dij = rj + Aj s̄Q P
j − ri − Ai s̄i , (2.3)
ai = Ai āi (2.4)
Note that A only shows up together with a vector in local coordinates (¯·) as a product to
map quantities to GRF.
The four type of constraints are listed as follows,
where f (t) can be a user-prescribed function over time or zero. Equation (2.5a), called the
first dot product constraint (DP1), states that the product between āi and āj is f (t). The
second dot product constraint (DP2) sets the dot product of ai and dij as f (t). The distance
constraint (D) requires that the distance between two bodies is fixed to a prescribed value.
The coordinate difference constraint (CD) handles the difference in each coordinate between
points on two bodies, where c is a unit vector along a Cartesian axis. Both DP1 and DP2
constraints restrict the relative rotational motion between two vectors, while CD and D
constraints restrict the relative translational motion.
Kinematics analysis predicts the position, velocity, and acceleration of a mechanism inde-
pendent of the forces and torques that produce the motion. The number of generalized
coordinates should be the same as the total number of constraints, i.e., the size of q should
be the same as the number of equations Φ(q, t) = 0. One can have geometric constraints
described in Sec. 2.2, driving constraints that prescribe the motion of a body or the relative
motion between a pair of bodies, modeled as Eq.(2.5) where f (t) ̸= 0, or a set of normalized
constraints when Euler parameters are used, pT p = 1.
To solve for the velocities and accelerations, we take first- and second-order time derivatives
of both sides of Eq.(2.2),
Introducing the notation of Φq = ∂Φ/∂q, and Φt = ∂Φ/∂t, the first-order time derivative of
Φ is expressed as,
Φ̇(q, t) = Φq q̇ + Φt = 0, (2.7)
11
and to solve for velocity q̇, we can form the following linear system of equations,
Φq q̇ = −Φt . (2.8)
Similarly, by taking the time derivative of Eq.(2.7), the following linear system of equations
is formed to solve for acceleration q̈,
∂
Φq q̈ = γ = − (Φq q̇) q̇ − 2Φqt q̇ − Φtt . (2.9)
∂q
Φqt ≡ ∂Φq /∂t, Φtt ≡ ∂Φt /∂t
When solving for velocity- and acceleration-level quantities in Eq.(2.8) and Eq.(2.9), one needs
to evaluate the Jacobian matrix, Φq , i.e., the partial derivative of the constraint equations
with respect to generalized coordinates q. Though position-level equations are nonlinear
Eq.(2.2), solving it iteratively also calls for Φq . The specific form of the Jacobian matrices
also depends on the choice of generalized coordinates, for example, Φq = [Φr , Φϵ ] when using
Euler angles and Φq = [Φr , Φp ] when using Euler parameters. It can also be a quantity
similar to the Jacobian matrix but expressed in the form of coefficients when solving for ω̄
and ω̄˙ instead of the time derivatives of p or ϵ. Use the velocity-level equations Eq.(2.8) as
an example, we have
More details on computing Π̄ are in Sec. 3.2. Numerically, q̇ and q̈ in Eq.(2.8) and Eq.(2.9)
are computed using linear solvers, while position q is solved using the Newton–Raphson
method (Appendix A.2).
12
The equations of motion of a constrained mechanical system of rigid bodies are derived using
the principle of virtual work and D’Alembert’s Principle. It states that for a collection of
rigid bodies, the total virtual work from all the reaction forces and torques by a virtual
displacement of δq should be zero, provided that δq satisfies all the constraints.
The virtual displacement δq is a combination of the virtual translation δr and the virtual
rotation δ π̄, where δ π̄ leads to a virtual change in the orientation matrix A,
δA = Aδf
π̄ (2.12)
such that the rotational matrix stays orthogonal, (A + δA)T (A + δA) = I + δAT A ≈ I.
The virtual displacement can not be arbitrary, instead they should “nudge” the body in a
way that the constraints in Eq.(2.2) still hold. Since virtual displacement is frozen in time by
definition, we can differentiate Eq.(2.2) as δΦ(q, t) = Φq δq = 0. Now we have
nb h i
δriT (mi r̈i − Fia ) + δ π̄iT (J¯i ω̄˙ i − τ̄i ) = 0,
X
δW = (2.13a)
i
provided that,
nb h
X i
Φri δri + Π̄i δπi = 0. (2.13b)
i
˜ i J¯i ω̄i
τ̄i ≡ n̄ai − ω̄ (2.13c)
Here mi and J¯i are the mass and mass moment of inertia of body i, respectively; Fia and
n̄ai are the applied forces and torques on body i, which can be gravity, spring-damper forces
and torques, or frictional contact forces and torques between the surfaces of two bodies.
Oftentimes, they depend on position- and velocity-level quantities,
Fia = Fia (q, q̇, t), nai = nai (q, q̇, t). (2.14)
13
The gyroscopic term from the rotation of the reference frame is accounted for in Eq.(2.13c)
By applying the Lagrange Multiplier Theorem (Appendix A.1) to Eq.(2.13) and concatenating
variables and coefficients into a matrix form, there exists a vector λ ∈ Rnbc such that,
δr T (M r̈ − F a ) + λT (Φr δr) + δ π̄ T J¯ω̄˙ − τ̄ + λT (Π̄δr) = 0. (2.15)
If additional constraints are needed, they can be incorporated into Eq.(2.15) given the partial
derivatives Φq . We derive the Newton-Euler equations of motion as,
M r̈ − F a + ΦTr λ = 0, (2.17a)
Equations (2.17) have a total of 6nb + nbc unknowns, but only 6nb equations are available,
therefore the differential equations are paired with nbc algebraic equations from the constraints
14
M r̈ − F a + ΦTr λ = 0, (2.19a)
Φ(q, t) = 0 (2.19c)
Solving the DAEs in Eq.(2.19) produces positions, velocities, accelerations, and the Lagrange
multipliers that account for the reaction forces and torques. This process where forces and
torques are involved is called Dynamics Analysis, in contrast to the Kinematics Analysis in
Sec. 2.1.3, where only the kinematics information is of interest.
Equation(2.19) is not the only approach to formulate the DAEs of a system. Depending on
the choice of the generalized coordinates, one can use the time derivative of Euler angles or
Euler parameters, ϵ̇ or ṗ. Similar to how A can be tied to p and ϵ through Eq.(2.1a) and
Eq.(2.1b), mapping exists between the angular velocity ω̄, ṗ and ϵ̇. For instance,
Now plug Eq.(2.20), Eq.(2.21) and Eq.(2.22) into Eq.(2.19), we have the equations of motion
expressed in the Euler parameters,
T a
M 0 r̈ Φr
0 λ F
+ = (2.23a)
0 J¯P p̈ ΦTp P T λP τ̄ P
Φ(r, p, t) = 0 (2.23b)
ΦP (p) = 0 (2.23c)
Extra normalization contstraints Eq.(2.23c) have to be satisfied when using Euler parameters,
pT1 p1 − 1
P
..
Φ (p) = . = 0 ∈ R3nc , (2.26)
pTnb pnb − 1
There are a total of 8nb + nbc unknowns, r̈ ∈ R3nb , p̈ ∈ R4nb , λ ∈ Rnbc and λP ∈ Rnb , and a
total of 8nb + nbc equations.
To carry out dynamics analysis, one needs to solve Eq.(2.23), which provides the time-history
of the positions, velocities, and accelerations of all the bodies and the internal reaction forces
and torques in a system driven by external forces or prescribed motion. By discretizing
the governing equations over time t0 , t1 , . . . , tn with a step size of h, several numerical
schemes are available [12] to solve DAEs. Conventionally, implicit methods like the Backward
Differentiation Formula(BDF) [13, 12] and the Hilber-Hughes-Taylor(HHT) [14] have been
widely used in the multibody dynamics community. In this section, a first-order BDF method
(equivalent to the Backward Euler scheme) is demonstrated,
J¯n+1
P
p̈n+1 + ΦTn+1,p λn+1 + Pn+1
T
λPn+1 − τ̄n+1
P
=0 (2.30b)
1
Φ(rn+1 , pn+1 , tn+1 ) = 0 (2.30c)
h2
1 P
Φ (pn+1 ) = 0 (2.30d)
h2
The 1/h2 item in Eq.(2.30c) and Eq.(2.30d) ensures a better scaled coefficient matrix. At
each time step, the Newton–Raphson method (see Appendix A.2) is used to iteratively find
the solution r̈n+1 , p̈n+1 , λn+1 , and λPn+1 for Eq.(2.30). For simplicity, the subscript n+1 is
(k)
dropped, and a superscript is used to represent the value at iteration k. Let the residual
17
to be e(k) at iteration k, we have r̈ (k) , p̈(k) , λ(k) and λP (k) for the following
M r̈ (k) + (ΦTr λ)(k) − F a(k)
¯P (k)
(J p̈) + (ΦTp λ)(k) + (P T λP )(k) − τ̄ P (k)
= e(k)
(2.31)
1 (k) (k)
h2
Φ(r , p , tn+1 )
1
h2
ΦP (p(k) )
By evaluating the Jacobian matrix of Eq.(2.30) with respect to the unknowns, we have the
following Newton iteration matrix,
k (k) (k)
M̆ Φ̆(k)T
q 03nb ×3nb Φr(k) M11 M12
N (k) = , where Φ̆q = , M̆ (k) = , (2.32a)
(k) (k)
Φ̆(k)
q 0 P (k) Φp(k) M21 M22
(k) a(k)
M11 = M + h2 (ΦTr λ)(k) 2 a(k)
r − h Fr − hFṙ , (2.32b)
(k) a(k)
M12 = h2 (ΦTr λ)p(k) − h2 Fpa(k) − hFṗ , (2.32c)
(k) P (k)
M21 = h2 (ΦTp λ)(k) 2 P (k)
r − h τ̄r − hτ̄ṙ , (2.32d)
(k) P (k)
M22 = J¯P (k) + h2 (J¯P p̈)p + h2 (ΦTp λ)(k) 2 T P (k) 2 P (k)
p + h (P λ )p − h τ̄p − hτ̄ṗ , (2.32e)
where (ΦTr λ)r , (ΦTr λ)p , (ΦTp λ)r and (ΦTp λ)p are the second-order variations of Φ(q).
At each Newton step, the correction is computed as
∆g = inv N (k) e(k) , (2.33)
T
∆g ≡ ∆r̈ T ∆q̈ T ∆λT ∆λP T , (2.34)
(0) (0)
approximate q̈n+1 = q̈n and λn+1 = λn
t = t + h
no
t < tend STOP
yes
Figure 2.1: Backward Euler scheme for solving Differential Algebraic Equations of motion
using Newton–Raphson method.
19
Two common approaches that account for friction and contact in large-scale multibody
dynamics are the Discrete Element Method (DEM) and the Differential Variational Inequality
approach (DVI). The major difference between the two methods is their assumptions on
whether or not particles can deform at the contact point, see Fig. 2.3. DEM relaxes the rigid
body assumption, thus allowing particles to penetrate during collisions. On the other hand,
DVI enforces the rigid body assumption. The non-penetration conditions are formulated as
inequalities, called unilateral constraints, compared to the bilateral constraints, which are
equalities (see Sec. 2.1.2).
20
Figure 2.3: Two approaches for handling friction and contact in multibody dyanmics, DEM
and DVI.
Since its introduction in 1979 [15], DEM has been implemented to large granular systems
encountered in various applications, from mixing [16] and particulate flows [17], to landslides
[18, 19] and astrophysical processes [20]. The fundamental assumption of DEM is that
particles are allowed to have small penetration, δn , at the point of contact. The resulting
micro-deformation during the duration of contact and the constitutive relations are used to
compute the contact forces and torques that enter as F a and τ̄ in Eq(2.17). Depending on
the applications, different types of contact forces can be incorporated; common ones include
the normal force and tangential friction force, rolling friction torque and spinning friction
torque, as shown in Fig. 2.4. Numerous models exist for normal and tangential friction forces.
For example, in [21], 15 nonlinear models that accounts for the dissipative nature of collision
were listed. Most force models in DEM, by and large, rely on a similar way of computing the
kinematics at the contact area.
21
Figure 2.4: Contact forces that describe particle-particle interaction: from left to right,
normal force Fn , tangential friction force Ft , rolling friction torque Mr and spinning friction
torque Msp .
2.2.1.1 Kinematics
Figure 2.5: DEM Kinematic relation when sphere i comes into contact with sphere j.
Using spheres as an example, when a particle i of radius Ri comes in contact with a particle
j of radius Rj , as seen in Fig. 2.5, the amount of the penetration can be computed as
δn = Ri + Rj − |ri − rj |. (2.37)
The contact normal n is defined as a unit vector pointing from the center of body i to the
center of body j,
rj − ri
n= (2.38)
∥rj − ri ∥
22
Given the location of the contact point r c , the distance from the sphere center to the contact
point C is computed as,
ric = r c − ri , rjc = r c − rj . (2.39)
vn = (vrel · n) n, (2.40b)
vt = vrel − vn , (2.40c)
where ṙi , ωi and ṙj , ωj are the velocity at the center of the mass and the angular velocity of
body i and j, respectively. The above kinematic quantities are necessary for the computation
of contact forces and torques.
When DEM was first introduced, a naive Hookean contact model was implemented to compute
the normal force,
Fn = kn δn n − γn vn . (2.41)
The force model is essentially a linear spring-damper mechanism, where kn and γn are the
spring stiffness and the damping coefficient, respectively. The damping term is necessary to
model energy dissipation after a contact event, and a variety of models can be found in [21].
Later on, a nonlinear force-displacement relationship was adopted based on the Hertzian
contact theory [22], which states that for the elastic contact between a pair of spheres, the
normal force is proportional to δn1.5 ,
Fn = kn δn1.5 n − γn vn . (2.42)
23
One way of computing kn and γn depends on the material properties, namely, Young’s
modulus E, Poisson ratio ν and the coefficient of restitution (COR) of body i and j, and the
geometry of the particles, represented by the effective radius for the spherical case,
Recall that discontinuity exists in the Coulomb friction model when the relative velocity
changes its direction. Friction models in DEM attempt to “smooth” the discontinuity by
approximating an infinite slope as a large kt . Additionally, to ensure that static friction can
still be present when the relative sliding is zero, micro-displacement (or pre-slip displacement)
has to be considered.
In [4], Mindlin and Deresiewicz proposed a tangential force-displacement relation to model
the elastic component of the tangential friction force, Ft , between two identical spheres. We
use scalar for now since the derivation was a 2D scenario. The relation takes into account
the loading history and satisfies the saturation condition Ft ≤ µFn . The tangential force Ft
is updated based on the change in the tangential displacement δs ,
Ft := Ft + Kt δs . (2.44)
Here, Kt is the tangential stiffness Kt that depends on material properties, radius of contact
patch, friction coefficient µ, normal force Fn , current tangential force, and the loading-
unloading-reloading history. The authors summarized 11 different scenarios for updating Kt .
This scheme is simplified in [23, 24] by simplifying the computation of Kt into 2 and 4
scenarios, respectively, so that it can be applied to DEM applications where hundreds and
thousands of contacts can present. The friction force saturation is enforced by comparing ∆Ft
24
and µ∆Fn . If ∆Ft < µ∆Fn , static friction presents and the tangential force is incremented
by Eq.(2.44); otherwise, sliding occurs and both Kt and δs are adjusted, such that Ft = µFn .
Their models have been used to predict wave propagation of sphere particles [25], chute flow
of soy beans [26], and particle suspension flow in viscous liquids [17] in DEM.
Instead of updating Kt and Ft incrementally, in [27] the tangential displacement is updated
through the tangential relative velocity vt in Eq.(2.40c) from the time when contact initiates,
t0 , to the current time t,
Z t
ut = vt (t′ )dt′ . (2.45)
t0
The updated displacement ut enters a linear spring-dashpot model with the elastic component
constrained by the Coulomb friction law,
−µ∥F n ∥t, when µ∥Fn ∥ ≤ kt ∥ut ∥,
Ft = (2.46)
−k
t ∥ut ∥t − γt vt ., when µ∥Fn ∥ > kt ∥ut ∥ ,
µs ∥Fn ∥ ut
ut = . (2.47)
kt ∥ut ∥
To dissipate energy, γt can either be an empirical value that mimics critical damping
q
γt = mef f kt , or based on the coefficient of restitution, see [28] and its applications in
spout fluidized bed [29], sand pile formation [30], 3D printing [31], four-bladed mixer [32],
etc.
Some researchers also differentiate between the sliding friction coefficient µk and the static
friction coefficient µs . In [33], a test force is computed first, Ft0 = −kt ξ − γt vt , and compared
to the maximum static friction, µs |Fn |. If not saturated, the test force is kept as the friction
force, and the spring elongation is updated as ξ ′ = ξ + vt ∆t. Otherwise, the friction force
is in the sliding regime, in which Ft = µk |Fn |Ft0 /|Ft0 |, and the spring length is adjusted to
ξ ′ = − k1t (Ft + γt vt ).
25
(a) Hertzian contact pressure profile without (b) Contact pressure profile when rolling in-
relative rolling. volved.
Figure 2.6: Pressure profile at contact patch when there is no relative rolling (left) vs relative
rolling(right).
When a body rolls over another body, the normal stress profile in the contact patch has
an asymmetric distribution, with the front half developing higher stress than the back half
as shown in Fig. 2.6b, in contrast to a symmetric parabolic profile when the bodies are
stationary, see Fig. 2.6a. This load difference results in a rolling resistance torque. Additional
rolling resistance can arise from plastic deformation in and around the contact patch [3],
viscous hysteresis [34], surface roughness and adhesion at the interface [35].
Beer and Johnson [36] first derived theoretically a constant torque model where the rolling
friction Mr is proportional to the magnitude of the normal contact force ∥Fn ∥. The relation
is applied to simulate sand piles using the DEM framework in [37],
ωrel = ωi − ωj , (2.48a)
ωrel
Mr = − µr Ref f ∥Fn ∥ , (2.48b)
∥ωrel ∥
where µr is the rolling friction coefficient. Due to its simplicity, the constant torque model
has been frequently used in DEM simulations, e.g., particle flows [38, 39], blast furnace [40],
cohesive powder [41], and hopper discharge [42] etc.
In light of the spring-dashpot model for slide friction, a torsional spring-dashpot model is
26
proposed [43] to model the rolling friction in 2D, which has been applied to investigate the
flow of rice [44], and strain localization behavior of soil [45]. The spring rotation is integrated
from the relative angular velocity.
In [46], the relative rotation between two coordinate systems is decomposed into two inde-
pendent rotations: one pure axial rotation around the line between the centers of two bodies,
and the other rotation with an axis perpendicular to a specified plane. Using this result, in
[47, 48], the relative angular velocity was split into spinning and rolling components, ωsp and
ωr , where the spinning component is along the contact normal n
ωi − ωj = ωr + ωsp , (2.49)
Mr = Mrk + Mrd
k k k
Mr,t+∆t = Mr,t − kr ωr ∆t, ∥Mr,t+∆t ∥ ≤ µr Ref f Fn ,
d
Mr,t+∆t = −Cr ωr .
2
The rolling stiffness is related to the tangential stiffness through kr = kt Ref f . The damping
√
component Mrd is switched off when Mrk saturates, and Cr = ηr Crcrit = ηr 2 Ir kr . This 3D
model is used to examine the quasi-static behavior of sands through tri-axial and plane-strain
compression tests [47].
In [33], an objective relative rolling velocity is defined as
vr = −Ref f (n × ωi − n × ωj ) ,
which is integrated in time to yield a pseudo rolling resistance force Fr through a translational
spring-dashpot model. By calculating the moment of the pseudo-force Fr , one can evaluate
27
Mr = Ref f n × Fr .
The spring elongation of the quasi rolling force is restrained in the same fashion as its sliding
friction force counterpart. In [33], this approach is used for a tensile test simulation of cohesive
powders.
The literature on spin-friction torque models is relatively limited as spin friction is rarely
considered in simulations. In [49], the theory of elastic contact between two spherical bodies
was utilized to derive the relation between spinning torque and spinning angle for spherical
contact. This led to an expression for the so-called critical spinning torque necessary to
initiate free spinning
crit 3π
Msp = µFn a ,
16
where a is the radius of contact patch. The relation was extended to viscoelastic material in
[50, 51]. In [52, 53], the approach employed a capped torsional spring-dashpot mechanism for
spinning friction. The relative spinning rate was defined as a scalar value
ωsp = n · (ωi − ωj ) ,
Z t
Msp = −Ksp ωsp (t′ )dt′ − Dsp ωsp . (2.51)
t0
28
The spinning stiffness Ksp and damping coefficient Dsp are related to the corresponding
slide-friction quantities Kt and Dt through the contact radius a:
Thus, the spin friction torque is given by Eq.(2.51) but capped by a critical torque value
crit
Msp = 2/3µFn a; crossing this value marks the transition from stick to slip mode for spin
friction.
The same model with almost identical parameters was used in [47], with one caveat: the
angular displacement of the torsional spring was incremented as a vector as in Eq.(2.50).
In [54, 33], the relative spinning velocity was defined as
vo = Ref f [n · (ωi − ωj )] n ,
and was subsequently integrated to yield a pseudo spinning resistance force Fsp through a
translational spring-dashpot model. The spinning torque, Msp , is then calculated using the
pseudo force
Msp = Ref f Fsp .
When handling friction and contacts using the DVI approach, the rigid body assumption is
enforced at all times, and the particles are not allowed to penetrate through. This condition
can be formulated as a unilateral constraint, where the gap, i.e., the shortest distance between
two bodies, is always larger than or equal to zero.
Φ≥0 (2.52)
29
The non-negative gap function can also be written as a complementarity condition between
the gap and the normal contact force,
0 ≤ Φ ⊥ ∥Fn ∥ ≥ 0. (2.53)
Either the gap between the bodies or the normal contact force is zero (They can both be
zero as well).
When the friction force presents, the non-penetration condition in normal direction can be
augmented with a friction model, for instance, the Coulomb dry friction. To handle the
discontinuity illustrated in Fig. 2.2, another complementarity condition is formulated,
Thus, the original DAEs in Eq.(2.19) are paired with a set of complementarity conditions
to describe a contact event. ODEs paired with inequality constraints are categorized as
Differential Variational Inequalities (DVIs). The unknowns to be solved for are the contact
forces, Fn and Ft , and the position, velocity and acceleration of the particles, which ensure
the following,
1. The contact force is within the Coulomb friction cone, ∥Ft ∥ ≤ µ∥Fn ∥;
2. The stick-slip condition in Eq.(2.54) still holds after the velocity update;
3. The non-penetration condition in Eq.(2.53) still holds after the position update.
A half-implicit scheme is used for integration, with the constraints satisfied at the velocity
level. The discretized time-stepping scheme is reformulated into a cone-constrained convex
optimization problem to solve for the contact forces and the kinematics. More details are
beyond the scope of this work, and can be found in [5].
30
1. DEM allows small penetrations between particles, whereas DVI does not;
2. DEM smooths the discontinuity in Fig. 2.2 by replacing the impulse part around
∥vrel,t ∥ = 0 with a slope, whereas DVI treats it as a set-valued function;
3. DEM computes the frictional contact forces as external forces, whereas DVI solves the
contact forces (at impulse level) as unknowns that produce the kinematics that satisfy
the complementarity conditions;
4. Mathematically, DEM is a set of ODEs, whereas DVI is a set of ODEs with inequalities;
5. DEM can use explicit integration schemes of various orders of accuracy, whereas DVI
uses a half-implicit one;
6. DEM needs small step sizes to ensure stability h = 1 × 10−4 to 1 × 10−6 s, whereas DVI
can take step sizes two to three orders larger than DEM, depending on the problem
size.
31
3 l i e - g ro u p i n t e g r at o r s f o r m u lt i b o dy
dy n a m i c s
Section 2.1 outlined a common approach for modeling complex multibody dynamic systems
with the presence of kinematic constraints as a set of DAEs, and presented a Backward
Euler scheme for solving an index-3 DAE problem. Therein, absolute coordinates are used to
describe the time evolution of each body: the location of the center of the mass of each rigid
body, r and a set of parameters that establish the pose of each body.
Common choices of generalized coordinates for representing the orientation of a body
are Euler angles, ϵ ≡ [θ, ϕ, ψ]T , and Euler parameters(quaternions), p ≡ [e0 , e1 , e2 , e3 ]T . As
mentioned in Sec. 2.1.1, the Euler angles approach (called rϵ) is plagued with singularity
when the body rotates to a configuration where ϕ = kπ, which requires a reparameterization
of A. This results in extra computation cost since the DAEs and the Jacobian matrices have
to be re-evaluated.
As an alternative, the Euler parameters approach (called rp) utilizes an extra parameter
to avoid the singularity. Nonetheless, one additional constraint is needed for each body,
pT p = 1. In contrast to those traditional approaches that rely on intermediate coordinates to
characterize the body orientation, one can formulate the DAEs and solve for the orientation
matrix A directly [55].
One difficulty of solving for A as an unknown is to ensure that A preserves its rotational
matrix nature, A ∈ SO(3). Indeed, both Euler parameters and Euler angles are in a
vector space over real numbers, allowing the use of linear algebra and traditional integrators
conveniently. Take Forward Euler scheme as an example, to integrate pn+1 at the next time
step, we have pn+1 = pn + hṗn , where h ≡ tn+1 − tn . However, this integration scheme can not
be applied to A, since An+1 = An + hȦn can result in A no longer being a rotational matrix,
i.e., ATn+1 An+1 ̸= I. Instead, enforcing A ∈ SO(3) has to be accomplished by using the Lie
integrators. That is, knowing An and ω̄n , the orientation matrix and the angular velocity at
32
˜ n ).
time tn , the orientation matrix at the next time step is obtained as An+1 = An exp (hω̄
Although Lie integrators have been applied before in multibody dynamics [56, 57, 10],
the approach has not made a large impact in the community. Recall that DAEs have to be
solved implicitly due to the presence of the nonlinear constraints Φ(q) (see Sec. 2.1.7). This
calls for the evaluations of both the first- and second-order variations of Φ, see Eq.(2.32)
at each Newton iteration step. To the best of our knowledge, there lacks a systematic way
of evaluating the first- and second-order variations of Φ with respect to A. In a recent
contribution [11] where a Backward Euler scheme is applied, the second-order items are
dropped when evaluating the Newton iteration matrices. This does not affect the accuracy of
the solution, however, it takes more iterations for the solution to converge, considering the
Newton iteration matrices are approximated.
The new contributions made herein focus on a family of half-implicit integrators that: 1)
ensure the SO(3) structure of the rotation matrix A and 2) bypass the complicated evaluation
of the second-order variation of Φ with respect to A.
This chapter is organized as follows: Section 3.1 derives the variation form of A used for
evaluating the sensitivity of the nonlinear constraints. Section 3.2 presents the formulation
of index-3 DAE using the generalized position r and the body attitude A. Section 3.3
summarizes two SO(3) Lie integrator of first- and second-order accuracy for the rotation
matrix A. Sections 3.4, 3.5 and 3.6 present a first-order fully-implicit scheme, a first-order
half-implicit scheme and a second-order half-implicit scheme, respectively, for updating r, ṙ,
A, ω̄. Sections 3.7 and 3.8 reports the convergence and timing results of three benchmark
problems: a double pendulum, a slider-crank and a four-link mechanisms. We close with a
discussion of the contributions made herein and directions of future work in Sec. 3.9.
3.1 Variations in A
When deriving the governing equations for kinematics (Sec. 2.1.3) and dynamics analysis
(Sec. 2.1.4), one needs to know how a quantity changes by perturbing an object of orientation
33
A with a small rotation δA. Since the new orientation matrix A + δA has to preserve its
SO(3) structure, we have,
AT δA = δf
π̄ → δA = Aδf
π̄ (3.3)
Φ(r, A, t) = 0, (3.4c)
where the constraints Φ and the Jacobians Φr and Π̄ are expressed in terms of r and A,
= δr + δAs̄ = δr + Aδf
π̄s̄
˜δ π̄ = Φr δr + Π̄δ π̄,
= δr − As̄ (3.6)
where, Φr ≡ I3 , ˜
Π̄ ≡ −As̄
The Π̄(·) can be interpreted as how the quantity changes from a small variation in A.
When more complicated bilateral constraints in Eq.(2.5) are formulated, item Π̄ has cleaner
formulations. In contrast, when taking the partial derivative of Φ with respect to Euler
angles or Euler parameters, one has to evaluate ∂A(p)/∂p and ∂A(ϵ)/∂ϵ. More detailed
derivations of Π̄ for various types of bilateral constraints can be found in [11].
35
˜,
Ȧ = Aω̄ (3.7)
˜ is the skew-symmetric matrix associated with the angular velocity ω̄. Locally, for t
where ω̄
close to zero, we have a first-order approximation of A as,
˜ ),
A(t) = A0 exp(tω̄ A0 ≡ A(t = 0). (3.8)
∞
X 1 n
exp(C) ≡ I3 + C . (3.9)
n=1 n!
Using Taylor expansion for sin χ and cos χ, one can show that Eq.(3.10) is the closed form
expression of the matrix exponential in Eq.(3.9),
˜ ) = R(ω̄/|ω̄|, t|ω̄|) .
exp(tω̄ (3.11)
˜ n+1 ).
A(t) = An+1 exp(tω̄ (3.12)
36
˜ n+1 ).
A(−h) = An = An+1 exp(−hω̄ (3.13)
˜ n+1 ) exp(hω̄
Note that exp(−hω̄ ˜ n+1 ) = I3 since exp(Y ) exp(Z) = exp(Y + Z) whenever
Y Z = ZY .
Similarly, a second-order implicit integration scheme for A can be derived as,
˜ n ) exp(0.5hω̄
An+1 = An exp(0.5hω̄ ˜ n+1 ). (3.15)
In Sec. 2.1.7, it is mentioned that the scaling term 1/h2 improves the condition number of the
Jacobian matrix. The velocity- and position-level quantities are updated using the Backward
Euler scheme and a first-order implicit Lie-group integrator in Eq.(3.14),
Newton-Raphson method is used to iteratively find the solution r̈n+1 , ω̄˙ n+1 , and λn+1 . Assume
(k) (k) (k)
at iteration k, we have r̈n+1 , ω̄˙ n+1 , and λn+1 , and the residual of the system of equation is
e(k) ,
(k) (k)T (k) a(k)
M r̈n+1 + Pn+1,r λn+1 − Fn+1
¯ ˙ (k) (k)T (k) (k) (k)
J ω̄ n+1 + Pn+1,A λn+1 − τ̄n+1 =e (3.20)
1
h2
Φ(rn+1 , An+1 , tn+1 )
To evaluate the sensitivity of the reaction forces and torques, PTn+1,r λn+1 and PTn+1,A λn+1 ,
with respect to r, ṙ, A and ω̄, one needs to compute the second-order variation of Φ with
respect to r and A. For simplicity, those higher-order items are dropped. The approximation
should not affect the accuracy of the solution, however, convergence can be affected, since
the Newton iteration matrix is less accurate. The second-order variations are derived in [11].
The exact Newton iteration matrix has a simpler form than its rp counterpart, see
Eq.(2.32). We no longer need to compute the sensitivity of J¯P p̈ or P T λP , and the operator
Π̄(·) yields a cleaner expression than ∂(·)/∂p, as mentioned in Sec. 3.2.
Additionally, the Newton iteration matrix is evaluated only once at the beginning of the
iteration, i.e., N (k) = N 0 , and can be approximated as,
T
M11 M12 Pn,r
N = M21 M22 PTn,A , (3.23a)
Pn,r Pn,A 0
a
M11 = M − h2 Fn,r − hFn,a ṙ , (3.23b)
evaluate Jacobian N
yes
accept solution r̈n+1 , ω̇n+1 and λn+1
t = t + h
no
t < tend STOP
yes
The half-implicit scheme updates velocity-level quantities explicitly and position-level quan-
tities implicitly at the next time step tn+1 = tn + h, (compare Eqs. (3.25a) and (3.25b) to
(3.19a) and (3.19b))
Plugging Eq.(3.26a) and Eq.(3.26b) back into Eq.(3.24) and multiplying both sides of the
equations by h2 , we assemble the following nonlinear system of equations,
M rn+1 + PTn,r λ̂n + bn = 0,
J¯θ̄n+1 + PTn,A λ̂n + cn = 0, (3.27)
Φ(rn+1 , An+1 , tn+1 ) = 0.
41
and both bn and cn are evaluated with quantities from the previous time step tn ,
By the same token, the nonlinear system in Eq.(3.27) is solved iteratively using the Newton–
Raphson approach,
(k)
−e1 ∆r
N (k) ∆g = e(k) , e(k) ≡ −e(k) ,
2 ∆g ≡ ∆θ̄
, (3.30)
(k)
−e3 ∆λ̂
where the Newton iteration matrix and the residuals are derived as,
M 0 PTn,r
N (k) = 0
J¯ PTn,A
, (3.31a)
(k) (k)
Pn+1,r Pn+1,A 0
(k) (k)
e1 = M rn+1 + PTn,r λ̂(k)
n + bn (3.31b)
(k) (k)
e2 = J¯θ̄n+1 + PTn,A λ̂(k)
n + cn (3.31c)
(k) (k) (k)
e3 = Φ(rn+1 , An+1 , tn+1 ). (3.31d)
Note that the formulation of the Jacobian matrix in (3.31a) is simpler than the one in the
fully-implicit approach in Eq.(3.23), since both applied and reaction forces and torques, Fna ,
τ̄n , PTn,r λ̂n and PTn,A λ̂n are evaluated at time step tn . Therefore, their sensitivities with respect
42
to rn+1 and θ̄n+1 are zero. Recall that in Sec. 3.4, higher order items are dropped to simplify
the computation of the Newton matrix, however, when using the half-implicit approach, one
no longer need to evaluate the higher-order sensitivities of Φ. Additionally, since applied
forces and torques, Fna and τ̄n , are treated as known values, complicated expressions of F a
and τ̄ do not indicate convoluted derivation of the Jacobian matrices. To further reduce
the computation cost, instead of reevaluating N (k) at each iteration, we apply the following
approximations,
(k) (k)
Pn+1,r ≊ Pn,r , Pn+1,A ≊ Pn,A ,
to yield a quasi-Newton symmetric matrix evaluated only once at the beginning of each time
step,
M 0 PTn,r
N =
0 J¯ PTn,A . (3.32)
Pn,r Pn,A 0
The unknowns at the next iteration are updated as follows until the solution converges,
(k+1) (k)
rn+1 = rn+1 + ∆r, (3.33a)
(k+1) (k)
θ̄n+1 = θ̄n+1 + ∆θ̄, (3.33b)
λ̂(k+1)
n = λ̂(k)
n + ∆λ̂, (3.33c)
(k+1) ˜ (k+1) ) .
An+1 = An exp(θ̄ (3.33d)
n+1
Once the Newton–Raphson solver converges, the solution λn is plugged back into Eq.(3.24)
to compute the accelerations r̈n and ω̄˙ n . For the next time step at tn+2 the initial guess of
the solution is approximated as
(0)
rn+2 = rn+1 + hṙn+1 + h2 r̈n (3.34a)
(0)
ω̄n+2 = ω̄n+1 + hω̄˙ n (3.34b)
43
(0) (0)
˜ n+2
An+2 = An+1 exp(hω̄ ) (3.34c)
(0)
λn+1 = λn (3.34d)
44
update g = g + ∆g
yes
accept solution rn+1 , An+1 and
λn , update r̈n and ω̇n with λn
t = t + h
no
t < tend STOP
yes
Similar in Sec. 3.5, the discretized equations of motion Eq.(3.24) at time tn is solved while
satisfying the algebraic constraints at time tn+1 .
Now plug Eq.(3.42) and Eq.(3.37) into Eq.(3.39) and Eq.(3.40), respectively, we solve the
following nonlinear system of equations,
Again, we use the Newton–Raphson method to solve the nonlinear system iteratively to
obtain unknowns rn+1 , θn+1 and λ̂n , which calls for the evaluation of the Newton iteration
matrix. The partial derivatives of Eq.(3.43a) and Eq.(3.43b) are straightforward, for the
constraints in Eq.(3.43c), first let
˜ n ),
 = An exp(0.5hω̄ (3.44)
and the integration scheme for orientation at iteration (k) is written as,
(k) (k)
˜ n+1 (k)
An+1 = Â exp(0.5hω̄ ) = Â exp(0.5θ̃n+1 ). (3.45)
Recall that when forming constraints, A always shows up as a product with another local
vector, for instance, As̄. Thus, the goal is to determine how does A(k) s̄ change when
(k) (k+1) (k)
perturbing θn+1 by δθ, i.e., θn+1 ← θn+1 + δθ. For simplicity, here we drop the subscript
47
(·)n+1 .
exp(0.5δθ) f + 1 (0.5δθ)
f = I + 0.5δθ f 2 + · · · ≈ I + 0.5δθ.
f (3.47)
2
f − I ≈ 0.5δθ.
exp(0.5δθ) f (3.48)
(k)
Given that A(k) = Â exp(0.5θ̃n+1 ), so the change in As̄ is derived as
Compared with Eq.(3.6), the sensitivity of Φ with respect to θ using the Mid-point Method
is half of the one using the Backward Euler Scheme. Thus, the Newton iteration matrix is
derived as follows,
M 0 0.75PTn,r
N (k) = 0 J 1.5PTn,A . (3.50)
(k) (k)
Pn+1,r 0.5Pn+1,A 0
Similar to Sec. 3.5, to avoid evaluating the Newton matrix at every iteration, we approximate
it as a quasi-Newton matrix evaluated only at the beginning of each time step,
M 0 0.75PTn,r
N ≈ N (k) = 0 J 1.5PTn,A . (3.51)
Pn,r 0.5Pn,A 0
48
Table 3.1: The number of bodies nb , the number of basic constraints and the Degree of
Freedom (DOF) in each mechanism.
Quantity Value
Density 7800
Bar 1 length 4
Bar 2 length 2
Bar width at cross section 0.1
Quantity Value
Density 1500
Rotor radius 2
Bar 2 length 12.2
Bar 3 length 7.4
Bar width at cross section 0.1
Table 3.4: Mass and inertia properties of each body of the slider–crank mechanism (SI units).
Table 3.5: DP1 driving constraints of the slider–crank and four–link mechanisms.
and inertia properties of the slider–crank mechanism are adopted from Haug [60, p. 456]. All
mechanisms except for the double pendulum problem are kinematically driven. An extra DP1
constraint is applied to each of the single pendulum, slider–crank and four–link mechanisms
that prescribes rotational motion, for details see Tab. 3.5. All simulations were run for 3
seconds, which allowed for one full rotation for the slider–crank and the four–link mechanisms.
All integration schemes utilized SciPy’s built-in sparse solver for solving linear systems of
equations. The software implemented to generate the results reported in this section is
available in a public repository for further development [61].
The convergence order analysis starts with producing a “ground truth” solution. For the
double pendulum, the reference solution, i.e., position, velocity and acceleration of the bodies,
were obtained by integrating a set of Ordinary Differential Equations (ODEs) that describe
the system in 2D using two coordinates. A highly accurate, 8th-order Runge–Kutta solver –
DoPri853 [62] – and a constant step size of h = 1 × 10−6 was used to that end.
For the slider–crank and four–link mechanisms, which are both kinematic-driven, the
50
reference solution was generated by posing the problem as a kinematic one, see 2.1.3. To this
end, the position-, velocity- and acceleration level equations in Eq.(2.2), (2.8) and (2.9) were
solved.
First, the first-order fully-implicit and half-implicit approaches were compared. Figure
3.4 shows on a log–log scale the difference between the rA integrators and the “ground
truth” plotted over a range of step sizes. The tolerance of the fully-implicit approach is set
to ϵtol = 10−10 /h2 ; for the half-implicit, 10−10 . For each data point, the error relative to the
q
− ziref )2 /n, where n is the total number of time
Pn rA
ground truth was calculated as i=1 (zi
steps in each simulation, and zirA and ziref are quantities at time step ti produced by the rA
approach and the reference solution, respectively.
Figure 3.4a plots the difference of the position of bar 2 in z-axis over various step sizes.
Figure 3.4b and 3.4c plot the difference of the velocity of the slider and the link body 2 of
the slider–crank and four–link mechanisms, respectively. Notice the slope of 1.0 for both
integrators, In other words, if the step size is cut by a factor of 10, the error will be reduced
by a factor of 10. Since the half-implicit integrator is symplectic, it conserves a numerical
Hamiltonian, which leads to superior performance in terms of long-term energy preservation
[63]. This is evident in Fig. 3.5 – the total energy of the system drains over time using a
fully-implicit approach, a highly-damped Backward Euler integrator, but holds steady for the
symplectic half-implicit approach.
Next, the order analysis was carried out to the second-order half implicit integrator. The
same simulations were run with step size 1 × 10−4 , 2 × 10−4 , 4 × 10−4 , 8 × 10−4 , 1 × 10−3
2 × 10−3 , 4 × 10−3 , 1 × 10−2 . At the end of the simulation, the difference in the position r,
Frobenius norm of the orientation matrix ∥A∥, velocity ṙ and the angular velocity ω̄ compared
with the numerical solution generated at step size 1 × 10−4 is computed. Figures 3.6, 3.7 and
3.8 plot the result of bar 2 of the double pendulum, the slider of the slider–crank mechanism
and the link body 2 of the four–link mechanism. Second-order convergence is demonstrated
for all three mechanisms. By the same token, when the step size is decreased by a factor of
52
(b) Slider–crank.
(c) Four–link.
Figure 3.4: Order analysis, first-order half- and fully-implicit solutions.
53
10, the error is reduced by a factor of 100. For the first-order method to achieve a similar
amount of accuracy as the second-order method, the step size has to be decreased ballpark
by a factor of 10 to 100.
54
(a) Position.
Figure 3.7: Convergence comparison of first- and second-order half-implicit schemes, con-
strained DAE, slider–crank model.
Figure 3.8: Convergence comparison of first- and second-order half-implicit schemes, con-
strained DAE, four–link model.
56
3.8.2 Timing
In general, tighter tolerance results in more Newton iterations and thus more computation
time. When comparing the first-order fully- and half-implicit integrator, each integrator has
its own tolerance ϵtol to make sure they achieved similar quality of the solution (relative
to the “ground truth”). More plots of how ϵtol affects the solution quality are available in
[64]. The average number of iterations for the Newton solver to converge are illustrated in
Fig. 3.9a, 3.9b and 3.9c. Each timing test was run five times and the average CPU time
was plotted for three different step sizes, h = 1 × 10−4 , 1 × 10−3 and 1 × 10−2 , as shown in
Fig. 3.10a, 3.10b and 3.10c.
A larger step size results in more iterations because at each time step, the initial guessing
point for the Newton method is less accurate. The first-order half-implicit approach is faster
than the fully-implicit one for all mechanisms and step sizes. This is a direct consequence of
the fact that the Newton iteration matrix is easier to evaluate and more accurate. Indeed,
the Jacobian matrix of the fully-implicit approach requires the computation of the partial
derivative of the constraint reaction forces, which are ignored herein since they are exceedingly
expensive to evaluate. Thus, the Newton iteration matrix for the fully-implicit method is
approximated by dropping terms from its expression. Having an approximated Jacobian
matrix does not affect the quality of the solution, however, it can result in slower convergence.
57
Figures 3.11, 3.13 and 3.12 compare the number of iterations of first- and second-order
half-implicit schemes for each mechanism. Both solvers use the same tolerance, ϵtol = 1×10−10 .
It takes slightly more iterations for the second-order integrator to converge compared with
the first-order one, however, for the same step size, second-order solver can obtain a more
accurate numerical solution.
Figure 3.11: Number of iterations comparison of first- and second-order half-implicit schemes,
constrained DAE, double pendulum, solver tolerance ϵtol =1 × 10−6
60
Figure 3.12: Number of iterations comparison of first- and second-order half-implicit schemes,
constrained DAE, slider–crank mechanism, solver tolerance ϵtol =1 × 10−10 .
Figure 3.13: Number of iterations comparison of first- and second-order half-implicit schemes,
constrained DAE, four–link mechanism, solver tolerance ϵtol =1 × 10−10 .
61
A scaling analysis was carried out to confirm that the speed-up observed in Sec 3.8.2
translates to larger problems. As shown in Fig. 3.14, N rigid bars were connected by spherical
joints and released under gravity g pointing in a random direction (not vertically down). At
time t = 0, the bars were assigned an angular velocity of random magnitude ωi around their
longitudinal axis. Tests were conducted for N = 1, 2, 4, 6, 8, 16, 32. The timing results are
reported in Fig. 3.15 – the half-implicit approach is consistently faster than the fully-implicit
one by an average of 52%.
Figure 3.15: Scaling results of N-body pendulum, first-order half-implicit and fully-implicit.
62
3.9 Discussion
Conventionally, solving for the time evolution of a multibody system in absolute coordinates
relies on intermediate generalized coordinates, e.g. Euler angles or Euler parameters, to
capture the attitude of each rigid body. Herein, we eschew these intermediate coordinates
to solve the index-3 DAE problem by computing the orientation matrix A directly. The
numerical integration scheme relies on Lie-group integrators that preserves the SO(3) structure
of A. Both first-order and second-order half-implicit schemes are implemented and compared
with a first-order fully-implicit one in [11].
The half-implicit methods show better convergence compared with the fully-implicit scheme.
This is because when deriving the Newton iteration matrix for the fully-implicit approach,
the sensitivities of the reaction forces and torques are ignored due to complexity, resulting in
less accurate Newton matrices and more iterations for the solver to converge. Should one use
the exact Jacobian in the fully-implicit approach, convergence can get improved, however,
the solver will be computationally more expensive.
On the other hand, both first- and second-order half-implicit formulations use reaction
forces and torques from the previous time step, PTn,r λn and PTn,A λn , thus avoiding the
evaluations of the sensitivities of reaction forces and torques. Therefore, solving the DAEs
using the half-implicit approaches are simpler and more efficient. Theoretically, the half-
implicit approach should work equally well for the index-3 DAE problem formulated using
rp and rϵ approaches, where Euler parameters and Euler angles are used to represent the
body attitude.
63
4 m o d e l i n g d e m b y t r ac k i n g c o n tac t p o i n t
This chapter proposes a phenomenological model to compute friction loads between two
bodies of interest that can experience either stick- or slip- regime. The modeling scheme
evaluates the friction loads at zero relative velocity (stick mode) as well as when relative
motion presents (slip mode), given the contact kinematics and the geometry of the bodies.
Specifically, the kinematics of the friction process is expressed in terms of the relative 3D
motion of the contact point on the two surfaces in mutual contact. This methodology allows
one to simultaneously compute sliding, rolling and spinning friction loads for smooth bodies
of arbitrary geometry while accounting for both static and sliding friction regimes.
In this chapter, Sec. 4.2 introduces the notion of contact kinematics which subsequently used
in Sec. 4.3 to evaluate slide, roll and spin friction. Section 4.4 reports several numerical
experiments that investigate how the model handles different sliding, rolling and spinning
scenarios and different geometries.
4.1 Motivation
As mentioned in Sec. 2.2.1, several aspects make the task of characterizing a friction model
challenging:
1. It is difficult to accommodate the set-valued function nature of the friction loads. In the
presence of macro-scale sliding between the bodies, ∥Ft ∥ = µk ∥Fn ∥. However, in stick
mode, the friction force can assume any value between 0 and µs N . The fact that there
are two friction coefficients µs and µk ; i.e., static and kinetic, is often times ignored in
modeling.
2. Handling non-trivial 3D geometries is difficult. In many cases, e.g. [65, 66], the discussion
was carried out in the context of 2D geometries, which eschews the kinematic challenges
associated with 3D motion in space, particularly handling changes in orientation for
64
3. Spinning friction and rolling friction are often disregarded when modeling granular
material. They typically account for less energy dissipation than the sliding friction.
Yet there are scenarios where rolling friction and/or spinning friction play an important
role in the overall dynamics. For instance, a ball modeled with sliding friction only will
not come to a stop when rolling on a frictional ground. By the same token, a tippie top
will not stop spinning when spinning friction is not modeled.
The contribution made herein seeks to establish a phenomenological friction model that
addresses the challenges above by tracking how the contact points move on the surfaces of the
bodies in contact. The model proposed uses a spring-dashpot mechanism, like in Sec. 2.2.1.3.
However, the spring elongation is updated from the relative motion of the contact point on
the two surfaces in mutual contact without resorting to using the relative tangential velocity
vrel,t or relative angular velocity ωrel . This allows for the handling of nontrivial geometries,
different than the typical circle-to-circle or sphere-to-sphere cases that anchor the discussion
in other modeling approaches. Indeed, since the proposed methodology focuses on how the
contact points travel on the surface of bodies A and B, it can be easily extended to arbitrary
geometries. Secondly, the methodology proposed avoids the task of integrating in time the
angular velocities or the projections thereof. We sidestep this issue as the micro-displacements
are measured by tracking the evolution of the contact points on the two bodies in contact.
The focus of this chapter is on computing friction loads, Ft , Mr and Msp , while normal
65
4.2 Kinematics
Let bi and bj be two bodies in mutual contact. We assume that bi and bj have only one
contact point in common. At time t0 let Ci0 be the contact point on the surface of bi (imagine
a cross painted on body bi ’s surface) and Cj0 be the contact point on the surface of bj (imagine
a dot painted on body bj ’s surface). At time t0 the cross and the dot coincide; the focus
in this section is on how the cross and dot change their locations on the surface of the two
bodies in mutual contact as time advances from t0 to t1 . At time t1 , the new contact point
between the two bodies is registered as Ci1 (the new cross) and Cj1 (the new dot), on bodies
bi and bj , respectively.
In what follows, the times t0 and t1 are assumed close to each other and separated by
a small simulation step size h as in t1 = t0 + h. Typically, h =10−6 –10−3 s. As far as body
i is concerned, during time integration from t0 to t1 , we only register the locations Ci0 and
Ci1 . Thus, in scenarios in which Ci0 ̸= Ci1 , there is no information regarding the trajectory
followed by the contact point on the surface of bi while moving between Ci0 and Ci1 . When
Ci0 =
̸ Ci1 , we assume that the contact point moves on the surface of bi along the geodesic,
although this will be subsequently relaxed. Tracing this contact point on the surface describes
a directed arc, from Ci0 to Ci1 , which is called ⃗si , see Fig. 4.1. Analogously, there is an arc ⃗sj
defined by the trajectory of the contact point when moving on the surface of bj while the
time passes from t0 to t1 .
During one time step h, given its short duration, the motion of the contact point on bi
and bj allows for the introduction of three kinematic quantities. First, if there is a difference
66
‘
(a) (b)
Figure 4.1: Several kinematic quantities that come into play when the contact point moves
on the surfaces of bi and bj as the time advances from t0 to t1 . The length of the arcs ⃗si and
⃗sj are exaggerated; in simulation Cj0 and Cj1 are close to each other.
between the lengths of ⃗si and ⃗sj , this value is taken to be the relative slip:
s = |∥⃗si ∥ − ∥⃗sj ∥| .
Second, there is relative roll experienced by the two bodies. In pure rolling, one point on bi
touches exactly one point on bj , and vice-versa. In other words, the length of ⃗si is identical
to that of ⃗sj . Finally, there is relative spin, in which body bj has a spinning motion relative
to bi around the instantaneous contact normal n1 .
All reference frames considered in this discussion obey the right hand-rule. The normal n
of the contact reference frame is determined under the assumption that one can construct
a tangent plane at the contact point, which is the case for any smooth surface [67]. Then,
the unit vector n is chosen to be perpendicular to the tangent plane at the contact point.
Its direction points towards the interior of bi , see Fig. 4.1. Producing the u and w unit
vectors relies on a continuation approach. In theory, at the onset of the bi -bj contact, u0 and
w0 can be arbitrary as long as (n0 , u0 , w0 ) makes up an orthogonal reference frame. While
67
the representation of the unit vectors n0 , u0 , and w0 in the local reference frame associated
with body i does not change from t0 to t1 , their representation in the global reference frame
can change. The latter is denoted by (n0 , u0 , w0 )i,1 , with “1” added to emphasize that this
representation in the global reference frame is done at t1 . Similarly, one has (n0 , u0 , w0 )j,1 ,
which leads to the following notation for the associated axes: n0j,1 , u0j,1 and w0j,1 .
The contact reference frame (n1 , u1 , w1 ), expressed in the global reference frame at t1 is
located at point Ci1 on i and Cj1 on j, and is defined as follows: n1 is the unit normal at the point
of contact, pointing towards the interior of body i. The mutually orthogonal unit vectors u1
and w1 are chosen to belong to the tangent plane at Ci1 , and maximize the linear cost function
u0i,1 · u + w0i,1 · w; i.e., (u1 , w1 ) = arg max(u,w) (u0i,1 · u + w0i,1 · w). This is a convex optimization
problem that has a global and unique solution (see Appendix A.6). A similar approach is
followed to determine (n1 , ū1 , w̄1 ) at Cj1 ; i.e., (ū1 , w̄1 ) = arg max(u,w) (u0j,1 · u + w0j,1 · w). The
smallest rotation angle ψ required to align (n1 , ū1 , w̄1 ), which is tied to bj , and (n1 , u1 , w1 ),
which is tied to bi , is called the spin angle ψ. By convention, ψ is considered positive if
getting the former reference frame over the latter reference frame following the shortest way
calls for a counterclockwise rotation.
For example, when a tippie top spins in place, the contact points Ci0 and Ci1 (on the
ground), and Cj0 and Cj1 (on the spinning top) would coincide. The spin angle ψ in this
scenario is the rotation angle of the spinning top as measured after one time step h; i.e., the
shortest rotation that takes ū1 over u1 (see also Fig. 4.3).
Assume that friction is present at the interface. To start off, at t1 , Ci0 is projected onto the
contact tangent plane τ spanned by u1 and w1 with the property that ∥C̄i0 Ci1 ∥ = ∥Ci0 Ci1 ∥,
see Fig. 4.2a. A similar projection is used to determine C̄j0 , see Fig. 4.2b. Two vectors are
68
defined in the tangent plane at t1 : one from C̄i0 to Ci1 , called pi ; and p̄j , defined from C̄j0 to
Cj1 .
Figure 4.2: The projection process that leads to C̄i0 and C̄j0 of body i and j, respectively.
The sliding friction force computation proceeds by aligning the j contact reference frame
(n1 , ū1 , w̄1 ) to the i contact reference frame (n1 , u1 , w1 ) by a rotation of angle ψ; i.e., by
applying first a “counter-spin” step, see Fig. 4.3. Vector p̄j rotates with its reference frame
by the same angle, ψ, to get pj . At this point the two contact reference frames coincide thus
providing the contact reference frame for the next time step and also the setup for computing
the sliding friction force in the configuration at t1 .
Figure 4.3: The process of realigning the (n1 , ū1 , w̄1 ) to the (n1 , u1 , w1 ) reference frames.
Note that the realigning process takes p̄j into pj and that the angle between p̄j and ū1 is
equal to the angle between pj and u1 . The image also illustrates the spin angle ψ. In the
example shown, (n1 , ū1 , w̄1 ) undergoes a counterclockwise rotation of angle ψ to overlap
(n1 , u1 , w1 )
As an example for how pi and pj are defined, consider a sphere moving on a rigid horizontal
surface; assume bi is the ground and bj is the sphere. Three scenarios can occur,
69
2. ∥pi ∥ > 0 and ∥pj ∥ = 0: the sphere is dragged on the surface with zero angular velocity;
3. ∥pi ∥ = 0 and ∥pj ∥ > 0: the sphere rotates in place on the surface with zero translational
velcocity.
The sliding friction force has two components. One is incremental in nature and has a
saturation value and the other depends on the rate of relative, micro-scale sliding. In going
from t0 to t1 , referring to Fig. 4.3, a variable Sij is updated as
KD
Ff = Ef + Df = KE Sij + ∆Sij . (4.2)
h
The elastic component of the sliding friction force, Ef = KE Sij is µN -capped, a step that
relies on two quantities: the current “slide-mode” and the “slide-microdeflection”. A slide-
mode variable sm is established to assume one of two values: static s (stick mode); or kinetic
k (slip mode). The slide-microdeflection is defined as
SS = ∥Sij ∥ (4.3)
Its value is capped by SSs ≡ µs N/KE in slide mode where sm = k; or SSk ≡ µk N/KE in
stick mode where sm = s. In terms of nomenclature, SSs and SSk are called the static and
kinetic threshold slide-microdeflections, respectively. The capping is enforced as 0 ≤ SS ≤ SSs
in stick mode, and 0 ≤ SS ≤ SSk in slip mode. At the end of the time step once the “new
state”(positions, velocities, and the normal forces Fn ) has been established, we adjust the
slide-microdeflection SS and update the slide mode sm as follows:
70
If in the “stick case” (sm == s): Compute the scaling factor αs = SS /SSs . If αs > 1,
then set Sij = Sij /αs and sm = k.
If in the “slip case” (sm == k): Compute the scaling factor αk = SS /SSk . If αk > 1,
then Sij = Sij /αk . Else, set sm = s.
∆Sij
Df = K D · .
h
The damping coefficient KD represents a “knob” for controlling energy dissipation. It can
be determined through a parameter identification process using experimental data. In the
absence of experimental data, we suggest a “default” value for KD that imparts a critical
damping regime. Specifically, a fictitious mass mij is chosen as the average of the bi and bj
masses, and we have
q
KD ≡ 2 mij KE . (4.4)
We assume that the rolling of bi takes place in the plane defined by the normal n1 and vector
pi , and the rolling resistance torque is acting in this plane. The rolling friction model builds
on the assumption that over one time step h an average curvature κi can be defined for bi
along the pi direction. Considering that a curvature can be positive or negative (see Fig. 4.4),
a radius is associated with it and evaluated as Ri = 1/|κi |. A similar argument is made for
body bj – which leads to κj and Rj .
As far as body bi is concerned, its rolling motion over one time step h is assumed 2D in
nature; i.e., a 3D motion is represented as a sequence of 2D rolling stretches, each of duration
h. Body bi of curvature κi rolls over body bj of curvature κj and in this process the contact
point moves on bi a distance ∥pi ∥. Note that the rolling of bj takes place in the plane defined
71
by the normal n1 and vector pj . Thus, the rolling resistance torques for body i and body j
might not act in the same plane and might have different magnitudes.
Figure 4.4: Body bi on top, with κi > 0. Three scenarios shown for body bj : positive, zero,
and negative curvature.
The rolling friction model follows in the steps of the sliding friction case: an elastic
component is evaluated and capped to a threshold/saturation value; and, a damping mech-
anism is factored into the model and tied to the microdeflection rate of change. In this
phenomenological model, a small forward-backward rocking of angle θi about the contact
point leads to small excursions about this point. The angle and excursion are related as in
θi = κi pi .
Θi = Θi + θi = Θi + κi pi .
θi
Ti = TE,i + TD,i = KR,i Θi + DR .
h
The rolling friction is capped using the approach employed for the sliding friction. This
involves a “roll-mode” variable rm , which assumes one of the two values: static s (stick mode),
or kinetic k (slip mode). The roll-mode is kept constant during one time step; the rm value
does not change while “in flight”, from t0 to t1 . After accepting the new state at t1 , to prep
72
the next time step, one would go through the following process to update the roll state rm
and adjust the microdeflection Θi :
If in the “stick case” (rm == s): Compute the scaling factor αs = ∥Θi ∥/Θsi . If αs > 1,
then set Θi = Θi /αs , and rm = k.
If in the “slip case” (rm == k): Compute the scaling factor αk = ∥Θi ∥/Θki . If αk > 1,
then Θi = Θi /αk . Else, set rm = s.
There is little to draw on when choosing the stiffness for the rolling friction, see, for
instance [66]. In order to generalize this methodology to non-trivial body shapes that have
different curvatures at different locations of the body surface, we assume that the potential
energy from the threshold-microdeflection Θs is a fraction ηr of the potential energy from
that of the sliding friction one. For convenience, the subscript i is dropped,
1 1 2
KR (Θs )2 = ηr KE SSs , (4.5)
2 2
Relating the two microdeflections as in Θs = κSSs via an average curvature κ ≡ (κi + κj )/2
and a scaling coefficient ηθ leads to
4ηr
KR = KE , (4.6)
(κi + κj )2
µs N µs N
Θs = κ= (κi + κj ) . (4.7)
KE 2KE
cases. Note that κj cannot drop below −κi ; i.e., κj ∈ [−κi , ∞).
73
Table 4.1: Various values of the body bj curvature κj lead to different rolling friction
parameters KR and threshold deflection Θ■
i for body bi , see Eq.(4.6) and Eq.(4.7). For rolling
mode rm == s, replace the black square ■ with s; for rolling mode rm == d, replace it with
d.
κj KR Θ■
i
Tip of pin ∞ 0 ∞ ∞
µ■ N
Identical κi ηr Ri2 KE Ri KE
ηr µK■RRi N
µ■ N
Plane 0 4ηr Ri2 KE 2Ri KE
2ηr µK■RRi N
Mirror −κi ∞ 0 0
The spinning friction torque has two components: one elastic and one dissipative.
ψij
Tψ = TψE + TψD = Kψ Ψij + Dψ . (4.8)
h
The model ensures that the elastic component of the spinning friction torque is capped, a
step that relies on two quantities: the current “spin mode” and the “spin-microdeflection”.
The spin-mode variable ψm assumes one of two values: static s (stick mode), or kinetic k
(slip mode). The spin-microdeflection Ψij is updated at each time step as
The microdeflection value is capped in stick spin-mode by Sψs ; in slip spin-mode it is capped
by Sψk . In terms of nomenclature, Sψs and Sψk are called the static and kinetic threshold
74
If in the “stick case” (ψm == s): Compute the scaling factor αs = Ψij /Sψs . If αs > 1,
then set Ψij = Sψs and ψm = k.
If in the “slip case” (ψm == k): Compute the scaling factor αk = Ψij /Sψk . If αk > 1,
then set Ψij = Sψk . Else, set ψm = s.
In our numerical experiments, the threshold microdeflection values have been set to small
angle values, where Sψs = KSSs and Sψk = KSSk . Rather than selecting Kψ directly, one can
equivalently use a coefficient ηψ to tie the threshold spin potential energy to the threshold
slide potential energy,
1 2 1 2
Kψ Sψs = ηψ KE SSs ⇒ Kψ = ηψ KE /K2 . (4.9)
2 2
Note that curvature K and coefficient ηψ can either be empirical or derived through Hertzian
elastic contact theory. For the latter case, the radius of the contact patch between two
surfaces is used to derive the curvature, K = 1/a, and Eq.(4.9) is reduced to Kψ = 0.5a2 KE ,
which can be further determined based on material properties such as Young’s modulus and
Poisson ratio, see Appendix A.8 for details.
As the selection of Dψ is concerned, just like for the sliding friction, one can use critical
damping. To that end, a fictitious mass moment of inertia Iij is chosen as the average of the
bi and bj mass moments of inertia, and we have
q
Dψ ≡ 2 Iij Kψ . (4.10)
75
Any friction model requires a calibration process yielding the model parameters subsequently
used to compute the sliding, rolling and spinning friction loads. Relatively speaking, the
proposed approach is parsimonious in terms of the number of model parameters used. The
tangential friction force model needs three parameters: the static and kinetic friction coefficient,
µs and µk , and the sliding friction stiffness, KE . The damping coefficient is selected to capture
q
a critical damping response, KD = 2 mij KE , thus it is not independent (although the user
might choose to overwrite this default choice). The rolling friction torque model needs only
one independent parameter, ηr , which ties rolling stiffness KR with the sliding one KE through
KR = 4ηr KE /(κi + κj )2 . The damping coefficient, DR , is picked to produce critical damping
q
response, DR = 2 Iij KR (again, the user can choose to overwrite this default choice). Finally,
the spinning friction torque model has one independent parameter, ηψ , which ties the spinning
stiffness Kψ with the sliding one, KE , through Kψ = ηψ KE /K2 . If the Hertzian contact model
is used for the normal force, the spinning stiffness is derived from the radius of contact patch,
76
Kψ = 0.5a2 KE , where a is the contact area, calculated using the normal penetration and the
√
radius of the particle, a = Rδn , see Appendix A.8 for details. To sum up, the proposed
approach, which handles slide/roll/twist friction, requires four independent parameters, µs ,
µk , KE , ηr ; a fifth one, ηψ , might be needed should one work with a normal contact model
other than a Hertzian one. Other models that simultaneously handle all three types of friction
loads used the same amount of extra parameters [52, 47, 42], if not more [33].
To examine the behavior of the sliding friction model, a brick of mass m is initially at
rest on an incline as shown in Fig. 4.5. The angle of the incline is α. The static and sliding
friction coefficients between the brick and the slope are µs and µk , respectively. The stiffness
and damping coefficients associated with slide friction force, KE and KD , are given in Tab.4.2.
The normal force is set to be constant, N = mg cos α.
Initially, the slope angle α = 0.18 < tan−1 µs . The static and kinetic slide-microdeflection are
capped as SSs = µs N/KE = 2.41 × 10−5 m and SSk = µk N/KE = 1.92 × 10−5 m, respectively.
Two tests are run, with and without frictional damping component, Df , see Eq.(4.2).
Figure 4.6 reports the position, velocity, friction force and relative sliding increment and
history. When KD = 0, the static friction force saturates as the brick slides down, switching
from stick mode to slip mode. The brick oscillates within a small magnitude instead of
settling, and the elastic friction force Ef oscillates around mg sin α.
√
On the other hand, when damping is present; i.e., KD = 2 mKE ̸= 0, the brick slides at
micrometer level until the elastic friction force Ef balances out the mg sin α thus producing
results in line with the analytical solution. The static friction force does not saturate and the
brick remains in stick mode.
77
(b) Elastic (left) and damping (right) component of the slide friction
force.
Next, a set of three incline angles were considered: α = tan−1 µk , tan−1 µs and 0.25.
When the incline angle α ≤ tan−1 µs , the brick should stick, as evidenced in Fig. 4.7, and the
relative sliding Sij is smaller than, or equal to the stick slide-microdeflection SSs .
When α = tan−1 µk the brick will stick as well, in fact it is further in the “stick territory”.
However, when α > tan−1 µs , the static friction force saturates and the brick travels down the
78
slope in slip mode with Ef = µk mg cos α = 1.899N. The brick acceleration can be evaluated
as g sin α − Ef /m = 0.525m/s2 , which corresponds to the kinematics shown in Fig. 4.7a.
(b) Elastic (left) and damping (right) component of the slide friction
force.
To investigate the rolling friction model, a 2D disk of radius R, mass m, and inertia I rolls
on a flat surface as in Fig. 4.8. The translational and rotational coordinates are x and θ,
respectively. We set ẋ0 = 5m/s and θ̇0 = 0. The parameters for slide and roll friction models
are given in Tab. 4.3.
(a) Position-level information (left) and elastic components of the friction loads (right).
(b) Velocity-level information (left) and damping component the friction loads (right).
(c) Acceleration-level information (left) and micro-deformation for slide and roll (right).
Figure 4.9: Kinematics and friction forces of a disk rolling on flat surface.
81
The same test was performed with different damping coefficients, Dr and KD , to further
investigate how the disk comes to a stop, see Fig. 4.10. The roll and slide critical damping
√ √
coefficients are Dcr = 2 IKr and Kcr = 2 mKE , respectively. Notice that ẍ and θ̈
fluctuate/change sign before becoming zero. The overshoot decreases and the disk stops
sooner for larger damping coefficients.
For comparison, the same scenario was simulated with the constant torque rolling friction
model, see Eq.(2.48) in Sec. 2.2.1.4 and the discussion therein. For this test, the rolling
friction coefficient µr was set to be 0.1. The simulation was carried out until the disk settles,
and the results are plotted in Fig. 4.11a.
When the disk seems to come to a stop, the zoom-in figures display an oscillation of the
rolling friction torque between two values. Due to machine precision, angular velocity can
not reach exactly zero, therefore, the rolling friction torque will not disappear even when the
disk is supposed to settle. This is because the constant torque model leads to a “zero divided
by zero” scenario associated with the angular velocity, which produces the numerical artifacts
shown in the inset of Fig. 4.11a. In contrast, the rolling friction model presented in this
82
thesis, by tracking the history of the changes in relative angular orientation as opposed to
angular velocity, comes to a full stop as illustrated in Fig. 4.11a. Indeed, the rolling friction
torque goes to “zero” (machine precision) and the disk stops moving (no rocking behavior).
A 3D sphere of radius R = 0.2m and mass m = 5kg was given an initial velocity of 0.5m/s
parallel with the slope and pointing up. Angular velocity was set to zero. The rolling
resistance coefficient between the sphere and incline is ηr = 0.3. The linear velocity at the
center of mass vCM , angular velocity ω, and the elastic component of the slide and roll friction
loads, FE and TE , are shown in Fig. 4.12a. Snapshots of the simulation are provided in
Fig. 4.12, where the local reference frame, global contact frame, linear velocity and slide
friction force are colored in red, green, blue, and magenta, respectively.
With a nonzero initial velocity, the sphere quickly switches to slip mode in the kinetic regime
(the static regime last only very briefly). The slide friction force opposes the translational
motion and creates a torque that increases ω (Phase I). Once ω catches up, the sphere
switches to pure rolling mode, where the slide friction is static and the ratio between the linear
and angular velocity vCM /ω is close to radius R = 0.2m, indicating pure rolling mode for the
sphere (Phase II). After both vCM and ω decrease to zero, the sphere rolls down the incline
(Phase III). Although both vCM and ω change sign, the sphere remains in pure rolling mode
with increasing static friction since the slide micro-deformation is increasing. Eventually, the
static friction saturates and the sphere rolls down the incline with slip (Phase IV). In both
Phase I and IV, the sphere rolls on the incline in a rolling-with-slip fashion, where both slide
and roll loads are in kinetic regime: FE = µk N = 8.027N, and TE = 2ηr Rµk N = 0.963Nm.
During Phase II and III, the sphere rolls on the incline without slip, where the slide friction
force is in static mode, whereas the roll friction torque is in kinetic mode. Therefore, the
elastic part of the slide friction can take any value between [−µs N, µs N ] = [−10.03, 10.03],
while the roll friction is saturated at TE = 0.963Nm.
84
(a) Velocities (left), elastic component of slide FE and roll TE friction loads (right).
(d) Time = 0.09sec (Phase III) (e) Time = 0.2sec (Phase IV)
Figure 4.12: Sphere going up an incline of 35o with v0 = 0.5m/s.
The same simulation was carried out using different combinations of the incline angle α
and the rolling resistance ηr . The incline angle α was varied from 1o to 30o by a step of 0.1;
the rolling resistance ηr was varied from 0.2 to 0.5 by a step of 0.01. This sweep required
√ √
9021 = 291 × 31 simulations; damping was fixed at KD = mKE and Dr = IKr . Each
simulation captured 1sec of system dynamics, long enough for the sphere to reach steady
state. This steady state was categorized into four scenarios listed in Tab.4.4.
As illustrated in Fig. 4.13, with larger slope angle, the sphere has a tendency to slip at
85
Table 4.4: Four steady-state configurations for sphere on incline. Acronyms: “S” – Static;
“PR” – Pure Rolling; “PS” – Pure Slip; “RwS” – Rolling with Slipping.
S PR PS RwS
kinematic constr. vCM = 0, ω = 0 vCM = ωR ω = 0, vCM ̸= 0 vCM > ωR
slide mode state static static kinetic kinetic
roll mode state static kinetic static kinetic
Figure 4.13: Steady state, captured at the end of the simulation, for sphere rolling up an
incline scenario 4.4.4, color indicates different steady-state configurations.
the point of contact. As ηr increases, there is more resistance for the sphere to roll, and the
sphere is capable of “freezing” on the incline for a larger range of angles. When ηr ≥ 0.5,
the rolling resistance is so high that eventually the sphere can slide down the steep slope
like a brick, with no rolling. The critical state in between different scenarios, shown as the
black border, is derived analytically in Appendix A.7. Figure 4.13 indicates good agreement
between the analytical results and simulation predictions.
In Sec. 4.3.3, K and ηψ can be specified in two ways: using heuristics, or employing a Hertzian
contact theory approach. Therefore, two spinning friction tests were performed, where the
sphere of Sec. 4.4.4 was spun on a flat surface with an initial angular velocity ω0 = 1 rad s−1 .
86
The axis of rotation aligns with the gravity. The coefficient Dψ is picked for critical damping,
see Eq.(4.10). The simulation lasts for 8 sec, which is long enough for the body to stop
spinning.
For the heuristic approach, spinning resistance coefficient ηψ and curvature K are set to 0.006
and 5, respectively. Figure 4.14 shows snapshots taken at time t = 0, two during the spinning
process (kinetic mode), and one when the sphere settles (static mode). The body frame
and global contact frame are colored in red and green, respectively. In kinetic mode, the
spinning friction torque Tψ stays constant. The kinetic spin friction torque can be evaluated
as Tψ = µk N ηψ R = 0.0118Nm.
(a) Time = 0sec (b) Time = 2sec (c) Time = 4sec (d) Time = 8sec
Figure 4.14: Snapshots, sphere spinning, empirical model; ηψ = 0.006, K = 5, ω0 = 1rad/s.
Next, the simulation setup described was used in a parametric study in which ηψ changes
from simulation to simulation. Results for four cases; i.e., ηψ = 0.012, 0.01, 0.008 and 0.006,
are reported in Fig. 4.15. The evolution of the angular velocity ω over time and the orientation
of the contact frame (u, w) at the end of the simulation (t = 8sec) are plotted in Fig. 4.15
using matching colors. The (u, w) contact frame at the beginning of the simulation is shown
in black. Note the overshoot in ω, shown in the inset, which indicates that the sphere changes
its spinning direction before coming to a stop.
The second set of parametric studies simulated the spinning of spheres with curvature
K derived from the Hertzian contact theory, see Appendix A.8. Two types of material were
87
Figure 4.15: Angular velocity ω over time using various ηψ (left); Global contact frame when
the sphere settles(right).
modeled, steel and glass. Radius R, density ρ, Young’s modulus E and Poisson ratio ν are
listed in Tab. 4.5.
For each test, four values of sliding stiffness KE are used, 5 × 105 , 106 , 5 × 106 , and
107 N/m. Both the spinning history Ψij and angular velocity are reported in Fig. 4.16.
For the same sphere, a smaller KE results in a larger slide and spin micro-deflection
thresholds, SSs and Sψs . Therefore, it takes longer for the sphere to initially switch from static
to kinetic mode. A smaller KE also results in smaller spinning stiffness KE and damping
coefficient Dψ , which leads to a larger overshoot of the angular velocity when the sphere
comes to a stop. However, KE does not affect the kinetic spinning torque, therefore, the
acceleration during kinetic mode is the same as illustrated by the same slope in each angular
velocity plot.
88
Ellipsoids provide in many cases good approximations for grain shape in granular materials.
However, performing contact detection between ellipsoids is more difficult than spherical
geometries.
Contact detection comes into play when computing normal forces, a task that was bypassed
thus far. Note that in the numerical experiments discussed previously, the normal contact
force, a key ingredient in any friction model, was calculated analytically. For ellipsoids, an
analytical solution is not available for the normal force unless the line of action of gravity
passes through the point of contact. Thus, a normal force computational model needs to
be brought in. For convenience, a traditional Hookean normal force model [3] is used in
herein, where N = kn δn , with stiffness kn =1 × 107 N m−1 , and penetration depth δn obtained
through collision detection.
One salient aspect when handling ellipsoids is that due to the change in curvature and normal
force, both the stiffness of the roll-/spin-friction models and the threshold micro-deflections
associated with slide-/roll-/spin models must be updated at every time step.
An ellipsoid of semi-axes, a, b and c, and mass m was placed on a flat surface in an upright
position, see Fig. 4.17a. The initial translational velocity of the center of mass is vy = 0.3m/s;
there is zero initial angular velocity. The ellipsoid properties and the friction model parameters
are given in Tab.4.6.
Poses in the motion of the ellipsoid are shown in Fig. 4.17. Between time t = 0.9sec to
t = 1.8sec, the rolling changes its direction. Eventually, the ellipsoid settles with a flat pose,
see Fig. 4.17f.
A steel ellipsoid of semi-axes a = b = 0.02m and c = 0.05m was spun with an initial angular
velocity ω0 = 1rad/s about a principal axis; all other angular/translational velocities of the
center of mass are zero. Two initial orientations are considered – upright and flat. In the
upright case (Fig. 4.18a), due to the large curvature at the contact point, the spin stiffness
is small, which translates into longer time to rest. When the ellipsoid lays horizontally on
the ground, there is more spinning friction due to a smaller curvature, which translates into
shorter time to rest (Fig. 4.18b). In line with expectations, the simulation results suggest that
a smaller contact area (higher curvature) leads to less spinning resistance. Tab.4.7 outlines
91
(a) Upright.
(b) Flat.
Figure 4.18: Ellipsoid spinning.
In Fig. 4.19, two identical spheres (blue and red) of mass m = 1kg and radius R = 0.15m are
placed on a horizontal flat surface; the distance between their centers is 2.3R (0.3R gap). A
third sphere (yellow) of the same radius R but a different mass mtop is placed right in-between
and above the red and blue spheres. Two scenarios are possible, outcomes of the interplay
between the roll and slide frictions: the yellow sphere drops down; or, after it moves a bit, the
three-sphere structure stabilizes. To minimize the influence from impact, the top sphere is
barely touching the bottom ones when it is released at the beginning of the simulation. The
sphere-sphere and sphere-ground contact are described with the same friction parameters,
µs , µk , KE and ηr . Since the computation of the normal contact force is nontrivial, e.g.,
when the bottom spheres roll and/or slide, an open-source physics-based simulation platform,
Chrono::Multicore [69, 70], is used to perform the test. The normal contact force is computed
using a Hertzian contact model [71] available in Chrono::Multicore, with Young’s modulus
E = 2MPa, Poisson ratio ν = 0.3, and coefficient of restitution 0.4. The friction loads are
computed according to the model discussed herein.
Figure 4.19a reports as a function of ηr the smallest mass mtop for which the top sphere
collapses to the ground; this critical value is called mctop . Several curves are shown, each
associated with an initial gap between the red and blue spheres. For all initial gaps, mctop
increases with ηr up to a certain point, ηrc . For ηr > ηrc the critical mass decreases until it
reaches a plateau – increasing ηr no longer influences the stability of the stack. Figures 4.19b,
4.19d and 4.19f are snapshots of a stable stack when ηr = 0.16, 0.23 and 0.35, respectively,
93
where both sliding and rolling mode of all contacts are static. In comparison, Fig. 4.19c,4.19e,
and 4.19g capture how the stack starts to collapse with a slightly heavier load (increased by
0.01kg), as the top sphere drops and pushes the bottom ones to the side. When ηr = 0.16,
the rolling mode of the bottom spheres with the ground is kinetic, while the sliding mode
remains static. The bottom spheres roll outward, illustrated by the body frame attached, see
Fig. 4.19c. When ηr increases to 0.23, more rolling friction restricts the bottom spheres from
rolling away, therefore more weight can be supported, until slide friction mode also becomes
kinetic. In Fig. 4.19g, ηr = 0.35, the slide friction force saturates while the rolling mode is
still static, implying that when the pile collapses, the bottom spheres slide outward instead
of rolling; i.e., there is no angular velocity, only translational velocity. Since slide friction
saturates before the roll friction, the amount of weight the stack can support depends on µs ,
rather than ηr , which explains the flat part of the curve in Fig. 4.19a.
94
(a) Plot of mctop ; i.e., minimum mass of top sphere for the pile
to collapse.
5 e vo lv i n g c o n tac t a p p roac h
Section 2.2 presented an overview and comparison of two approaches, DEM and DVI, for
handling Coulomb dry friction and contacts in multibody dynamics. Both methods rely on
augmenting the Newton-Euler equations of motion, see Eq.(2.17). One difference between
them is the assumption used: whether or not the bodies are allowed to deform slightly at the
contact point.
For DEM, the contact forces are computed explicitly as external forces using constitutive
models that relates the micro-deformation with the contact forces. The normal force Fn
is modeled as a spring-damper mechanism, where the stiffness of the spring, kn , is related
to Young’s modulus of the particles. In order to model contact forces realistically, the
micro-deformation at the contact area has to be captured. As a result, DEM simulations
generally use a small step size in the range of 10−4 to 10−6 to ensure the stability of a stiff
problem. DEM applications usually involve hundreds and thousands of particles. Thus, the
computation efficiency can be hindered by a small step size.
Conventionally, applying implicit integration methods [72, 14, 73] to stiff problems will
allow a larger step size. Implicit methods, however, come at the cost of evaluating Newton
iteration matrices and solving linear systems of equations. However, it is not trivial to
evaluate the sensitivity of the frictional contact forces and torques when assembling the
Jacobian matrices, i.e., items Fra , Fṙa , Fpa , Fṗa , τ̄r , τ̄ṙ , τ̄p , τ̄ṗ in Eq.(2.32). Given the frictional
contact force models introduced in Sec. 2.2.1.2 to 2.2.1.5, the expressions for F a and τ̄ are
complicated and history-dependent.
On the other hand, DVI assumes perfectly rigid bodies, which leads to a non-penetration
condition at the point of the contact. The non-penetration condition is captured as a unilateral
constraint, and the Coulomb friction law is formulated as a complementarity condition. The
discretized DAEs in Eq.(2.23) are transformed into a cone-constrained optimization problem.
Frictional contact forces are part of the solution produced together with the kinematics of
the particles, rather than quantities evaluated explicitly. This modeling technique allows for
96
a step size two to three orders larger than the one used in DEM for the same application,
since micro-deformation is not modeled. However, DVI lacks the flexibility of using various
frictional contact force models. Indeed, the constitutive relations have to be formulated as
algebraic constraints in DAEs, increasing the problem size.
Regardless of the approaches for modeling bodies discretely, contact detection is a necessary
component in simulation to figure out which bodies are in contact with each other at every
time step. Contact detection can be costly to perform and even difficult to implement.
For non-trivial geometries, such as ellipsoid-ellipsoid contacts, iterative methods such as
Gilbert–Johnson–Keerthi (GJK) are typically utilized instead of analytical solutions. In a
typical contact detection algorithm, the following information is produced: contact point ᾱi
on the surface of body i, contact point ᾱj on the surface of body j, and contact normal nij
at the point of contact.
In this chapter, we propose a modeling and numerical scheme that splits the treatment of
the normal force and the frictional loads. Specifically, the non-penetration condition is treated
as a constraint, ensuring that the contact points on the surfaces of two bodies in mutual
contact always coincide. The Lagrange multipliers associated with the constraint produce the
normal force Fn , allowing a larger step size h since the stiffness of the normal force, kn , does
not come into play. On the other hand, the frictional loads are computed explicitly using the
model proposed in Chap. 4, where the relative motion between the surfaces is evaluated by
tracking the contact points. The half-implicit Lie-group integrator developed in Chap. 3 is
utilized to solve the constrained DAE, eschewing the computation of the sensitivity matrices
of the frictional loads.
When formulating the “contact points coincide” constraint and calculating the friction
loads from the relative motion of the contact points, one need the location of the contact
points, ᾱi and ᾱj . Instead of relying on the contact detection algorithm, the approach
adopted here treats the contact point information as unknowns to be solved as part of the
numerical solution of the DAEs. This eschews contact detection at each time step after the
97
initiation of the contact. Additional constraints enforce that the surface normals evaluated
at the contact points on each body should point in the opposite directions. The expression
for the surface normal is available as long as one has the local parameterizations of the sur-
face. Theoretically, this formulation can be extended to meshes by interpolating the surface
normal locally. Although the approach adds 13 additional constraints to the equations of
motion for each active contact, it can allow larger step sizes and reduce costly contact detection.
Section 5.1 describes the kinematics constraint for tracking contact points and derives the
first-order sensitivities of the constraints. Section 5.2 explains the handling of frictional loads
in the evolving contact approach. Section 5.3 derives the constrained DAEs formulated to
handle frictional contact. Section 5.4 employs a first-order half-implicit Lie-group integrator
to solve the DAEs. Section 5.5 reports two numerical experiments to demonstrate how the
model handles non-trivial geometry, where a sphere rolls on a concave surface. Both friction
and frictionless cases are considered.
5.1 Kinematics
Assume that the geometry of body i is given by the equation
Gi (ᾱi ) = 0 ∈ R, (5.1)
where ᾱi is represented with respect to the center of the mass reference frame of body i.
Given a smooth surface, at any point ᾱi , there exist a unique outward-pointing normal n̄i
expressed as
n̄i = ∇Gi (ᾱi ). (5.2)
98
Let the orientation of the body frame with respect to global reference frame be Ai , then we
can express any point on the surface, P , and its outward normal globally as,
ni = Ai n̄i . (5.4)
Now derive the virtual displacement of any point on the surface, for simplicity, we drop
the body index (·)i for now. Consider nudging the following quantities slightly, r → r + δr,
A(θ) → A(θ + δθ) and ᾱ → ᾱ + δ ᾱ, then we have the new location written as,
P
rnew = (r + δr) + A (θ + δθ) (ᾱ + δ ᾱ) . (5.5)
f ≈ A (θ) I + δθ
A (θ + δθ) = A (θ) exp(δθ) f . (5.6)
P f · (ᾱ + δ ᾱ)
rnew = r + δr + A I + δθ (5.7)
δr P = rnew
P
− r P = δr + Aδ ᾱ − Aᾱδθ
e (5.10)
99
Let P be the point of contact, which traverses on the surface of body i. When point P
on body i comes in contact with a different point P on body j, assuming that there is no
penetration between body i and j, we can formulate the following non-penetration constraint
Ψij ,
Ψij : riP − rjP = 0 ∈ R3 . (5.11)
Plug in Eq.(5.3) for riP and rjP to express the constraint in generalized coordinates r and A,
and localized contact points, ᾱ, we have
δr
i
δr
j
δΨij = Ψri Ψθi Ψᾱi − Ψrj (5.13)
δθi Ψ θj Ψᾱj δθ
j
δ ᾱi δ ᾱj
where
When two bodies are in contact at point P , the surface normal of body i at the contact
point, ni , is perpendicular to the tangent plane defined at the same point on body j, τj ,
i.e., ni ⊥ τj . Since nj ⊥ τj , we have ni //nj . Define a unit surface normal such that it can
only point to the space where other bodies can come in contact with, then we only need two
100
Here superscript (·)0 is for denoting unit vectors, so n0 = n/∥n∥. We no longer need the
constraint where c = [0, 0, 1], since n0i and n0j are unit vectors, and satisfying Eq.(5.16)
indicates [0, 0, 1]T (n0i + n0j ) = 0. The constraints can be further expressed using local n̄ as,
Nij : cT (Ai n̄0i + Aj n̄0j ) = 0, where c = [1, 0, 0] and [0, 1, 0]. (5.17)
h i
δNij = cT δ(Ai n̄0i ) + δ(Aj n̄0j ) (5.18)
h i
= cT δAi n̄0i + Ai δ n̄0i + δAj n̄0j + Aj δ n̄0j (5.19)
δAi n̄0i ≈ Ai δθ
g n̄0 = −A n̄
i i
f0
i i δθi , (5.20)
and introduce the following notations as the partial derivatives of the unit surface normal,
∂ n̄0i ∂ n̄0j
n̄0i,ᾱ = , n̄0j,ᾱ = . (5.21)
∂ ᾱ ∂ ᾱ
δr
i
δr
j
δθi + 02×3 Nθj Nᾱj
δNij = 02×3 Nθi Nᾱi
δθj ,
(5.22)
δ ᾱi δ ᾱj
where
Nθi = −cT Ai n̄
f0 ,
i Nᾱi = cT Ai n̄0i,ᾱ (5.23)
Nθj = −cT Aj n̄
f0 ,
j Nᾱj = cT Aj n̄0j,ᾱ . (5.24)
Theoretically, given the surface geometry G(ᾱ), one can derive analytically the expression for
n̄0i,ᾱ and n̄0j,ᾱ . In Appendix A.3, we show how these quantities are derived for an ellipsoid
surface.
T h iT
δr P Ff r = δr + Aδ ᾱ − Aᾱδθ
e Ff r (5.25)
= δr T Ff r + δθ T ᾱA
e TF
fr (5.26)
Then, if the friction force Ff r acts on body i at contact point P , the right hand side of linear
e TF
and angular momentum is changed by Ff r and ᾱA fr
102
Here ᾱ is a R6nc array of localized contact points, and can take the form of
1
ᾱi
1
ᾱj
.
ᾱ ≡ .. . (5.28)
nc
ᾱi
ᾱnj c
According to the Lagrange Multiplier Theorem (see Appendix A.1), there exist λΨ , λN and
λG such that,
a T Ψ
M r̈ − F Ψr 0 0 λ 0
¯˙ ˜ J¯ω̄ − n̄
a + ΨTθ NθT
N
J ω̄ + ω̄
0 λ = 0
(5.30)
0 ΨTᾱ NᾱT GᾱT λG 0
103
J¯ω̄˙ + ω̄
˜ J¯ω̄ + ΨTθ λΨ + NθT λN = n̄a 3nb eqs (5.32)
with unknowns r̈ ∈ R3nb , ω̄˙ ∈ R3nb , ᾱ ∈ R6nc , λΨ ∈ R3nc , λG ∈ R2nc and λN ∈ R2nc .
M r̈n + ΨTn,r λΨ a
n = Fn (5.37a)
J¯ω̄˙ n + ω̄
˜ n J¯ω̄n + ΨT λΨ T N a
n,θ̄ n + Nn,θ̄ λn = n̄n (5.37b)
ΨTn,ᾱ λΨ T N T G
n + Nn,ᾱ λn + Gn,ᾱ λn = 0 (5.37c)
G(ᾱn+1 ) = 0 (5.37f)
ΨTn,ᾱ λ̂Ψ T N T G
n + Nn,ᾱ λ̂n + Gn,ᾱ λ̂n = 0 (5.38c)
G(ᾱn+1 ) = 0 (5.38f)
where bn and cn are evaluated in Eq.(3.29). For the contact evolving scheme, we solve for
unknowns, rn+1 , θ̄n+1 , An+1 and the Lagrange multipliers corresponding to the constraints,
G N
λ̂Ψ
n , λ̂n and λ̂n , where
Newton-Raphson method is used to solve the set of nonlinear equations in Eq.(5.38) iteratively.
(0) (0) (0)
At each time step n, the solver starts with an initial guess of the unknowns rn+1 , θ̄n+1 , An+1 ,
λ̂Ψ(0)
n , λ̂N
n
(0)
and λ̂G(0)
n , and update the unknowns iteratively until the solution converges. At
iteration (k) we evaluate Eq.(5.38) with guessed values and the right hand side has a residual
of e,
(k) (k)
M rn+1 + ΨTn,r λ̂Ψ(k)
n + bn = e0 (5.40a)
(k) (k)
J¯θ̄n+1 + ΨTn,θ̄ λ̂Ψ(k)
n + Nn,T θ̄ λ̂N
n
(k)
+ cn = e1 (5.40b)
(k)
ΨTn,ᾱ λ̂nΨ(k) + Nn,T ᾱ λ̂N
n
(k) T
+ Gn, G(k)
ᾱ λ̂n = e2 (5.40c)
(k) (k) (k) (k)
Ψ(rn+1 , An+1 , ᾱn+1 ) = e3 (5.40d)
(k) (k) (k)
N (An+1 , ᾱn+1 ) = e4 (5.40e)
(k) (k)
G(ᾱn+1 ) = e5 (5.40f)
105
N G
Now we perturb the unknowns slightly by δrn+1 , δ θ̄n+1 , δαn+1 , δ λ̂Ψ
n , δ λ̂n and δ λ̂n ,
(k+1) (k)
rn+1 = rn+1 + δrn+1 , (5.41a)
(k+1) (k)
θ̄n+1 = θ̄n+1 + δ θ̄n+1 , (5.41b)
(k+1) (k+1)
ᾱn+1 = ᾱn+1 + δαn+1 , (5.41c)
λ̂Ψ(k+1)
n = λ̂Ψ(k)
n + δ λ̂Ψ
n, (5.41d)
λ̂N
n
(k+1)
= λ̂nN (k) + δ λ̂N
n, (5.41e)
λ̂nG(k+1) = λ̂G(k)
n + δ λ̂G
n, (5.41f)
(k+1)
M rn+1 + ΨTn,r λ̂Ψ(k+1)
n + bn = 0, (5.42a)
(k+1)
J¯θ̄n+1 + ΨTn,θ̄ λ̂Ψ(k+1)
n + Nn,T θ̄ λ̂nN (k+1) + cn = 0, (5.42b)
ΨTn,ᾱ λ̂Ψ(k+1)
n + Nn,T ᾱ λ̂N
n
(k+1) T
+ Gn, G(k+1)
ᾱ λ̂n = 0, (5.42c)
(k+1) (k+1) (k+1)
Ψ(rn+1 , An+1 , ᾱn+1 ) = 0, (5.42d)
(k+1) (k+1)
N (An+1 , ᾱn+1 ) = 0, (5.42e)
(k+1)
G(ᾱn+1 ) = 0. (5.42f)
(k)
M δrn+1 + ΨTn,r δ λ̂Ψ = −e0 , (5.43a)
(k)
J¯δ θ̄n+1 + ΨTn,θ̄ δ λ̂Ψ T N
n + Nn,θ̄ δ λ̂n = −e1 , (5.43b)
(k)
ΨTn,ᾱ δ λ̂Ψ T N T G
n + Nn,ᾱ δ λ̂n + Gn,ᾱ δ λ̂n = −e2 , (5.43c)
(k)
Ψn,r δrn+1 + Ψn,θ̄ δ θ̄n+1 + Ψn,ᾱ δ ᾱn+1 = −e3 , (5.43d)
(k)
Nn,θ̄ δ θ̄n+1 + Nn,ᾱ δ ᾱn+1 = −e4 , (5.43e)
(k)
Gn,ᾱ δ ᾱn+1 = −e5 , (5.43f)
106
where Eq.(5.43c), (5.43d) and (5.43f) are derived from the following approximation,
δq = −N −1 e(k) (5.47)
M 0 0 ΨTr 0 0
0 J 0 ΨTθ̄ Nθ̄T 0
ΨTᾱ NᾱT GᾱT
0 0 0
N=
(5.48)
Ψr Ψθ̄ Ψᾱ 0 0 0
0 Nθ̄ Nᾱ 0 0 0
0 0 Gᾱ 0 0 0
(k)
δrn+1
e0
(k)
δ θ̄n+1
e1
(k)
δ ᾱn+1 e2
δq = , e(k) = (5.49)
Ψ (k)
δ λ̂n e3
N
(k)
δ λ̂n
e4
(k)
δ λ̂G
n e5
107
In this test, both sliding and rolling friction coefficients are set to zero. Figure 5.2 plots the
trajectories of the contact points ᾱi and ᾱj in GRF (y- and z-directions). The start and the
end of the trajectory are labeled as well. Note that the location of the contact points with
respect to the body frames are different, but the global representation of the contact points
should be the same due to the “contact points coincide” constraints being enforced. Figures
5.3, 5.4 and 5.5 verify that all the constraints associated with the contact event in Eq.(5.27)
are satisfied within machine precision over the duration of the contact.
Figure 5.6 plots the magnitude of the normal force between the sphere and the concave
surface, computed directly from the Lagrange multipliers of the “contact points coincide”
108
Figure 5.2: Trajectories of the contact points on the surfaces of the sphere and the ellipsoid.
constraints, λΨ . The normal force oscillates as the sphere moves back and forth on the
surface.
Figure 5.6: Sphere on a concave surface without friction: magnitude of the normal force.
The same test in Sec. 5.5.1 was repeated for a frictional scenario. Herein, the friction model
in Chap. 4 was implemented using the parameters in Tab. 5.1. Four values of rolling friction
coefficients, ηr = 0, 0.1, 0.2, and 0.3, were used for each simulation. All simulations lasted
for 10 seconds, and the step size is set to 5 × 10−3 . Figure 5.7 plots the trajectory of the
contact point in GRF. With increasing rolling friction, the sphere rolls less distance before
settling. Figure 5.8 illustrates the magnitude of the normal force, sliding friction force, and
rolling friction torque over time using various ηr . The magnitude of the velocity and angular
velocity are included to demonstrate that the sphere comes to a stop with rolling resistance.
Table 5.1: Sphere rolling on a concave surface, parameters for the friction model in Chap. 4.
parameter µk µs KE KD ηr
value 0.2 0.25 1 × 104 100 0, 0.1, 0.2, 0.3
111
In contrast, without the rolling resistance, the sphere continues to roll without slipping, where
v = ωR. When the sphere reaches the farthest point in each direction, we see spikes in
sliding and rolling friction. Indeed, at the farthest point, the velocity and angular velocity of
the sphere are zero, considering all the kinetic energy is transformed into potential energy.
Without relative movements, the friction loads are in the static regime. However, the sphere
still has the tendency to slide and rotate since accelerations are nonzero. Hence, the friction
loads saturate, shifts from static to sliding and/or rolling regime. As the sphere rolls up in the
z-direction, normal force gradually decreases; thus, the saturation value for the sliding and
rolling friction decreases according to the Coulomb friction law ∥Ft ∥ ≤ µk ∥Fn ∥. Undoubtedly,
it is easier for the sphere to roll and/or slide when it locates higher up on the concave surface.
112
(a) ηr = 0
(b) ηr = 0.1
(c) ηr = 0.2
(d) ηr = 0.3
Figure 5.8: Magnitude of normal force, sliding friction force, and rolling friction of a sphere
rolling on a concave surface using various rolling friction coefficient ηr .
113
6 s o f t wa r e a s p e c t s
Due to the small step size necessary for numerical stability and the large number of particles
required to capture the physics of interest, DEM can be computationally expensive. Until
recently, CPU-only parallel computing techniques have been implemented to accelerate large-
scale DEM simulations. These approaches drew on: (1) OpenMP, for single multiprocessor
with shared memory architectures [74]; (2) the Message Passing Interface (MPI) standard,
for clusters with distributed memory [75]; and (3) hybrid MPI-OpenMP parallelism [76, 74].
The Graphics Processing Unit provides an alternative architecture for parallel computing
(GPU). Over the last decade, owing to its high bandwidth and fast global memory, the
GPU has anchored the intense arithmetic computations demanded, for instance, by artificial
intelligence applications, linear algebra, and molecular dynamics simulation.
This chapter reports an open-source, publicly available C++ software module called
Chrono::GPU, which performs DEM simulations of granular systems on Graphics Processing
Unit (GPU) cards. Chrono::GPU implements common contact force models, such as the
Hertzian model for normal force in Eq.(2.42), the Mindlin friction force model that considers
the history of tangential displacement in Eq.(2.46), constant torque rolling friction model
in Eq.(2.48), and cohesion. The solver supports the interactions of granular material with
geometries defined by triangle meshes and co-simulation with other multibody dynamics
simulation engines, including Chrono [69] itself.
Sections 6.1 and 6.2 focus on software implementations for reducing memory footprint
and increasing simulation speed, e.g., mixed-data types and domain decomposition. Section
6.3 outlines the co-simulation framework.
[77]. Moreover, the memory required to store a value in 32 bits is half of what is required to
store it in 64 bits. This is also relevant for cache performance – the typical cache line on a
CPU is 64 bytes wide, meaning more variables can be stored in the cache if they store their
values using 32 bits instead 64 bits. Finally, upon a cache miss, moving data from memory
to cache is also more effective if the variables that are accessed store their values using 32
instead of 64 bits. Therefore, 32-bit data types like int and float are preferred over 64-bit
ones, like long int and double.
However this raises the question of whether or not single precision (ϵf loat ≈ 10−7 vs.
ϵdouble = 10−16 ) is enough for DEM problems. Indeed, DEM particles are modeled with large
contact stiffness, which can lead to small deformation in normal and tangential direction.
Take one sphere of radius R = 1 mm resting on the ground as an example, with normal
stiffness kn = 1 × 108 N m−1 , density ρ = 2.5 × 103 kg m−3 and gravity g = 9.8 m s−2 , using
Hertzian contact model, the normal deformation due to gravity is about δn = 1.02 × 10−8 m,
too small to be captured in single precision.
There is one more salient point in relation to using floating point numbers: they are
“designed” to capture all the numbers on the real axis. If one uses 32 bits in floating point
to capture real numbers, there are only 232 machine numbers used as proxies for an infinite
number of values on the real axis. However, why would one care in DEM about values such
as 8.547 ? All the physics of interest takes place in a relatively well defined range of values: in
SI units, the speeds are between zero and several hundreds, the particles are located in space
in a range from say -100 to 100, etc. Therefore, there are bits out of the 32 bit budget for a
floating point number that go unused since the DEM physics does not hit on them. In our
implementation we decided to use a 32 bit budget differently. Indeed, we use variables of
type int to specify the position of the particles in the 3D space – three int values for the
x, y, and z coordinates of a DEM particle. In other words, we scale position quantities to
be covered by the whole range of int, (−2 147 483 647, 2 147 483 647), essentially slicing the
domain in each direction into as many pieces as a single int can represent. The minimum
115
max(Bx , By , Bz )
lunit = , (6.1)
Nint − 1
where {Bx, By, Bz} is the size of the simulation domain in each direction, and Nint = 231 .
For a soil bin of length 1 m, lunit is about 4.66 × 10−10 , less than the order of the normal
penetration, enough to account for micro-deformation.
Another advantage of using int for position is that for the same data size, integer
operations are always faster than floating point arithmetic, thus reducing the computation
cost of position-related calculations, such as broadphase contact detection (see Sec. 6.2).
The rule of thumb is that we only use 8-byte double data type when necessary and with
variables stored in very fast memory (registers), and use 4-byte or less data types for variables
stored in slow memory. Tab. 6.1 lists different data types encountered in Chrono::GPU and
their memory location.
Table 6.1: Various data type in Chrono::GPU and their memory location.
each particle can touch at most 8 SDs, when searching for neighboring particles, only the
SDs that touch the particle can contain potential neighbors.
Apart from contact detection, the SDs are also used for representing particle position,
Pglobal , indirectly as a combination of the local position with respect to the origin of the owner
SD, Ploc , and the location of SD origin, PSD , see Fig. 6.1 for illustration. The cost of storing
particle position are 4 bytes for the index of the owner SD (unsigned int) and 4 × 3 = 12
bytes for local coordinates (int), for a total of 16 bytes. This is less than 3 × 8 = 24 bytes if
64-bit data types (long int or double) are used. Therefore, positions are stored efficiently on
the global memory, significantly reducing the time of moving data. During contact detection,
the SD owner index and local positions are brought from the device global memory and the
absolute positions are computed. For each contact pair, the absolute global positions are cast
as doubles to ensure accuracy when computing penetration. These operations access fast
local memory instead of global one, improving memory bandwidth and cache utilization.
117
6.3 Co-simulation
Chrono::GPU can perform explicit co-simulation with other multibody dynamics packages.
The user can import triangular meshes to represent the geometry of an object, e.g., a complex
wheel or a track shoe, to interact with the granular material. Given the position and velocity
of the meshes, the force and torque exerted from the granular particles to the object can
be computed and then transferred to a multibody dynamics engine, which then performs
dynamics analysis and updates the kinematics of the object. These updates, in turn, are
picked up by Chrono::GPU and influence the dynamics of the particles at the next time step.
The Chrono::GPU co-simulation workflow is shown in Figure 6.2. One co-simulation example
can be found in Sec. 7.2.6.
118
7 va l i dat i o n s
This chapter presents a wide range of validation tests to ensure the soundness of Chrono::GPU
introduced in Chap. 6. Section 7.1 validates individual contact force models through small-
scale unit tests against the analytical solution. Sections 7.1.1, 7.1.2, and 7.1.3 examine
head-on collisions, sliding friction, and oblique impact tests, where the normal and tangential
force model play an important role. Section 7.1.4 tests the rolling friction model by stacking
particles as a pyramid-like structure.
Section 7.2 validates Chrono::GPU on a larger scale against experimental data reported
in the literature. Since DEM is a widely-adopted scheme for modeling granular material
encountered in different engineering fields, the validation tests presented here cover various
engineering applications, such as direct shear tests in geological engineering (Sec. 7.2.2),
low-gravity impact tests in aerospace engineering (Sec. 7.2.4), rotating drum tests in pharma-
ceutical and food industry (Sec. 7.2.5), and single wheel tests in terramechanics (Sec. 7.2.6).
Given that granular materials can behave simultaneously as solids, fluids, and gases,
research topics on granular materials have gained attention for decades. The tests reported
herein also aim to qualitatively verify the characteristics of the granular materials discovered
by physicists. The wave propagation tests in Sec. 7.2.1 confirm that friction can enhance the
elasticity in granular solids. The cratering tests in Sec. 7.2.3 validate the scaling relationship
between the penetration depth and the drop height of the projectile. The rotating drum tests
in Sec. 7.2.5 identify various flow regimes of the granular materials discovered in the literature.
119
Figure 7.1: Before and after sketches of a head-on collision of two spheres without gravity.
A set of head-on collision tests were carried out to validate the rebound behavior of the normal
force model Fn during an impact. Two identical spheres without gravity were given initial
velocities pointing towards each other with a magnitude of vi . After the collision event, the
magnitude of the rebound velocity is measured as vend . The ratio between the relative velocity
after and before the collision event, |vend /vi | should match the Coefficient of the Restitution
(COR) assigned to the damping component of the normal force model (see Appendix A.5).
The same test was repeated with 10 different COR values, COR = 0.1, 0.2, . . . , 1 to check
if the computed COR = |vend /vi | matched with the one used in the normal force model.
As shown in Fig. 7.2, the dissipative component of the normal force model can capture the
rebound behavior of the object.
Figure 7.2: Ratio between the rebound velocity and the initial velocity ∥vend /vi ∥ in head-on
collision tests using various COR in the normal force model (left); Differences between vend /vi
from the simulation and the COR assigned to the normal force model. (right)
120
Figure 7.3: Before and after sketch of a brick sliding on a flat surface of friction coefficient µ.
To validate the tangential frictional force model Ft , a brick of mass m = 1 kg was first settled
on the ground, and then assigned with an initial velocity of vi . The friction coefficient between
the surfaces of the ground and the brick is µ, and the sliding friction force is µmg. The
distance between the initial position of the brick and the settled position after sliding was
measured and compared with the analytical form,
vi2
d= . (7.1)
2µg
The same test was duplicated 9 times with different friction coefficients µ = 0.1, 0.15, . . . , 0.5.
The brick is considered to be settled when its absolute velocity ∥v∥ < 10−7 m s−1 . The relative
difference between the actual sliding distance and the analytical one is plotted in Fig. 7.4.
Figure 7.4: Relative distance between actual sliding distance and vi2 /2µg
121
Figure 7.5: Analytical and numerical tangential COR et for impact angle θ, where e = 1,
µs = 0.3.
To further validate the contact force models during a contact event, a set of oblique impact
tests were conducted under zero gravity. A sphere was released with an initial velocity of
vi = vi,n + vi,t and hit the ground at an impact angle of θ, as seen in Fig. 7.5. Here direction n
and t are perpendicular and tangential to the ground, respectively. When the sphere bounced
back, the rebound velocity and the angular velocity were measured as v ′ i = v ′ i,n + v ′ i,t and
ωi′ . The tangential COR is defined as the ratio of the tangential velocity component after and
′
before the collision, et = |vi,t |/|vi,t |. If the friction force Ft is saturated during the collision,
i.e., |Ft | = µ|Fn |, the collision event stays in the sliding regime, and the kinematics after the
collision can be derived analytically using rigid body dynamics [79],
µ(1 + e)
et = 1 − , (7.2)
tan θ
5 µ(1 + e)|vi,n |
|ωi′ | = . (7.3)
2 R
Here, et is tied to the COR in the normal direction e, the friction coefficient µ and the impact
angle θ. The critical value of the impact angle for the sliding regime to occur is derived in [80]
as
7
⋆
θ = arctan µs (1 + e) . (7.4)
2
In Fig. 7.6a, both analytical and numerical tangential COR, et are plotted over various
impact angle θ. Note that only the analytical values in sliding regime are plotted. Figure 7.6b
illustrates the rebound angular velocity at various impact angle. As indicated in Eq.(7.3),
122
when the friction force is saturated during the duration of the contact, the angular velocity
after collision is independent of the impact angle θ.
To validate the rolling friction model and examine how a pyramid-like structure can hold up,
a set of small pyramid tests were carried out. For each test, two identical spheres of mass m =
1 kg and radius R = 0.15 m with a small gap in between were settled on a flat surface, where
the velocity of each sphere was less than 1 × 10−4 m s−1 . A third sphere of the same radius R
123
but a different mass mtop was placed right in-between and above the bottom spheres with
zero initial velocity. To minimize the influence from impact, the third sphere is initialized in
contact with the bottom ones. Depending on mtop , the gap and the rolling friction coefficient
µr , two scenarios can happen: the top sphere drops to the ground; or it moves down slightly
but the structure eventually stabilizes with the bottom spheres supporting the top sphere.
This type of physics comes into play on a larger scale in the angle of repose experiments.
For each combination of the gap and the rolling friction coefficient, µr listed in Tab.7.1, the
mass of the top sphere was increased by 0.01 kg to find the critical mass mctop for the pile to
collapse, as demonstrated in Fig. 7.7.
Parameter Values
Rolling friction coefficient µr [0.07, 0.08, · · · , 0.19, 0.2, 0.3, 0.4]
Gap between bottom spheres [0.2R, 0.25R, 0.3R, 0.35R, 0.4R]
A similar trend is observed for different gap values: mctop increases with µr up to a certain
point, after which, the critical mass decreases slightly until it reaches a plateau, indicating
that increasing µr no longer influences the stability of the stack.
124
Figure 7.7: Minimum mass of top sphere mctop for the pile to collapse.
The same numerical experiment was also conducted in Sec. 4.4.7 using a spring-damper
type rolling friction model and simulated using Chrono::Multicore. Both tests show similar
trends; however, the spring-damper type rolling friction model can support heavier weight.
To further validate the contact forces in a granular assembly, a system of particles arranged
on a triangular lattice was modeled with a downward external force, Fext , applied in the
middle of the top layer. The system consisted of 15 horizontal layers of spheres, with each
layer alternating between 60 and 61 spheres. For example, the bottom (or top) layer had
61 particles, while the layer above (or underneath) had 60 particles, as seen in Fig. 7.8.
The experiment originated from the work of Goldenberg et al. [81, 82], and it is concluded
that friction can enhance the elasticity in granular solids. Specifically, with increased static
125
friction among the particles, the granular assembly responds to an external force in an elastic,
isotropic fashion. In contrast, without the presence of friction, the stress in the granular
solids propagates in a highly anisotropic, wave-like manner.
The test had three steps. First, the configuration was initialized by having non-touching
particles settled with gravity into a box of width 122R, where R is the particle radius. Once
the system was settled, the vertical contact forces between the spheres at the bottom layer
and the bottom of the container were recorded as F0 ; note that this F0 value changed from
sphere to sphere, and its distribution is expected to be symmetric relative to the center of
the box. The settling process took 2 sec. Next, an external force Fext was exerted gradually
on the top center particle for 2 sec. Eventually, with the constant external force, the system
was allowed to settle, and the contact forces between the bottom spheres and the container
were collected as Fy ; again, the Fy value changed from sphere to sphere. The monodisperse
particles had a radius of 5 cm and a density of 7.8 g/cm3 . The parameters used in the contact
force calculation are listed in Tab. 7.2. The simulation used a step size of 10−5 sec.
126
A series of simulations were carried out using various values of Fext and sphere-sphere
friction coefficient µ. The normalized reaction forces, ∆F/Fext , where ∆F = Fy − F0 , are
plotted over the normalized particle positions in Fig. 7.9. The force distribution exhibits two
profile types. One type has only one peak, and the maximum force occurs directly below
where the force is applied (pos = 0). In contrast, the other type can have two peaks, with a
local minimum force occurs below the location of the applied force. The first profile type
indicates an isotropic elastic response, while the latter, a hyperbolic one. Figure 7.10 plots
the normalized contact forces increment at the bottom center, ∆Fy (0)/Fext , over normalized
external forces, Fext /mg. For each granular system, the elasticity disappeared with an
increasing external force Fext , and the introduction of the friction extended the elastic range
(flat part of the curve).
127
(a) µ = 0
(b) µ = 0.1
(c) µ = 0.2
Figure 7.9: Force profiles on the bottom in response to different values of applied forces, Fext ,
at the top of the grid at pos = 0, the effect of gravity is excluded.
128
Figure 7.10: Normalized vertical forces at the bottom center with various normalized Fext /mg
In geotechnical engineering, the direct shear test has been an experimental procedure to
evaluate the shear strength of the soil for nearly one hundred years. The test uses a box
with two halves, where the bottom half is fixed, and the top one is slowly moved in the
horizontal direction under a confining force applied from the top wall. The shear stress and
the shear displacement under various confining stress are graphed to measure soil properties
like the friction angle and cohesion. However, researchers are also interested in the localization
129
behavior of the soil at the microscopic level, such as the shear band formulation; therefore,
some of them have resorted to discrete simulations [83, 84, 85, 86] for answers in recent
decades.
Herein, a set of direct shear tests were reproduced. As shown in Fig. 7.11, a 12 cm × 12 cm
box was first filled with identical particles of radius 0.3 cm. Next, a plate was placed on top
of the particles for compression. The weight of the plate can be modified to apply different
amounts of pressure to the particles. Under a constant weight from the plate, the sample
was sheared laterally by moving the top half of the box relative to the bottom half at a
shearing velocity of 1 mm s−1 . Although the shearing rate is large compared to ones employed
in physical tests, in [83], the author demonstrated that the shear stress profile was about
the same within a shearing rate range from 0.2 to 10 mm s−1 . A total of four tests were
carried out under a constant normal stress: 3.1, 6.4, 12.5, and 24.2 kPa. Both the shear box
and the plate on the top were modeled as triangular meshes. Table 7.3 lists the simulation
parameters.
The relations between the shear stress and the shear displacement are illustrated in
Fig. 7.12a. The results are compared with those from Chrono::Multicore reported in [71], see
Fig. 7.12b. Both the elastic and plastic portion of the curve match closely.
130
The surface of the moon, Mars, and many asteroids are covered with craters, which are
evidence of ancient impacts from astronomical objects. Understanding the physics of impact
cratering sheds light on the formulation of the solar system. Thus, dropping a projectile into
granular material has been a typical experimental setup in soft matter physics to characterize
the mechanics of an impact. Herein, Chrono::GPU is utilized to reproduce the experiment and
verify the scaling relationship between the penetration depth and the drop height reported in
[87].
A sphere of diameter Db and density ρb was dropped onto a bed of loose packing granular
material at different height, H, as shown in Fig. 7.13. The penetration depth of the projectile
was measured and compared against the empirical relationship inferred from the experiment:
!1/2
0.14 ρb 2/3
d= Db H 1/3 , (7.5)
µs ρg
where ρg is the bulk density of the granular material. More details of the simulation parameters
are listed in Tab. 7.4.
A total of nine tests were performed, with different combinations of the projectile density,
ρb = 0.28, 0.7, 2.2 g cm−3 and drop height H = 5, 10, 20 cm. All simulations used the same
granular medium composed of 115 964 particles of radius 0.1 cm, density 2.5 g cm−3 and sliding
friction coefficient µs = 0.3. It is shown experimentally in [88] that the penetration of the
projectile is independent of the grain size. The relation between depth d and the scaled total
drop height is illustrated in Figure 7.14. Here, each simulation result is denoted by a marker,
with different colors for different ball densities and different shapes for different drop heights.
The green line is a linear fit for the numerical results, with a slope of 0.122/µs , compared
with the empirical line, of slope 0.14/µs , plotted in blue. A similar result was also achieved
in [89], where DVI was used to simulate the granular material using Chrono::Multicore.
132
The impact process is also of significant importance for analyzing the dynamics of asteroid
landers [2] and the terrain deformation when exploring the surface of celestial bodies. The
lander is typically deposited with a collision velocity on the order of tens of cm s−1 to ensure
that it does not rebound and escape the gravitational field of an asteroid. Since modifying
the gravity parameter in a simulation is more straightforward than carrying out experiments
in a space shuttle or with the Atwood machine [90], in recent years, DEM simulation has been
adopted in planetary science. For example, the effect of the cohesion between the regolith
particles on the shape of the cavities left by the asteroid lander was studied in [91]; and it was
suggested in [92] that the largest rebound distance occurs with a bed of gravel-like regolith of
larger friction coefficient.
To validate the collision behavior of the low-velocity cratering tests, a projectile of mass
1 kg and radius 10 cm was dropped into a cylinder of settled granular material, and quantities
including the peak acceleration of the projectile, the maximum penetration depth and the
133
collision time were evaluated and compared against experimental results [93]. More details of
the simulation parameters are listed in Tab. 7.5.
First, a preliminary test was performed to investigate how the depth of the granular
media influence the collision behavior under earth gravity. As illustrated in Fig. 7.15, when
the depth of the granular material exceeds 14 cm, it has negligible influence on the peak
acceleration, the maximum penetration depth and the collision duration. This observation
was also confirmed in [94]. For the remaining tests, the impact velocity was varied between
0.3, 0.35, . . . , 1 m s−1 , and the three key collision parameters are plotted over the impact
velocities. The rolling friction is calibrated using values of µr = 0, 0.05, 0.09, 2 and the
numerical results were compared with ones obtained experimentally.
Figure 7.15: Effect of the depth of the granular material on collision behavior, earth gravity.
134
As illustrated in Fig. 7.16, increasing rolling friction decreases the penetration and the
collision time, yet it has an insignificant influence on the peak acceleration. Overall, the peak
acceleration and the penetration depth increase with as the impact velocity increases, and
the collision time decreases.
Figure 7.16: Effect of the impact velocity and rolling friction coefficient µr on collision
behavior, earth gravity.
To this end, rolling friction coefficient is set as 0.09 and the same contact force parameters
and the simulation setup are used for the low-gravity scenario, where g = 0.1 m/sec2 ,
comparable to the gravity found on 4 Vesta. By the same token, a preliminary test was
carried out to determine a proper depth of the granular material, in this case, 23 cm, as
illustrated in Fig. 7.17. The key collision parameters were plotted with respect to the
impact velocities 0.05, 0.1, . . . , 1 m/sec, as shown in Fig. 7.18. Overall, peak acceleration and
penetration depth increase with increasing impact velocity, and the collision time decreases.
The penetration depth of the projectile and the duration of the collision increase when gravity
level decreases. The peak acceleration has the same trend for both terrestrial and low gravity.
This observation is consistent with the experimental data reported in [95] and numerical
results provided in [93]
135
Figure 7.17: Effect of the depth of the granular material on collision behavior, low gravity
Figure 7.18: Effect of the impact velocity on collision behavior, low gravity
The rotating drum is frequently used for processing granular material in food, pharmaceutical,
mining, and milling industries. Particle flows in a partially filled rotating drum exhibit a wide
range of complex phenomena, such as mixing, segregation, and avalanching. For instance,
adequate mixing of the particles in the pharmaceutical industry is crucial to the quality of
136
the final products; on the other hand, in many mining operations, the same device is used
to separate valuable minerals from worthless gangue. Therefore, the rotating drum test has
become a standard benchmark test to investigate the flow pattern of the granular material
and to assist the design of rotating drums employed in industries. [96, 97, 98, 99].
The flow patten of the particles in a rotating drum is related to the Froude numbers, defined
as,
Fr = ω 2 Rdrum /g, (7.6)
where ω and Rdrum are the speed and the radius of the drum, and g is the gravitational
acceleration, and particles can transition through six flow regimes: slipping, slumping,
rolling, cascading, cataracting, and centrifuging [100, 101]. Our simulation mimics the setup
performed in [102, 99], where a 60 mm diameter drum of width 5 mm was half-filled with
particles of diameter 0.53 mm and rotated at a constant velocity until a steady state is reached,
usually after two full revolution. More details of the simulation parameters are listed in
Tab. 7.6.
The simulation is repeated with different drum velocity ω = 1.7, 5.4, 17, 39, 55, 122, 173, 212
rpm, to achieve various Froude number. Figure 7.19 depicts various steady-state flow behavior
with increasing Froude number Fr . In each snapshot, the color of the particles represents the
137
Figure 7.19: Steady-state flow patterns with increasing Froude number. Particles are colored
by normalized velocity magnitude, ∥v∥/ωRdrum .
In terramechanics, the single wheel test is carried out to understand the dynamics of the wheel
under a controlled slip and a normal loading condition when the wheel traverses on the soil
138
bed. Although common approaches for modeling the terrain are empirical or semi-empirical,
such as the Soil Contact Model [103], recently, discrete modeling of the terrain particles
has also gained traction [1, 104, 105]. Using the discrete approach, one can investigate the
interaction between the wheel and the particles underneath and the velocity field of the
terrain. Discrete modeling can also simulate scenarios like a wheel spinning in place and
sinking when stuck in the sand, whereas empirical models can not.
To carry out the single wheel test in Chrono::GPU, first, a soil bed with a total of 149 173
particles were allowed to settle with an average kinetic energy of 5.48 × 10−7 J per particle.
The granular medium reached a packing density of 0.544 and a thickness of 0.286m. More
details regarding the DEM parameters can be found in Tab.7.7.
A wheel was then placed on top of the bedding with a constant angular velocity ω and v
and traversed through the terrain. By setting different horizontal velocity v, one can produce
v
various slip ratios, which is 1 − ωRw
, where Rw is the radius of the wheel. The steady-state
values for the drawbar pull force, sinkage and the driving torque were measured and compared
over a range of slip ratios of the wheel. Considering that the bedding can have an uneven
surface, the sinkage ∆z is defined by
where xw_ctr and zx_ctr are the positions of the wheel center, in x- and z-axis, respectively,
zinit (x) is the original surface profile as a function of xw_ctr , and Rw is the wheel radius. The
wheel traversed through the soil for 20 seconds for the cylindrical case and 50 seconds for the
torodial rubber tire. The last 30% of the simulation was considered as the steady state.
A co-simulation framework is adopted for this test, where the simulation of both the rig and
the granular terrain advance forward in time simultaneously on two MPI nodes. The test
rig mechanism is composed of mechanical joints and velocity-level constraints to control the
slip ratio. The mechanism is posed and solved as DAEs on one node. The geometry of the
rig is defined through a mesh. The granular terrain is simulated using Chrono::GPU on a
second node, using an explicit integrator. At each time step, the rig node sends the position
and velocity of the wheel mesh to the terrain node. The terrain node then performs contact
detection using the position of the mesh and computes the contact forces based on the mesh
information and the material properties. The terrain node then sends the contact forces back
to the rig node to update the dynamics of the wheel, see Fig. 7.20 for an overview of the
co-simulation framework.
Preliminary efforts have been made to calibrate the DEM parameters, namely the rolling
friction coefficient µr , as well as the sphere-sphere and sphere-mesh sliding friction coefficients,
µSM
s and µSS
s , respectively. As shown in Fig. 7.21, adding rolling friction results in less sinkage
and larger drawbar pull and driving torque. However, once rolling friction is accounted for, its
value has relatively small influence on the macroscopic performance. Figure 7.22 demonstrates
how the sliding friction coefficient of sphere-sphere contact µSS
s affects the single wheel test
result. According to the data from series of parametric studies, the combination of µSS
s = 0.9
and µr = 0.2 yields drawbar pull force, driving torque and sinkage closer to the experimental
results [1], see Fig. 7.23, and was selected for the toroidal rubber tire experiment reported
140
Figure 7.20: Co-simulation framework of the single wheel test using MPI.
Figure 7.21: Drawbar pull, torque and sinkage over different slip ratio using various rolling
friction coefficient µr ; all tests used µs = 0.9.
141
Figure 7.22: Drawbar pull, torque and sinkage over different slip ratio using various sliding
friction coefficient µSS
s ; all tests used µr = 0.2.
herein. The results of drawbar pull and torque match qualitatively with the experimental
ones [1]. The more significant error in sinkage might result from the lack of geometric locking
due to mono-disperse particles. Note that the sinkage data have larger standard deviations
than the draw bar pull and the driving torque, which was also reflected in experimental data.
The same frictional contact parameters used for the cylindrical single wheel test were considered
for the toroidal rubber tire test reported herein. Figure 7.24 provides a snapshot of the
toroidal rubber tire traversing through the DEM particles at slip ratio 0.1. The drawbar pull,
driving torque and sinkage over different slip ratio are illustrated in Fig. 7.25.
142
Figure 7.24: Toroidal rubber tire on DEM particles at slip ratio 0.1, t = 50sec. Color
represents the z-axis of the particles .
Figure 7.25: Drawbar pull, torque and sinkage over different slip ratio.
143
8 conclusions
1. Tracking contact points locally in their motion on the two surfaces in mutual contact
and computing their relative motion allows non-trivial geometries to be modeled without
resorting to any meshes.
2. Collision detection is no longer needed after the initiation of the contact, reducing
computation cost, especially for non-trivial geometries.
4. The half-implicit integrator allows a simpler, yet still accurate, Jacobian matrix since
the friction forces are treated explicitly when integrating the velocity.
a) Developed a frictional contact model that tracks the relative motion of the contact
points and produces sliding, rolling and spinning friction loads.
b) Developed contact kinematics that ensures the SO(3) structure of relative rolling
displacement.
d) Compared two rolling friction models and demonstrated the importance of captur-
ing the history of micro-rotation.
e) Set up framework for unit testing friction and contact forces, which can be extended
to other contact models.
2. Derived and implemented half-implicit Lie-integrators for solving the DAEs of rigid
body dynamics:
b) Derived hybrid half-implicit integrators for both first- and second-order accuracy.
d) Compared solution accuracy, convergence, and speed among first-order fully im-
plicit, first-order half implicit, and second-order half implicit approaches.
3. Validated Chrono::GPU:
b) Validated physics-based tests commonly used in various fields of science and engi-
neering, including geological engineering, plantery science, and vehicle dynamics.
145
c) Investigated the influence of sliding and rolling friction on the macro- and micro-
scopic behavior of granular material.
4. Prototyped a frictional contact model that tracks how contact points evolve on the
surface:
b) Interfaced the framework with the friction force model that tracks the contact
points on the surfaces of two bodies.
tests. Validation tests can also assist in the parameter identification process of the friction
parameters employed in the friction model proposed herein.
The research topics covered herein will be implemented in Chrono.
147
a appdices
bT x + λT Ax = 0 (A.1)
∂f (x(k) ) ∂f (x(k) )
f (x(k+1) ) = f (x(k) + δx) ≈ f (x(k) ) + δx = e(k) + δx = 0. (A.2)
∂x ∂x
−1
δx = N (k) e(k) (A.3)
x2 y 2 z 2
+ 2 + 2 =1 (A.4)
a2 b c
148
TODO: specify domain for theta and phi Take partial derivative of r with respect to θ
and ϕ, respectively, we have,
a cos θ cos ϕ −a sin θ sin ϕ
rθ = b cos θ sin ϕ , rϕ = b sin θ cos ϕ . (A.8)
−c sin θ 0
149
To derive the second fundamental form (shape tensor) used to describe the curvature of a
surface,
we compute
rθϕ · n = 0. (A.15)
The eigenvalues and eigenvectors of the shape tensor are corresponding to principal curvatures
and directions. Given that the shape tensor is diagonal, its eigenvalues and eigenvectors are
trivial to evaluate, and the principal direction of any point on the ellipsoid is
dθ 1 dθ 0
= , and = . (A.17)
dϕ 0 dϕ 1
1 2
To find the principal direction expressed in Cartesian coordinates r = [x, y, z]T , chain rule is
applied to Eq.(A.7),
dx ∂x/∂θ ∂x/∂ϕ a cos θ cos ϕ −a sin θ sin ϕ
dθ dθ
dy = ∂y/∂θ ∂y/∂ϕ = b cos θ sin ϕ b sin θ cos ϕ , (A.18)
dϕ dϕ
dz ∂z/∂θ ∂z/∂ϕ −c sin θ 0
Fn = kn δn n0 − γn vn ,
Ft = kt ut + γt vt ,
4 q
kn = Eef f Ref f δn ,
3
q
kt = 8Gef f Ref f δn ,
151
s s
5 3
γn = β mef f kn ,
6 2
s
5q
γt = β mef f kt
6
2 ln COR
β = −q ,
ln2 COR + π 2
where Ref f , mef f , Eef f and Gef f are the effective radius, mass, Young’s modulus and shear
modulus of a contacting pair, body i, and j, which can be calculated as follows based on
radius Ri,j , mass mi,j , Young’s modulus Ei,j and Poisson ratio νi,j ,
!−1
1 1
Ref f = + ,
Ri Rj
!−1
1 1
mef f = + ,
mi mj
!−1
1 − νi2 1 − νj2
Eef f = + ,
Ei Ej
!−1
2(2 + νi )(1 − νi ) 2(2 + νi )(1 − νi )
Gef f = + .
Ei Ei
where R is the transformation matrix. Since û1 and ŵ1 are orthogonal and perpendicular to n̂1 ,
one can assume that û1 = [sin θ, cos θ, 0]T , and ŵ1 = [− cos θ, sin θ, 0]T . Let u0i,1 = [ax , ay , az ]
and w0i,1 = [bx , by , bz ], then the cost function can be formulated as,
Figure A.1: Evaluate the global contact frame at current time step
which yields a unique global minima/maxima in the range of [0, 2π]. The global maxima
is reached when the gradient of the cost function is zero, and the solution is evaluated as
follows,
π/2 or 3π/2, if ay − bx = 0,
θ⋆ =
tan−1 ax +by tan−1 ax +by
or +π if ay − bx ̸= 0,
ay −bx ay −bx
whichever gives a larger f (θ⋆ ). Now the global tangential contact frame at current time
step can be written as u1 = RT û1 and w1 = RT ŵ1 , with û1 = [sin θ⋆ , cos θ⋆ , 0]T , and
ŵ1 = [− cos θ⋆ , sin θ⋆ , 0]T .
Frmax = µs N = µs mgcosα,
When the final steady-state switches from stationary to pure rolling, the sliding friction
remains static, balancing out the gravity down the slope, while the rolling friction torque
153
This indicates that for the sphere to be stationary on the incline, α ≤ tan−1 (2ηr µs ).
As the final steady-state transitions to rolling with slipping mode, the sliding friction force sat-
urates, Fr = µs mg cos α, while the rolling friction mode remains kinetic, Tr = 2ηr Rµk mg cos α.
The acceleration at the center of mass, ẍ, and the angular acceleration, θ̈, can be derived as
Substituting the accelerations into the kinematic constraint during pure rolling ẍ = Rθ̈,
one can derive the slope angle for sphere to roll down the incline without slipping as
α ≤ tan−1 (3.5µs − 5ηr µk ).
When the steady-state of the sphere switches from rolling with slipping to sliding without
rolling, the sliding friction mode remains kinetic. Since no rolling occurs, θ̈ = 0, the rolling
friction balances out with the moment generated from sliding friction force, therefore, one
can derive
Fr = µk mg cos α, Tr = RFr = Rµk mg cos α.
The rolling friction mode transitions from kinetic to static, indicating Tr smaller than the
kinetic rolling friction torque, Tr < 2ηr Rµk mg cos α, which yields the condition for pure
sliding ηr ≥ 0.5.
154
Figure A.2: Spinning rotation of the contact area and the distribution of micro-sliding.
For a surface element rdθdr located at a distance of r from the contact patch center, the
energy due to a micro-deformation of rψ is 12 KE (rψ)2 . Therefore, the total energy over the
contact patch due to spinning can be evaluated as
Z 2π
1 Za1 2 a2
K E (rψ) rdrdθ = KE ψ 2 . (A.20)
0 πa2 0 2 4
1 1
K ψ ψ 2 = a2 K E ψ 2 .
2 4
155
1
K ψ = a2 K E . (A.21)
2
When the micro-sliding reaches its threshold SSs , at the outer edge of the contact area, the
spin angle should also saturate, transitioning from static to kinetic spin mode. Therefore,
a2 SS
Mψmax = Kψ SSs = KE s = 0.5aKE SSs = 0.5aµs Fn .
2 a
Compared with Eq.(4.9), this mechanics-based model is identical to the empirical approach
when the curvature K = 1/a and ηψ = 0.5. In Hertzian elastic contact theory, the normal
contact force Fn is related to penetration through a physics-based stiffness kHz ,
3 4 q
Fn = kHz δn2 , kHz = Eef f Ref f , (A.23)
3
!2
Fn 2 3Fn Ref f 3
Kψ = 0.5Ref f δn KE = 0.5Ref f ( ) 3 KE = 0.5 KE .
kHz 4Eef f
For an ellipsoid, K is evaluated as the mean curvature at contact point C of two contours in
princial direction, i.e., K = (KCxz + KCyz )/2.
156
bibliography
[1] Daniel Melanz, Paramsothy Jayakumar, and Dan Negrut. Experimental validation of a
differential variational inequality-based approach for handling friction and contact in
vehicle/granular-terrain interaction. Journal of Terramechanics, 65:1 – 13, 2016.
[2] Eric Hand. Philae probe makes bumpy touchdown on a comet, 2014.
[3] Kenneth Langstreth Johnson. Contact Mechanics. Cambridge University Press, 1987.
[4] R. Mindlin and H. Deresiewicz. Elastic spheres in contact under varying oblique forces.
Journal of Applied Mechanics, 20:327–344, 1953.
[5] D. Negrut, R. Serban, and A. Tasora. Posing multibody dynamics with friction and
contact as a differential complementarity problem. ASME JCND, 13(1):014503, 2017.
[6] L. Silbert, D. Ertaş, G. Grest, T. Halsey, D. Levine, and S. Plimpton. Granular flow
down an inclined plane: Bagnold scaling and rheology. Physical Review E, 64(5):051302,
2001.
[10] Olivier Brüls, Alberto Cardona, and Martin Arnold. Lie group generalized-α time
integration of constrained flexible multibody systems. Mechanism and Machine Theory,
48:121–137, 2012.
[11] A. Kissel, J. Taves, and D. Negrut. Constrained multibody kinematics and dynamics
in absolute coordinates: a discussion of three approaches to representing rigid body
rotation, 2022. cs.CE preprint, https://arxiv.org/abs/2202.10596.
[14] Dan Negrut, Rajiv Rampalli, Gisli Ottarsson, and Anthony Sajdak. On the use of the
HHT method in the context of index 3 Differential Algebraic Equations of multibody
dynamics. ASME JCND, 2, 2007.
[15] Peter A Cundall and Otto DL Strack. A discrete numerical model for granular
assemblies. Geotechnique, 29(1):47–65, 1979.
[16] M Lemieux, G Léonard, J Doucet, L-A Leclaire, F Viens, J Chaouki, and F Bertrand.
Large-scale numerical investigation of solids mixing in a v-blender using the discrete
element method. Powder Technology, 181(2):205–216, 2008.
[18] Chao-Lung Tang, Jyr-Ching Hu, Ming-Lang Lin, Jacques Angelier, Chia-Yu Lu, Yu-
Chang Chan, and Hao-Tsu Chu. The Tsaoling landslide triggered by the Chi-Chi
earthquake, Taiwan: insights from a discrete element simulation. Engineering Geology,
106(1-2):1–19, 2009.
[19] Diana Salciarini, Claudio Tamagnini, and Pietro Conversini. Discrete element modeling
of debris-avalanche impact on earthfill barriers. Physics and Chemistry of the Earth,
Parts A/B/C, 35(3-5):172–181, 2010.
[20] Paul Sánchez and Daniel J Scheeres. Simulating asteroid rubble piles with a self-
gravitating soft-sphere distinct element method model. The Astrophysical Journal,
727(2):120, 2011.
[21] Paulo Flores and Hamid M Lankarani. Contact force models for multibody dynamics,
volume 226. Springer, 2016.
[22] H. Hertz. Ueber die verdunstung der flüssigkeiten, insbesondere des quecksilbers, im
luftleeren raume. Annalen der Physik, 253(10):177–193, 1882.
[23] Otis R Walton and Robert L Braun. Viscosity, granular-temperature, and stress
calculations for shearing assemblies of inelastic, frictional disks. Journal of Rheology,
30:949, 1986.
[24] Loc Vu-Quoc and Xiang Zhang. An accurate and efficient tangential force–displacement
model for elastic frictional contact in particle-flow simulations. Mechanics of Materials,
31(4):235–269, 1999.
[25] Martin H Sadd, QiMing Tai, and Arun Shukla. Contact law effects on wave propagation
in particulate materials using distinct element modeling. International Journal of
Nonlinear Mechanics, 28(2):251–265, 1993.
158
[26] Xiang Zhang and Loc Vu-Quoc. Simulation of chute flow of soybeans using an improved
tangential force–displacement model. Mechanics of Materials, 32(2):115–129, 2000.
[27] P. Cundall and O. Strack. A discrete element model for granular assemblies. Geotech-
nique, 29:47–65, 1979.
[28] Yutaka Tsuji, Toshitsugu Tanaka, and T Ishida. Lagrangian numerical simulation of
plug flow of cohesionless particles in a horizontal pipe. Powder Technology, 71(3):239–
250, 1992.
[29] Wenqi Zhong, Yuanquan Xiong, Zhulin Yuan, and Mingyao Zhang. DEM simulation of
gas–solid flow behaviors in spout-fluid bed. Chemical Engineering Science, 61(5):1571–
1584, 2006.
[30] Jun Liu, Bin Yun, and Changbing Zhao. Identification and validation of rolling
friction models by dynamic simulation of sandpile formation. International Journal of
Geomechanics, 12(4):484–493, 2011.
[32] Brenda Remy, Johannes G Khinast, and Benjamin J Glasser. Discrete element
simulation of free flowing grains in a four-bladed mixer. AIChE Journal, 55(8):2035–
2048, 2009.
[33] Stefan Luding. Cohesive, frictional powders: contact models for tension. Granular
Matter, 10(4):235, 2008.
[34] Nikolai V Brilliantov, Frank Spahn, Jan-Martin Hertzsch, and Thorsten Pöschel. Model
for collisions in granular gases. Physical Review E, 53(5):5382, 1996.
[35] G. Briggs and B. Briscoe. Effect of surface roughness on rolling friction and adhesion
between elastic solids. Nature, 260(5549):313–315, 1976.
[36] FP Beer and ER Johnson. Mechanics for Engineers-Dynamics and Statics. McGraw-
Hill, 1976.
[37] YC Zhou, BD Wright, RY Yang, Bao Hua Xu, and Ai-Bing Yu. Rolling friction in the
dynamic simulation of sandpile formation. Physica A: Statistical Mechanics and its
Applications, 269(2-4):536–553, 1999.
[38] KW Chu and AB Yu. Numerical simulation of complex particle–fluid flows. Powder
Technology, 179(3):104–114, 2008.
159
[40] Zongyan Zhou, Haiping Zhu, Aibing Yu, Bryan Wright, David Pinson, and Paul Zulli.
Discrete particle simulation of solid flow in a model blast furnace. the Iron and Steel
Institute of Japan International, 45(12):1828–1837, 2005.
[41] Subhash C Thakur, Jin Y Ooi, and Hossein Ahmadian. Scaling of discrete element
model parameters for cohesionless and cohesive solid. Powder Technology, 293:130–137,
2016.
[43] K Iwashita and Masaya Oda. Mechanics of Granular Materials: an Introduction. CRC
press, 1999.
[44] Darius Markauskas and Rimantas Kačianauskas. Investigation of rice grain flow by
multi-sphere particle model with rolling resistance. Granular Matter, 13(2):143–148,
2011.
[45] Abdalsalam Mohamed and Marte Gutierrez. Comprehensive study of the effects
of rolling resistance on the stress–strain and strain localization behavior of granular
materials. Granular Matter, 12(5):527–541, 2010.
[46] Yucang Wang. A new algorithm to model the dynamics of 3-D bonded rigid bodies
with rotations. Acta Geotechnica, 4(2):117–127, 2009.
[47] Mingjing Jiang, Zhifu Shen, and Jianfeng Wang. A novel three-dimensional contact
model for granulates incorporating rolling and twisting resistances. Computers and
Geotechnics, 65:147–163, 2015.
[48] M. Holmes, R. Brown, P. Wauters, N. Lavery, and S. Brown. Bending and twisting
friction models in soft-sphere discrete element simulations for static and dynamic
problems. Applied Mathematical Modelling, 40(5-6):3655–3670, 2016.
[49] James Leigh Lubkin. The torsion of elastic spheres in contact. Journal of Applied
Mechanics-Transactions of the ASME, 18(2):183–187, 1951.
[50] Edward Dintwa, Michael Van Zeebroeck, Engelbert Tijskens, and Herman Ramon.
Torsion of viscoelastic spheres in contact. Granular Matter, 7(2-3):169–179, 2005.
160
[51] M Van Zeebroeck, Engelbert Tijskens, Edward Dintwa, Jalal Kafashan, J Loodts,
Josse De Baerdemaeker, and Herman Ramon. The discrete element method (DEM)
to simulate fruit impact damage during transport and handling: model building and
validation of DEM to predict bruise damage of apples. Postharvest Biology and
Technology, 41(1):85–91, 2006.
[53] Mengmeng Yang, Shuiqing Li, and Qiang Yao. Mechanistic studies of initial deposition
of fine adhesive particles on a fiber using discrete-element methods. Powder Technology,
248:44–53, 2013.
[54] Stefan Luding. About contact force-laws for cohesive frictional materials in 2D and 3D.
Behavior of Granular Media, 9:137–147, 2006.
[55] Martin Arnold, Olivier Brüls, and Alberto Cardona. Error analysis of generalized-α
Lie group time integration methods for constrained mechanical systems. Numerische
Mathematik, 129(1):149–179, 2015.
[56] Jonghoon Park and Wan-Kyun Chung. Geometric integration on Euclidean group
with application to articulated multibody systems. IEEE Transactions on Robotics,
21(5):850–863, 2005.
[57] Taeyoung Lee, Melvin Leok, and N Harris McClamroch. Lie group variational integrators
for the full body problem in orbital mechanics. Celestial Mechanics and Dynamical
Astronomy, 98(2):121–144, 2007.
[59] Olinde Rodrigues. De l’attraction des sphéroides, Correspondence sur l’École Impériale
Polytechnique. PhD thesis, Thesis for the Faculty of Science of the University of Paris,
1816.
[74] Amit Amritkar, Surya Deb, and Danesh Tafti. Efficient parallel cfd-dem simulations
using openmp. Journal of Computational Physics, 256:501–519, 2014.
[75] Beichuan Yan and Richard A Regueiro. A comprehensive study of mpi parallelism
in three-dimensional discrete element method (dem) simulation of complex-shaped
granular particles. Computational Particle Mechanics, 5(4):553–577, 2018.
[76] Abdoul Wahid Mainassara Checkaraou, Alban Rousset, Xavier Besseron, Sébastien Var-
rette, and Bernhard Peters. Hybrid mpi+ openmp implementation of extended discrete
element method. In 2018 30th International Symposium on Computer Architecture and
High Performance Computing (SBAC-PAD), pages 450–457. IEEE, 2018.
[77] Marc Baboulin, Alfredo Buttari, Jack Dongarra, Jakub Kurzak, Julie Langou, Julien
Langou, Piotr Luszczek, and Stanimire Tomov. Accelerating scientific computations
with mixed precision algorithms. Computer Physics Communications, 180(12):2526–
2533, 2009.
[78] Roger Hockney and James Eastwood. Computer Simulation Using Particles. CRC
Press, 1988.
[79] C-Y Wu, Colin Thornton, and L-Y Li. Coefficients of restitution for elastoplastic
oblique impacts. Advanced Powder Technology, 14(4):435–448, 2003.
[80] Kuahai Yu, Husam A Elghannay, and Danesh Tafti. An impulse based model for
spherical particle collisions with sliding and rolling. Powder Technology, 319:102–116,
2017.
[81] Chay Goldenberg and Isaac Goldhirsch. Force chains, microelasticity, and macroelas-
ticity. Physical Review Letters, 89(8):084302, 2002.
[82] Chay Goldenberg and Isaac Goldhirsch. Friction enhances elasticity in granular solids.
Nature, 435(7039):188–191, 2005.
[83] J. Hartl and J.Y. Ooi. Experiments and simulations of direct shear tests: porosity,
contact friction and bulk friction. Granular Matter, 10(4):263–271, 2008.
[84] L. Cui and C. O’Sullivan. Exploring the macro- and micro-scale response of an idealised
granular material in the direct shear apparatus. Geotechnique, 56:455–468, 2006.
[85] Richard P Jensen, Peter J Bosscher, Michael E Plesha, and Tuncer B Edil. Dem simu-
lation of granular media—structure interface: effects of surface roughness and particle
shape. International journal for numerical and analytical methods in geomechanics,
23(6):531–547, 1999.
163
[86] Can Wang, An Deng, and Abbas Taheri. Three-dimensional discrete element modeling
of direct shear test for granular rubber–sand. Computers and Geotechnics, 97:204–216,
2018.
[90] Naomi Murdoch, Iris Avila Martinez, Cecily Sunday, Emmanuel Zenou, Olivier Cherrier,
Alexandre Cadu, and Yves Gourinat. An experimental study of low-velocity impacts
into granular material in reduced gravity. Monthly Notices of the Royal Astronomical
Society, 468(2):1259–1272, 2017.
[91] Bin Cheng, Yang Yu, and Hexi Baoyin. Numerical simulations of the controlled motion
of a hopping asteroid lander on the regolith surface. Monthly Notices of the Royal
Astronomical Society, 485(3):3088–3096, 2019.
[92] Florian Thuillet, Patrick Michel, Clara Maurel, Ronald-Louis Ballouz, Yun Zhang,
Derek C Richardson, Jens Biele, Eri Tatsumi, and Seiji Sugita. Numerical modeling of
lander interaction with a low-gravity asteroid regolith surface-application to mascot on
board hayabusa2. Astronomy & Astrophysics, 615:A41, 2018.
[93] Cecily Sunday, Yun Zhang, Florian Thuillet, Simon Tardivel, Patrick Michel, and Naomi
Murdoch. The influence of gravity on granular impacts i. a dem code performance
comparison (in press). Astronomy and Astrophysics, 2021.
[94] EL Nelson, Hiroaki Katsuragi, Patrick Mayor, and Douglas J Durian. Projectile
interactions in granular impact cratering. Physical Review Letters, 101(6):068001, 2008.
[95] Naomi Murdoch, Mélanie Drilleau, Cecily Sunday, Florian Thuillet, Arnaud Wilhelm,
Gautier Nguyen, and Yves Gourinat. Low-velocity impacts into granular material:
application to small-body landing. Monthly Notices of the Royal Astronomical Society,
503(3):3460–3471, 2021.
[96] Ebrahim Alizadeh, Francois Bertrand, and Jamal Chaouki. Comparison of DEM results
and Lagrangian experimental data for the flow and mixing of granules in a rotating
drum. AIChE Journal, 60(1):60–75, 2014.
164
[98] H Komossa, S Wirtz, V Scherer, F Herz, and E Specht. Transversal bed motion
in rotating drums using spherical particles: Comparison of experiments with dem
simulations. Powder Technology, 264:96–104, 2014.
[99] Cecily Sunday, Naomi Murdoch, Simon Tardivel, Stephen R Schwartz, and Patrick
Michel. Validating n-body code Chrono for granular DEM simulations in reduced-gravity
environments. Monthly Notices of the Royal Astronomical Society, 498(1):1062–1079,
2020.
[102] Antje Brucks, Tim Arndt, Julio M Ottino, and Richard M Lueptow. Behavior of
flowing granular materials under variable g. Physical Review E, 75(3):032301, 2007.
[103] Rainer Krenn and Gerd Hirzinger. Scm – a soil contact model for multi-body system
simulations. In 11th European Regional Conference of the International Society for
Terrain-Vehicle Systems - ISTVS 2009, October 2009.
[105] William Smith and Huei Peng. Modeling of wheel–soil interaction over rough terrain
using the discrete element method. Journal of Terramechanics, 50(5-6):277–287, 2013.