normal model hooke
Purpose
The Hooke model is a linear model that is widely used in DEM. Please note it does not handle coarsegraining well.
Syntax
model hooke [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)
tangential_damping values = 'on' or 'off' on = activates tangential damping off = no tangential damping ktToKnUser values = 'on' or 'off' on = uses a different tangential stiffness, namely
. off = standard implementation, i.e.
, where
is the normal stiffness. 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. viscous = 'on' or 'off' on = restitution coefficient varies with a local Stokes number of the particle. Requires additional global properties to be specified off = no modification to the restitution coefficient heating_normal_hooke values = 'on' or 'off' on = model contributes to surface heating in the frame of enable_surface_heating off = model does not contribute to surface heating disableNormalWhenBonded values = 'on' or 'off' on = if the cohesion bond model is used, then the normal force is only added if the two particles are not bonded off = the normal force is always added if two particles overlap computeDissipatedEnergy values = 'on' or 'off' on = the normal model saves the dissipated energy for each contact for the use in fix calculate/dissipated_energy off = no values are saved computeElasticPotential values = 'on' or 'off' on = the normal model saves the current elastic potential for each contact for the use in fix calculate/normal_elastic_energy useCharacteristicVelocity values = 'on' or 'off' on = if both
characteristicVelocityandelasticStiffnessare defined, thecharacteristicVelocitywill be used off = if bothcharacteristicVelocityandelasticStiffnessare defined, theelasticStiffnesswill be used [default]
Associated material properties
Material properties
youngsModulus(
): Young’s modulus of the material [pressure]poissonsRatio(
): Poisson’s ratio of the material [
]
Material interaction properties
elasticStiffness(
): elastic (normal) stiffness of the two materials in contact [force/length] (required only if characteristicVelocityis not defined)coefficientRestitution(
): coefficient of restitution of the two materials [
]FluidViscosity(
): dynamic viscosity of the fluid between two particles [pressure*time] (required only if viscous on)CriticalStokes(
): critical Stokes number [
] (required only if viscous on)MaximumRestitution(
): maximum coefficient of restitution [
] (required only if viscous on)
Global scalars
characteristicVelocity(
): characteristic impact velocity [length/time] (required only if elasticStiffnessis not defined)
Description
This granular model uses the following formula for the normal force between
two spherical particles, when the distance
between two particles of
radius
and
is less than their contact distance
. There is no force from this model between the particles when
:

where
is the spring stiffness,
is the overlap of the
two particles (
for spheres),
the contact normal,
the damping constant and
the relative normal
velocity of the two particles.
In case of non-spherical particles the model is adapted with equivalent definitions. The radius is substituted with the volume-equivalent radius. The overlap is defined as the minimum distance between two points on the particles’ surfaces that lie opposite of each other with respect to the contact point. The latter is the midpoint of the intersection between the two particles.
Keyword tangential_damping can be used to eliminate the second part of the
force in tangential direction.
The (normal elastic) spring stiffness for the Hooke model is defined as

where
,
and
are the Youngs Modulus, Poisson’s ratio and characteristic impact velocity,
respectively.
and
are the particles mass and radius. The (normal elastic) spring stiffness
can also be set directly via the elasticStiffness material interaction property. When both
and the elasticStiffness are defined, by default the elasticStiffness will determine the value of
.
The latter can be modified by additionally using useCharacteristicVelocity on, which will ensure that
is preferred over the elasticStiffness.
The damping constant is given by

where
is the coefficient of restitution.
When the cohesion model bond is used, the
disableNormalWhenBonded keyword can be used. If this parameter is set to ‘on’
then the normal model will only compute its contribution if the two neighboring
particles do not have an active bond. If a bond breaks and the particles overlap
the current
will be set to zero so that no sudden repulsion takes
place. This is handled internally by having an offset value that shrinks to zero
once the particles start drifting apart.
Force Limiting:
Note, that not using limitForce might lead to attractive forces between particles and walls, especially in case the coefficient of restitution is small. Be sure you include this keyword for the pair style and the wall model if you would like to avoid this.
Viscous model:
When using option viscous on, the coefficient of restitution is calculated as proposed by Legendre et al., while for viscous off no modification is performed. The viscous model option requires several additional material properties as mentioned above. The resulting coefficient of restitution is calculated as follows:

where
is the relative normal velocity.
Restrictions
If using SI units,
must be bigger than 5e6.
If using CGS units,
must be bigger than 5e5.
When using viscous on,
must be bigger than 0.
When using limitForce, the specified coefficient of restitution is only approximate. This might
become problematic for low coefficients of restitution as shown in Schwager and Poschel.
Coarse-graining information:
Using coarsegraining in combination with this command should lead to statistically equivalent dynamics and system state.
Default
viscous = ‘off’, tangential_damping = ‘on’, ktToKnUser = ‘off’, limitForce = ‘off’, heating_normal_hooke = ‘off’
Literature
[1] Legendre, D., Daniel, C., & Guiraud, P. (2005). Experimental study of a drop bouncing on a wall in a liquid. Physics of Fluids, 17(9), 097105.
, namely
.
off = standard implementation, i.e.
, where