DEM Technical Manual
DEM Technical Manual
Ve r s i o n 4 . 5 . 2
dem technical manual i
ROCKY
Copyright
Contents
1 Introduction to DEM 1
5 Miscellaneous topics 94
6 Bibliography 107
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.
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
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.
B From A to B
ing
ad
Lo From B to C
From C to A
A
C
Knl
Knu = (2.4)
ε2
Knl,p = E p L (2.5)
Knl,b = Eb L (2.6)
where:
user input.
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.
• 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.
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:
√
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
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
1 1 − ν12 1 − ν22
∗
= + (2.14)
E E1 E2
where:
Kτ = rK Knl (2.19)
ṡτ
Fτ = −µ Fn (2.22)
| ṡτ |
where:
• ν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.
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.
where:
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.
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.
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.
no adhesion stiffness fraction = 0.05 stiffness fraction = 0.25 stiffness fraction = 0.5
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:
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.
• |r| is the particle rolling radius, where r is the vector joining the
centroid of the particle and the contact point.
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:
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:
where:
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
e
0 imp,b
t10 = A 1 − exp −b (2.47)
êb
where:
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
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 .
Slope
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)
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:
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
2 0.78 5.55
4 1.12 3.01
25 1.17 0.54
5%
10% 50 1.43 0.40
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)
π 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 .
∆V = C ∆Wτ (2.61)
where:
Boundary
Both rules are violated when extremely large values of C are used,
producing fast changes in geometry that strongly disturb the motion
of particles.
Nc, e Nj, e
q̇e = ∑ q̇c→e + ∑ q̇ j→e + q̇ f →e (2.63)
c =1 j =1
Hc = 2 k c a (2.65)
where:
2
kc = 1 1
(2.67)
ke + kη
q̇ j→e = H j ( Tη − Te ) (2.68)
1 1 1
= + (2.69)
Hj He Hη
k j Aj
He = (2.70)
`e
k j Aj
Hη = (2.71)
`η
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.
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.
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.
averaged velocities
before contact
CGM
scaling
post-contact
post-contact
averaged velocities
after contact
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.
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.
pre-contact
averaged temperatures
... before contact
post-contact
post-contact
...
averaged temperatures
after contact
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).
2
kc = 1 1
(2.80)
k e f CGM,e + k η f CGM,η
CGM
scaling
∆t
v+ 2τD v̄
v0 = ∆t
(2.81)
1 + 2τD
α 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.
(a)
(b)
Normal direction
n
drel rel
n = d · n̂ (3.1)
Sphero-cylinder element
Joint
Custom-defined centerline
Sphero-triangle element
Shell thickness
Base triangle
Center points
Connected faces
Center points
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.
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.
• 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:
0.2
0
0 1 2 3 4 5
0.4
0.2
(b)
0
-0.2
0 1 2 3 4 5
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)
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 j J
CT = Cτ (3.25)
A
j j I1
CB1 = Cn (3.26)
A
j j I2
CB2 = Cn (3.27)
A
• θ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.
j j
Kep = rep Ke (3.29)
ing
L oa d
ing
oad
Rel
Slope
ing
d
loa
Un
j
∆M f = r f Me = r f Ke θe (3.30)
Slope
Slope } Load
ing
ing
ing
d
oad
loa
Un
Re l
where:
Element
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:
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
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)
where:
• Kn00 is the joint normal stiffness per area unit, defined in section
3.2.1.
• Kτ00 is the joint tangential stiffness per area unit, defined in section
3.2.1.
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.
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.
• Kn00 and Kτ00 are the joint normal and tangential stiffness per area
unit, respectively, defined in section 3.2.1.
N
∑ i=κ 1 ψi
Mean value: ψ= (4.1)
Nκ
s
N
∑ i=κ 1 ( ψi − ψ )2
Standard deviation: σψ = (4.2)
Nκ
N
∑ i=κ 1 ( ψi − ψ )3
Skewness: Sψ = (4.3)
Nκ σψ3
N
∑ i=κ 1 ( ψi − ψ )4
Kurtosis: Zψ = (4.4)
Nκ σψ4
4.1.2.1 Works
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)
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)
L oa d i n g
in g
lo ad
Un
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 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
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
4.1.2.3 Frequency
Boundary collision statistics Inter-particle collision statistics Intra-particle collision statistics Inter-group collision statistics
Simulation timestep
Time
Figure 4.3: Data collection time interval.
Data collection interval i
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:
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
Jκ
γ
σ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
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
Z NT
Pbα ≡
b
I α dA ≈ ∑ α
Ib,T AT (4.26)
T =1
Z NT
Fbn ≡
b
σn dA ≈ ∑ n
σb,T AT (4.27)
T =1
(b)
Data collection region
Vertex
Midpoint
Centroid
Nκ,v
f p,v = (4.29)
∆tout Npact
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.
where Wκα is either the dissipation, the impact, or the shear work per
collision.
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).
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
∑ ∆t p,out | M f → p | ∆t
M f →p = (4.38)
∆t p,out
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:
Logarithmic scale
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
α (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
np
C ( Piα ) = ∑ Pjα (4.43)
j =i
Logarithmic scale
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:
1 2 3 -1
Logarithmic scale
i−1
log eiα = log emin
α
+ α
(log emax − log emin
α
) , i = {1, . . . , n p } (4.46)
np − 1
n p −1
C ( P̂i,αs ) = ∑ P̂j,α s (4.47)
j =i
∑ 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 ]
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.
Yes
Final time step?
No
Need No
neighborhood
Finalupdate?
time level?
End Yes
Base particle
Neighbor particles
Non-neighbor particles
Neighborhood region
Contact plane
(b)
(a)
(a) (b)
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.
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:
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 .
m∗
r
π
∆t = l
min (5.4)
2N∆t KH
(a) (b)
(a)
(b)
Edge i
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 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 θ
(a)
Z X
Z
Z Y Z
(b)
X Y X y
Y
X
z x
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.
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.
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.
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.