0% found this document useful (0 votes)
19 views180 pages

File Dae5c

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views180 pages

File Dae5c

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 180

MULTIBODY DYNAMICS NUMERICAL METHODS AND MODELING

APPROACHES FOR HANDLING FRICTIONAL CONTACT

by

Luning Fang

A dissertation submitted in partial fulfillment of


the requirements for the degree of

Doctor of Philosophy

(Mechanical Engineering)

at the

UNIVERSITY OF WISCONSIN–MADISON

2022

Date of final oral examination: 7/28/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

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

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

3 Lie-group Integrators for Multibody Dynamics . . . . . . . . . . . . . . . . 31


3.1 Variations in A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Multibody Dynamics using the rA Formulation . . . . . . . . . . . . . . . . 33
3.3 Implicit Lie-group Integrators . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 First-order Fully-implicit Approach . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 First-order Half-implicit Approach . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6 Second-order Half-implicit Approach . . . . . . . . . . . . . . . . . . . . . . 45
3.7 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.8 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8.1 Accuracy and convergence . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8.2 Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
iv

3.8.3 Scaling Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61


3.9 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4 Modeling DEM by Tracking Contact Point . . . . . . . . . . . . . . . . . . 63


4.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.1 Kinematics of the contact points . . . . . . . . . . . . . . . . . . . . 65
4.2.2 Kinematics of contact reference frames . . . . . . . . . . . . . . . . . 66
4.3 Friction Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.1 Sliding friction model . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.2 Rolling friction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.3 Spinning friction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.1 Choice of parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.2 Brick on an incline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.3 Disk rolling on a flat surface . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.4 Sphere rolling up an incline . . . . . . . . . . . . . . . . . . . . . . . 83
4.4.5 Sphere spinning on a flat surface . . . . . . . . . . . . . . . . . . . . 85
4.4.6 Generalized motion of an ellipsoid . . . . . . . . . . . . . . . . . . . . 89
4.4.7 Spheres Stacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5 Evolving Contact Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95


5.1 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.1 “Contact points coincide” constraints . . . . . . . . . . . . . . . . . . 99
5.1.2 “Contact-normals-alignment” constraints . . . . . . . . . . . . . . . . 99
5.2 Handling of Friction Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3 Constrained Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . . 102
5.4 Half-implicit Scheme for Contact Evolving Problems . . . . . . . . . . . . . . 103
5.5 Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5.1 Sphere traversing on a concave surface without friction . . . . . . . . 107
5.5.2 Sphere rolling on a concave surface with friction . . . . . . . . . . . . 110

6 Software Aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113


6.1 Mixed Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2 Domain Decomposition and Local Coordinates . . . . . . . . . . . . . . . . . 115
6.3 Co-simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

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

7.1.4 Spheres stacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122


7.2 Large-scale Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.1 Wave propagation test . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.2 Direct shear test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.2.3 Cratering test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.2.4 Low-velocity cratering test . . . . . . . . . . . . . . . . . . . . . . . . 132
7.2.5 Rotating drum test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.2.6 Single wheel test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

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

7.1 Parameter space of sphere stacking test. . . . . . . . . . . . . . . . . . . . . . . 123


7.2 Simulation parameters for single wheel tests. . . . . . . . . . . . . . . . . . . . . 126
7.3 Simulation parameters for direct shear test. . . . . . . . . . . . . . . . . . . . . 129
7.4 Simulation parameters for cratering tests. . . . . . . . . . . . . . . . . . . . . . 131
7.5 Simulation parameters for low-velocity cratering tests. . . . . . . . . . . . . . . 133
vii

7.6 Simulation parameters for rotating drum tests. . . . . . . . . . . . . . . . . . . . 136


7.7 Simulation parameters for single wheel tests. . . . . . . . . . . . . . . . . . . . . 138
viii

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

3.1 Flow chart of the first-order fully-implicit rA approach. . . . . . . . . . . . . . . 39


3.2 Flow chart of the first-order half-implicit rA approach. . . . . . . . . . . . . . . 44
3.3 Mechanisms used in the numerical experiments. . . . . . . . . . . . . . . . . . . 50
3.4 Order analysis, first-order half- and fully-implicit solutions. . . . . . . . . . . . . 52
3.5 Energy of double pendulum system over time. . . . . . . . . . . . . . . . . . . . 53
3.6 Convergence comparison of first- and second-order half-implicit schemes, con-
strained DAE, double pendulum. . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.7 Convergence comparison of first- and second-order half-implicit schemes, con-
strained DAE, slider–crank model. . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8 Convergence comparison of first- and second-order half-implicit schemes, con-
strained DAE, four–link model. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9 Number of iterations comparison of first-order half- and fully-implicit methods. . 57
3.10 Computation time comparison of first-order half- and fully-implicit methods. . . 58
ix

3.11 Number of iterations comparison of first- and second-order half-implicit schemes,


constrained DAE, double pendulum, solver tolerance ϵtol =1 × 10−6 . . . . . . . 59
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 . . . . 60
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 . . . . . . 60
3.14 N-body pendulum setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.15 Scaling results of N-body pendulum, first-order half-implicit and fully-implicit. . 61

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

5.1 Sphere on a concave surface with an offset in y direction. . . . . . . . . . . . . . 107


5.2 Trajectories of the contact points on the surfaces of the sphere and the ellipsoid. 108
5.3 Geometric constraints over time. . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.4 “Contact-normals-alignment” constraints over time. . . . . . . . . . . . . . . . . 109
5.5 “Contact points coincide” constraints over time. . . . . . . . . . . . . . . . . . . 109
5.6 Sphere on a concave surface without friction: magnitude of the normal force. . . 110
5.7 Trajectories of the contact points on a concave surface with friction. . . . . . . 111
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 . . . . . . 112

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

µr = 0.2 compared with the experimental data reported in [1]. . . . . . . . . . . 141


7.24 Toroidal rubber tire on DEM particles at slip ratio 0.1, t = 50sec. Color represents
the z-axis of the particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.25 Drawbar pull, torque and sinkage over different slip ratio. . . . . . . . . . . . . . 142

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

MULTIBODY DYNAMICS NUMERICAL METHODS AND MODELING


APPROACHES FOR HANDLING FRICTIONAL CONTACT

Luning Fang

Under the supervision of Professor Dan Negrut


At the University of Wisconsin-Madison

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?

Simulations can also provide a wealth of information that is difficult or impossible to


collect experimentally. For example, for granular material, what is the frictional contact force
between two grains of sand, and how does the contact forces propagate through the material
under an impact? When a drum filled with granular material rotates, how does the velocity
field of the granular media change when the drum spins faster?

Simulation and modeling are a simplification of real-world physics. Various modeling


techniques are available for the same application type depending on the assumptions and
computation resources. For instance, when investigating the mobility of an off-road vehicle on
deformable terrain, one can model the tire as a rigid cylinder or a flexible body, paired with the
terrain, modeled as a continuum or a collection of discrete particles. Different models result in
different mathematical formulations. Differential Algebraic Equations (DAEs) are formulated
to model a vehicle connected through joints. Partial Differential Equations (PDEs) are solved
when the vehicle tire or the continuum terrain are modeled using mesh-based methods. The
terrain can also be modeled discretely, where Ordinary Differential Equations (ODEs) or
Differential Variational Inequalities (DVIs) are formulated depending on the assumptions
about the terrain particles.
2

Each mathematical model requires robust and accurate numerical schemes to generate
solutions since analytical ones are rarely available for large-scale problems.

1.2 Problem Statement


Regardless of the modeling technique and its corresponding numerical scheme, developing a
simulation framework of physics-based models and efficient numerical schemes can be difficult.
The focus of this thesis pertains to the modeling of frictional contact and developing numerical
integrators in multibody dynamics. The interest is with the motion of rigid bodies, whose
relative motion can be constrained through kinematic joints.

1.2.1 Handling of body attitude using Lie-integration

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.

1.2.2 Handling of friction and contact

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

frictional contact forces are the solution of an optimization problem.

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.

1.3 Thesis Organization


The thesis is organized as follows: Chapter 2 introduces a traditional approach for modeling
multibody dynamics as DAEs using Euler parameters and a fully-implicit numerical scheme
for solving the DAEs. This chapter also overviews two approaches that handle friction and
6

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

2.1 Multibody Dynamics

2.1.1 Generalized coordinates

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(ϵ).

A(p) = (2e20 − 1)I3×3 + 2(eeT + e0 ẽ) (2.1a)


 
cos ψ cos θ − cos ϕ sin θ sin ψ − sin ψ cos θ − cos ϕ sin θ cos ψ sin ϕ sin θ 
 
A(ϵ) = 
cos ψ sin θ + cos ϕ cos θ sin ψ − sin ψ sin θ + cos ϕ cos θ cos ψ − sin θ cos ϕ

 
 
sin ϕ sin ψ sin ϕ cos ψ cos ϕ
(2.1b)

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

followed by formulations expressed in ṗ in Sec. 2.1.6.

2.1.2 Bilateral constraints

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,

ΦDP1 = aTi aj − f (t) = āTi ATi Aj āj − f (t) = 0, (2.5a)

ΦDP2 = aTi dij − f (t) = āTi ATi dij − f (t) = 0, (2.5b)

ΦD = dTij dij − f (t) = 0, (2.5c)

ΦCD = cT dij − f (t) = 0, (2.5d)


10

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.

2.1.3 Kinematics analysis

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),

Φ̇(q, t) = 0, and Φ̈(q, t) = 0. (2.6)

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

Φ̇(r, p, t) = Φr ṙ + Φp ṗ + Φt = Φr ṙ + Π̄(r, A(p))ω̄ + Φt = 0 (2.10)

Φ̇(r, ϵ, t) = Φr ṙ + Φϵ ϵ̇ + Φt = Φr ṙ + Π̄(r, A(ϵ))ω̄ + Φt = 0. (2.11)

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

2.1.4 Equations of motion

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)

After rearanging we have,

δr T (M r̈ − F a + ΦTr λ) + δπ T (J¯ω̄˙ − τ̄ + Π̄T λ) = 0. (2.16)

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)

J¯ω̄˙ − τ̄ + Π̄T λ = 0, (2.17b)

with the following definitions,

M = diag{m1 I3 , . . . , mnb I3 } ∈ R3nb ×3nb , (2.18a)

J¯ = diag{J¯1 , . . . , J¯nb } ∈ R3nb ×3nb , (2.18b)


h iT
F a = F1aT , . . . , Fnb
aT
∈ R3nb , (2.18c)
h iT
τ̄ = τ̄1T , . . . , τ̄nb
T
∈ R3nb , (2.18d)

2.1.5 Formulating Differential Algebraic Equations of motion

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

Eq.(2.2) to yield the following Differential Algebraic of motion Equations (DAEs),

M r̈ − F a + ΦTr λ = 0, (2.19a)

J¯ω̄˙ − τ̄ + Π̄T λ = 0, (2.19b)

Φ(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.

2.1.6 Posing Differential Algebraic Equations of motion using


Euler Parameters

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,

ω̄ = 2Gṗ, G ≡ [−e, −ẽ + e0 I3 ] ∈ R3×4 . (2.20)

Taking time derivative, we have

ω̄˙ = 2Gp̈ + 2Ġṗ = 2Gp̈. (2.21)

By the same token, the virtual rotation δ π̄ can be replaced as,

δπ̄ = 2Gδp. (2.22)


15

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)

where J¯P is a block diagonal matrix that depends on p, in comparison to a constant J¯ in


Eq.(2.18b),
J¯P = diag{4GT1 J¯1 G1 , . . . , 4GTnb J¯nb Gnb } ∈ R4nb ×4nb , (2.24)

Applied torques and the gyroscopic term are accounted for in τ̄ P ,


 
P
 τ̄1 

. 
 ..  ∈ R4nb ,
τ̄ P =  
τ̄i P = 2GTi n̄ai + 8ĠTi J¯Ġi p ∈ R4 . (2.25)
 
 
P
τ̄nb

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

and the partial derivatives are derived as,


 
 · · · 01×4  pT1
∂ΦP (p)  . .. .. 
P = =  .. . .  ∈ R4nb ×4nb , (2.27)
 
∂p 



01×4 · · · pTnb
16

There are a total of 8nb + nbc unknowns, r̈ ∈ R3nb , p̈ ∈ R4nb , λ ∈ Rnbc and λP ∈ Rnb , and a
total of 8nb + nbc equations.

2.1.7 Solving Differential Algebraic Equations of motion

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,

qn+1 = qn + hq̇n+1 , (2.28)

q̇n+1 = q̇n + hq̈n+1 , (2.29)

and the following nonlinear system of equations should hold at tn+1 ,

M r̈n+1 + ΦTn+1,r λn+1 − Fn+1


a
=0 (2.30a)

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)

and the solutions are updated until a desired convergence is achieved,

r̈ (k+1) = r̈ (k+1) + ∆r̈, p̈(k+1) = p̈(k+1) + ∆p̈, (2.35)

λ(k+1) = λ(k+1) + ∆λ, λP (k+1) = λP (k+1) + ∆λP . (2.36)


18

Set up the model with initial condi-


tions q0 and q̇0 and constraints Φ

compute λ0 and q̈0 using Eq.(2.9) and (2.17)

(0) (0)
approximate q̈n+1 = q̈n and λn+1 = λn

evaluate Jacobian N (k) and residual e(k) at


iteration k using Eq.(2.32) and Eq.(2.31)

evaluate correction ∆g = inv(N (k) )e(k)

update q and q̇ using Eq.(2.28)

∥∆g∥ < ϵtol


no
yes
accept the solution q̈n+1 ,
q̇n+1 , qn+1 and λn+1

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

2.2 Handling Friction and Contact in Multibody


Dynamics
Friction is a natural phenomenon that exists in almost all engineering problems. Although
friction has been researched for centuries, characterizing the friction forces between the sur-
faces remains challenging. Indeed, friction depends on a wide variety of parameters, including
sliding speed, loading history, pre-sliding distance, temperature and material property.
Take Coulomb friction law as an example, it states that ∥Ft ∥ ≤ µ∥Fn ∥, where Ft is the
friction force, µ is the friction coefficient between two surfaces and Fn is the normal force.
When relative sliding occurs, Ft saturates and opposes the motion; if the two surfaces “stick”
to each other, static friction exists, where the magnitude of Ft can be any value from 0 up
to µ∥Fn ∥, and the direction opposes a potential movement of the surface, see Fig. 2.2. The
discontinuity around the vicinity of zero slip velocity vrel = 0 poses a computational challenge
when modeling a system when friction is present.

Figure 2.2: Coulomb friction force Ft vs relative slip velocity vrel,t .

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.

2.2.1 Discrete Element Method

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)

The relative velocity at the contact point vrel is evaluated as

vrel = ṙj + ωj × rjc − ṙi − ωi × ric , (2.40a)

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.

2.2.1.2 Normal force models

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,

Ref f = Ri Rj /(Ri + Rj ), (2.43)

see more details in Appendix A.5.

2.2.1.3 Tangential force models

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 ∥ ,

where t = ut /∥ut ∥. Whenever full-sliding occurs, the tangential displacement is capped as

µ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).

2.2.1.4 Rolling friction models

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)

ωsp = n · [(ωi − ωj )n] . (2.50)

Once decomposed, ωr enters a capped rotational spring-dashpot model,

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

the rolling torque Mr as follows,

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.

2.2.1.5 Spinning friction models

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 ) ,

and the spinning torque evaluated as

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:

Ksp = Kt a2 /2, Dsp = Dt a2 /2 .

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 .

2.2.2 Differential Variational Inequalities

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,

0 ≤ ∥vrel,t ∥ ⊥ ∥µFn ∥ − Ft ≥ 0. (2.54)

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

2.2.3 Comparison between DEM and DVI

The differences between DEM and DVI are summarized below,

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,

(A + δA)T (A + δA) = AT A + δAT A + AδA + δAT δA = I. (3.1)

Dropping the higher-order term, we have

δAT A = −AT δA = −(δAT A)T , (3.2)

which is skew-symmetric and is represented by a tensor form of a vector δ π̄,

AT δA = δf
π̄ → δA = Aδf
π̄ (3.3)

3.2 Multibody Dynamics using the rA Formulation


Solving the DAEs modeled for multibody dynamics problem produces generalized coordinates
and their first- and second-order time derivatives. Specifically, in Sec 2.1.6, we show the
relation between Euler parameter ṗ and local angular velocity ω̄. When solving DAEs using
the rp approach, the unkowns are r and p at the position level, ṙ and ṗ at the velocity level,
r̈ and p̈ at the acceleration level, the Lagrangian multipliers λ associated with each kinematic
constraint and λP for the unit quaternion constraints. Alternatively, the orientation matrix
A can be used directly to solve the index-3 DAEs, eschewing the use of p. Herein, this is
called the rA approach, in contrast to the rp and the rϵ approach. With the equations of
motion expressed in terms of ω̄˙ from Eq.(2.17) and the kinematic constraints Eq.(2.2), we
formulate the following DAEs,

M r̈ + Φr (r, A, t)T λ = F a , (3.4a)

J¯ω̄˙ + Π̄(r, A, t)T λ = τ̄ , (3.4b)


34

Φ(r, A, t) = 0, (3.4c)

where the constraints Φ and the Jacobians Φr and Π̄ are expressed in terms of r and A,

Φ = [Φ1 , . . . , Φnbc ]T ∈ Rnbc , (3.5a)

Φi = Φi (r1 , . . . , rnb , A1 , . . . , Anb , t), (3.5b)

˙ Recall that the DAEs using the rp approach


and the unknowns are r, ṙ, r̈, A, ω̄ and ω̄.
in Eq.(2.23) has an inertia matrix J¯P that changes over time and has nb extra equations,
Eq.(2.23c) for normalizing p.
In Sec. 2.1.2, it is pointed out that when assembling Φ, the orientation matrix A only
shows up in the form of As̄, with s̄ being a vector in the local body frame. As an example,
here we derive the variation in Φ for a fixed joint constraint, Φ(r, A, t) = r + As̄ − f (t) = 0.
Now nudge the body slightly, where r → r + δr and A → A + δA, and by using Eq.(3.3),
we have

δΦ = Φ(r + δr, A + δA, t) − Φ(r, A, t)

= δ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

3.3 Implicit Lie-group Integrators


The time derivative of A is defined as

˜,
Ȧ = 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)

Here exp is a matrix exponential operation defined for matrix C ∈ R3×3 as


X 1 n
exp(C) ≡ I3 + C . (3.9)
n=1 n!

When C is skew-symmetric, the above infinite series converges to an orthonormal matrix


[58]. Based on the Rodrigues’ formula [59], rotating any vector clockwise with respect to a
given axis u by angle of χ can be written as

R(u, χ) = I3 + ũ sin χ + (1 − cos χ)ũũ. (3.10)

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)

Since R is orthonormal, then A(t) ∈ SO(3) for any t.


Next, we use Eq.(3.8) at time step tn+1 ,

˜ n+1 ).
A(t) = An+1 exp(tω̄ (3.12)
36

For a small value of the step size h, by choosing t = −h,

˜ n+1 ).
A(−h) = An = An+1 exp(−hω̄ (3.13)

˜ n+1 ) yields a first-order implicit integration


Multiplying both sides from the right by exp(hω̄
scheme for A,
˜ n+1 ).
An+1 = An exp(hω̄ (3.14)

˜ 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)

Both Lie-integration schemes can be used in conjunction with traditional integrators. In


the following sections, we present a first-order fully-implicit scheme(Sec. 3.4), a first-order
half-implicit scheme(Sec. 3.5) and a second-order half-implicit scheme(Sec. 3.6).

3.4 First-order Fully-implicit Approach


The fully-implicit scheme computes the unknowns at acceleration level, r̈n+1 and ω̄˙ n+1 . At
time t = tn+1 , by discretizing the DAEs in Eq.(3.4) we have,

M r̈n+1 + PTn+1,r λn+1 = Fn+1


a
, (3.16a)

J¯ω̄˙ n+1 + PTn+1,A λn+1 = τ̄n+1 , (3.16b)


1
Φ(rn+1 , An+1 , tn+1 ) = 0, (3.16c)
h2
37

with the following notation

Pn+1,r ≡ Φr (rn+1 , An+1 , tn+1 ), (3.17)

Pn+1,A ≡ Π̄(rn+1 , An+1 , tn+1 ). (3.18)

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),

ṙn+1 = ṙn + hr̈n+1 (3.19a)

ω̄n+1 = ω̄n + hω̄˙ n+1 (3.19b)

rn+1 = rn + hṙn+1 (3.19c)


˜ n+1 ) .
An+1 = An exp(hω̄ (3.19d)

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 )

The Jacobian of the entire system of equation is approximated as


 
(k) (k) (k)T
 M11 M12 Pn+1,r 
 
N (k) =  M21
(k) (k)
M22
(k)T 
, (3.21)

 Pn+1,A 

 (k) (k)

Pn+1,r Pn+1,A 0
38

where the following items are used,

(k) a(k) a(k)


M11 = M − h2 Fn+1,r − hFn+1,ṙ , (3.22a)
(k) a(k) a(k)
M12 = −h2 Π̄(Fn+1 ) − hFn+1,ω̄ , (3.22b)
(k) (k) (k)
M21 = −h2 τ̄n+1,r − hτ̄n+1,ṙ , (3.22c)
(k) (k) (k)
M22 = J¯ − h2 Π̄(τn+1 ) − hτ̄n+1,ω̄ , . (3.22d)

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)

M12 = −h2 Π̄(Fna ) − hFn,a ω̄ , (3.23c)

M21 = −h2 τ̄n,r − hτ̄n,ṙ , (3.23d)

M22 = J¯ − h2 Π̄(τn ) − hτ̄n,ω̄ , . (3.23e)

The algorithm of the first-order fully-implicit rA approach is outlined in Fig.3.1.


39

Initialize the model with


initial conditions r0 , ṙ0 ,
A0 and ω̄0 and constraints

compute λ0 , r̈0 , and ω̄˙ 0

initial guess of position and


orientation at the next step,
rn+1 and An+1 using Eq.(3.19)

evaluate Jacobian N

evaluate residual e(k) at iteration k

evaluate correction ∆g = inv(N )e(k)

update g (k+1) = g (k) + ∆g

∥∆g∥ < ϵtol


no

yes
accept solution r̈n+1 , ω̇n+1 and λn+1

t = t + h

no
t < tend STOP
yes

Figure 3.1: Flow chart of the first-order fully-implicit rA approach.


40

3.5 First-order Half-implicit Approach


For the half-implicit approach, we use the descretized equations of motion Eq.(3.4a) and
Eq.(3.4b) at time t = tn ,

M r̈n + PTn,r λn = Fna (3.24a)

J¯ω̄˙ n + PTn,A λn = τ̄n . (3.24b)

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))

ṙn+1 = ṙn + hr̈n (3.25a)

ω̄n+1 = ω̄n + hω̄˙ n (3.25b)

rn+1 = rn + hṙn+1 (3.25c)


˜ n+1 ) .
An+1 = An exp(hω̄ (3.25d)

From Eq.(3.25a) and Eq.(3.25c) we have

r̈n = (rn+1 − rn − hṙn )/h2 (3.26a)

ω̄˙ n = (ω̄n+1 − ω̄n )/h . (3.26b)

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

Here, the unknowns are rn+1 , θ̄n+1 , An+1 , and λ̂n

θ̄n+1 ≡ hω̄n+1 , λ̂n ≡ h2 λn , (3.28)

and both bn and cn are evaluated with quantities from the previous time step tn ,

bn ≡ −(M rn + hM ṙn + h2 Fna ), (3.29a)

cn ≡ −h2 τ̄n − hJ¯ω̄n . (3.29b)

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

Initialize the model with


initial conditions r0 , ṙ0 ,
A0 and ω̄0 and constraints

compute λ0 , r̈0 , and ω̄˙ 0

initial guess of position and orien-


tation at next step, rn+1 and An+1

evaluate the Jacobian N

evaluate residual e(k) at iteration k

evaluate correction ∆g = N −1 e(k)

update g = g + ∆g

∥∆g∥ < ϵtol


no

yes
accept solution rn+1 , An+1 and
λn , update r̈n and ω̇n with λn

t = t + h

no
t < tend STOP
yes

Figure 3.2: Flow chart of the first-order half-implicit rA approach.


45

3.6 Second-order Half-implicit Approach


Section 3.4 and 3.5 introduced mixed integrator schemes that combine a first-order implicit
Lie-group integrator Eq.(3.14) with traditional first-order ones to numerically solve DAEs. It
is demonstrated that the Newton iteration matrix has a simpler and more accurate form when
using the half-implicit scheme instead of a fully-implicit one. In this section, we show that
the half-implicit framework can also achieve achieve a second-order accuracy. In theory, any
traditional second-order integrators can be applied to r, ṙ and ω̄, combined with any second-
order Lie-integrator for updating A. Here, we derive a second order half-implicit scheme
that integrates velocity-level quantities explicitly using the Adams-Bashforth integrator and
position-level quantities implicitly with the Mid-point Method Eq.(3.15).

ṙn+1 = ṙn + 1.5hr̈n − 0.5hr̈n−1 , (3.35)

rn+1 = rn + 0.5h(ṙn+1 + ṙn ), (3.36)

ω̄n+1 = ω̄n + 1.5hω̄˙ n − 0.5hω̄˙ n−1 , (3.37)


˜ n ) exp(0.5hω̄
An+1 = An exp(0.5hω̄ ˜ n+1 ). (3.38)

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 .

M r̈n + PTn,r λn = Fna , (3.39)

J ω̄˙ n + PTn,A λn = τ̄n , (3.40)

Φ(rn+1 , An+1 , tn+1 ) = 0. (3.41)

From integration scheme Eq.(3.36) and Eq.(3.35), we have

1.5h2 r̈n = 2(rn+1 − rn ) − 2hṙn + 0.5h2 r̈n−1 (3.42)


46

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,

M rn+1 + 0.75PTn,r λ̂n + bn = 0, (3.43a)

J θn+1 + 1.5PTn,A λ̂n + cn = 0, (3.43b)

Φ(rn+1 , An+1 , tn+1 ) = 0, (3.43c)

where the following definitions are used,

bn = −0.75h2 Fn + M (0.25h2 r̈n−1 − rn − hṙn ),

cn = −1.5h2 τ̄n + J (0.5h2 ω̄˙ n−1 − hω̄n ),

λ̂n = h2 λn , θn+1 = hω̄n+1 .

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 .

A(k+1) s̄ − A(k) s̄ = Â exp(0.5(θ̃ (k) + δθ))s̄


f − Â exp(0.5θ̃ (k) )s̄

= Â exp(0.5θ̃ (k) )(exp(0.5δθ)


f − I)s̄. (3.46)

Using Taylor expansion for the following approximation,

exp(0.5δθ) f + 1 (0.5δθ)
f = I + 0.5δθ f 2 + · · · ≈ I + 0.5δθ.
f (3.47)
2

The approximation is valid due to δθ being small, thus

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

A(k+1) s̄ − A(k) s̄ = A(k) 0.5δθ ˜δθ.


f s̄ = −0.5A(k) s̄ (3.49)

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

Mechanism nb CD DP1 DP2 D Total nc DOF


Double Pendulum 2 6 4 0 0 10 2
Slider–Crank 3 6 7 4 1 18 0
Four–Link 4 12 6 0 0 18 0

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

Table 3.2: Properties of double pendulum setup (SI units).

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.3: Properties of the four–link mechanism (SI units).

3.7 Numerical Experiments


Three benchmark systems: a double pendulum, a slider–crank, and a four–link mechanism,
were investigated to compare the performance of the following three numerical schemes: first-
order fully-implicit, first-order half-implicit and second-order fully-implicit. The mechanical
systems consist of all four types of bilateral constraints introduced in Sec. 2.1.2: DP1, DP2,
CD and C. The details of the number of each type of constraints is listed in Tab. 3.1. The
double pendulum is composed of rectangular bars and the mass and inertia of each body can
be computed from the density and shape in Tab. 3.2. The four–link setup is consisted of a
rotor disk and two rectangular bars, and the parameters are given in Tab. 3.3. The mass
49

Body Mass Ix̄x̄ Iȳȳ Iz̄z̄


Crank (body 1) 0.12 1 × 10−4 1 × 10−5 1 × 10−4
Connecting rod (body 2) 0.5 4 × 10−3 4 × 10−4 4 × 10−3
Slider (body 3) 2 1 × 10−4 1 × 10−4 1 × 10−4

Table 3.4: Mass and inertia properties of each body of the slider–crank mechanism (SI units).

Mechanism body i body j āi āj f (t)


Slider–crank 1 ground [0, 1, 0] [0, 1, 0] cos(2πt + π/2)
Four–link 1 ground [−1, 0, 0] [0, 1, 0] cos(πt + π/2)

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].

3.8 Numerical Results

3.8.1 Accuracy and convergence

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

(a) Double pendulum.

(b) Slider–crank mechanism.

(c) Four-link mechanism.


Figure 3.3: Mechanisms used in the numerical experiments.
51

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

(a) Double pendulum.

(b) Slider–crank.

(c) Four–link.
Figure 3.4: Order analysis, first-order half- and fully-implicit solutions.
53

Figure 3.5: Energy of double pendulum system over time.

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.

(b) Forbenius norm of orientation matrix A.


Figure 3.6: Convergence comparison of first- and second-order half-implicit schemes, con-
strained DAE, double pendulum.
55

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

(a) Double pendulum.

(b) Slider–crank mechanism.

(c) Four–link mechanism.


Figure 3.9: Number of iterations comparison of first-order half- and fully-implicit methods.
58

(a) Double pendulum.

(b) Slider–crank mechanism.

(c) Four–link mechanism.


Figure 3.10: Computation time comparison of first-order half- and fully-implicit methods.
59

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

3.8.3 Scaling Analysis

Figure 3.14: N-body pendulum setup.

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

the bodies in contact. When 3D geometries are involved, there is no consensus in


regards to handling the relative rotation associated with the computation of the rolling
and spinning friction torque, see Sec. 2.2.1.4 and Sec. 2.2.1.5. In [33, 52], a rolling
velocity was integrated to get a translational spring displacement, while in [47], a
relative rotation rate was integrated to get a rotational spring displacement. However,
as discussed in Chap. 3, due to the SO(3) structure of 3D rotations, the angular velocity
is not the time derivative of any vector quantity and it determines the orientation of a
body via exponential maps [58].

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

force Fn is considered known. In Chap. 5, a constraint-based approach is presented for the


computation of Fn .

4.2 Kinematics

4.2.1 Kinematics of the contact points

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 .

4.2.2 Kinematics of contact reference frames

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).

4.3 Friction Models

4.3.1 Sliding friction model

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 .

(a) Projection of Ci0 (b) Projection of Cj0

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

1. pi = pj : the sphere rolls without slipping on the surface;

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

Sij = Sij + ∆Sij , ∆Sij ≡ pi − pj . (4.1)

The sliding friction force is then obtained 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.

The damping component for the sliding friction force is added as

∆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)

4.3.2 Rolling friction

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 .

Subsequently, the rolling friction history, which is a vector quantity, is updated as in

Θi = Θi + θi = Θi + κi pi .

Finally, the rolling friction torque is evaluated as

θ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

Given that the slide threshold-deflection satisfies KE SSs = µs N , one obtains

µs N µs N
Θs = κ= (κi + κj ) . (4.7)
KE 2KE

Table 4.1 reports sample values for KR and Θ■


i when body bj assumes several representative

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

Similar to Eq.(4.4), the damping coefficient DR is determined by imitating a critical


damping response, which yields,
q
DR = 2 Iij KR .

4.3.3 Spinning friction

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

Ψij = Ψij + ψij .

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

spin-microdeflections, respectively. A negative spin angle Ψij leads to a positive spinning


friction torque acting on body bi .
Note that the spin-mode ψm between bi and bj is kept constant in advancing the solution
from t0 to t1 ; i.e., ψm does not change during one time step. After accepting the new state at
t1 , one would go through the following process to update the ψm state, adjust Ψij for the
new time step:

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

4.4 Numerical Experiments


The results reported detail the slide, roll, and spin friction loads for several test cases: a
brick on an incline, a 2D disk rolling on a flat surface, a 3D sphere up on an incline, a 3D
sphere spinning on a flat surface, generalized motion of a 3D ellipsoid, and a collection of
three interacting bodies (stacking problem). The tests herein are a subset of a larger suite
discussed in more detail in [68].
All simulations use a time step size of h = 10−4 sec. A first order, half implicit symplectic
integrator is used due to its attractive numerical properties; i.e., it preserves a numerical
Hamiltonian [63], thus reducing the impact that the time integration scheme has on the
overall simulation results. Given at time t0 the acceleration a0 , velocity v0 , and position x0 ,
the integration scheme used updates the system state at t1 = t0 + h as v1 = v0 + h a0 , and
x1 = x0 + h v1 . The acceleration a1 is computed from the momentum balance equation.

4.4.1 Choice of parameters

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].

4.4.2 Brick on an incline

Table 4.2: Brick on incline parameters (all SI units).


parameter m µk µs KE KD
Figure 4.5: Brick on incline. value 1 0.2 0.25 105 632

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

(a) Brick position (left) and velocity (right).

(b) Elastic (left) and damping (right) component of the slide friction
force.

(c) Relative sliding history (left) and increment (right).


Figure 4.6: Brick on an incline simulation with (red) and without (blue) damping in 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.

(a) Position (left) and velocity (right).

(b) Elastic (left) and damping (right) component of the slide friction
force.

(c) Relative sliding history (left) and increment (right).


Figure 4.7: Brick on inclines of different angles α = tan−1 µk , tan−1 µs and 0.25.
79

4.4.3 Disk rolling on a flat surface

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.

Table 4.3: Rolling disk parameters (all SI units).


m R I KE Kcr Kr Dcr ηr
5 0.2 0.1 105 1414.21 1600 25.30 0.4

Figure 4.8: Rolling disk.


This test is challenging owing to the coupling of the slide and roll kinematics, and how the
slide and roll micro-deformation condition each other. The kinematics information, elastic and
damping components of the slide and roll friction loads, and slide and roll micro-deformations
are plotted in Figs. 4.9a-4.9c. Quantities associated with coordinate x and slide friction are
plotted in blue, whereas ones associated with θ and roll friction are in red. Considering the
initial conditions used, the slide micro-deformation Sij quickly saturates and the disk is in
sliding mode with Ef = mgµk = 9.8N. The slide friction force opposes the translational
motion thus decreasing ẋ. In the process, it produces a torque greater than the maximum
rolling friction, which increases θ̇. At time t = 0.11sec, ẋ reaches a value for which Sij no
longer saturates, and the slide friction switches to stick mode. Then, ẋ = Rθ̇, and the slide
and roll mechanisms balance out, which leads to rolling without slip. Roll friction remains in
kinetic mode, keeping Te constant and opposing the disk rotational motion. Both ẋ and θ̇
decrease linearly until the disk eventually comes to a full stop.
Note that without a rolling friction model, the disk will keep rolling without slipping at the
same velocity and angular velocity instead of coming to a stop.
80

(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.

Figure 4.10: Comparison using different damping coefficient, Dr and KD .

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) Constant torque rolling friction model (Eq.(2.48)).

(b) Proposed, history-based rolling friction model.


Figure 4.11: Angular position (left) and rolling friction torque (right) using different rolling
friction models.
83

4.4.4 Sphere rolling up an incline

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).

(b) Time = 0.004sec (Phase I) (c) time = 0.05sec (Phase II)

(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.

4.4.5 Sphere spinning on a flat surface

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.

Table 4.5: Sphere parameters, physics-based model (all SI units).


Test # material R ρ E ν
1 steel 0.02 8 × 103 2 × 1011 0.3
2 steel 0.04 8 × 103 2 × 1011 0.3
3 glass 0.02 2.5 × 103 5 × 1010 0.2

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

(a) Test #1, R = 0.02m, steel ball.

(b) Test #2, R = 0.04m, steel ball.

(c) Test #3, R = 0.02m, glass ball.


Figure 4.16: Sphere spinning; physics-based model.
89

4.4.6 Generalized motion of an ellipsoid

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.

4.4.6.1 Ellipsoid with rolling and sliding friction

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.

Table 4.6: Ellipsoid parameters (all SI units), used in subsections 4.4.6.1.


m a b c µs µk KE KD ηr
5 0.2 0.2 0.5 0.25 0.2 105 1414.21 0.2
90

(a) Time = 0sec (b) Time = 0.75sec (c) Time = 0.9sec

(d) Time = 1.8sec (e) Time = 2.1sec (f) Time = 3sec


Figure 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.

4.4.6.2 Ellipsoid spinning

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.

the effect of curvature at contact point on spinning-related parameters, such as stiffness Kψ ,


threshold micro-spinning deflection Sψs and kinetic spinning friction max(TψE ), given that the
normal force is the same. For comparison, parameters of a sphere with the same volume as

the ellipsoid, i.e., R = 3 abc are listed as well.
92

Table 4.7: Effect of curvature on spinning using KE = 5 × 106 N/m.

sphere ellipsoid (flat) ellipsoid (upright)


K 36.84 29 125
Kψ 1.80 × 10−2 2.11 × 10 −2
7.95 × 10−3
Sψs 3.88 × 10−3 3.58 × 10 −3
5.82 × 10−3
max(TψE ) 6.96 × 10−5 7.53 × 10−5 4.63 × 10−5

4.4.7 Spheres Stacking

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.

(b) Stable. (c) Roll friction saturates.

(d) Stable. (e) Slide and roll friction saturate.

(f) Stable. (g) Slide friction saturates.


Figure 4.19: Snapshots of three-sphere stacking problem.
95

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,

riP = ri + Ai ᾱi (5.3)

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)

The updated rotation matrix is approximated as,

 
f ≈ A (θ) I + δθ
A (θ + δθ) = A (θ) exp(δθ) f . (5.6)

Now substitute Eq.(5.6) to Eq.(5.5), and eliminate higher-order items, we have

 
P f · (ᾱ + δ ᾱ)
rnew = r + δr + A I + δθ (5.7)

≈ r + δr + A (ᾱ + δ ᾱ) + Aθ̄δα (5.8)


e

= r + δr + A (ᾱ + δ ᾱ) − Aᾱδθ


e (5.9)

The virtual displacement at point P is

δr P = rnew
P
− r P = δr + Aδ ᾱ − Aᾱδθ
e (5.10)
99

5.1.1 “Contact points coincide” constraints

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

Ψij : ri + Ai ᾱi − rj − Aj ᾱj = 03×1 . (5.12)

The first-order variation of Ψij is written as


   

 
δr
i 
δr
j
    
δΨij = Ψri Ψθi Ψᾱi   − Ψrj (5.13)
 δθi  Ψ θj Ψᾱj  δθ
   
 j

   
δ ᾱi δ ᾱj

where

Ψri = I3 , Ψθi = −Ai ᾱ


f,
i Ψᾱi = Ai (5.14)

Ψrj = I3 , Ψθj = −Aj ᾱ


f,
j Ψᾱj = Aj (5.15)

5.1.2 “Contact-normals-alignment” constraints

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

constraints for the direction of the normals,

Nij : cT (n0i + n0j ) = 0 (5.16)


 
1 0 0
c= 
0 1 0

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)

The first order variation of Nij can be derived as,

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)

From Eq.(5.6), we approximate that,

δ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)
∂ ᾱ ∂ ᾱ

Now we write the variation of Nij in matrix form as,


101

   


δ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.

5.2 Handling of Friction Loads


Here the friction force Ff r is introduced as an “external” force computed with the model
detailed in Chap. 4. As such, the virtual work associated with Ff r at the point of contact P
is derived with point P being fixed, i.e., δ ᾱT Ff r = 0

 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

5.3 Constrained Equations of Motion


We summarize all the constraints related to the contact.

Ψ(r, A, ᾱ) = 0 → contact points coincide (5.27a)

N (A, ᾱ) = 0 → surface unit normal pointing in opposite directions (5.27b)

G(ᾱ) = 0 → contact point stays on the surface of bodies in contact (5.27c)

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

Any set of constrained virtual displacement should satisfy


  
Ψr Ψθ Ψᾱ   δr 
  
 0 Nθ Nᾱ   =0 (5.29)
  δθ 
  

  
0 0 Gᾱ δ ᾱ

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

The constrained equations of motion then assume the following form

M r̈ + ΨTr λΨ = F a 3nb eqs (5.31)

J¯ω̄˙ + ω̄
˜ J¯ω̄ + ΨTθ λΨ + NθT λN = n̄a 3nb eqs (5.32)

ΨTᾱ λΨ + NᾱT λN + GᾱT λG = 0 6nc eqs (5.33)

Ψ(r, A, ᾱ) = 0 3nc eqs (5.34)

N (A, ᾱ) = 0 2nc eqs (5.35)

G(ᾱ) = 0 2nc eqs (5.36)

with unknowns r̈ ∈ R3nb , ω̄˙ ∈ R3nb , ᾱ ∈ R6nc , λΨ ∈ R3nc , λG ∈ R2nc and λN ∈ R2nc .

5.4 Half-implicit Scheme for Contact Evolving


Problems
The half implicit scheme outlined in Chap. 3 is applied to the constrained equations of motion
Eq.(5.31). After discretizing over time with a step size of h, at time step tn we have,

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)

Ψ(rn+1 , An+1 , ᾱn+1 ) = 0 (5.37d)

N (An+1 , ᾱn+1 ) = 0 (5.37e)

G(ᾱn+1 ) = 0 (5.37f)

Use the half-implicit scheme outlined in Eq.(3.25), we have

M rn+1 + ΨTn,r λ̂Ψ


n + bn = 0 (5.38a)
104

J¯θ̄n+1 + ΨTn,θ̄ λ̂Ψ T N


n + Nn,θ̄ λ̂n + cn = 0 (5.38b)

ΨTn,ᾱ λ̂Ψ T N T G
n + Nn,ᾱ λ̂n + Gn,ᾱ λ̂n = 0 (5.38c)

Ψ(rn+1 , An+1 , ᾱn+1 ) = 0 (5.38d)

N (An+1 , ᾱn+1 ) = 0 (5.38e)

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

θ̄n+1 ≡ hω̄n+1 , λ̂Ψ 2 Ψ


n ≡ h λ , λ̂N 2 N
n ≡ h λ , λ̂G 2 G
n ≡ h λ (5.39)

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)

in hope that the perturbed quantities are the solution,

(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)

Now subtract Eq.(5.42) from Eq.(5.40), we have

(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,

(k) (k+1) (k+1) (k+1) (k) (k) (k)


δΨn+1 = Ψ(rn+1 , An+1 , ᾱn+1 ) − Ψ(rn+1 , An+1 , ᾱn+1 )
(k) (k) (k)
≈ Ψn+1,r δrn+1 + Ψn+1,θ̄ δ θ̄n+1 + Ψn+1,ᾱ δ ᾱn+1

≈ Ψn,r δrn+1 + Ψn+1,θ̄ δ θ̄n + Ψn,ᾱ δ ᾱn+1 , (5.44)


(k) (k+1) (k+1) (k) (k)
δPn+1 = N (An+1 , ᾱn+1 ) − N (An+1 , ᾱn+1 )
(k) (k)
≈ Nn+1,θ̄ δ θ̄n+1 + Nn+1,ᾱ δ ᾱn+1

≈ Nn,θ̄ δ θ̄n+1 + Nn,ᾱ δ ᾱn+1 , (5.45)


(k) (k+1) (k)
δGn+1 = G(ᾱn+1 ) − G(ᾱn+1 )
(k)
≈ Gn+1,ᾱ δ ᾱn+1 ≈ Gn,ᾱ δ ᾱn+1 . (5.46)

This is equivalent to solving a linear system of equations,

δ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

5.5 Numerical Experiments


Two numerical experiments were carried out to investigate the evolving contact approach. A
sphere of radius 0.5 m and mass 1 kg is set on a concave elliptical surface. The half radius of
the surface is Rx = 4, Ry = 3, Rz = 2. Initially, the sphere is offset from the valley point of
the surface so it can move due to gravity. As seen in Fig. 5.1, the initial contact point C
has an offset in y direction by a magnitude of dy = 1.5, while the offset in x direction is set
to zero. The location of the initial contact point C can then be determined by the surface
function of the ellipsoid. The sphere has zero initial velocity and angular velocity. Sections
5.5.1 and 5.5.2 investigates how the sphere traverses on the concave surface without and with
friction, respectively.

Figure 5.1: Sphere on a concave surface with an offset in y direction.

5.5.1 Sphere traversing on a concave surface without friction

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.

Figure 5.3: Geometric constraints over time.


109

Figure 5.4: “Contact-normals-alignment” constraints over time.

Figure 5.5: “Contact points coincide” constraints over time.


110

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.

5.5.2 Sphere rolling on a concave surface with friction

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

(a) ηr = 0 (b) ηr = 0.1

(c) ηr = 0.2 (d) ηr = 0.3


Figure 5.7: Trajectories of the contact points on a concave surface with friction.

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.

6.1 Mixed Data Types


On modern hardware architectures, the speed of 32-bit floating point operations such as
addition and multiplication is at least twice as fast as the performance of 64-bit operations
114

[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

length unit (space resolution) is defined as

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.

Data type Variable Memory type


unsigned int subdomain owner index global
int local coordinate within subdomain global
float kinematics quantity, friction history, mass, etc global
double penetration cache/register
float contact force calculation cache/register

6.2 Domain Decomposition and Local Coordinates


In DEM, the contact detection algorithm commonly used for monodisperse particles is a
Linked-Cell method [78]. The entire domain is decomposed into small subdomains and each
particle is assigned to a subdomain (SD) according to its center of mass. Considering that
116

each particle can touch at most 8 SDs, when searching for neighboring particles, only the
SDs that touch the particle can contain potential neighbors.

Figure 6.1: Representing particle position indirectly through owner SD as


Pglobal = Ploc + PSD .

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

Figure 6.2: The co-simulation workflow in one time step.

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

7.1 Small-scale Tests

7.1.1 Head-on collision

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

7.1.2 Brick sliding

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

7.1.3 Oblique impact

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 θ.

(a) Numerical and analytical tangential COR, et

(b) Numerical and analytical rebound angular velocity |ωi′ |


Figure 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

7.1.4 Spheres stacking

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.

Table 7.1: Parameter space of sphere stacking test.

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.

7.2 Large-scale Tests

7.2.1 Wave propagation test

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

Figure 7.8: Goldenberg test diagram.

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

Table 7.2: Simulation parameters for single wheel tests.

Parameters Units Values


sphere-to-sphere normal force stiffness kn g s−2 30000mg/R
sphere-to-sphere normal force damping coefficient γn s−1 5 × 104
sphere-to-wall normal force stiffness kns2w g s−2 2kn
sphere-to-wall normal force damping coefficient γns2w s−1 γn
sphere-to-sphere tangential force stiffness kt g s−2 0.8kn
sphere-to-sphere tangential force damping coefficient γt s−1 0.8γn
sphere-to-wall tangential force stiffness kts2w g s−2 0.8kn
sphere-to-wall tangential force damping coefficient γts2w s−1 0.8γn

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

7.2.2 Direct shear test

Figure 7.11: Direct shear test setup.

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.

Table 7.3: Simulation parameters for direct shear test.

Parameters Units Values


density ρ kg m−3 2.55 × 103
radius R cm 0.1
Young’s Modulus E Pa 4 × 107
Poisson’s Ratio ν [-] 0.22
sphere-to-sphere COR [-] 0.87
sphere-to-mesh COR [-] 0.5
sphere-to-sphere friction coefficient µs2s
s [-] 0.18
sphere-to-mesh friction coefficient µs2m
s [-] 0.4
rolling friction coefficient µr [-] 0
step size∆t sec 1 × 10−5

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

(a) Chrono::GPU (b) Chrono::Multicore [71]


Figure 7.12: Shear stress vs shear displacement relation under various normal stress.

7.2.3 Cratering test

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].

Figure 7.13: Cratering test setup.


131

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.

Table 7.4: Simulation parameters for cratering tests.

Parameters Units Values


density ρ kg m−3 2.5 × 103
radius R cm 0.1
Young’s Modulus E Pa 7 × 107
Poisson’s Ratio ν [-] 0.24
sphere-to-sphere COR [-] 0.9
sphere-to-sphere friction coefficient µs2s
s [-] 0.3
sphere-to-mesh friction coefficient µs2m
s [-] 0.3
rolling friction coefficient µr [-] 0
step size∆t sec 5 × 10−6

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

Figure 7.14: Penetration depth d over scaled drop height H.

7.2.4 Low-velocity cratering test

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.

Table 7.5: Simulation parameters for low-velocity cratering tests.

Parameters Units Values


density ρ kg m−3 2.48 × 103
radius R cm 0.5
Young’s Modulus E Pa 7 × 108
Poisson’s Ratio ν [-] 0.24
sphere-to-sphere COR [-] 0.9
sphere-to-wall COR [-] 0.9
sphere-to-sphere friction coefficient µs2s
s [-] 0.16
sphere-to-mesh friction coefficient µs2m
s [-] 0.45
rolling friction coefficient µr [-] 0.09
step size∆t sec 1 × 10−6

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

7.2.5 Rotating drum test

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.

Table 7.6: Simulation parameters for rotating drum tests.

Parameters Units Values


density ρ kg m−3 2.5 × 103
radius R cm 0.0265
Young’s Modulus E Pa 7 × 107
Poisson’s Ratio ν [-] 0.24
sphere-to-sphere COR [-] 0.97
sphere-to-wall COR [-] 0.97
s2s
sphere-to-sphere friction coefficient µs [-] 0.16
sphere-to-mesh friction coefficient µs2m
s [-] 0.45
rolling friction coefficient µr [-] 0.09
step size∆t sec 1 × 10−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

normalized absolute velocity, |v|/(ωRdrum ). When Fr = 1 × 10−4 and 1 × 10−3 , a uniform


flow of particles is created at the top thin layer, while the particles in the region underneath
are transported upwards by the drum wall, indicating the rolling regime. When Fr = 0.01,
cascading regime sets in where the surface of the particles arches in an S shape. At Fr = 0.5,
the flow enters the cataracting regime, wherein the particles stick to the wall before being
flung back to the bottom. As an extreme case of cataracting, at Fr = 1.5, centrifuging occurs,
wherein particles close to the wall form a uniform layer that spins with the cylinder. The
observed flow patterns match the predicted motion and the transition behaviors described in
[100, 101, 102], reproducing a similar pattern reported in [99].

Figure 7.19: Steady-state flow patterns with increasing Froude number. Particles are colored
by normalized velocity magnitude, ∥v∥/ωRdrum .

7.2.6 Single wheel test

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.

Table 7.7: Simulation parameters for single wheel tests.

Parameters Units Values


density ρ kg m−3 2.5 × 103
radius R cm 1
normal force stiffness kn N/m 1 × 107
normal force damping coefficient γn s−1 1 × 103
tangential force stiffness kt N m−1 1 × 107
tangential force damping coefficient γt s−1 1 × 103
s2s
sphere-to-sphere sliding friction coefficient µs [-] 0.9
s2m
sphere-to-mesh sliding friction coefficient µs [-] 0.9
Rolling friction coefficient µr [-] 0.2
Step size ∆t s 1 × 10−5

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

∆z = zinit (xw_ctr ) − (zw_ctr − Rw ), (7.7)


139

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.

7.2.6.1 Cylindrical wheel

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

(a) Drawbar pull (b) Torque (c) Sinkage


Figure 7.23: Drawbar pull, torque and sinkage over different slip ratio using µSS
s = 0.9 and
µr = 0.2 compared with the experimental data reported in [1].

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.

7.2.6.2 Toroidal rubber tire

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

8.1 Conclusions and Contributions


This thesis presents a novel modeling approach and numerical schemes to tackle frictional
contact problems 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. A hybrid half-implicit Lie-group integrator is developed 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 DAE problem numerically,
where the friction loads can be treated explicitly, avoiding the computation of the sensitivity
matrices.
The salient features of this modeling approach are summarized as follows:

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.

3. The Lie-group integrator bypasses traditional intermediate parameters for orientation,


thus simplifying the formulation of the governing DAEs and the Jacobian matrices.

4. The half-implicit integrator allows a simpler, yet still accurate, Jacobian matrix since
the friction forces are treated explicitly when integrating the velocity.

5. Relative rotation of two bodies in contact conserves the SO(3) structure.


144

The major contributions of this thesis are listed as follows:

1. Modeled friction and contact by tracking contact points:

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.

c) Investigated how friction parameters, specifically ones associated with sliding,


rolling, and spinning friction, affect the dynamics of the bodies in mutual contact.

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:

a) Combined classical half-implicit integration schemes with Lie group integrators.

b) Derived hybrid half-implicit integrators for both first- and second-order accuracy.

c) Applied hybrid half-implicit integrators to a variety of benchmark problems,


kinematicly- and dynamicly-driven.

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:

a) Improved and ensured the soundness of a GPU-based DEM solver.

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:

a) Derived a framework for handling normal force implicitly through non-penetration


constraints and frictional contact forces explicitly.

b) Interfaced the framework with the friction force model that tracks the contact
points on the surfaces of two bodies.

c) Applied a half-implicit Lie-group integrator to solve the model.

d) Benchmarked frictionless and frictional movements of a sphere on nontrivial geom-


etry.

8.2 Future Work


For the half-implicit rA approach, it is important to prove analytically the order of convergence.
Since the rA approach provides a general framework where, technically, any mutlibody system
can be treated, the formulation should be extended to multibody systems with unilateral
constraints, for instance, DVI problems and constraint-free equations of motions frequently
encountered in robotics.
For the evolving contact approach, one should investigate the contact between bodies of
more complicated geometries described by meshes, where parameterization of the surface is
might be unavailable. The approach also should accommodate the scenarios where contact
no longer exists between two points. A comparison of accuracy, speed and scaling ability
should be carried out among the evolving contact approach, DVI and DEM.
Validation is another future thrust direction; this work presents several physical tests
based on experiments such as the rotating drum tests, cratering tests and single wheel
146

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

A.1 Lagrange Multiplier Theorem


If bT x = 0 holds for all x that satisfies Ax = 0, then there exists λ such that,

bT x + λT Ax = 0 (A.1)

A.2 Newton–Raphson method


Newton–Raphson method is an iterative approach for finding the solution of nonlinear
equations f (x) = 0. At iteration k, let f (x(k) ) = e(k) , and suppose by perturbing x(k)
slightly, x(k+1) ← x(k) + δx, we find the solution, i.e., f (x(k+1) ) = 0, where f (x(k+1) ) can be
approximated as,

∂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

The correction δx is evaluated as

 −1
δx = N (k) e(k) (A.3)

where N (k) = ∂f (x(k) )/∂x, and is referred to as Newton iteration matrix.

A.3 Partial derivatives of unit surface normal on an


ellipsoid
For an ellipsoid surface defined in Cartesian coordinate,

x2 y 2 z 2
+ 2 + 2 =1 (A.4)
a2 b c
148

the unit normal is derived as,


 
2
x/a 
1  
2
n0 = q y/b , (A.5)


x2 y2 z2 
a4
+ b4
+ c 4 


z/c2

and its Jacobian with respect to r = [x, y, z]T derived as,


 
y2

z2
 b 4 + c4 /a2 −xy/ (a b ) 2 4
−xz/ (a c ) 2 4

∂n0 1 
4 2

x2 z2

2 2 4

= x2 y 2 z 2 3/2  −xy/ (a b )


a4
+ c4
/b −yz/ (b c )

 (A.6)
∂r ( a4 + b4 + c4
) 
2
 
x2
 
y
−xz/ (a4 c2 ) −yz/ (b4 c2 ) a4
+ b4
/c2

A.4 Principal directions on an ellipsoid


The surface of an ellipsoid can be described using spherical coordinate θ and ϕ, where
 
 a sin θ cos ϕ 
 
r(θ, ϕ) = 
 b sin θ sin ϕ 

(A.7)
 
 
c cos θ

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

The normal on the surface can be evaluated as,


 
2
 bc sin θ cos ϕ 
 
n = rθ × rϕ =  2 ,
 ac sin θ sin ϕ 
(A.9)
 
 
ab sin θ cos θ

and the unit normal vector is,


 
 bc sin θ cos ϕ 
1  
n0 = q ac sin θ sin ϕ  . (A.10)
 

b2 c2 sin2 θ cos2 ϕ + a2 c2 sin2 θ sin2 ϕ + a2 b2 cos2 θ 



ab cos θ

To derive the second fundamental form (shape tensor) used to describe the curvature of a
surface,

Ldθ2 + 2M dθdϕ + N dϕ2 (A.11)

L = rθθ · n0 , N = rϕϕ n0 , M = rθϕ n0 , (A.12)

we compute

rθθ · n = −abc sin θ, (A.13)

rϕϕ · n = −abc sin3 θ, (A.14)

rθϕ · n = 0. (A.15)

We derive the following shape tensor,


   
 L M  −abc  1 0
=q . (A.16)

  
2 2 2 2
M N b2 c2 sin θ cos2 ϕ + a2 c2 sin θ sin ϕ + a2 b2 cos2 θ 0 sin θ
150

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

and by plugging in Eq.(A.17), we have principal direction written as


       
dx a cos θ cos ϕ dx −a sin θ sin ϕ
       
κ1 = dy 
 
=  b cos θ sin ϕ 
 
and κ2 = dy 
 
=  b sin θ cos ϕ 
 
(A.19)
       
       
dz −c sin θ dz 0
1 2

A.5 Material-based parameters in normal and


tangential force models
The model parameters in Eq.(2.42) and Eq.(2.46) are given as follows,

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

A.6 Finding the contact frames


To simplify the calculation of the global contact reference frame (n1 , u1 , w1 ), an intermediate
configuration (n̂1 , û1 , ŵ1 ) is created such that

n̂1 = Rn1 = [0, 0, 1]T , û1 = Ru1 , ŵ1 = Rw1 ,

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,

f (θ) = u0i,1 · û1 + w0i,1 · ŵ1 = (ax + by ) sin θ + (ay − bx ) cos θ,


152

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 .

A.7 Analytical solution of a sphere rolling on an


incline
For a sphere of radius R and mass m rolling on an incline of angle α, the maximum static
sliding friction force and rolling frictin torque are evaluated as follows,

Frmax = µs N = µs mgcosα,

Trmax = KR Θi = 2ηr Rµs N = 2ηr Rµs mg cos α.

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

reaches its maximum,

Fr = mg sin α ≤ Frmax , Fr R = mg sin αR > Trmax .

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

ẍ = (mg sin α − Frmax )/m, θ̈ = (RFr − Tr )/(0.4mR2 ).

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

A.8 Spinning stiffness Kψ based on Hertzian contact


theory
In Hertzian contact theory, when two spheres touch, the contact area is a 2D circular shape
q
with a radius of a = Ref f δn , where Ref f is the effective radius and δn is the normal
penetration. When micro-deformation in slide-mode occurs, assuming it takes on the same
value x at any point of the contact area, the potential energy per unit area is 12 KE x2 . When
micro-deformation of angle ψ occurs in spin-mode between two surfaces, the micro-deformation
is distributed linearly along the radius a, with zero at the center of the contact patch, and
aψ at the outer edge of the contact area, see Fig. A.2.

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

The stiffness Kψ is then defined such that

1 1
K ψ ψ 2 = a2 K E ψ 2 .
2 4
155

Therefore, the spin stiffness is tied to the slide stiffness as

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,

aSψs = SSs , aSψk = SSk . (A.22)

The spinning torque threshold can be derived as

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

where Eef f = Ei⋆ Ej⋆ /(Ei⋆ + Ej⋆ ), Ei,j


⋆ 2
= Ei,j /(1 − νi,j ), Ei,j and νi,j being Young’s modulus
and Poisson ratio of sphere i and j, respectively. Substituting Eq.(A.23) into Eq.(A.21), one
can derived spinning stiffness as

!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.

[7] A. Tasora, M. Anitescu, S. Negrini, and D. Negrut. A compliant visco-plastic particle


contact model based on differential variational inequalities. International Journal of
Non-Linear Mechanics, 53(SI):2–12, Jul 2013.

[8] Hexagon. ADAMS. http://www.mscsoftware.com/product/adams. Accessed:


2021-11-07.

[9] Siemens PLM Software. Siemens Simcenter 3D. https://www.plm.automation.


siemens.com/global/en/products/simcenter/simcenter-3d.html. Accessed:
2021-04-13.

[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.

[12] D. Negrut, L. Jay, and N. Khude. A discussion of low-order numerical integration


formulas for rigid and flexible multibody dynamics. ASME JCND, 4:021008–1, 2009.

[13] C.W. Gear. The simultaneous numerical solution of differential-algebraic equations.


IEEE Trans. Circuit Theory, CT-18:89–95.
157

[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.

[17] K Apostolou and AN Hrymak. Discrete element simulation of liquid-particle flows.


Computers & Chemical Engineering, 32(4-5):841–856, 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.

[31] E. Parteli and T. Poschel. Particle-based simulation of powder application in additive


manufacturing. Powder Technology, pages 96–102, 2016.

[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

[39] JJ McCarthy, V Jasti, M Marinack, and CF Higgs. Quantitative validation of the


discrete element method using an annular shear cell. Powder Technology, 203(1):70–77,
2010.

[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.

[42] Stephen R. Schwartz, Derek C. Richardson, and Patrick Michel. An implementation of


the soft-sphere discrete element method in a high-performance parallel gravity tree-code.
Granular Matter, 14:363–380, 2012.

[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.

[52] JS Marshall. Discrete-element modeling of particulate aerosol flows. Journal of


Computational Physics, 228(5):1541–1561, 2009.

[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.

[58] J. E. Marsden and T. S. Ratiu. Introduction to Mechanics and Symmetry, volume 17


of Texts in Applied Mathematics. Springer-Verlag, New York, 1994.

[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.

[60] E. J. Haug. Computer-Aided Kinematics and Dynamics of Mechanical Systems


Volume-I. Prentice-Hall, Englewood Cliffs, New Jersey, 1989.

[61] UW-Madison Simulation Based Engineering Laboratory. Supporting models,


scripts, data. https://github.com/uwsbel/public-metadata/tree/master/2022/
HalfImplicit_JCND, 2022.

[62] E. Hairer, S. Norsett, and G. Wanner. Solving Ordinary Differential Equations I:


Nonstiff Problems. Springer, Berlin, 2009.
161

[63] E. Hairer, C. Lubich, and G. Wanner. Geometric Numerical Integration: Structure-


preserving Algorithms for Ordinary Differential Equations, volume 31. Springer Science
& Business Media, 2006.
[64] Luning Fang, Alexandra Kissel, Simone Benatti, and Dan Negrut. Using half-implicit
numerical integration to solve the equations of constrained multibody dynamics. Techni-
cal Report TR-2021-13: https://sbel.wisc.edu/wp-content/uploads/sites/569/
2022/07/TR-2021-13.pdf, Simulation-Based Engineering Laboratory, University of
Wisconsin-Madison, 2021.
[65] H. Kruggel-Emden, S. Wirtz, and V. Scherer. A study of tangential force laws applicable
to the discrete element method (DEM) for materials with viscoelastic or plastic behavior.
Chemical Engineering Science, 63:1523–1541, 2008.
[66] Kazuyoshi Iwashita and Masanobu Oda. Rolling resistance at contacts in simulation of
shear band development by DEM. Journal of Engineering Mechanics, 124(3):285–292,
1998.
[67] Michael Mortenson. Geometric Modeling. Industrial Press, Inc., 3rd edition, 2006.
[68] Dan Negrut and Luning Fang. Producing 3D friction forces/torques by tracking the
motion of the contact points on surfaces in mutual contact. Technical Report TR-
2020-03, Simulation-Based Engineering Laboratory, University of Wisconsin-Madison,
2020.
[69] A. Tasora, R. Serban, H. Mazhar, A. Pazouki, D. Melanz, J. Fleischmann, M. Taylor,
H. Sugiyama, and D. Negrut. Chrono: An open source multi-physics dynamics engine.
In T. Kozubek, editor, High Performance Computing in Science and Engineering –
Lecture Notes in Computer Science, pages 19–49. Springer International Publishing,
2016.
[70] Project Chrono. Chrono: An open source framework for the physics-based simulation
of dynamic systems. http://projectchrono.org, 2020. Accessed: 2020-03-03.
[71] Jonathan Fleischmann, Radu Serban, Dan Negrut, and Paramsothy Jayakumar. On
the importance of displacement history in soft-body contact models. Journal of
Computational and Nonlinear Dynamics, 11(4):044502, 2016.
[72] J. Chung and G. M. Hulbert. A time integration algorithm for structural dynamics
with improved numerical dissipation: the generalized-α method. Transactions of ASME,
Journal of Applied Mechanics, 60(2):371–375, 1993.
[73] L. O. Jay and D. Negrut. Extensions of the HHT-α method to differential-algebraic
equations in mechanics. Electronic Transactions on Numerical Analysis, 26:190–208,
2007.
162

[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.

[87] M. A. Ambroso, C. R. Santore, A. R. Abate, and D. J. Durian. Penetration depth for


shallow impact cratering. Physical Review E, 71:051305, May 2005.

[88] J. S. Uehara, M. A. Ambroso, R. P. Ojha, and D. J. Durian. Low-speed impact


craters in loose granular media. Phys. Rev. Lett., 90:194301, May 2003.

[89] T. Heyn. On the Modeling, Simulation, and Visualization of Many-Body Dynam-


ics Problems with Friction and Contact. PhD thesis, Department of Mechanical
Engineering, University of Wisconsin–Madison, http://sbel.wisc.edu/documents/
TobyHeynThesis_PhDfinal.pdf, 2013.

[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

[97] Christian M Dury and Gerald H Ristow. Radial segregation in a two-dimensional


rotating drum. Journal de Physique I, 7(5):737–745, 1997.

[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.

[100] H Henein, JK Brimacombe, and AP Watkinson. Experimental study of transverse bed


motion in rotary kilns. Metallurgical transactions B, 14(2):191–205, 1983.

[101] Jochen Mellmann. The transverse motion of solids in rotating cylinders—forms of


motion and transition behavior. Powder technology, 118(3):251–270, 2001.

[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.

[104] H Nakashima, H Fujii, A Oida, M Momozu, H Kanamori, S Aoki, T Yokoyama,


H Shimizu, J Miyasaka, and K Ohdoi. Discrete element method analysis of single
wheel performance for a small lunar rover on sloped terrain. Journal of Terramechanics,
47(5):307–321, 2010.

[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.

You might also like