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

DEM Technical Manual

The DEM Technical Manual for Rocky, Version 4.5.2, introduces the Discrete Element Method (DEM) and provides detailed technical information, equations, and resources for particle simulation models. It aims to enhance users' understanding of Rocky's functionality in simulating bulk solids and granular media flows. The manual includes various models for contact forces, adhesive forces, rolling resistance, breakage, and more, along with statistics modules and miscellaneous topics related to DEM.

Uploaded by

Tomás Gertner
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 views115 pages

DEM Technical Manual

The DEM Technical Manual for Rocky, Version 4.5.2, introduces the Discrete Element Method (DEM) and provides detailed technical information, equations, and resources for particle simulation models. It aims to enhance users' understanding of Rocky's functionality in simulating bulk solids and granular media flows. The manual includes various models for contact forces, adhesive forces, rolling resistance, breakage, and more, along with statistics modules and miscellaneous topics related to DEM.

Uploaded by

Tomás Gertner
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/ 115

DEM TECHNICAL MANUAL

Ve r s i o n 4 . 5 . 2
dem technical manual i
ROCKY

This document provides a brief introduction to the Discrete


Element Method (DEM) used in Rocky, and provides technical
details, equations, and further resources for understanding the various
particle simulation models used within it. Used in conjunction with
other Rocky documentation resources, including the User Manual and
the DEM-CFD Coupling Manual, this DEM Technical Manual should
help provide Rocky users with a more complete picture of how Rocky
works.

Copyright

copyright ©2021, esss. all rights reserved.

No part of this documentation may be reproduced in any form, by any means,


without the prior written permission of ESSS.

ESSS makes no representations or warranties with respect to the program material


and specifically disclaim any implied warranties, accuracy, merchantability or fitness
for any particular purpose. Furthermore, ESSS reserves the right to revise the
program material and to make changes therein without obligation to notify purchaser
of any revisions or changes except specific errors determined to be incorporated in the
program material. It shall be the responsibility of ESSS to correct any such errors in
an expeditious manner. In no event shall ESSS be liable for any incidental, indirect,
special, or consequential damages arising out of the purchaser’s use of program
material.

When referencing this manual in your own article or paper, please


ensure that you use the correct product name, release version, and document
title in your citation.
For example: ESSS Rocky, Release 4.5.2, DEM Technical Manual, ESSS Rocky
DEM, S.R.L., (2021).

© 2021, esss - all rights reserved


dem technical manual ii
ROCKY

Contents

1 Introduction to DEM 1

2 Physical models in Rocky 3

2.1 Contact force models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


2.1.1 Normal force models . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1.1 Hysteretic linear spring model . . . . . . . . . . . . 4
2.1.1.2 Linear spring-dashpot model . . . . . . . . . . . . . 7
2.1.1.3 Hertzian spring-dashpot model . . . . . . . . . . . 9
2.1.2 Tangential force models . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2.1 Linear spring Coulomb limit model . . . . . . . . . 10
2.1.2.2 Coulomb limit model . . . . . . . . . . . . . . . . . 11
2.1.2.3 Mindlin-Deresiewicz model . . . . . . . . . . . . . 12

2.2 Adhesive force models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13


2.2.1 Constant adhesive force model . . . . . . . . . . . . . . . . . . 13
2.2.2 Linear adhesive force model . . . . . . . . . . . . . . . . . . . . 14
2.2.3 JKR adhesive force model . . . . . . . . . . . . . . . . . . . . . 15

2.3 Rolling resistance models . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


2.3.1 Type A: constant moment . . . . . . . . . . . . . . . . . . . . . 17
2.3.2 Type C: linear spring rolling limit . . . . . . . . . . . . . . . . . 18

2.4 Breakage models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


2.4.1 Ab-T10 breakage model . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Tavares breakage model . . . . . . . . . . . . . . . . . . . . . . 21
2.4.3 TBM breakage model . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.4 Breakage for large deformations . . . . . . . . . . . . . . . . . 26
2.4.5 Fragment size distribution models . . . . . . . . . . . . . . . . 27
2.4.5.1 Gaudin-Schumann . . . . . . . . . . . . . . . . . . . 28
2.4.5.2 Incomplete beta function . . . . . . . . . . . . . . . 28
2.4.5.3 Uniform size . . . . . . . . . . . . . . . . . . . . . . 29

2.5 Wear model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.6 Thermal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

© 2021, esss - all rights reserved


dem technical manual iii
ROCKY

2.6.1 Contact heat transfer rate . . . . . . . . . . . . . . . . . . . . . 33


2.6.2 Joint heat transfer rate . . . . . . . . . . . . . . . . . . . . . . . 34
2.6.3 Thermal conduction correction models . . . . . . . . . . . . . . 36

2.7 Coarse-grain model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


2.7.1 Contact frictional forces . . . . . . . . . . . . . . . . . . . . . . 39
2.7.2 Adhesive forces . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.7.3 Contact heat transfer . . . . . . . . . . . . . . . . . . . . . . . . 40
2.7.4 Radl et al. kinetic energy dissipation model . . . . . . . . . . . 42

3 Flexible particles in Rocky 45

3.1 Flexible particle types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


3.1.1 Flexible fibers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.2 Flexible shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.3 Flexible solid particles . . . . . . . . . . . . . . . . . . . . . . . 51

3.2 Joint models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


3.2.1 Linear elastic model . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.2 Joint damping model . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.3 Bilinear elastoplastic model . . . . . . . . . . . . . . . . . . . . 57
3.2.3.1 Cycle with failure . . . . . . . . . . . . . . . . . . . 59

3.3 Element damping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.4 Joint breakage models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62


3.4.1 Tensile stress criterion . . . . . . . . . . . . . . . . . . . . . . . 67
3.4.2 Shear stress criterion . . . . . . . . . . . . . . . . . . . . . . . . 67
3.4.3 Tensile or shear stress criterion . . . . . . . . . . . . . . . . . . 67
3.4.4 von Mises stress criterion . . . . . . . . . . . . . . . . . . . . . . 68
3.4.5 Griffith surface energy . . . . . . . . . . . . . . . . . . . . . . . 68

4 Statistics modules in Rocky 69

4.1 Statistics types in Rocky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


4.1.1 Event-based statistics . . . . . . . . . . . . . . . . . . . . . . . . 69
4.1.2 Integral-based statistics . . . . . . . . . . . . . . . . . . . . . . . 70
4.1.2.1 Works . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.1.2.2 Impulses . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.1.2.3 Frequency . . . . . . . . . . . . . . . . . . . . . . . . 74

4.2 Collision statistics modules . . . . . . . . . . . . . . . . . . . . . . . . . . 75


4.2.1 Boundary collision statistics . . . . . . . . . . . . . . . . . . . . 77
4.2.1.1 Curves . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.2 Intra-particle collision statistics . . . . . . . . . . . . . . . . . . 80

© 2021, esss - all rights reserved


dem technical manual iv
ROCKY

4.2.3 Inter-particle collision statistics . . . . . . . . . . . . . . . . . . 83


4.2.4 Inter-group collision statistics . . . . . . . . . . . . . . . . . . . 84

4.3 CFD coupling particle statistics . . . . . . . . . . . . . . . . . . . . . . . . 86

4.4 Energy spectra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87


4.4.1 Contacts energy spectra . . . . . . . . . . . . . . . . . . . . . . 88
4.4.2 Particles energy spectra . . . . . . . . . . . . . . . . . . . . . . . 91

5 Miscellaneous topics 94

5.1 Contact detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5.2 Timestep calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98


5.2.1 Timestep for the hysteretic linear spring model . . . . . . . . . 99
5.2.2 Timestep for the linear spring-dashpot model . . . . . . . . . . 99
5.2.3 Timestep for the Hertzian spring-dashpot model . . . . . . . . 99
5.2.4 Numerical softening factor . . . . . . . . . . . . . . . . . . . . . 100

5.3 Convex versus concave polyhedral shapes . . . . . . . . . . . . . . . . . . 101

5.4 Sieve size calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.5 Particle orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

6 Bibliography 107

© 2021, esss - all rights reserved


dem technical manual 1
ROCKY

1 Introduction to DEM
Discrete Element Method (DEM) is a numerical technique for
predicting the behavior of bulk solids. A bulk solid is a large
collection of solid particles; otherwise known as granular media.
Some examples of granular media flows include grains being moved
through processing equipment, ore being passed through mining
machinery, and sand falling through an hourglass. Granular media
flow can be quite complex as these flows are known to exhibit solid-
like, fluid-like, or a combination of both behaviors. For example, sand
in an hourglass behaves like a fluid while a stockpile of sand can have
a solid-like stress-strain response.
DEM is a mesh-free method and does not solve the continuum
equations of motion. Hence, no stress-strain constitutive law for
the material is needed. Instead, a stress-strain relationship can
be obtained as an output from the DEM model. A general DEM
algorithm is shown in Figure 1.1.
The equations of motion for every individual particle are numer-
ically integrated with time. For this process, the total force on a
particle needs to be known. The total force is the resultant of contact
forces (between particles and with the boundary) and body forces.
Typical body forces are gravity (weight), fluid and other forces, such
as electrostatic, electromagnetic, and so on.

© 2021, esss - all rights reserved


dem technical manual 2
ROCKY

SETUP: User imports geometries, sets up particle groups, and


determines particle-to-particle and particle-to-boundary interactions
for the simulation project.

PROCESS: User chooses to begin processing the simulation. For each


individual particle, the DEM program does the following:
• Locates all neighboring particles and boundaries with which the
particle will come into contact.
• Calculates the sum of all forces and moments (Euler equations)
acting upon the particle: ‡
dv
∑ Fnet = ∑ Fbody + ∑ Fsurface = m dt

MOVE: The DEM program uses the current particle position, velocity,
and timestep information to move the particle to its next location in
the simulation: Z t+∆t
∑ Fnet
vnew = vold + dt
t m
Z t+∆t
xnew = xold + vnew dt
t

REPEAT:
Simulation end
time not reached and
YES
particles still
in range?

NO

Figure 1.1: Schematic algorithm of a


STOP
DEM program. As usual, F is force, m
is mass, t is time, v is velocity and x
is position. ‡ The Euler equations of
motion are not shown in the diagram
for simplicity.

© 2021, esss - all rights reserved


dem technical manual 3
ROCKY

2 Physical models in Rocky


Rocky is a software package developed by ESSS Rocky, S.L. that
is evolving very actively, with many new models implemented on a
near monthly basis. This chapter is a general guide for most of the
models currently implemented in Rocky. For specific information
about the fluid coupling models included in Rocky, please see the
DEM-CFD Coupling Technical Manual.

2.1 Contact force models


The contact forces in any DEM code (including Rocky) consist of the
following two parts:

• Forces normal-to-contact plane


• Forces tangent-to-contact plane

For spherical particles, the contact plane is perpendicular to the


line that connects the centers of two spheres. In the case of particle-
to-boundary contact, the line connects the center of a sphere and
the closest point of a triangle making up a boundary. For non-
round particles, the algorithm for determining a contact plane is more
complex; it involves calculating one of any of the following:

• The closest points of two particles.


• The closest points of a particle and triangle.
• The two points with the maximum overlap distance in the case
of a physical contact.

The contact plane is a plane perpendicular to the line connecting


these closest points. The descriptions for the normal and tangential
force calculations used in Rocky, as well as the models used by these
forces are presented below.

© 2021, esss - all rights reserved


dem technical manual 4
ROCKY

2.1.1 Normal force models

A normal force model for a DEM simulation has two major


requirements. First, the force has to be a repulsive one. Second, the
normal contact force model has to allow significant energy dissipation
since a granular medium is an extremely dissipative system. A
number of models have been proposed for these purposes. The
models implemented in Rocky are discussed below.

2.1.1.1 Hysteretic linear spring model

This model, first proposed by Walton & Braun1 , was referred to as 1


Walton, O. R. and Braun, R. L. (1986).
Viscosity, granular-temperature, and
linear hysteresis model in previous versions of Rocky. This elastic-plastic stress calculations for shearing assem-
(repulsive and dissipative) normal contact model allows simulation blies of inelastic, frictional disks. Journal
of Rheology, 30:948–980
of the plastic energy dissipation on a contact without introducing the
overhead of long simulation times.
In addition, since no viscous damping term is used, the energy
dissipation is not dependent on the relative velocities of neighboring
particles, making the energy dissipation insensitive to other contacts.
An additional advantage of this model is that compressible materials
can be accurately modeled due to the fact that the contact forces can
be almost zero even at residual overlaps.
The hysteretic linear spring model is implemented in Rocky in an
incremental way, as described by the following set of equations:

 min K st , F t−∆t + Knu ∆sn  if ∆sn > 0
t nl n n
Fn = (2.1)
 max F t−∆t + K ∆s , λ K st  if ∆sn < 0
n nu n nl n

∆sn = stn − stn−∆t (2.2)

where:

• Fnt and Fnt−∆t are the normal elastic-plastic contact forces at the
current time t and at the previous time t − ∆t, respectively, where
∆t is the timestep.

• ∆sn is the change in the contact normal overlap during the current
time. It is assumed to be positive as particles approach each other
and negative when they separate. stn and stn−∆t are the normal
overlap values at the current and at the previous time, respectively.

• Knl and Knu are the values of loading and unloading contact
stiffnesses, respectively.

© 2021, esss - all rights reserved


dem technical manual 5
ROCKY

• λ is a dimensionless small constant. Its value in Rocky is 0.001.


The part of the expression in which this constant is active ensures
that, during the unloading, the normal force will return to zero
when the overlap decreases to zero.

A typical cycle of loading/unloading is depicted in Figure 2.1.


Between points A and B, we have the loading process, in which
the normal force overlap increases linearly with slope Knl . After
reaching the maximum overlap, the unloading follows a steeper line
between points B and C, in which the slope is Knu . The plastic
deformation for the contact only exists during the contact, so any
residual deformation is forgotten after the contact ceases. The energy
dissipated in the collision is numerically equal to the shaded area in
the force–deformation diagram of Figure 2.1.

B From A to B

ing
ad
Lo From B to C

From C to A
A
C

Figure 2.1: Schematics of a typical


normal force–overlap response for the
hysteretic linear spring model.
The loading and unloading stiffnesses are defined by the particle
size, the bulk Young’s modulus, and by the restitution coefficient
of contacting materials, the last two of which the user inputs into
Rocky. The coefficient of restitution ε in Rocky is a measure of energy
dissipation for the contacting pair of materials. For the contact of two
particles, or of a particle with a boundary, the loading and unloading
equivalent stiffnesses are defined, respectively, as:

1 1


Knl,p 1 + Knl,p 2 for particle-particle contact
1 
= (2.3)
Knl  1 1

 Knl,p + Knl,b for particle-boundary contact

Knl
Knu = (2.4)
ε2

© 2021, esss - all rights reserved


dem technical manual 6
ROCKY

where subscripts 1 and 2 identify the two contacting particles. The


individual stiffnesses associated to a particle and to a boundary are
computed, respectively, as:

Knl,p = E p L (2.5)

Knl,b = Eb L (2.6)
where:

• E p is the particle material’s bulk Young’s modulus or elastic


modulus, which the user can input in the corresponding material’s
editor panel.2 2
A value of 1.0 × 108 Pa for the particle
bulk Young’s modulus is a reasonable
• Eb is the boundary material’s Young’s modulus, which is also a number for most particle sizes.

user input.

• L is the particle size.

In long-term contacts, for instance, among particles in a stockpile,


the hysteretic linear spring model can give rise to oscillations of very
small amplitudes on the normal force and on the overlap. Although
these oscillations are barely noticeable, this phenomenon can prevent
the particles from reaching a state of absolute repose. Because of
this, an additional mechanism of energy dissipation was introduced
in Rocky, in order to dissipate spurious oscillations in long-term
contacts. This mechanism consists in the addition of a viscous force
which is only activated during secondary loading cycles on long-term
contacts.3 That additional force is defined in a similar fashion to that 3
This force does not act during reg-
ular collisions, therefore, the energy
of the dissipative part of the contact force on the linear spring-dashpot dissipation specified by the restitution
model: coefficient will not be altered at all by
this force on those collisions.
Fn,v = Cn ṡn (2.7)

where ṡn is the time derivative of the normal overlap and Cn is the
damping coefficient, defined as in equation (2.9). The value of the
damping ratio η needed in that equation can be specified by the
user in the Advanced sub-tab of the Solver panel,4 in which it is listed 4
See also "About the Solver Parameters"
topic in the Rocky User Manual.
as Damping Ratio for Hysteretic Linear Spring Model . Allowed values for this
parameter are in the range from 0 to 1.5 5
The higher the value of the damping
ratio, the faster will be the dissipation
Two models of tangential forces are compatible with the hysteretic of oscillations.
linear spring model: the linear spring Coulomb limit model and the
Coulomb limit model. Moreover, it works only with two built-in
adhesive models in Rocky: the constant adhesive force model, and
the linear adhesive force model.

© 2021, esss - all rights reserved


dem technical manual 7
ROCKY

2.1.1.2 Linear spring-dashpot model

The linear spring-dashpot model was referred to as linear elastic viscous


model in previous versions of Rocky. This phenomenological model,
first proposed in the seminal paper of Cundall & Strack6 , is widely 6
Cundall, P. A. and Strack, D. L. (1979).
A discrete numerical model for granular
used in DEM, mainly because of its simplicity. The normal contact assemblies. Geotechnique, 29(1):47–65
force in this model is composed of a linear elastic repulsive force and
a damping force, that is:

Fn = Knl sn + Cn ṡn (2.8)


where:

• Knl is the normal contact stiffness, defined previously for the linear
hysteretic spring model in equation (2.3).
• Cn is the normal damping coefficient.
• sn is the contact normal overlap.
• ṡn is the time derivative of the contact normal overlap.

The energy dissipation in the linear spring-dashpot model is


viscous in nature and due exclusively to the damping force term
in equation (2.8). The value of the normal damping coefficient Cn can
be determined in a way that the viscous energy dissipation matches
the energy dissipation of an inelastic collision, determined in turn
by the value of the coefficient of restitution. In order to do that, the
damping coefficient is defined in Rocky as follows:
p
Cn = 2 η m∗ Knl (2.9)
where:

• η is the damping ratio, a dimensionless parameter whose value is


related to the restitution coefficient (see below).
• m∗ is the effective or equivalent mass for the contact, defined as:

1 1
1 
m1 + m2 for particle-particle contact
= (2.10)
m∗  1
for particle-boundary contact
m

where m1 and m2 are the masses of the contacting particles,


whereas m is the mass of the particle in contact with a boundary.

In general, there will be one value of the damping ratio η for which
the energy dissipation on a collision event modeled with the linear
spring-dashpot will replicate the energy dissipation predicted by the
coefficient of restitution.7 The functional relationship between the 7
The coefficient of restitution is consid-
ered in Rocky to be a property of the
damping ratio and the coefficient of restitution, derived from that interaction between two materials.
condition, is:

© 2021, esss - all rights reserved


dem technical manual 8
ROCKY

   √ 
2 η 1− η 2

 exp − √ η
π − arctan if 0 6 η < √1


 1− η 2 1−2η 2 2



  
2 η 1− η 2

ε= exp − √ 2 arctan 2η 2 −1
η
if √1 6η61 (2.11)
 1− η 2


  √ 
η + η 2 −1


 exp − 2

 √ η
ln √ 2
if η > 1
η −1 η− η −1

As can be seen in Figure 2.2, equation (2.11) defines the restitution


coefficient ε as a monotonic function of the damping ratio η. Since the
inverse of this function cannot be determined analytically, equation
(2.11) is solved numerically in Rocky in order to find the value of η
that corresponds to the value of ε prescribed by the user.

1
Figure 2.2: Graph of the relationship
between the damping ratio η and the
restitution coefficient ε, given by equa-
0.75 tion (2.11).

0.5

0.25

0 0.5 1 1.5 2 2.5 3

Equation (2.11) was derived originally by Schwager & Pöschel8 , 8


Schwager, T. and Pöschel, T. (2007).
Coefficient of restitution and linear-
considering that the end of a collision happens when the contact dashpot model revisited. Granular Mat-
normal force decreases to zero. It is common in DEM to see the use ter, 9:465–469

of a simpler expression for the relation between ε and η, derived


from the condition that the end of a collision occurs at a later time,
when the deformation returns to zero. It is easy to show, however,
that the normal force given by equation (2.8) turns negative at that
time. Since a negative normal contact force is an attractive one, the
assumption of a purely repulsive contact force is contradicted by that
practice. On the other hand, equation (2.11) is totally consistent with
that assumption and for that reason it was adopted in Rocky.
Although the linear spring-dashpot model is popular in DEM
formulations, it tends to be less accurate than the hysteretic linear
spring model because energy dissipation in the real world is plastic
rather than viscous. Its accuracy drops especially when particles

© 2021, esss - all rights reserved


dem technical manual 9
ROCKY

have simultaneous multiple contacts, since the amount of viscous


dissipation is accurate only for single contacts.
The linear spring-dashpot model works with the constant adhesive
force model and the linear adhesive force model, as well as the
linear spring Coulomb limit model and the Coulomb limit model for
tangential forces.

2.1.1.3 Hertzian spring-dashpot model

The Hertzian spring-dashpot model is new to Rocky as of v4.1.


This model is similar to the linear spring-dashpot model, the main
difference being that both the elastic and the damping components
of the normal force are nonlinear functions of the overlap in the
Hertzian model. The elastic part is based in the classical contact
theory developed by Hertz in the late nineteenth century.9 9
Hertz, H. (1882). Über die berührung
fester elastischer körper (On the contact
The form of the Hertzian spring-dashpot model implemented in of elastic solids). J. Reine Angewandte
Rocky can be written as: Mathematik, 92:156–171. English transla-
tion, Macmillan, London, 1896
3 1
Fn = K̂ H sn2 + ĈH sn4 ṡn (2.12)

in which the stiffness coefficient K̂ H is defined as:10 10


It is worth noting that K̂ H and ĈH
do not have the same units as the
√ corresponding coefficients in the linear
K̂ H = 34 E∗ R∗ (2.13) spring-dashpot model. This is because
where: of the different functional form of equa-
tions (2.8) and (2.12).

• E∗ is the reduced Young’s modulus, defined by the expression

1 1 − ν12 1 − ν22

= + (2.14)
E E1 E2

in which E1 and E2 are the Young’s moduli of the two contacting


particles or the particle and the boundary, depending on the contact
type. Moreover, ν1 and ν2 are the respective Poisson’s ratios.

• R∗ is the effective or equivalent radius, defined by the expression:



2 2
1 
L1 + L2 for particle-particle collision
= (2.15)
R∗  2
for particle-boundary collision
L

in which L1 and L2 are the sizes of the contacting particles in a


particle-particle collision, whereas L is the size of the particle in ia
a particle-boundary collision.

© 2021, esss - all rights reserved


dem technical manual 10
ROCKY

Following the practice proposed initially by Tsuji et al.11 , the 11


Tsuji, Y., Tanaka, T., and Ishida, T.
(1992). Lagrangian numerical simulation
damping coefficient for the Hertzian model in Rocky is defined in a of plug flow of cohesionless particles
similar fashion as for the linear spring-dashpot model: in a horizontal pipe. Powder Technology,
71:239–250
q
ĈH = 2 η H m∗ K̂ H (2.16)

where m∗ is the effective mass, defined previously in equation (2.10),


and η H is the damping ratio for the Hertzian spring-dashpot model.
Antypov & Elliott12 demonstrated that considering appropriate 12
Antypov, D. and Elliott, J. A. (2011).
On an analytical solution for the
variable transformations, the solution for a movement equation based damped hertzian spring. Europhysics
on the Hertzian model can be mapped onto the solution of an Letters, 94(5)

equivalent equation based on the linear spring-dashpot model. That


equivalence is possible only if the damping coefficient for the Hertzian
model is defined as: √
5
ηH = η (2.17)
2

where η is the same damping ratio used in the linear spring-dashpot


model. In Rocky, the value of η is determined solving equation (2.11)
and then using the resulting value in equation (2.17) to obtain η H .
This guarantees that no matter whether the linear spring-dashpot
or the Hertzian model is used, the viscous energy dissipation in a
collision event is equal to the one specified through the coefficient of
restitution.
The Hertzian spring-dashpot model works with all three models
available for tangential forces, namely, the linear spring Coulomb
limit model, the Coulomb limit model, and the Mindlin-Deresiewicz
model. Moreover, it works with all built-in adhesive models in Rocky,
namely the constant adhesive force model, the linear adhesive force
model, and the JKR adhesive force model.

2.1.2 Tangential force models

The models used in Rocky to calculate the tangential components of


the contact forces are described below.

2.1.2.1 Linear spring Coulomb limit model

The tangential force in this model is elastic-frictional. If the tangential


force were considered purely elastic, its value at time t would be
given by:13 13
The minus sign in this equation arises
from the fact that the tangential force
Fτ,t e = Fτt−∆t − Kτ ∆sτ (2.18) always opposes to the tangential dis-
placement.

© 2021, esss - all rights reserved


dem technical manual 11
ROCKY

where:

• Fτt−∆t is the value of the tangential force at the previous time.


• ∆sτ is the tangential relative displacement of the particles during
the timestep.
• Kτ is the tangential stiffness defined as:

Kτ = rK Knl (2.19)

where Knl is the loading normal stiffness defined in equation (2.3)


and rK is a user-defined parameter listed as Tangential Stiffness Ratio
in the corresponding materials interaction editor panel.

In this model, however, the tangential force cannot exceed the


Coulomb’s limit. Therefore, the complete expression for the tangential
force is:
  Ft
τ, e
Fτt = min | Fτ,t e |, µFnt (2.20)
| Fτ,t e |
where:

• Fnt is the contact normal force at time t.


• µ is the friction coefficient, defined as:

 µs if no sliding takes place at the contact
µ= (2.21)
 µ if sliding does take place at the contact
d

in which µs and µd are, respectively, the static and the dynamic


friction coefficients. These are properties that the user can define in
the corresponding materials interaction editor panel in Rocky.
The sliding is considered to be taking place on the contact the first
time the magnitude of the tangential force | Fτ,t e | exceeds the limit
of µs Fnt . Once that force falls below the value of µs Fnt , the contact is
considered non-sliding again.
This tangential model works with all three normal contact models
in Rocky.

2.1.2.2 Coulomb limit model

This is the simplest tangential force model implemented in Rocky.


The tangential force according to this model is given by:

ṡτ
Fτ = −µ Fn (2.22)
| ṡτ |
where:

• µ is the friction coefficient defined in equation (2.21).

© 2021, esss - all rights reserved


dem technical manual 12
ROCKY

• Fn is the normal force at the contact.


• ṡτ is the tangential component of the relative velocity vector.

The condition of sliding considered for this model is based on the


tangential component of the relative velocity. If that component is
below vτ,lim , the contact is considered non-sliding. In the current
version of Rocky, the value of vτ,lim is set to 0.001 m/s.
The Coulomb limit model works with all three types of normal
forces models, i.e., the hysteretic linear spring model, the linear
spring-dashpot model and the Hertzian spring-dashpot model.

2.1.2.3 Mindlin-Deresiewicz model

This model is new to Rocky as of v4.1. The tangential force in this


model is given by the expressions:
s
  s
3 τ 6 µm∗ Fn 1
Fτ = −µ Fn 1−ς 2 + ητ ς 4 ṡτ (2.23)
| sτ | sτ, max

min(| sτ |, sτ, max )


ς = 1− (2.24)
sτ, max
where:

• µ is the friction coefficient, defined in equation (2.21).


• Fn is the normal force.
• sτ is the tangential relative displacement at the contact.
• ṡτ is the tangential component of the relative velocity at the contact.
• sτ, max is the maximum relative tangential displacement at which
particles begin to slide.
• m∗ is the effective mass, defined in equation (2.10).
• ητ is the tangential damping ratio, which is estimated in Rocky by
means of:
ln ε
ητ = − p (2.25)
2
ln ε + π 2

where ε is the coefficient of restitution for the respective materials


interaction.

The value of the maximum relative tangential displacement sτ, max


is determined in Rocky using the expression:
−1
1 − ν1 1 − ν2

sτ, max = µ + sn (2.26)
2 − ν1 2 − ν2
where:

© 2021, esss - all rights reserved


dem technical manual 13
ROCKY

• ν1 and ν2 are the Poisson’s ratios of the two particles or the particle
and the boundary, depending on the contact type.
• sn is the normal overlap.

It is worth noting that when | sτ | > sτ, max , the parameter ς turns
to zero in equation (2.24). It is easy to show that the magnitude of
the tangential force reduces to µ Fn in that case, and, therefore, the
Mindlin-Deresiecz model becomes equivalent to the Coulomb limit
model under that specific condition.
The Mindlin-Deresiewicz model works only with the Hertzian
spring-dashpot model. Moreover, the Mindlin-Deresiewicz model
does not work properly with any rolling resistance model for shaped
(non-spherical) particles. This is due to a known issue that can cause
instabilities in the angle of repose. Therefore, when this model is
selected in a problem with shaped particles, the rolling resistance
must be disabled in the project.

2.2 Adhesive force models


The normal contact models described in section 2.1.1 are appropriate
for simulating non-adhesive and dry granular materials. Unfortu-
nately, quite often granular materials can have various moisture
contents that can cause them to adhere to themselves and other
surfaces with which they come into contact. In order to capture this
behavior, the repulsive normal force has to be supplemented by the
attractive normal force to accurately predict its flow characteristics.
For example, this is required for wet and sticky materials where the
adhesion is from liquid bridge forces or other mechanisms.14 14
In this version of Rocky, a liquid
bridge model is provided via an external
One important point to note is that cohesion/adhesion of a bulk Module. Refer to the Rocky API:Solver
solid is a function of the stress. The linear force adhesion contact - Modules page on the Customer Portal
for details.
model in Rocky captures this physical phenomenon by scaling the
cohesion/adhesion with the force of contact.

2.2.1 Constant adhesive force model

With proper calibration the constant adhesive force model can be used
to simulate the behavior of adhesive materials that do not exhibit
stress consolidation effects, e.g., when adhesion is due to liquid bridge
forces. 15 15
In this version of Rocky, a proper
liquid bridge model is provided via an
external Module. Refer to the Rocky
API:Solver - Modules page on the Cus-
tomer Portal for details.

© 2021, esss - all rights reserved


dem technical manual 14
ROCKY

This is the simplest adhesion model in Rocky and is described by


the equation:

 0 if − sn > δadh
Fn, adh = (2.27)
g min(m1 , m2 ) if − sn < δadh
 f
adh

where:

• Fn, adh is the normal adhesive contact force.

• sn is the contact normal overlap.16 16


The normal overlap is assumed to be
positive when particles touch each other
• m1 and m2 are the mass of the particles in contact. and negative when they are separated.

• g is the gravity acceleration.

• δadh is a model parameter listed as Adhesive Distance in the Rocky


UI. If the distance between two particles or between a particle
and a boundary surface is below δadh , the adhesive force will be
activated. In Rocky, the value of this parameter can be defined in
the materials interaction editor panel.

• f adh is a model parameter listed in the Rocky UI as Force Fraction .


The value of the adhesive force will be equal to the particle gravity
force multiplied by the value of f adh . If the force fraction is 1, that
means the adhesive force will be equal to the gravity force on the
particle. In the case of contact between two particles of different
mass, the smallest mass is considered for gravity force calculations.

The constant adhesive force model works with all three types of
normal force models in Rocky, including the hysteretic linear spring
model, the linear spring-dashpot model and the Hertzian spring-
dashpot model.

2.2.2 Linear adhesive force model

Like the constant adhesive force model, the linear adhesive force
model requires calibration of the material behavior. This model is
appropriate for granular materials with stress consolidation.
The linear adhesive force model as implemented in Rocky can be
described by the following expression:

 0 if − sn > δadh
Fn, adh = (2.28)
 r
adh Knl (sn + δadh ) otherwise
where:

• Fn, adh is the normal adhesive contact force at the current time.

© 2021, esss - all rights reserved


dem technical manual 15
ROCKY

• sn is the contact normal overlap at the current time. It is assumed


to be positive when the colliding entities touch each other, and
negative when they are separate but close. In this latter case, its
absolute value will give the separation distance between those
entities (two particles or a particle and a boundary surface).

• δadh is a model parameter listed as Adhesive Distance in the Rocky


UI. The adhesive force between two neighboring entities will be
greater than zero if and only if the separation distance between
them is less than the value of δadh .

• r adh is a model parameter listed as Stiffness Fraction in the Rocky UI.


This parameter is defined as the ratio of the adhesive stiffness to
the contact loading stiffness.

• Knl is the loading contact normal stiffness defined in equation


(2.3).17 17
This stiffness will be used regardless
of the normal contact normal force
model specified for the simulation.
The linear adhesive model, in essence, behaves like an attractive
linear spring. When two neighboring entities are separate but close,
the adhesive force is zero if the actual distance between them is larger
than the adhesive distance. When that threshold is passed and the
entities get closer, the adhesive force increases proportionally to the
difference between the adhesive distance and the actual separation
distance. If physical contact is reached, the adhesive force increases
further, this time proportionally to the sum of the adhesive distance 18
Both cases are described by the same
and the overlap.18 The coefficient of proportionality is defined in both expression in equation (2.28), by treating
sn as a signed overlap, which is positive
cases as the adhesive stiffness, given by r adh Knl .
when there exists physical contact, and
Figure 2.3 shows some examples of the force-overlap response of negative otherwise.

a particle collision with a wall, for both dry and adhesive impacts.
The hysteretic linear spring model is used as normal contact force
in all cases, and the stiffness fraction varies from 0 to 0.5, for the
linear adhesion model. It is evident that the larger the contact overlap,
the larger the attractive force, thus allowing an accurate model to
represent the stress consolidation of granular materials.
The linear adhesive model works with all three types of normal
force models in Rocky, including the hysteretic linear spring model,
the linear spring-dashpot model and the Hertzian spring-dashpot
model.

2.2.3 JKR adhesive force model

The Johnson-Kendall-Roberts19 , JKR, model introduces the effect of 19


Johnson, K. L., Kendal, K., and
Roberts, A. D. (1971). Surface energy
and the contact of elastic solids. Proceed-
ings of the Royal Society A: Mathematical,
Physical and Engineering Sciences, 324:301–
313

© 2021, esss - all rights reserved


dem technical manual 16
ROCKY

no adhesion stiffness fraction = 0.05 stiffness fraction = 0.25 stiffness fraction = 0.5

Figure 2.3: Examples of force–overlap


25 plots for different adhesive stiffness
fractions.
20

15

10
Total force [N]

0
0.0005 0.001 0.0015 0.002 0.0025 0.003 0.0035 0.004

-5

-10

-15

Overlap/diameter

adhesion into the Hertzian contact model. In the JKR model, the
contact area between two particles is slightly larger than the one
predicted by the Hertzian theory. This is the result of a surface energy
term that is added to the total energy of the system.
The adhesive part of the normal force when the JKR model is
employed is given by:20 20
Johnson, K. L. (1985). Contact mechan-
√ ics. Cambridge University Press
Fn, adh = 8πΓE∗ a3 (2.29)
where:

• Γ is a model parameter listed as Surface Energy in the Rocky UI. The


value of this parameter can be introduced in a materials interaction
editor panel.
• E∗ is the effective Young’s modulus, defined in equation (2.14).
• a is the radius of contact between particles or between a particle
and a boundary.

The contact radius is related to the normal overlap sn by means of


the expression: 1/2
a2

2πΓa
sn = − (2.30)
R∗ E∗

where R∗ is the effective particle radius, defined in equation (2.15).


For a given normal overlap sn , equation (2.30) is solved in Rocky
to determine the corresponding value of a, in order to calculate the
adhesive force using equation (2.29).
When the JKR model is enabled, the elastic part of the Hertzian
normal force must be corrected, because the contact radius in the JKR

© 2021, esss - all rights reserved


dem technical manual 17
ROCKY

model is different from the radius predicted by the Hertzian model.


The corrected elastic force, expressed as a function of the radius of
contact a, is given by:
4E∗ a3
Fn,e = (2.31)
3R∗

The JKR model has a strong theoretical basis and is widely accepted
for adhesive elastic spheres. Since the surface energy can be measured
experimentally, this model could be used without calibration, in
principle, for simulating perfect spheres. In any other case, calibration
still will be needed. In Rocky, the JKR adhesive force model only
works with the Hertzian spring-dashpot model.

2.3 Rolling resistance models


Rolling resistance is the common name used when a moment that
opposes the rolling motion of a particle is introduced into the
modeling. This moment is usually incorporated as a practical way to
represent the effect of non-sphericity on rolling spheres or the effect of
surface irregularities on other type of particles. Two rolling resistance
models are available in Rocky, which are described in the following
sections.

2.3.1 Type A: constant moment

In this model, a constant moment is applied to the particle in order


to represent rolling resistance. The mathematical expression for this
moment is:
ω
M r = −µr |r| Fn (2.32)
|ω |
where:

• µr is the rolling resistance coefficient, defined in Rocky as a particle


property listed simply as Rolling Resistance . Ai et al.21 define this 21
Ai, J., Chen, J. F., Rotter, J. M., and
Ooi, J. Y. (2010). Assessment of rolling
dimensionless parameter as the tangent of the maximum angle of resistance models in discrete element
a slope on which the rolling resistance moment counterbalances simulations. Powder Technology, 206:269–
282
the moment produced by gravity in the particle.
• Fn is the contact normal force.
• ω is the particle angular velocity vector. The direction of the rolling
resistance moment vector will coincide with the direction of this
angular velocity.

© 2021, esss - all rights reserved


dem technical manual 18
ROCKY

• |r| is the particle rolling radius, where r is the vector joining the
centroid of the particle and the contact point.

The rolling resistance model type A only should be used in


situations when a high angle of repose is needed without using
adhesive force models.

2.3.2 Type C: linear spring rolling limit

This is an elastic-plastic model that is the recommended one for


most simulations that need to include the effects of rolling resistance.
Models of this type usually include a viscous damping term in order
to suppress oscillations. However, as Wensrich & Katterfeld22 argue, 22
Wensrich, C. M. and Katterfeld, A.
(2012). Rolling friction as a technique
the proper choice of the rolling stiffness value provides a good for modelling particle shape in DEM.
behavior of the rolling resistance without the need of additional Powder Technology, 217:409–417

damping. This is the approach followed in Rocky, where the rolling


stiffness is defined as:
Kr = R2r Kτ (2.33)

where Kτ is the tangential stiffness, defined in equation (2.19),


whereas Rr is the rolling radius, given by:

1 1
1 
| r1 |
+ | r2 |
for particle-particle contact
= (2.34)
Rr  1
for particle-boundary contact
|r|

in which r1 and r2 are the rolling radii of the contacting particles,


while r is the rolling radius of a particle in contact with the boundary.
The rolling radius vector is defined as the vector joining the centroid
of the particle and the contact point at a given time.
If the rolling resistance were purely elastic, the rolling resistance
moment would be updated incrementally in the following way:23
23
The minus sign in equation (2.35)
guarantees that the rolling resistance
t
Mr,e = Mtr−∆t − Kr ω rel ∆t (2.35) moment always opposes the relative
rolling motion.
where:

• Mtr−∆t is the rolling resistance moment vector at the previous time.


• Kr is the rolling stiffness defined in equation (2.33).
• ω rel is the relative angular velocity vector, which is defined as the
difference between the angular velocities of two contacting particles
or the angular velocity of a particle on a boundary, as the case may
be.
• ∆t is the simulation timestep.

© 2021, esss - all rights reserved


dem technical manual 19
ROCKY

The updated rolling resistance moment defined in equation (2.35)


is not used directly in the motion equation for the particles. In
the rolling resistance model type C, the magnitude of the rolling
resistance moment is limited by the value which is achieved at a full
mobilization rolling angle. The limiting value is:

Mr, lim = µr Rr Fn (2.36)


where:

• µr is the rolling resistance coefficient, defined in Rocky as a particle


property listed simply as Rolling Resistance . As stated previously,
this dimensionless parameter is defined as the tangent of the
maximum angle of a slope on which the rolling resistance moment
counterbalances the moment produced by gravity in the particle.
• Rr is the rolling radius defined in equation (2.34)
• Fn is the contact normal force.

The final expression for the rolling resistance moment in model


type C is:   Mt
r,e
Mtr = min | Mr,e
t
|, Mr, lim t |
(2.37)
| Mr,e

2.4 Breakage models


Rocky includes models for predicting the instantaneous breakage of
particles based upon the stressing energy involved in collisions with
walls or other particles. These models work only with polyhedral
convex particles. Therefore, spherical, rounded and concave shapes,
as well as fibers and shells, are not able to break in Rocky when
using these models. An important common characteristic of all
these breakage models is that when a particle breaks, the resulting
fragments preserve both mass and volume.

2.4.1 Ab-T10 breakage model


24
Vogel, L. and Peukert, W. (2005). From
The Ab-T10 breakage probability is based on the model posed by single particle impact behaviour to mod-
elling of impact mills. Chemical Engineer-
Vogel & Peukert24 and the subsequent modification proposed by Shi ing Science, 60(18):5164–5176
& Kojovic25 . This breakage model treats every particle as a single 25
Shi, F. and Kojovic, T. (2007). Vali-
dation of a model for impact breakage
entity that can be broken into fragments instantaneously based upon incorporating particle size effect. In-
the impact energy it receives. ternational Journal of Mineral Processing,
82(3):156–163

© 2021, esss - all rights reserved


dem technical manual 20
ROCKY

In Rocky, the specific impact energy, e imp , is computed by summing


the work done by the contact forces at all contact points in a particle
during the loading period.26 In order to damage the particle, e imp 26
The impact energy computed includes
both the elastic and the dissipated en-
should be greater than the minimum breakage energy of the particle, ergy in the normal direction. Depending
emin . This minimum breakage energy is related to the particle size on the normal contact model employed,
the dissipated energy will be either
through the expression: plastic or viscous. In addition, the elastic
part of the energy transferred in the
Lref tangential direction is also considered
emin = emin,ref (2.38) in the computation.
L
where:

• emin,ref is the reference minimum specific energy value for a


reference particle size of this material. This parameter is referred
to as Reference Minimum Specific Energy in the Rocky UI.
• Lref is the reference particle size, referred to as Reference Size in the
Rocky UI.
• L is the actual particle size.

In order to take into account the damage caused by successive


collisions, the verification of breakage is made by considering a
t
cumulative value of the specific impact energy, ecum . If e imp is the
instantaneous value of the specific impact energy at a given time t
during a loading phase, the value of ecum will be updated only if
t
e imp t
> emin and e imp > emax , where emax is the maximum value of
impact energy registered on the particle until the last time in which
the value of ecum was updated.27 When those conditions are satisfied, 27
During reloading periods in collisions
with complex loading cycles, the second
the update is made according to the expression: condition ensures that impact energy
  values below emax are not taken into
t t−∆t account more than once as cause of
ecum = ecum + e imp − max e imp , emax (2.39)
damage.

t−∆t
where e imp is the specific impact energy at the previous timestep.
t
Whenever the particle is unloaded and the value of e imp decreases
below emin , the value of emax is reset to zero, so a new cycle of loading
may begin, in which the value of ecum will be able to increase again.
In the Ab-T10 model, the breakage probability for a given
cumulative specific contact energy value is calculated as:
 
P(ecum ) = 1 − exp −S ecum L/Lref (2.40)
where:

• S is a material constant referred to as Selection Function Coefficient in


the Rocky UI.

A particle will break if at any moment the value of P(ecum )


computed with equation (2.40) is larger than the strength of the

© 2021, esss - all rights reserved


dem technical manual 21
ROCKY

particle. When that condition is met and the particle breaks, the
fragments are generated following the Voronoi fracture algorithm
according to a size distribution that the user specifies. Two options are
currently available: Gaudin-Schumann and incomplete beta function.
For either option, the value of the necessary t10 parameter is calculated
according to the expression:
" !#
L
t10 = M 1 − exp −S ecum (2.41)
Lref
where:

• t10 is the percentage of fragments passing a screen size of 1/10th


of the original particle size L.

• M is the maximum t10 for a material subject to breakage, referred


to as Maximum t10 Value in the Rocky UI.

New fragments generated by breakage can break further if they are


subjected to additional damage, generating even smaller fragments.
In order to prevent existing contacts at the moment of the breakage
to have an abnormal influence on the subsequent breakage of newly
generated fragments, the update of ecum using equation (2.39) is
skipped during a certain number of timesteps after a breakage event.
Currently, that number of timesteps is set to 25 in Rocky.
For more information about the Ab-T10 breakage model, please
refer to the papers of Potapov & Donahue28 and Shi & Kojovic29 . 28
Potapov, A. and Donahue, T. (2012).
Computer simulation of coal breakage
in conveyor transfer chutes with Rocky
discrete element method package. Tech-
2.4.2 Tavares breakage model nical report, Rocky DEM, Inc
29
Shi, F. and Kojovic, T. (2007). Vali-
This model is based on the PhD work of Prof. L. M. Tavares at the dation of a model for impact breakage
incorporating particle size effect. In-
University of Utah and the further development with his research ternational Journal of Mineral Processing,
group at the Federal University of Rio de Janeiro, Brazil. The Tavares 82(3):156–163

model extends the functionality of simpler breakage models by adding


capabilities that can make breakage prediction quite realistic in a wide
variety of situations. In particular, the model is useful in describing
ore degradation during handling as well as size reduction in different
types of crushers, providing greater confidence in predicting both the
proportion of broken particles and product size distribution.
In the Tavares breakage model, the breakage probability is based
on an upper-truncated log-normal distribution of the specific fracture
energy, e. This distribution is defined by the expression:30 30
Tavares, L. M. (2009). Analysis of
particle fracture by repeated stressing
ln e∗ − ln e50 as damage accumulation. Powder Tech-
  
1 √
P0 (e) = 2 1 + erf (2.42) nology, 90(3):327–339
2σ2

© 2021, esss - all rights reserved


dem technical manual 22
ROCKY

where:

• e∗ is the relative specific fracture energy, defined below in equation


(2.43).

• e50 is the median particle specific fracture energy.

• σ2 is the variance of the log-normal distribution of fracture energies.


This is a model parameter that must be specified by the user, in the
Rocky UI it is listed as σ2 .

The relative specific fracture energy is defined as:


emax e
e∗ = (2.43)
emax − e

where emax corresponds to the specific impact energy above which


all particles would break in a single impact. In the Rocky UI, the
value of emax is specified indirectly through the ratio emax /e50 , listed
as e max/e 50 .
The particle specific fracture energy is highly dependent on the
particle size, L. This dependency is introduced in the model by means
of the following correlation between the median specific fracture
energy, e50 , and the particle size:31 31
Tavares, L. M. and Carvalho, R. M.
  ϕ  (2009). Modeling breakage rates of
d0 coarse particles in ball mills. Mineral
e50 = e∞ 1 + (2.44) Engineering, 22:650–659
L

where e∞ , d0 , and ϕ are model parameters that should be fitted to


experimental data. These parameters are listed in the Rocky UI as
e∞ , d0 , and ϕ , respectively.
Whenever a particle enters the solution domain in Rocky, a random
strength is assigned to it. This property can be interpreted as the value
of P0 at which it will break during a simulation. Then, considering
equations (2.42)–(2.44), it can be determined the corresponding value
of e, the specific fracture energy of the particle. Here, this specific
fracture energy will be denoted as e0 , because this value is considered
to determine if the particle will break during the first collision
event. The exact criterion considered for the particle breakage will be
described below.
Every time a particle undergoes a collision event, the fracture
specific energy will decrease due to the accumulated damage to
the particle during the loading process. Therefore, after every new
loading cycle without breakage, a new particle specific fracture energy
is computed based on the previous one and on an estimation of

© 2021, esss - all rights reserved


dem technical manual 23
ROCKY

the accumulated damage during the loading. The mathematical


expressions considered for this are:32 32
Tavares, L. M. (2009). Analysis of
particle fracture by repeated stressing
as damage accumulation. Powder Tech-
en = en−1 (1 − Dn∗ ) (2.45) nology, 90(3):327–339
 2γ
eimp,n

2γ 5
Dn∗ = ∗
(2.46)
2γ − 5Dn + 5 en−1
where:

• en is the particle specific fracture energy after n loading cycles


without breakage. Therefore, en−1 may be interpreted as the value
of en computed at the end of the previous loading cycle.
• Dn∗ is the fractional damage in the particle during the nth loading
cycle.
• γ is the damage accumulation coefficient, a model parameter listed
as γ in the Rocky UI.
• eimp,n is the instantaneous specific impact energy in the particle at
the end of the nth loading cycle.

t
Let’s define e imp as the instantaneous specific impact energy at a
given time t. In Rocky, that instantaneous impact energy is computed
by taking into account the work done by all contact forces acting
on the particle at that time. This includes the work done by elastic
and dissipative normal forces, as well as the work done by elastic
tangential forces.
Now, let’s consider that a particle is in its nth loading cycle.
t
Whenever the value of e imp is greater than en−1 , that is, the specific
fracture energy at the end of the previous loading cycle,33 the particle 33
Or the initial specific fracture energy,
e0 , if it is the first loading cycle.
will break. If the unloading of the particle begins before that breakage
condition is satisfied, a new value of specific fracture energy may be
computed with equations (2.45) and (2.46). This new threshold value
for breakage in a subsequent loading cycle is calculated whenever
t
e imp decreases in the unloading below emin , which is the minimum
specific energy for breakage. This is a user input parameter, listed in
the Rocky UI as e min .
When a particle breaks, the geometries of the resulting fragments
are generated by means of the Voronoi fracture algorithm, according
to a size distribution specified by the user between the two options
available: Gaudin-Schumann and incomplete beta function. The
value of the t10 parameter, needed in either of those distributions, is
calculated according to the expression:34 34
Tavares, L. M. (2009). Analysis of
particle fracture by repeated stressing
as damage accumulation. Powder Tech-
nology, 90(3):327–339

© 2021, esss - all rights reserved


dem technical manual 24
ROCKY

e
  
0 imp,b
t10 = A 1 − exp −b (2.47)
êb
where:

• t10 is the percentage of fragments passing a screen size of 1/10th


of the original particle size L.
• A and b0 are model parameters listed as A and b’ , respectively,
in the Rocky UI.
• eimp,b is the value of the specific impact energy at the instant of
breakage.
• êb is a measure of the specific fracture energy of the broken
particles.

Regarding the specific fracture energy êb in equation (2.47), two


alternatives are currently available in Rocky. The first one is to use the
value of the current specific impact energy at the instant of breakage,
eimp,b . As this term will cancel out with the numerator in equation
(2.47), with this option the value of t10 will become independent of
the specific impact energy of the broken particle. In the Rocky UI,
this option is provided via the Energy for t10 Calculation parameter, and
is listed as Current Particle Energy (the default option).
The second option available is to use the value of the median
specific fracture energy of the broken particles e50b , defined as:35 35
Tavares, L. M. (2009). Analysis of
particle fracture by repeated stressing
√ h i as damage accumulation. Powder Tech-
e50b = e50 exp 2 σ2 erf−1 P0 (eimp,b ) − 1 (2.48) nology, 90(3):327–339

This option is listed as Median Specific Fracture Energy (e50b) in the Rocky
UI.
As was the case with the Ab-T10 model, some preventive measures
are also taken in order to avoid excessive re-breakage of fragments
resulting from previous breakage events. First, in order to rule out
any influence of existing contacts on the breakage of new fragments,
calculations of damage are skipped during 25 timesteps after the
breakage event that produced them.36 Second, in order to reduce the 36
This value is not editable by the
user, since it was verified that it works
available energy for damaging newly formed fragments, a parameter satisfactorily in several scenarios.
listed as Fragments Energy Factor was introduced into the modeling. 37
Suitable values for this energy factor
The value defined for this parameter will multiply the value of are in the interval [0,1]
the instantaneous specific contact energy37 when considering the 38
Tavares, L. M. and King, R. P. (2002).
Modeling of particle fracture by re-
breakage criterion for fragments. peated impacts using continuum dam-
For more information about the Tavares breakage model, please age mechanics. Powder Technology,
123(2):138–146
refer to the papers previously cited and also to Tavares & King38 , and 39
Carvalho, R. M. and Tavares, L. M.
Carvalho & Tavares39 . (2013). Predicting the effect of operating
and design variables on breakage rates
using the mechanistic ball mill model.
Minerals and Engineering, 43:91–101

© 2021, esss - all rights reserved


dem technical manual 25
ROCKY

2.4.3 TBM breakage model

The criterion for particle breakage in TBM (TAKRAF breakage model)


is based on the instantaneous value of the impact energy. Unlike
the other breakage models in Rocky, the cumulative damage of
particles is not taken into account in the TBM model. If at any
given moment during a collision the instantaneous specific impact
energy in a particle exceeds a certain limit, the particle will break.
The breakage specific energy limit, eb , in the TBM model is
determined using statistical parameters from experimental tests.
Figure 2.4 depicts a typical log-log plot of the breakage specific energy
versus the particle size, obtained in a sequence of experimental tests.
The equation of a line that best fits the experimental points in the
log-log plane can be determined by means of linear regression. This
line defines a mean value of breakage specific energy, eb, mean , for
a given particle size, L. Then, the relationship between those two
variables can be expressed simply as:

ln eb, mean = ln eb, ref + re ( ln L − ln Lref ) (2.49)

where Lref and eb, ref are the coordinates of a point on the fitted line,
while re is its slope in the log-log plot. In the Rocky UI, Lref and eb, ref
are listed as Reference Size and Reference Specific Energy , respectively,
while re is listed as Slope Coefficient .

Figure 2.4: Breakage specific energy


versus particle size.

Slope

Assuming that the experimental points obey a log-normal distribu-


tion, lower and upper limits for a distribution of breakage probability
can be established as:

© 2021, esss - all rights reserved


dem technical manual 26
ROCKY

ln eb, lower = ln eb, mean − k s σe (2.50)

ln eb, upper = ln eb, mean + k s σe (2.51)

where σe is the standard deviation of the experimental data set in


relation to the fitted line, given by:

Np i2
1 h
σe2 =
Np − 2 ∑ ln eb, ref + re (ln Li − ln Lref ) − ln eb,i (2.52)
i =1

in which Li and eb,i , for i = {1, ..., Np }, are measured values of particle
size and breakage specific energy, respectively. For further details,
please refer to Schmidt (2011).40 40
Schmidt, M. (2011). Modellierung
der Zerkleinerung in Profilwalzenbrech-
In addition, k s in equations (2.50) and (2.51) is a parameter that ern. PhD thesis, Technischen Universität
determines the amplitude of the band limited by eb, lower and eb, upper . Bergakademie Freiberg, Germany

For example, for k s = 1.96, the band defined will include 95%
of the measured values. In the Rocky UI, σe and k s are listed as
Standard Deviation and Scatter Band Parameter , respectively.
In Rocky, a random strength value ϕ ∈ [ 0, 1 ] is assigned to every
particle in a simulation during the particle generation process. The
corresponding breakage specific energy, assuming a cumulative log-
normal distribution, will be given by:
h√ i
ẽb = eb, mean exp 2 σe erf−1 (2ϕ − 1) (2.53)

However, in the TBM model, breakage is only allowed when


ẽb > eb, lower . On the other hand, if ẽb 6 eb, upper , the particle will
always break. This effect is achieved by defining the breakage specific
energy as:
eb = min[ max( ẽb , eb, lower ), eb, upper ] (2.54)

Thus, a particle will break if at any given moment the instantaneous


specific impact energy in the particle is larger than the specific
breakage energy, eb , given by equation (2.54). At a breakage event,
the size of the resulting fragments will always be determined by the
uniform size model when using the TBM model.

2.4.4 Breakage for large deformations

Besides the mechanisms of breakage based on fracture energy


described in previous sections, particles may also break in Rocky
when its deformation exceeds a certain preset value. This additional
mechanism is introduced in order to prevent some artifacts related

© 2021, esss - all rights reserved


dem technical manual 27
ROCKY

to low-stiffness particles that can experience large overlaps during a


simulation.
This additional breakage mechanism is activated by default in
Rocky, but users may disable it if necessary through the option
Set Breakage Overlap Factor , which is found in the Advanced sub-tab of
the Solver panel.41 When this option is enabled, users will be able to 41
The Advanced sub-tab is visible only
when the Advanced Features option is
set a value to the Breakage Overlap Factor . From that point on, whenever enabled. For more details about this,
the ratio of the overlap to the minimum fragment size exceeds that please refer to the "About Setting Global
Preferences" section in the Rocky User
value, the particle will break, regardless of the energy values on the Manual.
particle at that moment. The minimum fragment size is a user input
listed as Minimum Size on the Breakage / Fragment Distribution sub-tab
of the particle being defined.
When a particle breaks because of a large overlap, the resulting
fragment size distribution is determined according to the same model
chosen for the primary breakage model. If necessary, the value of the
t10 parameter is computed with the respective value of impact energy
at the moment of breakage.

2.4.5 Fragment size distribution models

Regardless of the type of instantaneous fragmentation model that is


selected, once the particle reaches the breakage point, Rocky generates
fragments preserving both the total particle mass and volume, using
one of the available distribution models.
In general, the number and size of fragments will be dependent
upon the particle’s original size, on the value of the t10 parameter,
and the value of the minimum admissible fragment size. This last
parameter is controlled by two user inputs, listed in the Rocky UI
as Minimum Size and Minimum Size Ratio , respectively. The first one
allows users to specify the minimum size in absolute terms, whereas
the second does it in relative terms. The minimum size allowed for
fragments in Rocky will be the largest value between the Minimum Size
value and the product of the Minimum Size Ratio and the size of the
particle or fragment being broken in the breakage event. When
generating the fragments at a breakage event, no fragment is allowed
to have a size smaller than the resulting value from that operation.
Allowing the generation of too small fragments would be inad-
visable mainly because the computation time may increase beyond
reasonable limits. The reason for this is twofold: the total number of
objects that must be tracked in the simulation may grow exponentially,

© 2021, esss - all rights reserved


dem technical manual 28
ROCKY

whereas the timestep may need to be reduced significantly in order


to keep the simulation process stable.42 A side effect of limiting 42
Roughly speaking, the stable timestep
is proportional to the size of the smaller
the minimum size of fragments is that the actual size distribution particle in a simulation.
satisfies the prescribed size distribution43 only for fragments larger 43
Given by equation (2.55) for the
Gaudin Schumann distribution and by
than approximately 2.5 times the specified minimum size. equation (2.56) for the incomplete beta
In the same line of preventing the generation of too small distribution.

fragments, an additional safeguard parameter is defined as the


Minimum Volume Fraction for Fragment Disabling . When a generated frag-
ment is detected to have an actual volume smaller than the value
of that parameter multiplied by the minimum volume allowed for a 44
This minimum volume is the volume
fragment,44 such fragment is removed from the system. of an equivalent sphere of diameter
equal to the minimum size defined
above.
2.4.5.1 Gaudin-Schumann

The full fragment size distribution is determined from the value of t10
by assuming a Gaudin-Schumann distribution with unitary slope:
x
Y = 10 t10 (2.55)
L
where:

• Y is the cumulative percentage of the mass of passing fragments.


• x is the screening sieve size.
• L is the size of the broken particle.

2.4.5.2 Incomplete beta function

The full fragment size distribution is determined from the value of


t10 by assuming an incomplete beta function distribution:45 45
Barrios, G. K. P., Carvalho, R. M.,
and Tavares, L. M. (2011). Modeling
t10 breakage of monodispersed particles in
100
Z
100
tn (t10 ) = R 1 x αn −1 (1 − x ) β n −1 dx (2.56) unconfined beds. Minerals Engineering,

0 x α n −1 (1 − x ) β n −1 dx 0 24:308–318

where:
• tn is the percentage of fragments passing a screen size of 1/nth of
the original size L.
• αn and β n are model parameters fitted to experimental data.
In Rocky, the user can introduce values for these parameters,
corresponding to different values of n, in a table provided in the
corresponding data editor panel.
46
Carvalho, R. M. and Tavares, L. M.
Figure 2.5 shows examples of fragments size distributions obtained (2013). Predicting the effect of operating
and design variables on breakage rates
with parameters fitted to experimental data for limestone.46 Marker using the mechanistic ball mill model.
Minerals and Engineering, 43:91–101

© 2021, esss - all rights reserved


dem technical manual 29
ROCKY

points in the plot correspond to values computed with equation (2.56),


using the values of αn and β n reproduced in the same figure. In Rocky,
intermediate values of the fragment size distribution are determined
by means of linear interpolation of the values computed with equation
(2.56).

1.2 0.19 7.78

1.5 0.56 7.51

2 0.78 5.55

4 1.12 3.01

25 1.17 0.54
5%
10% 50 1.43 0.40

20% 75 1.92 0.42


40%

Figure 2.5: Examples of fragment size


distributions for different values of t10 .

2.4.5.3 Uniform size

This is the simplest strategy for specifying the size of the fragments at
a breakage event, since all fragments are generated with the same size.
It is exclusively used in conjunction with the TBM model. Here, the
number of fragments at each breakage event is determined according
to: h i
V
Nfrg = min max( Nfrg , 2 ), Nfrg,max (2.57)

where Nfrg,max is the maximum number of fragments possible


at a breakage event, which is a user input listed in the UI as
Maximum Number of Fragments . As indicated by the equation above, the
V is calculated
minimum number of fragments is 2. Additionally, Nfrg
as:
V
Nfrg = bV/Vmin c (2.58)

where b c denotes the floor function, V is the volume of the particle


being fragmented and Vmin is the minimum volume possible for a
fragment, which is estimated as:

π 3
Vmin ≈ 1.5 L (2.59)
6 min

where Lmin is a size that the user defines. This parameter is listed in
the Rocky UI as Minimum Size .

© 2021, esss - all rights reserved


dem technical manual 30
ROCKY

2.5 Wear model


Rocky can be used also as a tool for the prediction of abrasive wear
of solid surfaces due to the action of impacting particles. The wear
model implemented in Rocky is based on Archard’s wear law47 . This 47
Archard, J. F. (1980). Wear theory and
mechanisms. In Wear control handbook.
phenomenological law relates the volume loss of material to the work American Society of Mechanical Engi-
done by the frictional forces on the surface of the material. Archard’s neers

law is usually expressed as:48 48


Qiu, X., Potapov, A., Song, M., and
Nordell, L. (2001). Prediction of wear
Fτ sτ of mill lifters using discrete element
V=k (2.60) method. In 2001 SAG Conference Pro-
H
ceedings
where:

• V is the total volume of material worn from the surface.


• Fτ is the tangential force exerted on the surface.
• sτ is the sliding distance on the surface.
• H is the hardness of the material subjected to wear.
• k is a dimensionless empirical constant.

For the purpose of implementation in Rocky, Archard’s law is


considered in the incremental form:

∆V = C ∆Wτ (2.61)
where:

• ∆V is the volume of material worn during a simulation timestep.


• ∆Wτ is the tangential or shear work done by the particles colliding
with a surface during the same timestep.
• C = k/H is a constant provided by the user. In Rocky, every
imported boundary in a problem can be defined with a different
value of the constant C, listed in the UI as Volume/Shear Work Ratio .

Figure 2.6 illustrates schematically the application of equation (2.61)


in Rocky. Since all boundaries in Rocky are defined as triangulated
surfaces, the effect of removing the volume ∆V is achieved displacing
their vertices inwards. The distance that every vertex is displaced is
calculated in order to make the volume variation equal to the value
of ∆V calculated with equation (2.61). It is worth noting that during
this process the topology of the boundary triangulation is maintained
unchanged. Because of this, in order to capture adequately geometry
changes, it is desirable that regions expected to suffer wear present
49
Users must be aware, however, that
the more refined the boundary triangu-
triangulations sufficiently refined.49 lation, the longer will be the processing
time.

© 2021, esss - all rights reserved


dem technical manual 31
ROCKY

Particles doing shear work


Volume worn from the surface

Boundary

(a) Time (b) Time

Figure 2.6: Schematic depiction of the


wear of a surface.

The tangential work done by the particles colliding with the


boundary is computed triangle by triangle. Vertices adjacent to
triangles that receive more shear work will displace more and,
consequently, these regions will show more wear in a simulation. The
tangential work per triangle is calculated by adding the tangential
work contributions of all collisions occurring in a triangle during a
simulation timestep.
In general, the actual period of life of wear in industrial processes
is much longer than what is usually reasonable to simulate using
DEM. This problem can be circumvented by shortening the simulation
time while increasing the wear rate C several orders of magnitude. 50
Qiu, X., Potapov, A., Song, M., and
A suitable value of C can be determined by following two heuristic Nordell, L. (2001). Prediction of wear
of mill lifters using discrete element
rules:50 method. In 2001 SAG Conference Pro-
ceedings
1. C must satisfy the constraint of proportionality of equation
(2.61). In other words, increasing C by a factor and reducing
the simulation time by the same factor must preserve the wear
characteristics.

2. The entire simulation time must be sufficiently long, so the


statistical variance associated with discrete events is small in the
DEM output data.

Both rules are violated when extremely large values of C are used,
producing fast changes in geometry that strongly disturb the motion
of particles.

© 2021, esss - all rights reserved


dem technical manual 32
ROCKY

2.6 Thermal model


If the thermal model is enabled in Rocky, an additional equation for
thermal energy balance is solved along with the equations governing
the motion of particles. In the current implementation of Rocky, the
temperature is assumed to be uniform in standard single-element
particles (non-flexible). This means that no radial nor circumferential
temperature variation is admitted inside any of these particles, which
is reasonable if they are small and/or made of highly conductive
materials.51 On the other hand, for multi-element flexible particles, 51
Vargas, W. L. and McCarthy, J. J. (2001).
Heat conduction in granular materials.
which are formed by connected elements as described in chapter AIChE Journal, 47(5):1052–1059
3, the temperature may have variation between elements. However,
the temperature of each element making up a flexible particle is
considered to be uniform also.
In Rocky, the temperature variation of a particle or element e over 52
In this and the subsequent equations,
time is determined by solving the differential equation:52 e stands for either an entire particle or
a single element in a multi-element flex-
dTe ible particle, depending upon whether
me ce = q̇e (2.62) the particle being considered is a stan-
dt
dard (rigid) particle or a flexible one.
in which, me and ce are, respectively, the mass and the specific heat
of the particle or element e, while q̇e is the overall heat transfer
rate between it and its surroundings. For instance, in all DEM
problems, q̇e accounts for the conduction heat transfer rate that occurs
during the contact with other particles or boundaries. Additionally, if
the problem being solved includes fluid flow, the heat transfer rate
between the particle and the fluid phase, q̇ f →e , is included in q̇e as
well.53 Moreover, if e is an element of a flexible particle, the heat 53
For a description of the correlations
considered in Rocky to model q̇ f →e ,
transfer rate across the inter-element joints must be considered also. please refer to the DEM-CFD Coupling
Then, for the most general case we can write: Technical Manual.

Nc, e Nj, e
q̇e = ∑ q̇c→e + ∑ q̇ j→e + q̇ f →e (2.63)
c =1 j =1

where q̇c→e is the instantaneous heat transfer rate from another


particle or a wall through a contact c, whereas q̇ j→e is the instan-
taneous heat transfer rate from the other element of the same particle
connected to e through a joint j. In this equation, Nc, e is the number
of contacts that e has with other particles or walls at a given time,
while Nj, e is the number of joints at which e connects itself with other
elements.54 54
If e is not a single element of a flexible
particle, the second term on the right-
hand side of equation (2.63) is ignored
completely.

© 2021, esss - all rights reserved


dem technical manual 33
ROCKY

2.6.1 Contact heat transfer rate

In Rocky, we consider that the heat conduction between a particle in


contact with another particle or a wall occurs exclusively through the
contact area between them.55 Considering that the temperature of a 55
The same mechanism of heat transfer
described in this section occurs also
given particle is Te and the temperature of the contacting particle or when a single element of a flexible parti-
wall is Tη , the heat transfer rate q̇c→e is modeled through the linear cle collides with another non-connected
element, or a single-element (rigid) par-
expression: ticle, or a wall. The heat conduction be-
q̇c→e = Hc ( Tη − Te ) (2.64) tween two elements connected through
a joint is explained on the next section.

where Hc is the contact conductance. Batchelor & O’Brien56 proposed 56


Batchelor, G. K. and O’Brien, R. W.
(1977). Thermal or electrical conduction
the following expression for the thermal contact conductance between through a granular material. Proc. R. Soc.
two particles of uniform temperature, based on the analytical solution Lond. A., 355:313–333

of an analogous irrotational flow problem:

Hc = 2 k c a (2.65)

where k c is the equivalent thermal conductivity of the contact and a


is the radius of the contact surface, which is depicted schematically
in Figure 2.7. In order to determine the value of the contact radius,
Batchelor & O’Brien considered the Hertz theory,57 according to 57
Hertz, H. (1882). Über die berührung
fester elastischer körper (On the contact
which we have: of elastic solids). J. Reine Angewandte
1
3 Fn R∗

3 Mathematik, 92:156–171. English transla-
a= (2.66)
4 E∗ tion, Macmillan, London, 1896

where:

• Fn is the instantaneous normal contact force between the two


particles or the particle and the wall.
• R∗ is the equivalent radius, defined in equation (2.15).
• E∗ is the effective Young’s modulus, defined in equation (2.14).

Figure 2.7: Heat transfer between two


colliding particles.

Equations (2.65) and (2.66) are used in Rocky at particle-boundary


contacts as well, considering the appropriate definitions for the
involved parameters. Regarding the equivalent thermal conductivity

© 2021, esss - all rights reserved


dem technical manual 34
ROCKY

used in equation (2.65), as the thermal conductivities of the particle


e and its neighbor can be different in a general case, in Rocky it is
defined as the harmonic mean:

2
kc = 1 1
(2.67)
ke + kη

where k e and k η are the thermal conductivities of the two contacting


entities.

2.6.2 Joint heat transfer rate

The heat transfer rate between two elements of a flexible particle


connected by a virtual joint is modeled in Rocky as:

q̇ j→e = H j ( Tη − Te ) (2.68)

where Te and Tη are the temperatures of the two connected elements,


while H j is the joint equivalent conductance, given by:

1 1 1
= + (2.69)
Hj He Hη

where H p and Hη are the partial thermal conductances at each side


of the joint, approximated respectively as:

k j Aj
He = (2.70)
`e
k j Aj
Hη = (2.71)

In these expressions, `e and `η are the distances from the centroid


of the joint to the centroid of the respective element, as shown in
Figure 2.8, in a flexible fiber example. Additionally, k j is the thermal
conductivity of the joint, defined as:

j
k j = rk k (2.72)

j
where k is the thermal conductivity of the particle’s material and rk
is a user input parameter, listed in the Rocky UI on the Composition
sub-tab for the Particle set as Conductivity Ratio . This parameter allows
users to make fine adjustments to the joint’s thermal conductivity
without modifying the particle’s thermal conductivity, which is used
in the calculation of the contact conductance as well. Allowed values
for the conductivity ratio are in the range from 0.01 to 100.

© 2021, esss - all rights reserved


dem technical manual 35
ROCKY

Figure 2.8: Heat transfer between two


elements in a flexible fiber.
In equations (2.70) and (2.71), A j is the effective area of the joint.
In most cases, A j will be the area of the section that connects two
elements. For straight fibers, it will be the area of the circular section
of the cylindrical part of the elements. For shells, it will be the area 58
See Figure 3.6 for an example of a
connection face in a flexible shell.
of a rectangular face connecting two prismatic elements.58 For solid
particles, it will be the area of the triangular face connecting two
59
Figure 3.8 depicts an illustrative exam-
ple of a connection face in a solid flexible
tetrahedral elements.59 particle.

The case of multi-branched custom fibers is the one that poses


certain difficulties for defining A j . The main difficulty is that several
sphero-cylinder elements can meet at a given point, each one having
a different diameter, as depicted in the example of Figure 2.9. As an
element may be connected to more than one element at one of its
ends, this reduces the effective area for transferring heat to any of the
connected elements at that place. Therefore, we define the following
effective area for those cases:

Amin
Aj = j
(2.73)
Ne − 1

where Amin is the smallest cross sectional area between the two
j
elements connected by the given joint, while Ne is the number of fiber
elements that meet at the same point were that joint is located.

Figure 2.9: Example of a multi-branched


custom fiber. In this case, the number
j
of coincident elements is Ne = 4. For
the joint between the green and blue
elements, Amin is the cross sectional area
of the blue element (the one with the
smallest diameter).

© 2021, esss - all rights reserved


dem technical manual 36
ROCKY

2.6.3 Thermal conduction correction models

Decreasing stiffness in order to speed up a simulation60 has the 60


Please refer to section 5.2.4 for a
complete description of this technique.
undesired side effect of abnormally increasing the predicted heat
exchange. When the contact stiffness is decreased using the
Numerical Softening Factor , the contact area and the collision time are
increased, both causing an artificial rise of the heat transferred
through a contact. In order to counteract those adverse effects, Rocky
includes two correction strategies proposed initially by Morris et al.61 . 61
Morris, A. B., Pannala, S., Ma, Z., and
Hrenya, C. M. (2016). Development
The Morris et al. Area correction is valid for static systems. When of soft-sphere contact models for ther-
enabled by the user in the Thermal tab of the Physics panel, this mal heat conduction in granular flows.
AIChE Journal, 62(12):4526–4535
correction model replaces the reduced Young’s modulus of particles
or boundaries by the actual values specified by the user62 for the 62
The actual Young’s modulus values
are defined by the user in the Materials
respective materials, when calculating the contact radius using panel.
equation (2.66).
The Morris et al. Area+Time correction is indicated for simulations
with non-resting particles. This model extends Morris et al. Area by also
applying a further correction factor α to the area-corrected contact
radius during collisions in order to mitigate the adverse thermal effect
caused by artificially longer contact times between softened particles.
This model was deduced by considering the theoretical exchanged
heat rate during a collision between two particles for the actual and
softened cases, and provides the following correction factor for the
collision time:
 2
tc,actual 3
α= (2.74)
tc,sim
where:

• tc,sim is the collision time between the softened particles.


• tc,actual is the collision time between the actual particles.

The correction factor α also equals to the ratio of the actual and
area-corrected thermal contact conductances between the colliding
particles. Therefore for a Hertzian collision model it can also be
interpreted as a multiplier to the instantaneous, area-corrected contact
radius between softened particles during the simulation63 , 64 . 63
This interpretation is accurate for elas-
tic binary collision systems as would be
Still considering a Hertzian collision model, equation (2.74) can be expected in dilute granular flows.
simplified to: 64
For non-Hertzian collision models, the
4
α = (NSF) 15 (2.75) errors in the predicted heat transfer
resulting from this assumption are quite
small, as demonstrated by Morris et. al
where NSF is the Numerical Softening Factor of the simulation. Equation for the linear spring dashpot collision
model.
(2.75) is employed by Rocky when the Morris et al. Area+Time correction
model is enabled by the user.

© 2021, esss - all rights reserved


dem technical manual 37
ROCKY

2.7 Coarse-grain model


Coarse-grain modeling (CGM) is a method used to reduce the total
number of particles in a simulation by using larger particles to
represent groups of the original (smaller) particles. Modifications on
the contact, adhesion and other models are necessary to compute
the interactions on this scaled-up system in a way that will allow
the dynamics of this scaled-up system to be similar with the original
system.
The scaled-up particle, usually referred to as a parcel, is defined
by the original particle characteristics (material, shape, size, etc.) and
by a scale-factor. Because these characteristics can be unique per
particle group, each particle group can have its own scale factor. This
CGM Scale-Factor f CGM multiplies the original particle size to define
the parcel size and, consequently, the number of original (smaller)
particles the parcel represents. Due to the scale-factor to volume
3
relationship, the parcel represents f CGM original particles. Figure 2.10
shows the concept of the parcel.

Figure 2.10: A collection of small (orig-


inal) particles is replaced by a larger
parcel (scaled-up particle). The parcel
CGM mass is the sum of the original particle
scaling
masses. In this example f CGM = 2.
fCGM L

In case a particle size distribution is used for the original particle


size of the group, the same scale factor will be used for all particles
generated on that group. The final PSD will have the same shape
of the original particle size distribution, but each parcel in the DEM
simulation will have the size scaled by f CGM times the original particle
size.
It is important to note that each parcel will represent a collection
of smaller particles with the same characteristics, including size. So,
in cases where a PSD is defined, each parcel will represent collection
of original particles with a specific size, not a group of particles with
the entire original size distribution.

© 2021, esss - all rights reserved


dem technical manual 38
ROCKY

Besides reducing the number of particles used within the simula-


tion, the CGM approach used in Rocky also allows the usage of larger
time steps for the calculations. The increase of the time step comes
from the scaling-up of the overlap between two particles in contact.
This overlap is scaled up by the factor f CGM . As the velocities of the
parcels are similar to the velocities of the original particles, the contact
time is also increased by a factor of f CGM .
The Coarse-grain model approach used by Rocky is based on the
work of Bierwisch et al.65 . The original work defines a procedure to 65
Bierwisch, C., Kraft, T., Riedel, H., and
Moseler, M. (2009). Three-dimensional
identify modifications that need to be applied to the contact force discrete element models for the granular
and adhesion models to be used on the scaled-up system. Using statics and dynamics of powders in
cavity filling. Journal of the Mechanics
the modified versions of these models, when two parcels collide, the and Physics of Solids, 6257:10–31
3
kinetic energy variation due to the contact will be the same as f CGM
contacts of the original particles 66 . 66
The velocities of the parcels after
contacts are expected to be similar to
The kinetic energy variation of the system ∆Ek , is defined according those on the original system but other
to: quantities, such as forces, stresses, etc.,
m∗  2 
will be scaled up on the resuts. The scal-
∆Ek = ṡb − ṡ2a (2.76) ing up of these quantities must be taken
2
into account when post-processing sim-
ulation results using CGM.
where, ṡb and ṡ a are the relative velocities of the particles before and
after the contact, respectively, and m∗ is the effective mass of the
contact.
Considering a constant effective contact mass, in order to conserve
the kinetic energy variation, the velocity variation of the scaled-up
system during the contact must be kept the same as in the original
system. Figure 2.11 illustrates this concept. On the left side of the
image, the original system is shown. On this system, a number of
contacts of the original particles are happening. The velocities before
and after the contact are shown. The two groups of particles are scaled-
up, each group of particles (blue and green) will be represented by a
single parcel on the scaled-up system. On the right side of the image,
this scaled-up system is represented. The velocities of the scaled-up
system are supposed to be the average velocity of the particles of the
original system, before and after the contact.
As the mass of the parcels is equal to the sum of the mass of the
original particles, if they have the same average relative velocity of
the original system, then the kinetic energy is conserved.
The procedure defined within the work of Bierwisch et al. uses
dimensional analysis on the momentum-impulse equation, which for
the contact normal direction is given by:

m∗ ∆ṡn = ( Fn + Fn, adh ) ∆t (2.77)

© 2021, esss - all rights reserved


dem technical manual 39
ROCKY

pre-contact Figure 2.11: Eight contacts of the origi-


nal system are represented by a single
pre-contact contact on the scaled-up system with
f CGM = 2.

averaged velocities
before contact
CGM
scaling

post-contact

post-contact

averaged velocities
after contact

The modifications necessary on each contact force and adhesion


model for the scaled system are defined by the dimensional analysis
when substituting the normal force, Fn by the desired contact normal
force model expressions and Fn, adh by equations of the chosen
adhesive model. This process is repeated for each contact force
and adhesive model available. Typically the modifications needed are
just the inclusion of the scale-factor multiplying some of the physical
properties used on the calculations. The same procedure can be used
on the tangential contact force models.

2.7.1 Contact frictional forces

When performing the dimensional analysis to determine the contact


frictional force model modifications necessary for the scaled system, it
was discovered that these contact force models implemented in Rocky
are self-similar, which means that they do not need to be modified to
satisfy the Bierwisch et al. model constraint. These models are:

© 2021, esss - all rights reserved


dem technical manual 40
ROCKY

• Normal contact force:

– Hysteretic Linear Spring


– Linear Spring Dashpot
– Hertzian Spring Dashpot

• Tangential contact force:

– Linear Spring Coulomb Limit


– Coulomb Limit
– Mindlin-Deresiewicz

2.7.2 Adhesive forces

The Constant adhesive force model needed to be adjusted according


to the dimensional analysis. The CGM version of this model calculates
the adhesive force as:

 0 if − sn > δadh
Fn, adh = (2.78)
adh g min( m1 , m2 ) / f CGM if − sn < δadh
 f

The Linear adhesive force model does not require any modification.
All other adhesive force models, including JKR and Velocity Dependent ,
are not currently compatible with CGM.

2.7.3 Contact heat transfer

For thermal enabled simulations, the model constraint is that the


temperature variation experienced by two parcels exchanging heat
during contact should be the same as the temperature variation of
the one that would happen during a collision between two original
particles the parcels represent.
Figure 2.12 shows this constraint. Again, on the left side of
the image the original system is shown. A number of contacts of
original particles are happening (just one contact is shown, the ellipsis
indicates that there are a number of this same contact happening).
One set of particles have a higher temperature (indicated by the red
color) and the other set have lower temperatures (indicated by the
blue color). During the contact, the particles exchange heat and after
the contact they have closer temperatures (indicated by the lighter
colors of each group). On the scaled-up system, the parcels initially
have their temperature defined as the averaged temperature of the
collection of original particles they represent. The thermal constraint

© 2021, esss - all rights reserved


dem technical manual 41
ROCKY

for CGM is that their temperatures at the end of the contact, should
be the same as the post-contact averaged temperature of the collection
of the original particles.

Original Scaled-up Figure 2.12: Eight contacts of the orig-


system system inal system with energy transfer are
represented by a single contact on the
scaled-up system with f CGM = 2.
pre-contact

pre-contact

averaged temperatures
... before contact

post-contact
post-contact

...

averaged temperatures
after contact

In order to identify the changes necessary on the contact heat


transfer models, the same procedure of dimensional analysis was
applied to the particle thermal energy conservation equation, given
by:
mc∆T = q̇ (2.79)

Here, c is the specific heat of the particle material. The heat transfer
rate q̇ is calculated applying the contact heat conduction model.
The dimensional analysis shows that the thermal conduction model
implemented in Rocky needs one modification to make it similar and
present the expected result. This modification is the correction of
the equivalent contact thermal conductivity (2.67). The value of the
thermal conductivity of each particle has to be multiplied by the
group CGM scale factor. Changing equation (2.67) into (2.80).

© 2021, esss - all rights reserved


dem technical manual 42
ROCKY

2
kc = 1 1
(2.80)
k e f CGM,e + k η f CGM,η

2.7.4 Radl et al. kinetic energy dissipation model

When particles are moving rapidly (not on a bed or settled over a


conveyor belt) with fast contacts, the usage of Coarse Grain Modeling
can underestimate the total energy dissipation on the system because
of missed contacts on the scaled-up system. Figure 2.13 illustrates
these missed contacts.
The first type of missed contacts is the intra-parcel contact. The
parcel velocity is the the average velocity of the original particles it
represents, but each individual particle could have a different velocity
on the original system. These different velocities lead to contacts
between particles on the original system. These contacts are shown in
the original system, marked by smaller circles inside each group.
The second type of contact missed by the scaling up are some
inter-parcel contacts. When two groups of particles pass by each other
closely, some particles on the periphery of each group may collide,
as highlighted by the smaller circle between the two groups on the
original system. Figure 2.13 shows that in this case, the contacts were
missed on the scaled-up system.

Figure 2.13: Two groups of particles


scaled up with CGM. Particles within
the smaller circles represent four con-
tacts that were missed due to the scaling-
up process: three due to intra-particle
collisions and one due to an inter-parcel
collision. f CGM = 2.

CGM
scaling

© 2021, esss - all rights reserved


dem technical manual 43
ROCKY
67
Radl, S., Radeke, C., Khinast, J. G.,
To better represent the outcome of these missed collisions, the and Sundaresan, S. (2011). Parcel-based
approach for the simulation of gas-
Radl et al.67 model introduces a correction to the parcels’ velocity particle flows. In Proceedings of the
8th international Conference on CFD in
at each time step. This velocity correction simulates the effect of the
the Oil & Gas, Metallurgical and Process
energy dissipated by the missed collisions. The corrected velocity, v0 Industries., pages 124–134

is calculated using the expression:

∆t
v+ 2τD v̄
v0 = ∆t
(2.81)
1 + 2τD

In equation (2.81), τD is the particle relaxation time, or damping


time, and v̄ is the mass weighted averaged velocity of the parcels in
the vicinity.
The particle relaxation time is calculated using the expression:
4
√

1

1 2 αp ∑ p ητD (1 − ητD ) N
L+ L32
2 (v − v̄)2
= h 1− g0 (2.82)
3π L332
2
f CGM

τD L+ L32
∑p N 2 (v − v̄)

where α p is the volume fraction of particles within a given search


radius, L32 is the Sauter mean particle size, and N is the number of
particles each parcel represents.
Also in equation (2.82), h is the shutoff function, designed to turn
off the model when the particles are on a settled bed of particles, or
moving on a bed with slow contacts, given by equation (2.83). g0 is
the radial distribution function, which provides the probability of the
missed contacts. This function is shown in equation (2.84). Finally,
ητD is the damping function, which represents the fraction of energy
lost on a missed contact, given by equation (2.85).
 !8 
α p,cp − α p
h = min 1,  (2.83)
α p,cp − α p,off

α p,cp
g0 = (2.84)
α p,cp − α p

1+ε
ητD = (2.85)
2
In equations (2.83) and (2.84), α p,cp is the Close Packing Volume Fraction
of the particles, the maximum volume fraction the particles are
allowed to reach, which is defined by the user. In equation (2.83),
α p,off is the particle volume fraction value at which the model will be
shut off, which is automatically calculated as 95% of the close packing
volume fraction.

© 2021, esss - all rights reserved


dem technical manual 44
ROCKY

The calculation of the averaged quantities and local volume fraction


are based on the properties of near parcels. These near parcels are
identified using a search algorithm similar to the one used to identify
particle neighbors for contact calculations, described in section 5.1.
This near parcel search uses a spherical region around each parcel,
with the radius defined by the radius of the sphere that circumscribes
the largest parcel and a Search Distance Multiplier , which is provided by
the user. The parcels that are inside the sphere centered on a given
parcel are considered neighbors within the calculations. This list of
near parcels is updated when the parcels travel a distance larger than
a limit value, this value is calculated using the same circumscribed
sphere and an Update Distance Multiplier , which is also provided by the
user.

© 2021, esss - all rights reserved


dem technical manual 45
ROCKY

3 Flexible particles in Rocky


Rocky offers three different shape categories that can be
modeled as flexible particles: fiber, shell, and solid. Flexible particles in
Rocky are, in fact, composite particles formed by connecting simple
shapes, herein called elements. The elements are sphero-cylinders in
fibers, rounded triangular prisms in shells, and tetrahedra in solid
particles. Two adjacent elements in a flexible particle are connected by
means of a deformable entity, the joint. When a joint is subject to linear
and angular deformations, it reacts exerting forces and moments over
the connected elements, opposing to the deformations. Those forces
and moments hold the elements together forming a unitary particle,
otherwise those elements would be ordinary separate particles. In
this approach only the joints can deform, as the individual elements
that make up a composite particle are rigid, as any other particle in
Rocky.
Prior to v4.3, the only rheological model available in Rocky for
flexible particles was the linear elastic model, with the option of
adding viscous dissipation. As of v4.3, additional models and options
are available, which are described later in this chapter.

3.1 Flexible particle types


3.1.1 Flexible fibers

Fiber is a category of particle shapes that are mainly one-dimensional.


At any time, the main geometry of a fiber can be described by a
line or a group of lines in a three-dimensional space. As shown in 1
Users can specify the number of ele-
ments composing a flexible particle in
Figure 3.1(a), the central line of a straight fiber is subdivided into a the Rocky UI through the parameter
Target Number of Elements .
certain number of segments,1 that will give rise to the same number
of sphero-cylindric elements. The end points of a segment coincide
with the center points that generate the hemispherical cap surfaces at

© 2021, esss - all rights reserved


dem technical manual 46
ROCKY

both ends of an element. Moreover, in the undeformed initial state of 2


This implies that at those locations
the hemispherical cap of one element
a fiber, the location of the end points of two adjacent elements always is superposed to the cylindrical part of
the adjacent element. However, when
coincide.2
computing the total volume and mass
of a composite particle, superposed por-
tions are excluded from the calculations.

Sphero-cylinder element Joint

(a)

(b)

Figure 3.1: (a) Schematic representation


of a flexible straight fiber. (b) Forces and
moments that a joint exerts on the two
When modeling the dynamics of a flexible fiber, forces and contiguous fiber elements.

moments opposing deformations are considered acting at the end


points of the centerline segments of two adjacent sphero-cylinders.
These forces and moments are supposed to be the reaction to
deformations of a joint entity that connects those points. As depicted
schematically in Figure 3.1(b), the forces and moments acting on
the two elements connected by a joint have the same magnitude,
but opposite directions. The magnitude of the joint forces and
moments will be a function of the linear and angular deformations,
and sometimes of the velocity of deformation as well. They normally
will tend to bring the fiber back to its undeformed state.
The linear deformation of a joint, caused by the relative trans-
lational movement of the connected elements, is quantified by the
relative displacement vector drel . As illustrated in Figure 3.2, this
vector joins the end points of the two adjacent centerline segments,
which are coincident in the undeformed state of the fiber. In order to
write the model equations for the tensile and shear forces, it is usually
needed to decompose the displacement, as well other magnitudes,
into normal and tangential components. The normal direction for
â1 +â2
such decomposition is defined by the unit vector n̂ = |â1 +â2 |
, where
â1 and â2 are unit vectors parallel to the direction of the two elements
connected by the joint, as depicted in Figure 3.2.

© 2021, esss - all rights reserved


dem technical manual 47
ROCKY

Undeformed position Figure 3.2: Relative displacement vector


and definition of the normal direction.

Joint center points

Normal direction

Figure 3.3 illustrates how a vectorial magnitude, such as the


relative displacement drel , is decomposed into normal and tangential
components, given the normal direction defined above. The normal
component will be given by:

n
drel rel
n = d · n̂ (3.1)

while the tangential component can be obtained as:

drel rel rel


τ = d − dn n̂ (3.2)

There are two type of angular deformations between elements in


fibers. The first one is the torsional deformation, which arises when Figure 3.3: Decomposition of the relative
displacement vector.
two adjacent elements rotate a different angle about its own axis. The
second one is bending, in which one element rotates relative to the
other in the same plane defined by their centerlines. The angle θ B
depicted in Figure 3.2 is a bending angle.
Besides the straight fiber shapes described previously, Rocky can
deal also with fibers of complex multibranched geometries, as the
one depicted in Figure 3.4, which are referred to as custom fibers. In
order to define the geometry of a custom fiber, users must provide the
appropriate data by means of an auxiliary file. The minimum data
required consists of the coordinates of the end points for each segment
on the fiber’s centerline, besides the diameter of the corresponding
sphero-cylinder element.3 As shown in the referred figure, elements 3
For more information about the defini-
tion of a custom fiber, please refer to the
with different diameters are allowed in this type of fiber. Despite this Rocky User Manual.
fact, the center point of the hemispherical cap surfaces will always
coincide with the end points of segments in the centerline geometry
of the fiber.

© 2021, esss - all rights reserved


dem technical manual 48
ROCKY

Figure 3.4: Example of a multibranched


custom fiber. Six coincident joints are
located at point A.

Sphero-cylinder element
Joint

Custom-defined centerline

Multiple coincident joints

Multibranched geometries arise when the end points of more than


two centerline segments coincide at the same location. An example of
this is can be seen at point A in Figure 3.4, where the end points of four
segments coincide. A joint will connect every possible combination of
two segments meeting at a same point in a custom fiber’s centerline.
Therefore, in the example shown in Figure 3.4, six joints will coincide
at point A.4 Each one of those joints will behave exactly as a joint in a 4
If n segments meet at a same point, the
number of joints at that location will be
straight fiber, exerting forces and moments opposing to variations in given by n(n − 1)/2.
the relative positions of the elements to which it links.
Depending on the number of total elements specified for the
flexible custom fiber, each segment in the provided centerline
geometry can still be subdivided into smaller segments. Therefore, a
flexible custom fiber can be interpreted as the union of several flexible
straight fibers.

3.1.2 Flexible shells

The geometry of shell particles is generated by assigning a uniform


thickness to a user-provided two-dimensional surface mesh. The
modeling of flexible shells is an extension of the modeling of fibers
described in the previous section. As depicted in Figure 3.5, every
element making up a flexible shell is a sphero-triangle, which is a thin
triangular prism with rounded borders. The thickness of each one of
these elements is equal to the thickness specified for the shell particle

© 2021, esss - all rights reserved


dem technical manual 49
ROCKY

Base triangular mesh

Figure 3.5: Portion of a flexible shell.

Sphero-triangle element

as a whole, whereas the radius of the rounded parts is equal to one


5
As with fibers, the superposed portions
between elements are taken into account
half of that thickness.5 only once when calculating volumes and
masses.
As with flexible fibers, a joint entity is considered to be acting
between any two connected shell elements. When a shell is in its
undeformed state, the corresponding edges of the base triangles of
any two connected elements will coincide, as depicted in Figure
3.7(a). The joint’s linear deformation is computed considering the
translational displacements of the midpoints of those corresponding
edges, analogously to the fiber case shown in Figure 3.2.
As a response to linear and angular deformations, a joint will
react by exerting forces and moments opposing to those deformations.
Again the situation will be similar to the one described for flexible
fibers, as depicted in Figure 3.6. The main difference is that three
scalar components of moment arise between shell elements, because of
the three angular deformations possible in the case of shell geometries.
As shown also in the referred figure, the forces are supposed to be
acting at the midpoint of the base triangle’s edge adjacent to the joint.

Shell thickness

Base triangle

Center points

Figure 3.6: Forces and moments exerted


by a joint between two shell elements.

© 2021, esss - all rights reserved


dem technical manual 50
ROCKY

Three angular deformations can be considered between two


shell elements, as illustrated in Figure 3.7, around three mutually
orthogonal axes. Two of them are bending deformations: θ B1 , around
an axis parallel to the common edge, and θ B2 , around an axis
perpendicular to that edge but in a plane containing it. The third one
is a torsional deformation, θ T , around an axis perpendicular to the
other two.

(a) Undeformed position


Base triangle

(b) Torsional angle

(c) First bending angle

(d) Second bending angle

Figure 3.7: Angular deformations in a


shell joint. The orange arrows indicate
the rotation axes.

© 2021, esss - all rights reserved


dem technical manual 51
ROCKY

3.1.3 Flexible solid particles

Both built-in and custom polyhedral shapes6 can be turned into 6


A custom polyhedral shape is one
imported into Rocky from a STL file.
flexible solid particles in Rocky. In order to be treated as a flexible
particle, a polyhedral shape is subdivided into tetrahedral elements.7 7
Rocky tessellates automatically a poly-
hedral shape into tetrahedral elements,
Unlike fiber and shell elements, elements making up solid particles based on the value of the parameter
do not include any rounded parts. Therefore, the tetrahedral mesh Target Number of Elements . Users must
choose carefully the value for this pa-
that represents a solid particle in its undeformed state is equivalent to rameter, because a too low value can
conventional meshes used, for instance, in the finite element method produce a poor representation of the
shape, while a too high value can make
(FEM). the simulation very slow.
When modeling a flexible solid particle, a joint entity is considered
to be acting between any two tetrahedral elements that have a
coincident triangular face in the undeformed state of the particle.
Any of those joints behave in the same way described previously
for fibers and shells. The linear deformation vector is computed
considering the translational displacements of the centroids of the
connected triangular faces. There are, in general, three deformation
angles. One torsional angle, whose axis is orthogonal to the plane of
the triangular faces, and two bending angles, similarly to what was
described for shell elements. Joints in flexible solid particles exert
forces and moments over the constituent elements in the same way as
in shells. This is illustrated schematically in Figure 3.8. The normal
and tangential components of the joint forces act at the centroid of
the triangular connected faces. The joint moments are decomposed
also in a torsional component and two bending components, acting
with opposite orientations on each connected element.

Connected faces

Center points

Figure 3.8: Forces and moments exerted


by a joint between two tetrahedral ele-
ments.

© 2021, esss - all rights reserved


dem technical manual 52
ROCKY

3.2 Joint models


3.2.1 Linear elastic model

The linear elastic model is the default model for joints in Rocky. In
this model, each force and moment is directly proportional to the
corresponding linear or angular joint deformation:

j j
Fn = Kn drel
n (3.3)
j j
Fτ = Kτ drel
τ (3.4)
j j
MT = KT θT (3.5)
j j
MB1 = K B1 θB1 (3.6)
j j
MB2 = K B2 θB2 (3.7)

where:
j j j j j
• Kn , Kτ , KT , K B1 and K B2 are, respectively, the normal, the
tangential, the torsional, and the two bending stiffnesses associated
to the joint, defined below.
• drel rel
n and dτ are, respectively, the normal and tangential relative
displacements between the center points associated to the joint on
the two connected elements.
• θT , θB1 and θB2 are the torsional angle and the first and second
bending angles, respectively, as defined in the previous sections.
In the fiber case there is only one bending angle (θB1 = θB ), so
equation (3.7) is disregarded in that case.

The five stiffnesses present in the previous equations are calculated


in Rocky using the following expressions:

j
Kn = ren Kn00 A (3.8)
j
Kτ = reτ Kτ00 A (3.9)
j
KT = reT Kτ00 J (3.10)
j
K B1 = reB Kn00 I1 (3.11)
j
K B2 = reB Kn00 I2 (3.12)

where:
• Kn00 and Kτ00 are the normal and tangential stiffnesses per area unit,
respectively, defined below.

© 2021, esss - all rights reserved


dem technical manual 53
ROCKY

• A, J, I1 and I2 are, respectively, the area, the polar second moment


of area, and the two planar second moments of area of the cross
section of the joint. In fibers, this cross section is a circle of the
same diameter of the connected elements. If those elements are
of different diameters, only the smaller diameter is used in the
calculations. In shells, the cross section is a rectangle whose
dimensions are the length of the corresponding triangle’s edge
and the shell thickness, respectively. In solid particles, the cross
section is equal to the triangular face common to two tetrahedral
elements connected by the joint.

• ren , reτ , reT and reB are the values of the user-defined elastic ratios
for each type of joint deformation: normal, tangential, torsion and
bending, respectively. These values will be available for input in
the Rocky UI only if the Anisotropic checkbox is enabled for the
corresponding particle group.8 Otherwise, all four values will 8
For more details, please refer to the
Rocky User Manual.
be equal to the value specified for Elastic Ratio , the only option
available in that case. Allowed values for these parameters are in
the range [10−5 , 100] for fibers, and [10−5 , 1] for any other particle.

For fibers and shells, the stiffnesses per area unit are computed
using these expressions:

Ej
Kn00 = (3.13)
`j
Ej
Kτ00 = (3.14)
2 ` j (1 + ν )
where:

• Ej is the Young’s modulus attributed to the joint. In most cases,


it will be considered equal to the Young’s modulus specified for
the particle’s material. The only exception is the case of custom
fibers, for which it can be calculated using equation (3.15) described
below.

• ` j is a characteristic length for the joint. For fibers, it is defined as


the average length of the sphero-cylinder elements that make up a

fiber. For shells, it is defined as 3/2 times the average length of
the edges on the triangular mesh that defines the main geometry
of the shell.

• ν is the Poisson’s ratio specified for the particle’s material.

The Young’s modulus attributed to the joints can be made non-


uniform defining an extra parameter for each segment in a custom

© 2021, esss - all rights reserved


dem technical manual 54
ROCKY

fiber’s centerline. This parameter is a Young’s modulus multiplier


whose value can be specified at an optional column in the file
defining the fiber’s geometry.9 For a joint between two elements 9
For additional details, please refer to
the Rocky User Manual.
with multipliers M1 and M2 , respectively, the Young’s modulus value
will be computed as:
2M1 M2
Ej = Ep (3.15)
M1 + M2

where E p is the Young’s modulus specified for the particle’s material.


Solid flexible particles pose a special case in the determination
of the elastic properties for joints. In Rocky, these properties
are determined using curves obtained numerically by Potapov &
Campbell.10 Those curves, reproduced in Figure 3.9, relate the 10
Potapov, A. V. and Campbell, C. S.
(1996). A three-dimensional simulation
dimensionless Young’s modulus Ψj and the Poisson’s ratio ν with the of brittle solid fracture. International
j Journal of Modern Physics C, 7(5):717–729
joint stiffness ratio rK , respectively.
j
The joint stiffness ratio is defined as:11 11
Here, rK is the joint stiffness ratio,
which is a different parameter from
j Kτ00 the contact stiffness ratio considered
rK = (3.16) in some of the tangential force models
Kn00
described in section 2.1.2.

0.6 Figure 3.9: (a) Dimensionless Young’s


modulus and (b) Poisson’s ratio as
a function of the stiffness ratio for
composite bodies formed by Delaunay
0.4 tetrahedra. Extracted from Potapov &
Campbell (1996).
(a)

0.2

0
0 1 2 3 4 5

0.4

0.2

(b)
0

-0.2

0 1 2 3 4 5

© 2021, esss - all rights reserved


dem technical manual 55
ROCKY

The dimensionless Young’s modulus is defined here as:


Ej
Ψj = (3.17)
Kn00
`T

where ` T is the characteristic length of the particle’s tessellation,


which in Rocky is considered equal to the average length of the edges
of all tetrahedral elements that make up the particle.
In order to determine values of Kn00 and Kτ00 using the Potapov &
Campbell curves, the following procedure is considered:

1. Considering ν, the value of the Poisson’s ratio of the particle’s


j
material, the value of the stiffness ratio rK is determined as the
corresponding abscissa in curve (b) of Figure 3.9.
j
2. That value of rK is then used to determine the corresponding value
of the dimensionless Young’s modulus Ψ j from curve (a) in Figure
3.9.

3. The corresponding value of Kn00 for the joint is determined using


equation (3.17).

4. Finally, the value of Kτ00 is determined using equation (3.16)

3.2.2 Joint damping model

The viscous damping model for joints is not a model that can
be used alone, but it complements other joint models in order to
add or increase energy dissipation. For instance, the linear elastic
model described in the previous section does not include any energy
dissipation mechanism by itself. Therefore, when used in isolation, it
can produce simulations in which the elements of flexible particles
may oscillate endlessly, even after the action of all external forces
ceases. In order to overcome that situation, joint viscous forces and
moments can be added through this model, that will dissipate energy
and will reduce internal oscillations in flexible particles.
The joint viscous forces and moments in Rocky are defined,
respectively, as:
j
Fnv = Cn vrel
n (3.18)

j
Fτv = Cτ vrel
τ (3.19)

j
MTv = CT ωTrel (3.20)

v jrel
MB1 = CB1 ω B1 (3.21)

v jrel
MB2 = CB2 ω B2 (3.22)

© 2021, esss - all rights reserved


dem technical manual 56
ROCKY

where:
j j j j j
• Cn , Cτ , CT , CB1 and CB2 are, respectively, the normal, the tangential,
the torsional, and the two bending damping coefficients associated
to the joint, defined below.
• vrel rel
n and vτ are, respectively, the normal and tangential relative
velocities between the center points associated to the joint on the
two connected elements. The absolute velocity at each center point
is the sum of the velocity of the element’s center of mass and the
tangential velocity due the rotation of the element around that
center of mass.
• ωTrel , ω B1
rel and ω rel are the three scalar components of the relative
B2
angular velocity between the connected elements. The axes
associated to those components are the same axes considered in
the decomposition of the angular deformations.

The normal and tangential damping coefficients for the joint are
determined, respectively, using the expressions:
q
j j
Cn = 2 η j m ∗ Kn (3.23)
q
j j
Cτ = 2 ηj m∗ Kτ (3.24)

where:

• η j is a user input parameter listed as Damping Ratio | Joint in the


Rocky UI. Allowed values are in the [0, 1] interval. The higher the
value of η j , the faster must be the decay of oscillations.12 12
However, since a flexible particle is
a complex system of several intercon-
• m∗ is the effective mass of the joint, which is determined with nected elements, it has usually multiple
modes of vibration. Therefore, the
equation (2.10), considering the masses of the two connected overall effect of the simple damping
elements. used in Rocky may be sometimes weak,
especially when the number of elements
is high.
Finally, the damping coefficients for the angular movements are
calculated using the expressions:

j j J
CT = Cτ (3.25)
A
j j I1
CB1 = Cn (3.26)
A
j j I2
CB2 = Cn (3.27)
A

where A, J, I1 and I2 are, respectively, the area, the polar second


moment of area, and the two planar second moments of area of the
cross section of the joint.

© 2021, esss - all rights reserved


dem technical manual 57
ROCKY

In order to enable the viscous damping model, it is only necessary


to specify a value of the damping ratio larger than zero. Although this
model was introduced in Rocky as a complement to the linear elastic
model, it can be used with any other joint model, as a mechanism of
additional energy dissipation.

3.2.3 Bilinear elastoplastic model

Since Rocky v4.3, the bilinear elastoplastic model is included as a joint


model option in Rocky, in order to simulate the behavior of flexible
particles that may suffer permanent deformations when submitted
to large external forces. This model may be especially useful for the
13
The bilinear elastoplastic model is
simulation of industrial and agricultural fibers, although it can be currently not available for solid particle
applied also in Rocky to flexible shells.13 Only angular deformations shapes.

are considered in the implementation of this model in Rocky, since


usually they are more significant than axial tensile or compression
deformations on the dynamics of fibers,14 especially bending.15 14
Guo, Y., C., W., Curtis, J. S., and Xu,
D. (2018). A bonded sphero-cylinder
Considering any of the angular directions, the basic relationship model for the discrete element simula-
between the joint moment M and the angular deformation θ according tion of elastic-plastic fibers. Chemical
Engineering Science, 175:118–129
to the bilinear elastoplastic model can be written as:16 15
This does not mean that axial ten-
 sile/compression forces are ignored, as
Kjθ θ 6 θe they are still computed using the linear
e
M= (3.28) elastic model.
 K j (θ − θ ) + K j θ θ > θe
ep e e e
16
This is expression is valid for any
of the three angular directions. For
instance, when considering the torsion
where: j
direction, M will represent actually MT ,
j while θ will represent θT , and similarly
• Ke is the joint stiffness in the purely elastic regime. Its value will for other directions.
be given by either equation (3.10), (3.11) or (3.12), depending on
the deformation direction being considered.
j
• Kep is the joint stiffness in the elastoplastic regime, computed with
equation (3.29) below.

• θe is the threshold angle that marks the end of the purely elastic
regime and the beginning of the elastoplastic regime, during the
loading phase. This is an input parameter of the model that is listed
in the Rocky UI as either Torsion Angle Limit or Bending Angle Limit ,
depending on which deformation direction is being considered.

The value of the stiffness in the elastoplastic regime is related to


the value on the purely elastic regime, through the expression:

j j
Kep = rep Ke (3.29)

© 2021, esss - all rights reserved


dem technical manual 58
ROCKY

where rep is a model parameter listed in the Rocky UI as Plastic Ratio .


Admissible values for this parameter are in the [0, 1] interval. In
the limit rep = 0, the model will behave as a elastic–perfectly plastic
model, while in the other end, rep = 1, there would not be change of
regime at all and the model would reduce to the linear elastic model.
For any other intermediate value of the plastic ratio, the response
of the model will be as the green line in Figure 3.10, with a sudden
reduction of slope at θ = θe .

M Figure 3.10: Typical loading–unloading–


reloading cycle for the bilinear elasto-
Slope
plastic model in Rocky.

ing
L oa d
ing
oad
Rel

Slope
ing
d
loa
Un

If at any point during the elastoplastic regime the angular


deformation begins to diminish, the unloading trajectory will follow
a different path from the loading. The unloading path will have
initially the same slope Ke of the purely elastic regime, as illustrated
by the purple line in Figure 3.10. If during the unloading the angle is
reduced a value larger than 2θe , the path will change the slope again
to Kep , the one defined for the elastoplastic regime. Any reloading
initiated during this regime will follow a path like the blue line in
Figure 3.10. Again, the path begins with a slope equal to Ke , as in
the elastic regime, until it switches to Kep when the angle variation is
equal to 2θe . If at any point of a line with slope Ke the angle variation
is reversed, the new path will preserve the slope, only the orientation
will be the opposite. The cycle described here follows the kinematic
hardening rule.17 17
Ottosen, N. S. and Ristimaa, M. (2005).
The mechanics of constitutive modeling.
Elsevier

© 2021, esss - all rights reserved


dem technical manual 59
ROCKY

3.2.3.1 Cycle with failure

An additional option available for the bilinear elastoplastic model


is a sudden reduction on the moment value, when the angular
deformation reaches the threshold value θe , in addition to the
change on the stiffness value. This model feature may represent
an instantaneous reduction in the resistance capacity of the joint to
angular deformations, due to material failure.
This option is activated when the checkbox With Failure is turned on
in the Rocky UI. The effect of this feature can be seen on the diagram
of Figure 3.11, where the value of the moment has a reduction of ∆M f
the first time the angular deformation attains the value θe during
loading. The magnitude of the moment reduction is given by:

j
∆M f = r f Me = r f Ke θe (3.30)

where r f is a model parameter listed in the Rocky UI as Failure Ratio ,


which accepts values in the [0, 1] interval. A zero value for this
parameter means no moment reduction at all, while r f = 1 will imply
a reduction to zero in the resistance capacity of the joint.
Figure 3.11 shows an example of a cycle of deformation when the
failure option is enabled for the bilinear elastoplastic model. After the
failure moment reduction, the behavior of the paths of unloading and
reloading is similar to the ones described for the cycle without failure.
The difference is in the extension of the portion with slope Ke on the
unloading and reloading paths. As depicted in Figure 3.11, there will
be a change to a slope Kep when the variation on the moment will
reach a value equal to 2( Me − ∆M f ).

Figure 3.11: Cycle of loading–unloading–


M reloading for the bilinear elastoplastic
model with failure.

Slope

Slope } Load
ing
ing
ing

d
oad

loa
Un
Re l

© 2021, esss - all rights reserved


dem technical manual 60
ROCKY

3.3 Element damping


A flexible particle in Rocky can be thought of as a complex system
with multiple modes of vibration. In general, the number of
individual normal modes of vibration will be a multiple of the number
of elements that make up the flexible particle. Each one of those
vibration modes has associated a specific frequency, whose value will
depend on various factors, such as the geometry and the material
properties of the particle. When the motion of a flexible particle is
locally perturbed by a collision, the resulting relative motion of the
elements that form the particle can be considered as a superposition
of the normal modes of vibration.
The joint damping forces and moments described in section
3.2.2 are effective in reducing only the vibration modes of higher
frequencies. Therefore, that approach will be successful in completely
removing internal oscillations only when the number of elements
forming the flexible particles is low. As the number of elements
grows, it is common to observe that oscillations of low frequencies
remain almost unaffected by the application of the joint damping.
This may be unsuitable for some applications because usually those
low-frequency oscillations are the most noticeable, as their amplitudes
are larger than the ones of high-frequency oscillations.
In order to improve the capability of suppressing oscillations
efficiently in all the frequency spectrum, Rocky 4.5 introduced a
complementary damping option. This additional form of damping
is named as element damping because damping forces are applied
directly on each one of the elements forming a flexible particle. In
this approach, an element damping force is defined by the expression:

Fev = −Cev (ve − v p ) (3.31)

where:

• ve is the translational velocity of the element e.


• v p is the translational velocity of the parent particle that contains
the element e.
• Cev is the element damping coefficient, which is defined later on in
equation (3.33).

Figure 3.12 illustrates how this force is related to the velocities


ve and v p . As a matter of fact, the difference ve − v p is actually the
velocity of the element e relative to a frame of reference moving with

© 2021, esss - all rights reserved


dem technical manual 61
ROCKY

Figure 3.12: Damping force proportional


to the relative element velocity in rela-
tion to the parent particle’s velocity.

Element

the center of mass of the parent particle. If that particle is moving as


a rigid body, with all elements having the same velocity, no damping
force will be applied to the elements, according to equation (3.31).
On the other hand, when the particle collides and the velocity of
an element is perturbed, an element damping force will be applied
opposing to the relative velocity ve − v p at all times. Its net effect
will be to reduce that relative velocity, making the element velocity
gradually approach the velocity of the parent particle. As time passes,
if no new perturbations arise, all elements of the particle will tend to
move with the same velocity, that is, the whole particle will tend to
move as a rigid body again, without internal deformations.
The velocity of the center of mass of the parent particle is defined
as:
∑ i me,i ve,i
vp = (3.32)
∑ i me,i

where me,i and ve,i are the masses and velocities of the elements that
make up the particle, respectively.
The element damping coefficient is calculated in Rocky using the
expression:
Cev = 2 ηe ωo me (3.33)

where:

• me is the mass of the element e.

© 2021, esss - all rights reserved


dem technical manual 62
ROCKY

• ωo is the fundamental frequency of vibration of the whole particle,


that is, the lowest frequency among all the frequencies associated
to the vibration modes of the particle. Rocky will estimate this
fundamental frequency based on the shape of the flexible particle
and its physical properties.
• ηe is the element damping ratio, which is a user input listed in the
Rocky UI as Damping Ratio | Element . It determines the intensity of
the applied element damping, its allowed values are in the interval
[0, 1].

When both the joint and element damping are applied in


conjunction, any internal oscillations in flexible particles will be
removed some time after they were generated. The higher the values
of the damping ratios, the faster the oscillations will be reduced
after a collision. However, each type of damping can be applied also
separately. As mentioned earlier, the joint damping will be effective
in removing high-frequency oscillations, while the element damping
will be more effective in the low-frequency range.

3.4 Joint breakage models


Joint breakage models18 are used to determine if a joint between 18
These models are also known as dis-
crete breakage models in Rocky.
two elements in a flexible particle was loaded beyond its resistance
capacity and, therefore, is no longer able to keep those elements joined.
This type of discrete breakage differs from the instantaneous breakage
models for non-flexible particles in that the resulting fragments can
be only individual elements or groups of elements that originally
made up a flexible particle. When a joint breakage model is active
for a flexible particle group, every single joint in a flexible particle is
evaluated for breakage. If after verifying the breakage criterion at a
joint it is determined that it must fully break, the joint is deactivated
and the previously joined elements become separate entities. In that
way, if all joints in a flexible particle end up breaking apart, the
number of resulting fragments will be the number of elements that
originally formed that particle.
For the purpose of analyzing joint breakage only, the concept of
joint vertex is considered in Rocky. These are the points where a
joint breakage criterion is actually verified. The relative position of
the joint vertices for the three types of flexible particles in Rocky
is illustrated in Figure 3.13. The simplest case is that of fibers, in

© 2021, esss - all rights reserved


dem technical manual 63
ROCKY

Figure 3.13: Vertices related to an unde-


formed joint between two elements of
(a) a flexible fiber, (b) a flexible shell and
(a) (c) a flexible solid.

Joint/vertex

Vertex

(b)
Joint

Vertex

Vertex

Vertex
(c)

Joint

Vertex

which there is only one vertex and it coincides with the joint’s center
point. For the joints in flexible shells, on the other hand, the two
joint vertices initially coincide with vertices of the joined triangle
elements. After the breakage of the joint starts, the position of those
vertices may change, as will be described later on. Finally, as shown
in Figure 3.13(c), the joint between two tetrahedral elements in a solid
particle has initially three vertices, which coincide with vertices of
those elements. However, if the joint breakage is partial, those vertices
can be displaced and even more vertices can be generated in the joint.
This process of partial breakage is described below.
As only one vertex is associated to a joint in a fiber, when the
criterion for joint breakage has been met at that point, the joint will
break fully and instantaneously. On the other hand, joint breakage on
shells and solid particles can be partial; consequently, a finite lapse of

© 2021, esss - all rights reserved


dem technical manual 64
ROCKY

time can exist between the beginning of the joint breakage and the
complete separation of the joined elements. The process of partial
joint breakage is illustrated in Figure 3.14 for a joint in a flexible shell.
In this example it is assumed that the breakage criterion is based on
a limit value for the tensile stress at the joint, although the process
would be similar with other criteria as well.

Tensile stress
along the joint

Breakage limit

Joint at time t

Broken
Joint new length portion
Joint at time

(b)

(a) Figure 3.14: Example of partial breakage


of a joint in a flexible shell

In the general case, when both translational and rotational


displacements of the joined elements are considered in conjunction, it
is expected a linear variation of the stress along the joint, as depicted
in Figure 3.14(a).19 If with a given deformation state all values of 19
This is entirely true for a linear elas-
tic joint model, however, the same
tensile stress become larger than the limit stress for breakage at the treatment is given also for the bilinear
same time, the joint will fully break instantaneously. On the other elastoplastic model, considering that the
deformations are in the linear regimen.
hand, it is more likely to occur a situation as the one depicted in
Figure 3.14(b), with the actual stress being larger than the limit stress
only in a portion of the joint. This characterizes a partial joint breakage
in Rocky.
As shown schematically in Figure 3.14(b), when the breakage
criterion is satisfied only in a portion of the joint, Rocky will consider
that only that portion breaks. For the subsequent time iterations,
Rocky will recalculate the geometrical properties of the joint20 based 20
That is, the area, the area moment
of inertia, and the position of the joint
on the new joint length. Moreover, the joint vertex adjacent to the center point.
broken portion will be relocated to the point where the actual stress
is equal to the breakage stress limit. In following time iterations,

© 2021, esss - all rights reserved


dem technical manual 65
ROCKY

the joint breakage is analyzed only in the remaining portion of the


joint, reducing it further in portions where the breakage criterion
is satisfied. This process continues until the joint length reduces to
zero, at which point the joint is considered fully broken and it is then
deactivated.21 21
This partial joint breakage process
is currently available only for built-in
An equivalent partial breakage process is considered in solid joint breakage models in Rocky. As
flexible particles as well. The difference in relation to the previously joint vertices are not accessible to the
Rocky API : Solver, custom joint break-
described process for flexible shells is purely geometric. As shown age models can analyze breakage only
at the joint’s center point. Therefore, full
in Figure 3.13(c), the joints in these types of particles have associated
breakage will occur instantaneously in
initially a triangular shape. When one of those joints is deformed, those models for all particle shapes.

the distribution of stresses will be linear over that shape, possibly


with stress values that exceed the breakage limit in a portion of it.
Rocky will consider that this portion of the joint has broken and will
remove it from the joint. Thus, the joint area will be reduced and
the associated triangular shape will possibly be transformed into a
quadrilateral. Further partial breakage events will reduce even more
the joint area and transform its shape into an irregular polygon. In
this process, more vertices at which the breakage criterion is verified
will be added to the joint.22 As in the shell case, the geometrical 22
In solid particles, Rocky will continue
to add vertices to a joint until a maxi-
properties of the joint will be recalculated at each partial breakage mum of 10 vertices has been reached.
event. The described process will continue until the breakage criterion
has been satisfied in the whole extension of the joint. At that moment
the joint will be fully broken and, consequently, it will be disabled.
As shown in Figure 3.14, the determination of the stress variation
along a joint in a flexible shell is made considering the instantaneous
positions of the triangles located in the midplanes of the sphero-
triangle elements. As these entities do not have thickness, the
effect of the deformations associated to the bending around the first
bending axis and the torsion23 are not taken into account in that 23
See an illustration of these angular
deformations in Figure 3.7.
calculation. As the stresses associated to those deformations are
proportional to the shell thickness, which is usually much smaller
than the size of the triangles, the influence of them on the breakage
process is normally minor. However, Rocky users have now the
option of including those deformations on the breakage calculations,
if they consider it necessary. In order to do that, the checkbox
Include Rotational Deformations must be turned on. In such case, the
following stress is added to the tensile stress:

σnB1 = Kn00 d B1 = Kn00 δ sin(θ B1 /2) (3.34)

where:

© 2021, esss - all rights reserved


dem technical manual 66
ROCKY

• Kn00 is the joint normal stiffness per area unit, defined in section
3.2.1.

• d B1 is maximum linear deformation caused by the bending angular


deformation θ B1 , see Figure 3.15 below.

• δ is the shell thickness.

Figure 3.15: Tensile deformation due to


bending around the first bending axis,
for a joint in a flexible shell

Similarly, the following stress related to the torsion deformation is


added to the shear stress, if the breakage criterion is based on that
stress component:

στT = Kτ00 d T = Kτ00 δ sin(θ T /2) (3.35)


where:

• Kτ00 is the joint tangential stiffness per area unit, defined in section
3.2.1.

• d T is maximum linear deformation caused by the torsion angular


deformation θ T .

• δ is the shell thickness.

When the checkbox Include Rotational Deformations is enabled for


flexible fibers, the same additional stresses described above are
considered. In that case, the expressions for calculating those
stresses are the same of equations (3.34) and (3.35), replacing the
shell thickness by the fiber diameter. On the other hand, for solid
flexible particles, the linear deformations caused for all three angular
deformations are always considered for the calculation of stresses,
since in that case there is no internal simplification on the geometrical
representation of the tetrahedral elements.

The following sections describe the joint breakage criteria currently


implemented in Rocky.

© 2021, esss - all rights reserved


dem technical manual 67
ROCKY

3.4.1 Tensile stress criterion

When this criterion is selected, only tensile stresses at the joint will
be verified in order to determine if a joint or a portion of a joint will
break. The condition of breakage in this case can be expressed as:

f
Kn00 dnv > σn (3.36)
where:

• Kn00 is the joint normal stiffness per area unit, defined in section
3.2.1.

• dnv is the instantaneous displacement of a vertex of the joint, in the


normal direction.
f
• σn is the tensile stress limit for joint fracture, which is a user input
listed as Tensile Stress Limit in the Rocky UI.

3.4.2 Shear stress criterion

In this criterion, only the shear stress generated at the joint is analyzed
for determining if a joint or a portion of a joint will break. The shear
stress criterion is formulated as:

f
Kτ00 dτv > στ (3.37)
where:

• Kτ00 is the joint tangential stiffness per area unit, defined in section
3.2.1.

• dτv is the instantaneous displacement of a vertex of the joint, in the


tangential direction.
f
• στ is the shear stress limit for joint fracture, which is a user input
listed as Shear Stress Limit in the Rocky UI.

3.4.3 Tensile or shear stress criterion

This is a combination of the previous two criteria. At every vertex


of a joint both conditions, given by equations (3.36) and (3.37), are
verified and if any of them is satisfied, the joint breaks locally at the
vertex. When this criterion is selected, both the Tensile Stress Limit and
the Shear Stress Limit must be specified.

© 2021, esss - all rights reserved


dem technical manual 68
ROCKY

3.4.4 von Mises stress criterion

This criterion is formulated in terms of the von Mises stress, which is


a scalar value of stress computed with the stress tensor components.
Using the known forces at a joint vertex, this criterion can be expressed
as: q
f
(Kn00 dnv )2 + 3 (Kτ00 dτv )2 > σv (3.38)
where:

• Kn00 and Kτ00 are the joint normal and tangential stiffness per area
unit, respectively, defined in section 3.2.1.

• dτv and dτv are the instantaneous displacements of a vertex of the


joint, in the normal and tangential directions, respectively.
f
• σv is the von Mises stress limit for joint fracture, which is a user
input listed as von Mises Stress Limit in the Rocky UI.

3.4.5 Griffith surface energy

This criterion is more suitable for modeling the breakage of flexible


solid particles. It is based on a balance between the potential energy
stored in a joint when it is deformed and the energy released when a
fracture propagates. This latter energy is related to the surface energy,
which is a input parameter of the model. For further details, please
refer to the papers of Potapov & Campbell.24 , 25 24
Potapov, A. V. and Campbell, C. S.
(1994). Computer simulation of impact-
induced particle breakage. Powder Tech-
nology, 81:207–216
25
Potapov, A. V., Campbell, C. S.,
and Hopkins, M. A. (1995). A two-
dimensional dynamic simulation of
solid fracture. Part I: description of the
model. International Journal of Modern
Physics C, 6(3):371–398

© 2021, esss - all rights reserved


dem technical manual 69
ROCKY

4 Statistics modules in Rocky


Statistics modules in Rocky collect relevant instantaneous data
from the simulation during finite lapses of time, and then associate
derived statistical information from that data to different entities,
in order to let users visualize it in useful ways. Such statistical
information, besides being usually more meaningful than simple
instantaneous data, may provide a deeper insight into the dynamics
of the simulated particulate processes.
Currently, Rocky includes four modules of collision statistics, one
module of CFD coupling statistics, and two forms of energy spectra
curves. All of them are described throughout this chapter.

4.1 Statistics types in Rocky


For the sake of presentation, the statistics provided by Rocky can
be classified into two main groups: event-based and integral-type
statistics. The specifics of each one of these groups is described in the
following sections.

4.1.1 Event-based statistics

An individual value that characterizes an event in a simulation,


typically a collision, can be taken as a random variable that Rocky
can record during a simulation. Based on these recorded values,
Rocky will calculate statistics that may allow users to characterize the
probability distributions associated to such random variables.
Let ψ be a random variable that has a single observed value per
event, ψi . Considering that Nκ is the number of events that occurred
during a time collection interval, the statistics calculated by Rocky
based on the collected data are the following:

© 2021, esss - all rights reserved


dem technical manual 70
ROCKY

N
∑ i=κ 1 ψi
Mean value: ψ= (4.1)

s
N
∑ i=κ 1 ( ψi − ψ )2
Standard deviation: σψ = (4.2)

N
∑ i=κ 1 ( ψi − ψ )3
Skewness: Sψ = (4.3)
Nκ σψ3
N
∑ i=κ 1 ( ψi − ψ )4
Kurtosis: Zψ = (4.4)
Nκ σψ4

The values of these statistics can assist users in the characterization


of the probability distribution associated to the random variable ψ.
For instance, the mean is a measure of the central tendency of the
variable for the set of observed values. The standard deviation is a
measure of the dispersion of the observed values in relation to the
mean. Moreover, the value of the skewness indicates how much and
in which direction a distribution departs from symmetry.1 Finally, the 1
Brown, S. (2008–2017). Measures
of shape: skewness and kurtosis.
value of the kurtosis indicates how tall and sharp the central peak of https://brownmath.com/stat/shape.htm
a distribution is.

4.1.2 Integral-based statistics

These statistics are based on integral expressions including physical


magnitudes that vary during period of time. Two typical examples
are the statistics based on the work and on the impulse, both of which
are related to applied forces over particles or boundary triangles.

4.1.2.1 Works

Three types of work are considered in collision statistics modules,


which in Rocky are called dissipation work, impact work, and shear
work, respectively. The dissipation work is numerically equal to the
amount mechanical energy transformed irreversibly into other forms
of energy during a collision. On the other hand, the impact work is
related to the energy considered in breakage models for quantifying
the damage on the particle’s material that might lead to breakage.
Finally, the shear work is the one used to predict the abrasive wear of
surface boundaries in Rocky.

© 2021, esss - all rights reserved


dem technical manual 71
ROCKY

The primary source of energy dissipation during a collision is


related to the inelastic nature of the contact force. The dissipation
work done by this force during a collision κ is calculated as:
Z
Wκ,diss
c =− Fc · vcrel dt (4.5)
κ

where Fc is the total contact force and vcrel is the instantaneous relative
velocity at the contact point. The total contact force is given by the
expression:
Fc = Fn n̂c + Fτ (4.6)

in which Fn and Fτ are, respectively, the normal and tangential com-


ponents of the contact force, calculated by any of the corresponding
contact models described in sections 2.1.1 and 2.1.2. Additionally, n̂c
is the normal unit vector of the contact.
When a rolling resistance model is enabled in the simulation, there
will be a contribution of the rolling resistance moment to the energy
dissipation. This contribution will be given by the work:
Z
Wκ,diss
r = − M r · ω rel dt (4.7)
κ

where M r is the rolling resistance moment, calculated by any of the


models described in section 2.3, whereas ω rel is the relative angular
velocity, defined in the aforementioned section.
Similarly, when an adhesion model is active, the adhesive force
may produce some energy dissipation as well. The associated work
in this case will be given by:
Z
Wκ,diss
adh = − Fn, adh dsn (4.8)
κ

where Fn, adh is the adhesive force calculated considering one of the
available adhesion models in section 2.2, while sn is the overlap.2 2
The adhesive force acts only on the
normal direction, therefore, it is only
In the most general case, the total dissipation work associated to a needed to consider the displacement in
collision, considered in all collision statistics modules, will be given that direction, which coincides with the
overlap.
by the sum:
Wκdiss = Wκ,diss diss diss
c + Wκ, r + Wκ, adh (4.9)

Normally, the main contribution to the dissipation of energy in


a collision will be the work made by the normal component of the
contact force. In a normal-force-overlap diagram of a simple collision,
as the one depicted in Figure 4.1, that work will be numerically

© 2021, esss - all rights reserved


dem technical manual 72
ROCKY

L oa d i n g

in g
lo ad
Un

O B Figure 4.1: Normal-force-overlap dia-


gram of a simple collision.

equal to the green area enclosed by the curve. As can be seen in


that diagram, the work made during the loading portion of the
collision, represented by the area below the curve OA, is larger than
the dissipation work. The work made during the loading will coincide
with the maximum energy transferred in a collision,3 and because of 3
Part of that energy will be recovered as
mechanical energy during the unloading
that it is usually considered when analyzing the material damage that portion. The other part will be trans-
may lead to the breakage of particles. In Rocky this work is called formed irreversibly into other energy
forms.
impact work, and it is defined in general as:4 4
In collisions with complex cycles of
Z loading–unloading–reloading, the inte-
imp gration domain of the impact work
Wκ = Fn dsn (4.10)
comprehends all intervals in which the
κ, loading overlap increases.

For the built-in contact models in Rocky, particularized expressions


derived from equation (4.10) are used in order to compute the impact
work. For instance, the expression used along with the hysteretic
linear spring model is the following:

imp Fc2
Wκ = , valid when ṡn > 0 (4.11)
2 Knl

where Fc is total contact force given by equation (4.6), while Knl is the
loading equivalent stiffness, defined in equation (2.3). This expression
includes a small contribution of the tangential component of the
contact force, since Fc includes that component.
The shear work, employed also in the wear model described in
section 2.5, is calculated in Rocky using the expression:
Z
Wκshear = | Fτ | dsτ (4.12)
κ

where Fτ is the component of the contact force on the tangential plane,


whereas sτ is the sliding distance, that is, the displacement parallel to
the tangential plane of the contact. In this case the integral is defined
over the entire collision interval.

© 2021, esss - all rights reserved


dem technical manual 73
ROCKY

Finally, for particles colliding with moving boundaries, the work


made by contact forces against the boundary’s motion is also
calculated. This work is defined by the integral:
Z
Wκb = Fc · vcb dt (4.13)
κ

where Fc is the total contact force, while vcb is the boundary velocity at
the contact point. This work is defined over an entire collision κ, and
can be either positive or negative. It will be positive if the boundary
transfers energy to the particles and negative if the flow of energy is
in the opposite direction.
The values of all integrals defined in this section are approximated
numerically using the trapezoidal rule,5 which is formally second- 5
Jeffrey, A. and Dai, H. H. (2008). Hand-
book of mathematical formulas and integrals.
order accurate. The values of work defined herein are used by the Academic Press
different collision statistics modules in order to calculate derived
properties. Those derived properties involve sums of the works
associated to all collisions occurred during a data collection interval.
When a collision extends across several data collection intervals, the
partial values of the integrals up to the end of a given interval are
summed to the corresponding statistics on that interval. In that way,
values of integral-based statistics are influenced only by variations that
occurred strictly during the corresponding collection data interval.6 6
This behavior is different from the
one in event-based statistics, in which
After the partial value of an integral is registered for output at the new values are always associated to the
end of a data collection interval, the corresponding accumulator is interval in which the end of a collision
occurs.
reset to zero in order to prevent taking into account the same collision
data more than once.

4.1.2.2 Impulses

The computation of forces and/or stresses in the statistics modules


requires the values of the impulses associated to the applied forces.
The definition and the actual calculation of those impulses is
straightforward. For the collision statistics modules, for instance,
the impulses associated to the components of the contact force during
a collision κ are calculated as:
Z
∑ Fγ ∆t
γ
Jκ ≡ Fγ dt ≈ for γ = n, τ (4.14)
κ κ

where ∆t is the simulation timestep, while Fγ is either the normal


or tangential contact force as calculated using the corresponding
normal or tangential model. The sum in the preceding expression

© 2021, esss - all rights reserved


dem technical manual 74
ROCKY

comprehends the entire duration of the collision. Moreover, for the


purpose of computing impulses on particles, every force component
is treated independently as if it were a pure scalar.
Similarly, if the simulation includes adhesive forces, the corre-
sponding impulse will be given by:
Z
Jκadh ≡
κ
Fn, adh dt ≈ ∑ Fn, adh ∆t (4.15)
κ

The impulse associated to the total force exerted over a boundary


triangle during a collision is registered also, exclusively for the
determination of FEM forces in boundary collision statistics. This
impulse, expressed as a vector in Cartesian coordinates, is defined as:
Z
Jκ ≡
κ
(Fc − Fn, adh n̂) dt ≈ ∑ (Fc − Fn, adh n̂) ∆t (4.16)
κ

where Fc is the contact force, defined in equation (4.6), Fn, adh is the
adhesive force, n̂ is the contact normal unit vector, and ∆t is the
simulation timestep.
For the exclusive use in the CFD coupling statistics module,
the following impulse is calculated, based on the coupling force
magnitude:
Z
J f →p ≡
∆t p,out
| F f → p | dt ≈ ∑ | F f → p | ∆t (4.17)
∆t p,out

where F f → p is one of the CFD coupling interaction forces acting over


a particle, whereas ∆t p,out is the time interval over which the referred
impulse is calculated. This time interval is defined later on in section
4.3.

4.1.2.3 Frequency

Although the definition of the collision frequency displayed in


collision statistics modules is not based on an integral expression, it is
listed here for the sake of completeness. This frequency is calculated
as:

f = (4.18)
∆tout
7
When determining the value of Nκ
where Nκ is the total number of collisions registered on the data for equation (4.18), some effort is made
in order to avoid counting collisions
collection region, during the data collection time interval.7 Moreover, with multiple contact locations as mul-
∆tout is the data collection time interval, which is the time lapse tiple collisions, in cases when that
phenomenon is an artifact caused by
between two consecutive outputs. the discretized representation of the
surfaces.

© 2021, esss - all rights reserved


dem technical manual 75
ROCKY

4.2 Collision statistics modules


Since Rocky v4.4, four collision statistics modules are available in
Rocky. The main difference between them is the spatial scope of the
data collection and the way data is associated to geometrical entities
for the purpose of visualization and post-processing. This is shown
schematically in Figure 4.2.
In the first module, boundary collision statistics, collision data is
collected and displayed per boundary triangle. The equivalent module
on the particle side is inter-particle collision statistics, in which data is
collected and displayed per particle. On the other hand, intra-particle
collision statistics only registers collisions involving particles belonging
8
A particle group in Rocky is a category
of particles of the same shape and
to a given particle group,8 and associates the data to vertices on its sharing the same properties.

surface, according to the actual position of the collision points relative


to the particle. Finally, inter-group collision statistics gathers collision
data from all collisions involving a pair of particle groups or a particle
group-boundary pair. The specifics of each one of these modules are
described later in this chapter. 9
An output time is the simulation time
at which Rocky stores relevant data that
The lapse of time in which all collision statistics modules collect later can be used for visualization and
post-processing. The lapse between two
collision data is the interval between two consecutive output times.9
consecutive output times is specified
Although statistical properties are generated from collision data through the Output Frequency parameter
in the Solver|Time panel.
registered during a data collection interval, they still will be associated
to an output time for the purpose of visualization and post-
10
In order to help clarify if a given prop-
erty is instantaneous or was generated
processing.10 As indicated schematically in Figure 4.3, if two output by a collision statistics module, Rocky
will indicate this in the new Evaluation
times i and i + 1 delimit the data collection interval i, the statistical column present in every panel listing
properties generated from collision data collected in that interval will boundary or particle properties.

Boundary collision statistics Inter-particle collision statistics Intra-particle collision statistics Inter-group collision statistics

Scope: per particle group pair or


Scope: per boundary triangle Scope: per particle Scope: per vertex/particle group particle group / boundary

Figure 4.2: Four built-in collision statis-


tics modules in Rocky.

© 2021, esss - all rights reserved


dem technical manual 76
ROCKY

be associated to the output time i + 1. In other words, any statistical


property available at a given output time corresponds to the interval
delimited by that output time and the previous one.

Output time i+1


Output time i

Simulation timestep
Time
Figure 4.3: Data collection time interval.
Data collection interval i

As mentioned previously, each collision statistics module considers


a different geometric entity as a spatial unit for collecting collision
data. This spatial unit is called herein data collection region. For
instance, on boundary collision statistics, this region is the surface of
a triangle making up a boundary. On inter-particle collision statistics,
the data collection region is the whole surface of a particle.
It is important to specify what is defined as a collision event in the
collision statistics modules available in Rocky. In general, a collision
event occurs whenever a particle’s surface touches the surface of
another particle or a boundary. The collision begins at the instant
that an overlap between two surfaces arises, and finishes when that
overlap decreases to zero.11 The values of all variables associated to a 11
If immediately after the overlap has
reduced to zero it begins to increase
collision event are registered only when the collision finishes. Because again, this is considered as a new colli-
of that, in long-lasting collisions it is possible that those values may be sion event.

registered in data collection intervals ahead of the intervals in which


the collisions actually began.
Particles with complex shapes, such as concave polyhedral or multi-
branched fibers, can touch another particle or boundary at multiple
locations. As each of these different contacts can begin at a different
time or have a different duration, every one of these contact locations
are considered a separate collision event. Multiple contact locations
can arise also as a consequence of the discretized representation of
the surfaces of particles and boundaries. Such representation includes
triangles, edges, and vertices, and whenever any of those entities
on one surface touches an entity on another surface, an individual
collision event will be registered.

© 2021, esss - all rights reserved


dem technical manual 77
ROCKY

4.2.1 Boundary collision statistics

When the boundary collision statistics module is enabled, data from


all particle-boundary collisions is collected in order to calculate
statistics that will be available for visualization on the surface of
boundaries.12 The data collection units are the boundary triangles 12
Since Rocky allows users to choose
which sub-categories of statistics will be
in this case. This means that a given statistical value displayed effectively calculated, only the collision
on a boundary triangle is representative of data from all collisions data needed for those calculations will
be collected during the simulation, in
involving that triangle that occurred during a data collection interval. order to save memory and disk space.
The available properties in boundary collision statistics are listed
in Table 4.1. When duration, impact velocity or sliding distance are
enabled, all four statistics will be available for visualization: mean,
standard deviation, skewness, and kurtosis. Herein, the collision
duration is defined as the time period in which an actual overlap exists
between the two colliding entities. On the other hand, the impact
velocity is defined as the relative velocity between the colliding entities
at the instant that the contact begins. Moreover, the sliding distance is
the distance that a particle moves relative to the boundary during a
collision, in a direction parallel to the boundary triangle where the
collision occurs.
In Rocky, intensity is defined as power transferred per unit area. The
basis for the calculation of the intensities are the works made by the
contact forces during a collision, whose calculation was described in

Property Type Calculation

Duration event-based equations (4.1)–(4.4)


Velocity : Impact : Normal event-based equations (4.1)–(4.4)
Velocity : Impact : Tangential event-based equations (4.1)–(4.4)
Sliding Distance event-based equations (4.1)–(4.4)
Frequency equation (4.18)
Intensity : Dissipation integral-based equation (4.19) using Wκα = Wκdiss from equation (4.9)
imp
Intensity : Impact integral-based equation (4.19) using Wκα = Wκ from equation (4.10)
Intensity : Shear integral-based equation (4.19) using Wκα = Wκshear from equation (4.12)
Intensity integral-based equation (4.19) using Wκα = Wκb from equation (4.13)
Jκ = Jκn from equation (4.14), for
γ
Stress : Normal integral-based equation (4.23) using γ=n
γ
Stress : Tangential integral-based equation (4.23) using Jκ = Jκτ from equation (4.14), for γ=τ
Jκ = Jκadh from equation (4.15)
γ
Stress : Adhesive integral-based equation (4.23) using
FEM Forces integral-based equations (4.24)–(4.25)

Table 4.1: Available boundary collision


statistics, as of v4.4

© 2021, esss - all rights reserved


dem technical manual 78
ROCKY

section 4.1.2.1. All forms of intensity provided by boundary collision


statistics are computed per boundary triangle, using the following
expression:
Nκ,T
α ∑ κ =1 (Wκα )b
Ib,T = (4.19)
A T ∆tout

where A T is the area of the boundary triangle and ∆tout is the data
collection time interval. The sum involves all collisions occurred
during that time interval against the boundary triangle.13 As specified 13
As can be seen from the definition in
equation (4.19), the intensities calculated
in Table 4.1, an intensity will correspond to each work defined in are in fact average values, representative
section 4.1.2.1. An important detail that must be taken into account is of all collisions that occurred during the
data collection time interval within the
that the work used in equation (4.19) is only the part of the collision boundary triangle surface.
work that can be attributed to the boundary side. The work Wκα in a
particle-boundary collision is divided between the particle and the
boundary according to the expressions:

(Wκα ) p = λ p Wκα (4.20)

(Wκα )b = (1 − λ p ) Wκα (4.21)

where λ p is a splitting factor. For the splitting of both the dissipation


and the impact work, that factor is defined as:

Kn,b
λp = (4.22)
Kn,b + Kn,p

where Kn,p and Kn,b are the stiffnesses attributed to the particle and
the boundary, respectively, defined similarly to equations (2.5) and
(2.6). Regarding the shear work, it is distributed evenly with a
splitting factor λ p = 1/2. Finally, the work Wcb is attributed entirely
to the boundary, therefore, λ p = 0 is considered in that case.
Regarding the stresses listed in Table 4.1, the expression used to
compute them is equivalent to the one considered for intensities,
being necessary only to replace the works by impulses. Therefore, the
corresponding expression is:
N γ

κ,T

γ
σb,T = κ =1 (4.23)
A T ∆tout

γ
where Jκ are the impulses, computed using either equation (4.14) or
equation (4.15).
Boundary collision statistics is able to record also average collision
forces acting over boundaries. These forces can be exported to a
third-party software to perform structural analysis using the finite

© 2021, esss - all rights reserved


dem technical manual 79
ROCKY

element method (FEM). Usually boundary conditions for that kind of


analysis are nodal forces, that is, forces acting on the vertices of the
triangles making up the boundaries. Therefore, in order to facilitate
the transfer of data to a finite element software, Rocky provides those
nodal values of forces, based on collected forces per boundary triangle.
These latter ones are determined using the expression:

Nκ,T γ
γ ∑ κ =1 Jκ
Fb,T = (4.24)
∆tout
γ
where Jκ is any of the Cartesian components (γ = x, y, or z) of the
vector impulse computed with equation (4.16). As in other cases,
the sum in this equation includes all collisions registered against the
boundary triangle T during the data collection interval ∆tout .
In order to obtain the nodal values of force, it is considered that
collisions over a boundary triangle are randomly distributed, so the
resulting force on the boundary triangle can be split evenly between
its three vertices.14 Therefore, a component of the combined force on 14
The value attributed to a vertex would
be representative of a region of area
one of those vertices will be given by: equal to one third of the triangle’s area.
NT
1

γ γ
Fb,v = 3 Fb,T (4.25)
T =1
γ
where NT is the number of triangles surrounding a vertex v, while Fb,T
is a component of the average force on every one of those triangles,
obtained using equation (4.24).
FEM forces are the only properties that the boundary collision
statistics module associates exclusively to boundary vertices, for both
visualization and exportation purposes. All other properties are
associated primarily to boundary triangles, although there exists also
the option of displaying them as a node-based field representation
over the boundary surfaces. For this, vertex values are computed as
averages of the values corresponding to the surrounding triangles.

4.2.1.1 Curves

Additionally to the visualization of the spatial distribution of


15
These curves are created automatically
by Rocky if the related property cate-
intensities and stresses over the boundary surfaces, Rocky provides gory is enabled in boundary collision
statistics. Curves related to properties
also time curves in which each point is the integrated value of a generated by other collision statistics
given property over a whole boundary at a given output time.15 For modules might be created also, the
difference is that those curves must
example, the integration of an intensity over a boundary will give rise be created manually by users with the
to a power curve: options provided by the Rocky UI. For
details about the creation of curves,
please refer to the Rocky User Manual.

© 2021, esss - all rights reserved


dem technical manual 80
ROCKY

Z NT
Pbα ≡
b
I α dA ≈ ∑ α
Ib,T AT (4.26)
T =1

α is a value of intensity computed with equation (4.19) on a


where Ib,T
triangle of area A T located on a boundary b, while NT is the number
of triangles making up that boundary.16 16
If we consider the dissipation intensity
in equation (4.26), we will obtain the
The integration of the stresses over a boundary allows Rocky to dissipation power. Conversely, if we
determine the total forces acting on it. For instance, the normal force consider the impact intensity, we will
obtain the impact power, and so on.
curve is obtained via the integration:

Z NT
Fbn ≡
b
σn dA ≈ ∑ n
σb,T AT (4.27)
T =1

n is the normal stress computed with equation (4.23) in the


where σb,T
boundary triangle of area A T .
When the Cartesian components of the force are available at the
boundary vertices, because they were calculated through equation
(4.25), the components of the total force over a whole boundary are
obtained using:
Nv
∑ Fb,v
γ γ
Fb = (4.28)
v =1

4.2.2 Intra-particle collision statistics

The intra-particle collision statistics module keeps track of all


collisions involving particles that belong to a given particle group.
Then, depending on the collision location over a particle’s surface, it
associates the collected data to a geometric entity of the discretized
representation of the surface, for the purposes of visualization. Since
all particles in a particle group have the same shape, the statistics
can be displayed over the surface of a single particle of the group.
However, it is important to note that every value displayed at a given
location is representative of all collisions that occurred at that location,
on any particle of the group.
As of v4.4, intra-particle collision statistics is available for poly-
hedral single-sized rigid particles17 and for both flexible fibers and 17
Therefore, particle groups with size
distributions or with a breakage model
flexible solid particles. As illustrated in Figure 4.4, the data collection enabled are excluded from intra-particle
region for polyhedral particles is a non-planar region around a vertex collision statistics.

on the particle surface, while for flexible particles it is the whole


surface of an element making up the particle. In the case of a
polyhedral particle, statistics values are associated to the surface
vertices, therefore, the color displayed at a vertex is related to the

© 2021, esss - all rights reserved


dem technical manual 81
ROCKY

value attributed to that location. Colors at points other than vertices


are determined via interpolation, so the visual representation of
the available statistics usually shows a smooth variation over the
particle’s surface. On the other hand, the statistics calculated for
flexible particles are represented as a single color per element.

(b)
Data collection region

Figure 4.4: Data collection region for


(a) intra-particle collision statistics on (a)
rigid polyhedral particles and (b) flexi-
ble fibers.

It is worth discussing now the criteria considered to associate the


collision data to a vertex in polyhedral particles. The simplest case is
when a collision point coincides with a vertex on the particle’s surface.
Obviously, in that event the data is associated directly to that vertex.
On the other hand, if the contact point is located on an edge, the
association is made to the nearest vertex on that edge. Moreover,
when a collision point is located inside a triangle, a barycentric
subdivision of the triangle is considered in order to determine to
which vertex the collision data must be associated. In this kind of
subdivision, a triangle is divided into three sub-regions of equal
area, each one limited by two line segments whose endpoints are the
triangle centroid and an edge midpoint, as shown in Figure 4.5. If a
collision point lies on one of these sub-regions, then the collision data
is associated to the corresponding vertex.
Table 4.2 lists the available intra-particle collision statistics and the
way they are calculated. The duration and impact velocity statistics
are defined and computed exactly in the same way described in
section 4.2.1, for the boundary collision statistics module. Regarding
the integral-based statistics, there is an important difference that
must be taken into account, however. A value attributed to a vertex
or to an element is the result of the accumulation of collision data
coming from, potentially, all particles belonging to the particle group.
Therefore, in order to transform that cumulative value into an average

© 2021, esss - all rights reserved


dem technical manual 82
ROCKY

Vertex

Midpoint

Centroid

Figure 4.5: Construction of a data collec-


tion region on a polyhedral particle.

value representative of a single particle in the group, we need to


divide it by the number of particles that belongs to the group in the
simulation, Npact , at the moment of storing the information. So, for
example, the average collision frequency must be defined as:

Nκ,v
f p,v = (4.29)
∆tout Npact

The average impact and dissipation intensities are calculated using


the expression:
N
∑ κ =1 (Wκα ) p
κ,v
α
I p,v = (4.30)
Av ∆tout Npact

where Av is the area of the data collection region around a vertex,18


for polyhedral particles, or the area of the entire surface of an element, 18
The area of the non-planar region
illustrated in Figure 4.4(a)
for flexible particles.

Property Type Calculation

Duration event-based equations (4.1)–(4.4)


Velocity : Impact : Normal event-based equations (4.1)–(4.4)
Velocity : Impact : Tangential event-based equations (4.1)–(4.4)
Frequency equation (4.29)
Intensity : Dissipation integral-based equation (4.30) using Wκα = Wκdiss from equation (4.9)
imp
Intensity : Impact integral-based equation (4.30) using Wκα = Wκ from equation (4.10)
Intensity : Shear integral-based equation (4.30) using Wκα = Wκshear from equation (4.12)
γ
Stress : Normal integral-based equation (4.31) using Jκ from equation (4.14), for γ = n
γ
Stress : Tangential integral-based equation (4.31) using Jκ from equation (4.14), for γ = τ
γ
Stress : Adhesive integral-based equation (4.31) using Jκ from equation (4.15)

Table 4.2: Available intra-particle colli-


sion statistics, as of v4.4

© 2021, esss - all rights reserved


dem technical manual 83
ROCKY

Equation (4.30) takes into account only the work made by the
considered particle. In particle-boundary collisions, the dissipation
and the impact work are divided as specified in equations (4.20)–
(4.22). The splitting of those works in particle-particle collisions is
made analogously, since it is enough to replace boundary properties
by the ones of the second particle in the referred equations. On the
other hand, the shear work is distributed evenly between the colliding
entities in both particle-boundary and particle-particle collisions.
Finally, the average components of the stress listed in Table 4.2 are
calculated using the expression:

N γ
∑ κ =1 Jκ
κ,v
γ
σp, v = (4.31)
Av ∆tout Npact

γ
where Jκ is either the impulse of the normal or the tangential
contact force, calculated as in equation (4.16), or the adhesive impulse,
calculated with equation (4.15). The other parameters are the same as
described above.

4.2.3 Inter-particle collision statistics

The statistics computed by the inter-particle collision statistics module


involves data collected from collisions that occurred on the entire
surface of a particle. That is, during a data collection interval, all
collisions involving any particle within the simulation will be tracked
and the statistics calculated with the collected data will be associated
to the particle itself. The generated statistics will appear as additional
particle properties in the Rocky UI.19 They can be visualized on a 3D 19
In the Rocky UI, particle properties
generated by the inter-particle collision
view window as any other particle property in Rocky, mapping the statistics module are marked as Sta-
property value to a color scale. tistical, in order to differentiate them
from the built-in particle properties,
Table 4.3 lists the current available statistics provided by the inter- which are marked as Instantaneous in
the Evaluation column.
particle collision statistics module. All event-based statistics and the
collision frequency are calculated as described for boundary collision
statistics in section 4.2.1, the only difference is that the data comes
from the collisions registered against a particle’s surface during a data
collection interval.
The dissipation power along with the impact and shear power are
calculated using the expression:
Nκ,p
∑ (W α ) p
Ppα = κ =1 κ (4.32)
∆tout

© 2021, esss - all rights reserved


dem technical manual 84
ROCKY

Property Type Calculation

Duration event-based equations (4.1)–(4.4)


Velocity : Impact : Normal event-based equations (4.1)–(4.4)
Velocity : Impact : Tangential event-based equations (4.1)–(4.4)
Frequency equation (4.18)
Power : Dissipation integral-based equation (4.32) using Wκα = Wκdiss from equation (4.9)
imp
Power : Impact integral-based equation (4.32) using Wκα = Wκ from equation (4.10)
Power : Shear integral-based equation (4.32) using Wκα = Wκshear from equation (4.12)
γ
Force : Normal integral-based equation (4.33) using Jκ from equation (4.14), for γ = n
γ
Force : Tangential integral-based equation (4.33) using Jκ from equation (4.14), for γ = τ
γ
Force : Adhesive integral-based equation (4.33) using Jκ from equation (4.15)

Table 4.3: Available inter-particle colli-


sion statistics, as of v4.4
using the appropriate work, as indicated in Table 4.3. Again, the
sum will involve all registered collisions against the particle’s surface,
during the ∆tout interval. The same considerations made in section
4.2.2 regarding the splitting of a collision’s work between particles or
particle and boundary apply here.
Similarly, the average normal, tangential, and adhesive forces are
computed by means of:
Nκ,p γ
∑ Jκ
Fp
γ
= κ =1 (4.33)
∆tout
γ
where Jc is a component of the contact impulse, computed as in
equation (4.14), or the adhesive impulse, defined in equation (4.15).

4.2.4 Inter-group collision statistics

The inter-group collision statistics module classifies all collisions that


occurred during a data collection interval, taking into account which
group a colliding particle belongs to,20 and considering all possible 20
Let’s remember again that a particle
group is a category of particles of the
combinations of groups and boundaries. same shape and sharing the same prop-
Let’s illustrate this by means of an example: a simulation that erties.

includes 3 particle groups (P1 , P2 , P3 ), and 2 boundaries (B1 , B2 ). Any


collision in that simulation will involve a pair of particles or a pair
particle-boundary belonging to one of the 12 combinations listed in
Table 4.4.

Table 4.4: All possible pair combinations


P1 – P1 P1 – P2 P1 – P3 P1 – B1 P1 – B2
for a set of 3 particle groups and 2
P2 – P2 P2 – P3 P2 – B1 P2 – B2 boundaries.
P3 – P3 P3 – B1 P3 – B2

© 2021, esss - all rights reserved


dem technical manual 85
ROCKY

For any of such combinations, the inter-group collision statistics


module will generate time curves from data collected in all collisions
involving particles (or a particle and a boundary) of the given pair.
The curves generated by this module are listed together with the
built-in particle curves in the Rocky UI.
The available curves in inter-group collision statistics as of v4.4
are listed in Table 4.5. In the case of the energy curves, each point
is obtained by simply summing the corresponding works computed
in all collisions registered involving particles (or a boundary) of the
corresponding pair, during a data collection interval. Expressed
mathematically:
Nκ,pair
α
Epair = ∑ Wκα (4.34)
κ =1

where Wκα is either the dissipation, the impact, or the shear work per
collision.

Curve Type Calculation

Duration event-based equations (4.1)–(4.4)


Velocity : Impact : Normal event-based equations (4.1)–(4.4)
Velocity : Impact : Tangential event-based equations (4.1)–(4.4)
Frequency equation (4.18)
Energy : Dissipation integral-based equation (4.32) using Wκα = Wκdiss from equation (4.9)
imp
Energy : Impact integral-based equation (4.32) using Wκα = Wκ from equation (4.10)
Energy : Shear integral-based equation (4.32) using Wκα = Wκshear from equation (4.12)
γ
Force : Normal integral-based equation (4.33) using Jκ from equation (4.14), for γ = n
γ
Force : Tangential integral-based equation (4.33) using Jκ from equation (4.14), for γ = τ
γ
Force : Adhesive integral-based equation (4.33) using Jκ from equation (4.15)

Table 4.5: Available curves for inter-


group collision statistics, as of v4.4

The forces listed in Table 4.5 must be interpreted actually as average


values of the mean forces acting on all collisions involving a given pair,
during a data collection interval. The expression used to calculate
those average values is:

Nκ,pair γ
∑ Jκ
γ
Fpair = κ =1 (4.35)
∆tout

γ
where Jκ is the corresponding impulse in a collision involving the
given pair, calculated as in either equation (4.14) or equation (4.15).

© 2021, esss - all rights reserved


dem technical manual 86
ROCKY

4.3 CFD coupling particle statistics


CFD coupling particle statistics is a module introduced in Rocky
v4.5. It collects instantaneous values from particle-fluid interaction
variables and calculates with them average values that then are
associated to the particles. This originates new particle properties
that users may visualize in a 3D view window and post-process at
their convenience.
The currently available statistics are listed in Table 4.6. All of them
are integral-based statistics that represent average values of particle-
fluid interaction magnitudes measured during an output interval.21 21
Therefore, the data collection interval
is the time lapse between two consecu-
For instance, the average CFD interaction forces are calculated as: tive output times, as illustrated in Figure
4.3.
J f →p ∑ ∆t p,out | F f → p | ∆t
F f →p = = (4.36)
∆t p,out ∆t p,out

where J f → p is the impulse associated to the interaction force F f → p ,


which, in turn, is approximated as indicated in equation (4.17). The
time interval ∆t p,out is the time of residence of the particle p during
the output interval. Normally it will be equal to the output interval
itself, ∆tout , except in the case in which the particle entered the
simulation at some point within that interval. In that case ∆t p,out
p
will be equal to tout − trelease , where tout is the output time which
p
the statistics are associated to, while trelease is the time at which the
particle was released into the simulation. The previous definition can
be condensed into the expression:
 
p
∆t p,out = min ∆tout , tout − trelease (4.37)

Property Calculation

Drag Force equation (4.36) with F f → p = FD from eq. (3.5) of the DEM-CFD Coupling Technical Manual

Lift Force equation (4.36) with F f → p = F L from eq. (3.69) of the DEM-CFD Coupling Technical Manual

Virtual Mass Force equation (4.36) with F f → p = FCM from eq. (3.65) of the DEM-CFD Coupling Technical Manual

Pressure Gradient Force equation (4.36) with F f → p = F∇ P from eq. (3.4) of the DEM-CFD Coupling Technical Manual

Flow-Induced Torque equation (4.38) with M f → p from eq. (3.78) of the DEM-CFD Coupling Technical Manual

Convective Heat Transfer Rate equation (4.39) with q̇ f → p from eq. (4.2) of the DEM-CFD Coupling Technical Manual

Table 4.6: Available CFD coupling parti-


cle statistics, as of v4.5

© 2021, esss - all rights reserved


dem technical manual 87
ROCKY

Equivalent expressions are used to calculate the average values of


the flow-induced torque and the convective heat transfer rate. In the
case of the flow-induced torque, the average value is calculated as:

∑ ∆t p,out | M f → p | ∆t
M f →p = (4.38)
∆t p,out

where M f → p is the instantaneous value of the flow-induced torque


and ∆t is the simulation timestep.
For the convective heat transfer rate, its average is calculated using
the expression:
∑ ∆t p,out q̇ f → p ∆t
q̇ f → p = (4.39)
∆t p,out

where q̇ f → p is the instantaneous value of the convective heat transfer


rate.
The expressions that define the instantaneous values of each one of
the interaction magnitudes mentioned above are indicated in Table 4.6.
All of them are included in the DEM-CFD Coupling Technical Manual;
for further details about how those magnitudes are calculated please
refer to that manual.
Each one of the statistics offered by the CFD coupling particle
statistics module can be enabled individually in the Rocky UI. A
given statistics may be enabled even if the related interaction variable
is not active in the CFD coupling calculations performed by Rocky.
If that is the case, the related statistics will have zero values for all
particles at all output times. However, users must be aware that those
statistics still will occupy memory and disk space, for that reason they
must be careful and enable only statistics related to active variables.

4.4 Energy spectra


Energy spectra is another analysis tool present in Rocky, which
provides a very detailed view of how the energy is transferred
between particles in a simulation. In energy spectra plots, the collision
data collected during a simulation is classified based on the energy
levels of the individual collisions and then displayed accordingly.
Perhaps one of the most important applications of energy spectra is
the prediction of how much of the power consumed in a comminution
process actually promotes particle fragmentation. Energy spectra

© 2021, esss - all rights reserved


dem technical manual 88
ROCKY

plots can assist users in that analysis without the computational cost
of simulating processes involving an actual breakage model.
Three types of energy associated to collisions are considered in
energy spectra plots. These energy types are the same already
considered in the inter-group collision statistics modules described in
section 4.2.4:

• Dissipated energy. The fraction of the mechanical energy of the


particle or particles transformed irreversibly into other forms of
energy during a collision.
• Impact energy. The maximum energy transferred during a collision,
considered in the instantaneous breakage models to quantify the
damage of the particles’ material.
• Shear energy. The work done by the tangential contact forces during
a collision, used in the abrasive wear model of boundary surfaces.

These energies have correspondence with the works defined pre-


viously in section 4.1.2.1. In fact, for a given collision, the numerical
value of each one of these energies is equal to the corresponding work
defined there. Therefore, for a detailed description of the way the
works are calculated in Rocky, please refer to that section.
Depending on the source of the energy values considered, two
types of energy spectra plots are available in Rocky. In contacts
energy spectra, the energy values are collected collision-wise during
the simulation and categorized by particle group pair. Conversely, in
particles energy spectra the energy values are always related to particles,
which are classified by size and particle group. The following two
sections detail the specifics of these two energy spectra types.

4.4.1 Contacts energy spectra

When contacts energy spectra is enabled prior to processing, each of


the resulting post-processing curves involves one of the energy types
mentioned earlier, herein written in a generic way as Eα . That energy
is represented in the horizontal axis of the plot, whereas a related
physical magnitude per unit time, Y α , is represented in the vertical
axis, as depicted in Figure 4.6.22 In all of the equations below, α is 22
As described below, in a contact-based
energy spectra plot, Y α may be power,
used to indicate one of the three energy types considered in energy cumulative power, or collision rate.
spectra, namely, impact, shear, and dissipated energy.
Contact-based energy spectra follows the same approach consid-
ered in the inter-group collision statistics module to classify collision

© 2021, esss - all rights reserved


dem technical manual 89
ROCKY

Figure 4.6: Schematics of a typical


contact-based energy spectra plot.
1 2 3 -1

Logarithmic scale

energy data. Therefore, a contact-based energy spectra curve will be


generated for each pair of particle groups present in a simulation.
And similarly for every particle-group-boundary pair.23 23
For an example on how those pairs are
arranged internally, please see section
In order to construct an energy spectra plot, Rocky divides the 4.2.4
horizontal axis into a certain number of bins or buckets of equal length
when represented in a logarithmic scale. The range of values in the
α and Eα , which are user inputs
horizontal axis is determined by Emin max
listed as Min. Energy and Max. Energy in the Rocky UI.24 Moreover, 24
The same range is considered for all
α , Eα ] is divided is plots generated by the contact-based
the number of bins into which the interval [ Emin max energy spectra tool, independently of
determined by n p , which is listed as Number of Points . The position the type of energy considered.

of the division points between bins along the horizontal axis are
determined by the expression:

i
log Eiα = log Emin
α
+ α
(log Emax − log Emin
α
) , i = {0, 1, . . . , n p } (4.40)
np

As mentioned earlier, the main purpose of an energy spectra plot is


to provide insight into the distribution of the energies of all collisions
that occurred in a simulation up to a given time. As depicted in Figure
4.6, to each one of the bins defined above will correspond a point in
the graph.25 The horizontal coordinate of the point associated to the 25
As suggested by Figure 4.6, the con-
1 α struction of the energy spectra graphs
bin i will be given by 2 ( Ei −1 + Eiα ). The vertical coordinate will come is somewhat similar to the construction
from the sum of energies or other associated data from all collisions κ of histograms. However, in order to
facilitate the comparison of data from
which had an energy value Eiα−1 6 Eκα < Eiα during the time interval several sources in the same plot, only
points (and possibly lines) are actually
defined for the energy spectra plot. It is worth noting that energy
represented in energy spectra plots.
α , E α ].
values of some collisions can fall outside of the plot range [ Emin max
In that case, data from those collisions is attributed conventionally to

© 2021, esss - all rights reserved


dem technical manual 90
ROCKY

α (if Eα < Eα ) or Eα
the points with horizontal coordinates Emin κ min max (if
Eκα > Emax
α ).

In plots which have the power P α in the vertical axis, the vertical
coordinate of each point in a graph is calculated as:

∑ κ Eκα
Piα = , for all Eκα ∈ [ Eiα−1 , Eiα ) and t ∈ [ tstart , tout ) (4.41)
tout − tstart

where tout is the output time to which the plot corresponds, whereas
tstart is the time at which the energy data began to be registered.
The value of tstart can be specified in the Rocky UI through
Energy Spectra Start . Another parameter that controls when the energy
data begins to be collected is Energy Spectra Delay after Release . Data
of any collision occurring to a particle is ignored after its entrance
into the simulation, during a time lapse equal to the value of that
parameter.26 The sum in equation (4.41) comprehends all collisions 26
In some cases it can be desirable to
ignore the initial collisions during the
that fulfill the time constraint cited above and involves particles that continuous injection of particles into the
belong to a given pair of particle groups or a pair particle-group- domain, or during the initial transient
regime of a process. Appropriate values
boundary. As mentioned before, each curve in a contact-based energy of the time parameters of energy spectra
can help to achieve that effect.
spectra plot is always related to one of such pairs.
Another group of plots generated is related to the energy
registration rate. In that case, the vertical coordinates of each point of
those plots is given by:

n( Eκα )
f iα = , for all Eκα ∈ [ Eiα−1 , Eiα ) and t ∈ [ tstart , tout ) (4.42)
tout − tstart

where n( Eκα ) gives the number of registration events of energies whose


values fall into a given bin, during the time period in which the
collection of energy data is allowed. Here it is important to note that
different energy types can be registered at different times during a
collision. For instance, impact energy and shear energy are always
registered at the end of a loading period. On the other hand, the
dissipated energy is registered only when a collision finishes. Because
of that, impact and shear energy can be registered more times than
dissipated energy, since some collisions can present multiple loading-
unloading periods. For instance, in the example depicted in Figure
4.7, the impact and shear energies will be registered at points B, C,
and D, while the dissipated energy will be registered only at point E.
Cumulative power is a third category of plots generated by the
contact-based energy spectra tool. A cumulative power curve is
generated from the power values given by equation (4.41), as showed
schematically in Figure 4.8. The vertical coordinate of each point in a

© 2021, esss - all rights reserved


dem technical manual 91
ROCKY

Figure 4.7: Overlap-time diagram


of a collision with multiple loading-
unloading periods.
A E

cumulative power curve is given by:

np
C ( Piα ) = ∑ Pjα (4.43)
j =i

That is, the vertical coordinate of a cumulative power point results


from the sum of the vertical coordinates of all points in the power
curve located to the right, up to the given point.

Figure 4.8: Example of a cumulative


power curve (in purple) generated from
a power distribution curve (in green).

Logarithmic scale

4.4.2 Particles energy spectra

Particles energy spectra curves are cumulative power curves similar


to the ones described in the previous section, but constructed
considering collision energy values tracked and classified through
particles. In a collision, only a fraction of a collision energy is
attributable to the deformation of a colliding particle. Therefore,
the distribution of energy values per particles might provide an
alternative perspective to the one given by contact-based energy

© 2021, esss - all rights reserved


dem technical manual 92
ROCKY

spectra curves. Additionally, when a particle size distribution is


defined for a particle group, particle-based energy spectra curves are
categorized according to prescribed particle size ranges.
Figure 4.9 shows a typical energy spectra plot based on particle
energy values. Specific energy values are represented in the horizontal
axis, whereas cumulative specific power values are represented in the
vertical axis. For a given particle p, the specific energy is defined as:

Eαp
e pα = (4.44)
mp

where m p is the particle’s mass, and Eαp is the energy per particle in a
single registration event. As previously stated, α is used to indicate
one of the three types of energy considered in energy spectra plots:
impact, shear, or dissipated.
If at some point a particle is colliding simultaneously with several
other particles, Eαp will be the sum of the fractions related to the
particle p of the energies on all those collisions. That is:

Eαp = ∑ (Eκα ) p (4.45)


κ∈ p

where ( Eκα ) p is the fraction of the the collision energy that is


attributable to the particle p. The splitting of the collision energy
between two colliding particles or between a particle and a boundary
is made using the splitting factor defined in equation (4.22), following
exactly the same process described in section 4.2.1.

Figure 4.9: Schematics of a typical


particles energy spectra plot.

1 2 3 -1

Logarithmic scale

© 2021, esss - all rights reserved


dem technical manual 93
ROCKY

The range in the horizontal axis and its subdivision in bins is


α , e α , and n . These parameters are listed in
determined by emin max p
the UI as Min. Specific Energy , Max. Specific Energy , and Number of Points ,
respectively. The position of the division points along the horizontal
axis is given by:

i−1
log eiα = log emin
α
+ α
(log emax − log emin
α
) , i = {1, . . . , n p } (4.46)
np − 1

As depicted in Figure 4.9, the horizontal coordinate of a point


associated to a given bin coincides with the left division point of
the bin. The vertical coordinate is the cumulative specific power
associated to an energy level, which is given by:

n p −1
C ( P̂i,αs ) = ∑ P̂j,α s (4.47)
j =i

where the specific power for each bin is determined as:

∑ j Eαp, j Eαp, j
P̂i,αs = , for all Eαp, j such that ∈ ( eiα , eiα+1 ]
∑ p m p ∆t p mp (4.48)
and for all p for which L p ∈ ( Lsmin , Lsmax ]

The sum in the numerator of this equation includes all particles


energy registrations for which the corresponding specific energy falls
into the interval ( eiα , eiα+1 ] associated to the bin i. Additionally, that
sum includes only energies from particles of size L p in the size range
s, defined here as ( Lsmin , Lsmax ].27 In a similar way, the sum in the 27
As mentioned earlier, each curve in
a particles energy spectra plot corre-
denominator only includes particles in that size range. Finally, ∆t p in sponds to a given particle size range.
that expression is the time lapse in which energies from particle p are The size ranges considered there are the
same specified when the particle size
allowed to be registered. This time lapse is given by: distribution (PSD) for the particle group
was defined. For instance, if the PSD is
p specified as:
∆t p = tout − max(tstart , trelease + ∆tdelay ) (4.49) 0.05 – 100%
0.03 – 80%
where tout is the output time to which the plot corresponds, while 0.02 – 50%
three curves will be generated: one for
tstart is the time when energy data begins to be registered. On the the size range (0.03, 0.05], other for the
other hand, tdelay is the lapse of time after the release of particle range (0.02, 0.03], and other for the
single size 0.02.
p in which energy data must be ignored for the construction of
the energy spectra curves. The values of these last two parameters
can be specified in the Rocky UI through Energy Spectra Start and
Energy Spectra Delay after Release , respectively.

© 2021, esss - all rights reserved


dem technical manual 94
ROCKY

5 Miscellaneous topics
5.1 Contact detection
Broadly speaking, contact detection comprehends all geometrical
calculations related to the interaction among particles and between
particles and boundaries. Geometrical data needed for the calculation
of contact forces is computed during the contact detection phase.
Since Rocky deals with several types of particle shapes, including
custom polyhedral shapes of arbitrary complexity, contact detection
can easily take up a significant percentage of the total processing
time.
In order to optimize processing time, contact detection operations
are performed in two independent stages, as indicated in the flowchart
shown in Figure 5.1. The first stage is a rough search that aims to
determine a list of the particles that are closest to every particle in the
simulation. Since this is a costly operation, it is performed only after
some number of simulation timesteps, as indicated in the referred
flowchart. In the second stage, which is performed in every timestep,
the exact distances between neighbor particles are computed. In fact,
all relevant geometrical information regarding every pair of neighbor
particle-particle or neighbor particle-boundary is calculated in this
stage, taking into account the most recent positions of the particles in
the simulation.
In Rocky, neighbors of a particle are all particles located at a
distance less than a predetermined value δneighboring , herein called
neighboring distance. This is illustrated schematically in Figure 5.2. The
actual geometry of the particles is not taken into account in the first
stage of neighbor detection. Since this operation must involve every
pair of particles in the simulation, considering their actual geometry
would be infeasible. Instead, in order to determine if a particle is in
the neighborhood region of another, bounding spheres are considered
around every particle.1 Therefore, a particle will be included into the 1
The exception are flexible fibers, since
for them the actual geometry of the
list of neighbors of another if the distance between their bounding constituent sphero-cylinder elements is
spheres is less than δneighboring . considered.

© 2021, esss - all rights reserved


dem technical manual 95
ROCKY

Start Figure 5.1: Contact detection stages in


the general algorithm in Rocky.

First stage: Neighbors detection

New time step

Second stage: Neighbors distance calculation

Contact forces calculation

Motion equations integration

Particles positions update

Yes
Final time step?

No

Need No
neighborhood
Finalupdate?
time level?

End Yes

Figure 5.2: Neighborhood region of a


particle in Rocky.

Base particle

Neighbor particles

Non-neighbor particles

Neighborhood region

© 2021, esss - all rights reserved


dem technical manual 96
ROCKY

In the second stage of contact detection, neighbor pairs of particle-


particle or particle-boundary are examined in detail for determining
the relevant geometric parameters needed in the physical contact
models. Here, the actual geometries of the particles are considered,
therefore, the complexity of the calculations will depend on the type
of particles employed in the simulation. By far, the simplest case is
the contact between spherical particles. On the other hand, contact
calculations between polyhedral particles, as those depicted in Figure
5.3, are more difficult, since multiple scenarios must be examined. For
instance, the contact between polyhedra might be vertex-to-vertex,
vertex-to-edge, vertex-to-face, edge-to-edge, edge-to-face, or even face-
to-face. An extra level of complexity is added when the particles are
concave, since in this case multiple contacts can arise between the
same pair of particles.

Figure 5.3: Exact distance calculation


n
between neighbor particles.

Contact plane

(b)

(a)

Regardless of the actual complexity of the algorithms, the end


result is the set of all relevant geometrical parameters associated to a
contact, such as the distance between particles, the application point
of the contact forces, the orientation of the normal to the contact, etc.
Physical contact will arise whenever the calculated distance between
two particles or between a particle and a boundary is negative. The
distance in this case is the normal overlap, needed for the calculation
of the normal contact force.
After some number of timesteps, the list of neighbors for all parti-
cles in the simulation must be updated. Otherwise, some collisions
between non-neighbor particles could arise and the simulation would
not be able to detect them. Therefore, as illustrated in Figure 5.4,
in order to prevent missing collisions, the maximum distance that
any pair of non-neighbor particles can move relative to each other

© 2021, esss - all rights reserved


dem technical manual 97
ROCKY

is δneighboring , the neighboring distance. Whenever that distance is


reached, the lists of neighbors of all particles in the simulation must be
updated. Since the computation of the exact distance can be expensive,
a simplified approximate upper bound is computed in Rocky, which
guarantees that no collision will be missed in the simulations.

Figure 5.4: Before updating neighbor


Non-neighbor particles lists, the maximum distance that any
pair of non-neighbor particles can move
relative to each other is δneighboring .

The neighboring distance δneighboring plays an important role on the


performance of the contact detection algorithms in Rocky. Figure 5.5
illustrates two opposite cases regarding the magnitude of δneighboring .
In the first case, when the neighboring distance is low, the size of
the neighbors lists will be small and, therefore, the processing time
in the second stage of detection will be also low. This is because
only a few pairs of particles will need to be processed. However, this
situation will demand more frequent updates of the neighbor lists,

(a) (b)

Figure 5.5: Two cases with different


magnitude of the neighboring distance
δneighboring .

© 2021, esss - all rights reserved


dem technical manual 98
ROCKY

and, consequently the total processing time of the first stage of contact
detection may be high. On the other hand, in the situation depicted
in Figure 5.5(b), when the value of δneighboring is relatively large, the
opposite behavior is usually observed. In this case, the elevation in the
number of neighbors per particle will produce a significant increase
in the processing time of the second stage. But, at the same time, less
frequent updates of the neighbor lists will be needed, therefore, the
amount of processing time of the first stage will decrease.
Users can override the default value of δneighboring determined
internally in Rocky. This parameter can be specified in the Advanced
sub-tab of the Solver panel,2 where it is listed as Neighboring Distance . 2
See also the "About the Solver Parame-
ters" topic in the Rocky User Manual.
As δneighboring can have a huge impact on the total processing time of
a simulation, users must be very careful when specifying its value.

5.2 Timestep calculations


The timestep is one of the main factors that determine the amount
of time required for the completion of a simulation in Rocky. The
simulation timestep should be large enough to ensure reasonable
completion time, but small enough to guarantee the accuracy and
stability of the simulation.
It is a customary practice in DEM to set the timestep size as
a fraction of the oscillation period of a equivalent mass-spring

system,3 , 4 2π m/K, where m and K are critical values of mass 3
Malone, K. F. and Xu, B. H. (2008).
Determination of contact parameters for
and stiffness, respectively. That period of time will approximate discrete element method simulations of
the duration of the shortest possible collision among all possible granular systems. Particuology, 6:521–
528
combinations of particles and boundaries. The timestep value is 4
Tsuji, Y., Kawaguchi, T., and Tanaka, T.
chosen in a way that even that shortest collision may be solved (1993). Discrete particle simulation of
two-dimensional fluidized bed. Powder
numerically with a reasonable resolution. Technology, 77:79–87
In Rocky, the timestep value is calculated automatically at the
beginning of a simulation, using the expressions listed below for
each normal contact model. If necessary, however, users can override
that value and set a new one determined by their own means. In
order to do so, the Fixed Timestep option must be turned on from the
Advanced sub-tab of the Solver panel.5 Enabling this option allows 5
The Advanced sub-tab is visible only
when the Advanced Features option is
the subsequent Timestep value to be defined. Users must be aware, enabled. For more details about this,
however, that the timestep value is a critical parameter in Rocky, so please refer to the "About Setting Global
Preferences" section in the Rocky User
its manual modification is not recommended in general, because it Manual.
may lead to either instability of the solution process or excessively
long simulation times.

© 2021, esss - all rights reserved


dem technical manual 99
ROCKY

5.2.1 Timestep for the hysteretic linear spring model

In the hysteretic linear spring model, the loading and the unloading
stages of the contact occur with two different values of stiffness, Knl
and Knu , respectively.6 Therefore, the calculation of the timestep takes 6
See section 2.1.1.1 for more details
about the definition of these parameters.
into account those two stages independently. That calculation can be
summarized into the following expression:
s !
m∗ π m∗
r
π
∆t = min l
, (5.1)
2N∆t Knl 8 Knu
where:

• m∗ is the effective mass, defined in equation (2.10).


l is the minimum number of timesteps per loading cycle, which
• N∆t
is a user input parameter listed as Loading N-steps in the Rocky UI.7 7
The default value for N∆t l in Rocky

is 15. To ensure the accuracy of the


calculations, it is recommended that the
For using equation (5.1), all particle-particle and particle-boundary
value of this parameter be at least 10.
possible combinations are examined, searching for the critical values
√ √
of m∗ /Knl and m∗ /Knu . That equation guarantees that, during
l
any collision, the loading portion will be discretized with at least N∆t
timesteps, while the unloading will comprehend at least 4 timesteps.

5.2.2 Timestep for the linear spring-dashpot model

In the linear spring-dashpot model, the contact stiffness for the


loading and the unloading have the same value. Hence, it is enough
to analyze the loading for determining the timestep when that model
is used. The expression considered for that is simply:
s !
π m∗
∆t = l
min (5.2)
2N∆t Knl

where all parameters have the same definition as in equation (5.1). All
particle-particle and particle-boundary possible contacts are examined

for finding the minimum value of m∗ /Knl .

5.2.3 Timestep for the Hertzian spring-dashpot model

The Hertzian spring-dashpot model is a nonlinear model, so the


contact stiffness depends on the normal overlap sn . The expression
for the contact stiffness on this model is:8 8
For the definition of the parameters on
this expression, please refer to section
√ 1 2.1.1.3.
K H = 34 E∗ R∗ sn2 (5.3)

© 2021, esss - all rights reserved


dem technical manual 100
ROCKY

When the Hertzian spring-dashpot model is used, the timestep is


determined by means of:

m∗
r 
π
∆t = l
min (5.4)
2N∆t KH

in which K H is estimated considering that the magnitude of the


maximum overlap is 10% of the effective radius R∗ . Again, all particle-
particle and particle-boundary possible combinations are examined

for finding the minimum value of m∗ /K H .

5.2.4 Numerical softening factor

As previously mentioned, the size of the timestep is one of the main


factors that determine how much processing time a simulation will
demand. It would be desirable to increase the timestep as much
as possible, without compromising stability or accuracy, in order to
speed up a simulation.
As described in previous sections, the timestep is always inversely
proportional to the square root of a critical stiffness. Because of this,
one of the techniques most frequently used in order to speed up a
DEM simulation is the reduction of the stiffness.9 Rocky allows the 9
Lommen, S., Schott, D., and Lodewijks,
G. (2014). DEM speedup: stiffness
users to use this technique through a global reduction factor that effects on behaviour of bulk material.
multiplies all stiffness values computed in the different models. This Particuology, 12:107–112

parameter is listed in the Rocky UI as Numerical Softening Factor , which


is located on the Momentum tab of the Physics panel.
As an example, reducing the value of the numerical softening
factor from 1 to 0.01 will increase the timestep approximately 10
times. This change may speed up the simulation in that proportion
also. However, users must be very careful when specifying values
for the numerical softening factor. Values that are too low can lead
to very large overlaps, and therefore, serious stability and accuracy
issues in a simulation.

© 2021, esss - all rights reserved


dem technical manual 101
ROCKY

5.3 Convex versus concave polyhedral shapes


When a Custom Polyhedron shape is imported from a STL file, Rocky
performs a verification check in order to determine if it is convex
or concave. This is important because Rocky will use different
geometrical algorithms for handling the interaction of these particle
shapes depending on whether they are concave or convex. For
concave shapes, all geometric algorithms are much more complex
and, consequently, more demanding in terms of both memory and
processing time.
Figure 5.6 compares two simple polyhedral shapes, one convex
and one concave. Roughly speaking, a concave polyhedron is one
that has some faces forming dents or hollows. In convex shapes, a
segment line joining any two points laying on different non-coplanar
faces is always integrally contained inside the shape, as depicted in
Figure 5.6(a). On the other hand, a similar segment line in a concave
shape can pass through other faces, therefore, it may have portions
outside the shape, as illustrated in Figure 5.6(b).

Figure 5.6: Examples of (a) a convex


shape and (b) a concave shape.

(a) (b)

Rocky uses a systematic verification procedure to determine if an


imported solid shape is concave or convex. In this procedure, a simple
check is made on all triangular faces making up a polyhedral shape.
If the shape is convex, all vertices not associated to a face must lie on
the same side relative to a plane containing the face,10 as in Figure 10
Vertices located on the same plane
as the face are not considered in this
5.7(a). On the other hand, when the shape is concave, vertices will lie verification.
on both sides of the containing plane, as in the example depicted in
Figure 5.7(b). In Rocky, a shape will be marked as concave even if
this configuration arises only once during the referred procedure.

© 2021, esss - all rights reserved


dem technical manual 102
ROCKY

(a)

(b)

Figure 5.7: Possible configurations in the


convexity check considered in Rocky.
In order to determine on which side a vertex is located relative to a
plane, the signed distance from the vertex to the plane is calculated.11 11
An expression for the signed distance
from a point to a plane will give a
If the distances from all vertices to a plane containing a face have positive value if the point is on the same
the same sign, then all of them lie on the same side. A difficulty side as the plane’s normal vector and
negative if it is on the opposite side.
arises for shapes having coplanar faces, because rounding errors can
take some vertices to either side of a plane, causing false positives
for non-convexity. In order to avoid this, a tolerance δ is considered,
so only vertices at a distance |d| > δ are considered located off the
plane.12 12
δ is set in Rocky as 10−6 times the
maximum dimension of the shape. This
When importing a custom polyhedral shape, Rocky will run value was determined heuristically and
automatically the convexity verification described above. If non has proven to work adequately on the
convexity check implemented in Rocky.
convex faces are found, Rocky will mark the shape as concave and,
therefore, the more expensive geometrical algorithms for concave
particles will be used during the simulation, for the corresponding
particle group. If users know that the concavities on the imported
shape are actually very mild or they are in regions of the shape
unlikely to come into contact with other particles, they can manually
mark the shape as non concave in the Shape sub-tab. This will force
Rocky to use the algorithms for convex shapes, however, users must
be aware that this can lead to unexpected results.

© 2021, esss - all rights reserved


dem technical manual 103
ROCKY

5.4 Sieve size calculation


The sieve size of a particle is defined as the dimension of the smallest
square aperture through which the particle can pass, as depicted in
Figure 5.8. For polyhedral and custom solid particle shapes, Rocky
uses an approximate method to estimate the sieve size.

Major axis Figure 5.8: Sieve size of a polyhedral


particle.

As a first step, the major axis of the particle is determined. In order


to do this, all possible pairs of vertices on the particle’s geometry are
considered, looking for the two most distant vertices. In the algorithm
implemented in Rocky, it is considered that the major axis of the
particle will pass through those two vertices.
In the second stage of the algorithm, the largest particle dimension
perpendicular to the major axis is sought. This will be the sieve size
of the particle. In order to determine that, a sequence of slices of the
particle’s geometry is considered. As depicted in Figure 5.9, each one
of those slices is limited by two planes orthogonal to the major axis
passing through the end points of an edge.
Then, all vertices contained between the two limiting planes are
projected orthogonally onto any of those planes. The next step will
be to determine the sieve size candidate associated to the slice. In
order to do that, the distances between the projections of both vertices
at the ends of the edge i and the projections of all other vertices are
calculated. The sieve size candidate associated to the slice i will be
the largest of those distances, dmax,i , as depicted in Figure 5.10.

© 2021, esss - all rights reserved


dem technical manual 104
ROCKY

Figure 5.9: Example of a slice considered


for determining sieve size candidates.

Edge i

Figure 5.10: Projection of the vertices


onto an orthogonal plane to the major
axis.

Edge i

In the end, the estimated sieve size will be the maximum value
among the sieve size candidates determined considering the slices
associated to all edges on the particle’s geometry. That is:

Ls = max dmax,i (5.5)
i

The described algorithm works well for irregular particles, for


instance, those representing rocks or rock fragments. For regular
simple shapes, such as cubes or parallelepipeds, the algorithm usually
will overestimate the sieve size.

© 2021, esss - all rights reserved


dem technical manual 105
ROCKY

5.5 Particle orientation


During a simulation, Rocky solves the motion equations for every
single particle, updating its position and orientation in relation to a
global reference frame. One of the forms of representation that Rocky
uses for describing mathematically the orientation of a particle is the
axis-angle formalism.13 In this kind of representation, the orientation 13
For more details, please refer to https:
//en.wikipedia.org/wiki/Rotation_
of a particle is defined by the orientation of an attached local frame formalisms_in_three_dimensions
of reference which rotates an angle θ about an axis determined by a
unit vector u, as illustrated in Figure 5.11.

Figure 5.11: Axis-angle representation


of a rotation in a 3D space.

For example, users must employ this representation for specifying


the initial orientation of a particle, when it enters the solution
domain. Moreover, Rocky provides at output times the instantaneous
values of the components of the unit vector u and the angle θ, as
particle properties.14 Using those values, magnitudes related to
These properties are listed in the
14

the orientation of a particle can be precisely calculated as a post- Rocky UI as Orientation Vector (X, Y, Z) and
processing operation. In order to do that, it is useful to calculate the Orientation Angle , respectively. Please
refer to the Rocky User Manual for more
rotation matrix: details.
 
C + u2x B u x uy B − uz S u x uz B + uy S
 
R=  uy u x B + uz S C + u2y B uy uz B − u x S 
 (5.6)
uz u x B − uy S uz uy B + u x S C + u2z B

where 


 C = cos θ

S = sin θ (5.7)


 B = 1 − cos θ

The effect of multiplying the rotation matrix R by a vector


expressed in the particle’s local coordinates is to rotate that vector the
angle θ around the axis defined by u. This operation, for instance,
allows the coordinates that define the geometry of a particle to be
transformed to the global system of reference, with the orientation

© 2021, esss - all rights reserved


dem technical manual 106
ROCKY

defined by u and θ. As an illustration of this, Figure 5.12(b) shows


three orientations of a particle in the global frame of reference, for
three sets of values of u and θ. Figure 5.12(a) shows the same particle
when the orientation of the local frame of reference XYZ coincides
with the orientation of the global frame xyz.

(a)
Z X

Z
Z Y Z

(b)
X Y X y
Y
X

z x

Figure 5.12: Examples of the orientation


of a particle represented with the axis-
angle formalism.

© 2021, esss - all rights reserved


dem technical manual 107
ROCKY

6 Bibliography
Ai, J., Chen, J. F., Rotter, J. M., and Ooi, J. Y. (2010). Assessment of
rolling resistance models in discrete element simulations. Powder
Technology, 206:269–282.

Antypov, D. and Elliott, J. A. (2011). On an analytical solution for the


damped hertzian spring. Europhysics Letters, 94(5).

Archard, J. F. (1980). Wear theory and mechanisms. In Wear control


handbook. American Society of Mechanical Engineers.

Barrios, G. K. P., Carvalho, R. M., and Tavares, L. M. (2011). Modeling


breakage of monodispersed particles in unconfined beds. Minerals
Engineering, 24:308–318.

Batchelor, G. K. and O’Brien, R. W. (1977). Thermal or electrical


conduction through a granular material. Proc. R. Soc. Lond. A.,
355:313–333.

Bierwisch, C., Kraft, T., Riedel, H., and Moseler, M. (2009). Three-
dimensional discrete element models for the granular statics and
dynamics of powders in cavity filling. Journal of the Mechanics and
Physics of Solids, 6257:10–31.

Brown, S. (2008–2017). Measures of shape: skewness and kurtosis.


https://brownmath.com/stat/shape.htm.

Carvalho, R. M. and Tavares, L. M. (2013). Predicting the effect


of operating and design variables on breakage rates using the
mechanistic ball mill model. Minerals and Engineering, 43:91–101.

Cundall, P. A. and Strack, D. L. (1979). A discrete numerical model


for granular assemblies. Geotechnique, 29(1):47–65.

Guo, Y., C., W., Curtis, J. S., and Xu, D. (2018). A bonded sphero-
cylinder model for the discrete element simulation of elastic-plastic
fibers. Chemical Engineering Science, 175:118–129.

Hertz, H. (1882). Über die berührung fester elastischer körper (On the
contact of elastic solids). J. Reine Angewandte Mathematik, 92:156–171.
English translation, Macmillan, London, 1896.

© 2021, esss - all rights reserved


dem technical manual 108
ROCKY

Jeffrey, A. and Dai, H. H. (2008). Handbook of mathematical formulas and


integrals. Academic Press.

Johnson, K. L. (1985). Contact mechanics. Cambridge University Press.

Johnson, K. L., Kendal, K., and Roberts, A. D. (1971). Surface energy


and the contact of elastic solids. Proceedings of the Royal Society A:
Mathematical, Physical and Engineering Sciences, 324:301–313.

Lommen, S., Schott, D., and Lodewijks, G. (2014). DEM speedup:


stiffness effects on behaviour of bulk material. Particuology, 12:107–
112.

Malone, K. F. and Xu, B. H. (2008). Determination of contact


parameters for discrete element method simulations of granular
systems. Particuology, 6:521–528.

Morris, A. B., Pannala, S., Ma, Z., and Hrenya, C. M. (2016).


Development of soft-sphere contact models for thermal heat
conduction in granular flows. AIChE Journal, 62(12):4526–4535.

Ottosen, N. S. and Ristimaa, M. (2005). The mechanics of constitutive


modeling. Elsevier.

Potapov, A. and Donahue, T. (2012). Computer simulation of coal


breakage in conveyor transfer chutes with Rocky discrete element
method package. Technical report, Rocky DEM, Inc.

Potapov, A. V. and Campbell, C. S. (1994). Computer simulation of


impact-induced particle breakage. Powder Technology, 81:207–216.

Potapov, A. V. and Campbell, C. S. (1996). A three-dimensional


simulation of brittle solid fracture. International Journal of Modern
Physics C, 7(5):717–729.

Potapov, A. V., Campbell, C. S., and Hopkins, M. A. (1995). A


two-dimensional dynamic simulation of solid fracture. Part I:
description of the model. International Journal of Modern Physics
C, 6(3):371–398.

Qiu, X., Potapov, A., Song, M., and Nordell, L. (2001). Prediction of
wear of mill lifters using discrete element method. In 2001 SAG
Conference Proceedings.

Radl, S., Radeke, C., Khinast, J. G., and Sundaresan, S. (2011).


Parcel-based approach for the simulation of gas-particle flows. In
Proceedings of the 8th international Conference on CFD in the Oil & Gas,
Metallurgical and Process Industries., pages 124–134.

© 2021, esss - all rights reserved


dem technical manual 109
ROCKY

Schmidt, M. (2011). Modellierung der Zerkleinerung in Profilwalzenbrech-


ern. PhD thesis, Technischen Universität Bergakademie Freiberg,
Germany.

Schwager, T. and Pöschel, T. (2007). Coefficient of restitution and


linear-dashpot model revisited. Granular Matter, 9:465–469.

Shi, F. and Kojovic, T. (2007). Validation of a model for impact


breakage incorporating particle size effect. International Journal of
Mineral Processing, 82(3):156–163.

Tavares, L. M. (2009). Analysis of particle fracture by repeated


stressing as damage accumulation. Powder Technology, 90(3):327–339.

Tavares, L. M. and Carvalho, R. M. (2009). Modeling breakage rates


of coarse particles in ball mills. Mineral Engineering, 22:650–659.

Tavares, L. M. and King, R. P. (2002). Modeling of particle fracture


by repeated impacts using continuum damage mechanics. Powder
Technology, 123(2):138–146.

Tsuji, Y., Kawaguchi, T., and Tanaka, T. (1993). Discrete particle


simulation of two-dimensional fluidized bed. Powder Technology,
77:79–87.

Tsuji, Y., Tanaka, T., and Ishida, T. (1992). Lagrangian numerical


simulation of plug flow of cohesionless particles in a horizontal
pipe. Powder Technology, 71:239–250.

Vargas, W. L. and McCarthy, J. J. (2001). Heat conduction in granular


materials. AIChE Journal, 47(5):1052–1059.

Vogel, L. and Peukert, W. (2005). From single particle impact


behaviour to modelling of impact mills. Chemical Engineering Science,
60(18):5164–5176.

Walton, O. R. and Braun, R. L. (1986). Viscosity, granular-temperature,


and stress calculations for shearing assemblies of inelastic, frictional
disks. Journal of Rheology, 30:948–980.

Wensrich, C. M. and Katterfeld, A. (2012). Rolling friction as a


technique for modelling particle shape in DEM. Powder Technology,
217:409–417.

© 2021, esss - all rights reserved

You might also like