normal model hertz/fragmentation/bruchmueller
Purpose
Calculating the normal force between particles as done in normal model hertz and, in addition, enabling particle fragmentation according to the Bruchmueller model, either in resolved or unresolved mode.
Figure 1: sketch illutration the difference between resolved and unresolved fragementation mode.
Warning
GPU support for this command has not been tested and may not work as expected.Syntax
model hertz/fragmentation/bruchmueller [other model_type/model_name pairs as described here ] settings keyword values
zero or more keyword/value pairs may be appended after the keyword settings (after all models are specified)
limitForce values = 'on' or 'off' on = ensures that the normal force is never attractive (an artefact that can occur at the end of a collision). off = standard implementation that might lead to attractive forces. tangential_damping values = 'on' or 'off' on = activates tangential damping off = no tangential damping unresolved_fragmentation = 'on' or 'off' on = fragmentation is handled in an unresolved manner and the resulting fragment particle size distribution is stored for each particle. off = fragmentation is resolved and smaller fragment particles are created
Associated material properties
Material properties
youngsModulus(
): the Youngs modulus of a material [pressure]poissonsRatio(
): the Poisson’s ratio, i.e. the ratio of transverse to axial strain [–]breakageE0timesD(
): product between minimum impact energy
[energy] and particle diameter
[length]breakageProbabilityParam(
): breakage probability parameter of the material [1/(energy*length)]breakageSizeParam(
): maximum achievable breakage index
of the material [–]energyDissipationCoeff: quantifies energy dissipation due to impact (active only if unresolved_fragmentation on). Acts as an additional coefficient of restitution modeling inelastic effects during particle fragmentation [–]
Material interaction properties
coefficientRestitution(
): the coefficient of restitution of two materials [–]
Description
This granular model calculates the Hertzian normal force as in the hertz normal model.
Additionally it models the particle fragmentation using a resolved or unresolved approach. Fragmentation is tracked by checking every time-step if a specific criterion is fulfilled by each particle. In case of the resolved approach, particles where fragmentation events are detected are replaced by a set of daughter particles (i.e., the fragments) every N time-steps (currently this value is hard-coded to 20). In the unresolved approach, the particle size distribution (PSD) of the fragments is saved as a per-particle quantity and no additional DEM particles are created. The model implementation largely follows the paper by Bruchmueller.
Both resolved and unresolved approaches use the same criterion for checking
fragmentation, namely when the impact energy
[energy] surpasses
the minimum impact energy
[energy]. The impact energy for
each particle-particle and particle-wall contact is calculated as follows:

where
is the magnitude of the normal contact force,
[velocity]
the relative normal velocity, and
[time] the simulation time-step. The summation
starts with the start of the contact and ends when the sign of
[velocity] changes,
as outlined in Bruchmueller. When the calculation of
[energy]
is finished, it is compared to the minimum impact energy that causes damage
[energy] Note that
[energy] times the particle diameter
[length] is specified as a material property called breakageE0timesD.
If
then the surplus energy
is added to the accumulated damage
energy
[energy]. The probability for fragmentation is then:

where
[1/(energy*length)] is a material parameter that quantifies the fracture resistance
and
[length] is the particle diameter. For the resolved fragmentation, a simplified version of
the size distribution calculation as outlined in Bruchmueller is used when
fragmentation occurs:

where
,
,
are the cumulative mass
percentage of fragment particles larger than 10%, 25%, and 50% of the
original particle size, and
[–] is the maximum achiavable
and
ranges from 0 to 50. The value of
[–] is set by the material property breakageSizeParam.
There is a hard-coded maximum number of fragments
(which is set to 50) in order not to insert too many fragments.
Warning
Actual fragmentation is performed if and only if the simulation exclusively contains spheres. If nonspherical particles are present, only the damage energy per particle is tracked.
All fragment particles are inserted with the same size, but grow or shrink to fulfil the fragment particle size distribution. Currently, the growth rate is hard-coded to 3 volume percentage per time-step.
For the unresolved model the fragment size distribution from
Bruchmueller is adapted to yield fragments which
successively decrease in size by a factor of two such that fragments of size
,
,
, and so on are created from the original
particle with diameter
. The number of fragment sizes and the
size of the stored PSD can be controlled
via the keywords described in fix fragmentation/bruchmueller/unresolved.
For the unresolved model the Sauter diameter is stored in a separate
fix property/atom with the name dSauter.
For unfragmented particles this quantity is initialized with the particle
diameter. For particles with a fragment PSD, it is computed from the
number of fragments per size class
as

Restrictions
See Hertz normal model.
The unresolved Bruchmueller model only works with spherical particles.
Coarse-graining information:
Using coarsegraining in combination with this command might lead to different dynamics or system state and thus to inconsistencies.
Default
limitForce = ‘off’, tangential_damping = ‘on’, unresolved_fragmentation = ‘off’
Literature
[1] Bruchmueller et al, Modelling discrete fragmentation of brittle particles, Powder Technology 208 (2011) 731-739