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 k_t, namely k_t = 2/7 k_n.
  off = standard implementation, i.e. k_t = k_n, where k_n 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 characteristicVelocity and elasticStiffness are defined, the characteristicVelocity will be used
  off = if both characteristicVelocity and elasticStiffness are defined, the elasticStiffness will be used [default]

Associated material properties

Material properties

  • youngsModulus (Y): Young’s modulus of the material [pressure]

  • poissonsRatio (\mu): Poisson’s ratio of the material [\cdot]

Material interaction properties

  • elasticStiffness (k_n): elastic (normal) stiffness of the two materials in contact [force/length] (required only if characteristicVelocity is not defined)

  • coefficientRestitution (e): coefficient of restitution of the two materials [\cdot]

  • FluidViscosity (\mu_f): dynamic viscosity of the fluid between two particles [pressure*time] (required only if viscous on)

  • CriticalStokes (c_S): critical Stokes number [\cdot] (required only if viscous on)

  • MaximumRestitution (e_{max}): maximum coefficient of restitution [\cdot] (required only if viscous on)

Global scalars

  • characteristicVelocity (v_0): characteristic impact velocity [length/time] (required only if elasticStiffness is not defined)

Description

This granular model uses the following formula for the normal force between two spherical particles, when the distance r between two particles of radius r_i and r_j is less than their contact distance d
= r_i + r_j. There is no force from this model between the particles when r > d:

F_n = k_n \delta n_{ij} - \gamma_n v_{n,ij},

where k_n is the spring stiffness, \delta is the overlap of the two particles (= d - r for spheres), n_{ij} the contact normal, \gamma_n the damping constant and v_{n,ij} 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

k_n = \frac{16}{15}\sqrt{r^*}Y^* \left(\frac{15 m^* v_0^2}{16 \sqrt{r^*} Y^*}\right)^{1/5}

\frac{1}{Y^*} = \frac{1-\nu_i^2}{Y_i} + \frac{1-\nu_j^2}{Y_j},

\frac{1}{r^*} = \frac{1}{r_i} + \frac{1}{r_j},

\frac{1}{m^*} = \frac{1}{m_i} + \frac{1}{m_j},

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

The damping constant is given by

\gamma_n = \sqrt{\frac{4 m^* k_n}{1 + \left(\frac{\pi}{ln(e)}\right)^2}} \geq 0,

where e 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 \delta_n 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:

log(e) = log(e_{max}) + \frac{c_S}{S},

S = \frac{m^* v_n}{6\pi \mu_f {r^*}^2},

where v_n is the relative normal velocity.

Restrictions

If using SI units, Y must be bigger than 5e6. If using CGS units, Y must be bigger than 5e5. When using viscous on, \mu_f 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.