normal model jkr/general

Purpose

The JKR/general model is a cohesive normal model.

Syntax

model jkr/general [other model_type/model_name pairs as described here ] keyword values
  • zero or more keyword/value pairs may be appended to the end (after all models are specified)

tangential_damping values = 'on' or 'off'
  on = activates tangential damping
  off = no tangential damping
create_bonds_at_timestep values = 'on' or 'off'
  on = creates bonds at a user-defined timestep
  off = does not create bonds
disable_cohesion_for_unbonded values = 'on' or 'off'
  on = sets cohesion energy density to 0 for unbonded pairs
  off = uses given cohesion energy density
break_at_max_force values = 'on' or 'off'
  on = contact ends when non-contact cohesion force reaches maximum absolute value
  off = standard JKR behaviour
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
  of = the normal force is always added if two particles overlap

Associated material properties

Material properties

  • youngsModulus (Y): The Youngs Modulus of a material, i.e. its stiffness [pressure]

  • poissonsRatio (\nu): The Poisson’s ratio, i.e. the ratio of transverse to axial strain [\cdot]

Material interaction properties

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

  • cohesionEnergySurfaceDensity (w): The (static) cohesive energy density between two materials [energy/length^2]

Global scalars

  • tsCreateBondJKR (t_0): The time step at which bonds are created (if create_bonds_at_timestep is ‘on’) [\cdot]

Description

Note

This is the recommended implementation of the JKR model.

This granular model is the implementation of the JKR model as presented in (Johnson) and (Barthel). In particular it is a model for the normal contact of two cohesive spheres with additional non-contact attractive forces. The resulting force curve is an overlay of the original hertz contact model with the attractive forces. Since in this model the attractive forces are closely linked to the repulsive model they cannot be separated into separate normal and cohesive models as usual (compare Section gran models).

This model applies a force between two contact partners even for a small non-contact range. With the common notation, between two particles of radii r_i and r_j and the contact distance d = r_i + r_j in a distance of r, there is an attractive force in case of r > d, which will change to a repulsive force for r < d. The point of equilibrium is where the two particles are in contact and the pure repulsive and the attractive force cancel out.

The governing equations are

\delta_{JKR}(a) & = \frac{a^2}{r^*} - \sqrt{\frac{2 \pi a w}{Y^*}} \\
F_{JKR}(a) & = \frac{4 Y^* a^3}{3 r^*} - 2 \sqrt{2 \pi Y^* w a^3}

where a is the contact area radius, \delta the particle overlap, Y^* the effective Young’s modulus, r^* the effective radius (see hertz model) and w the cohesion energy.

The naming ‘cohesion energy’ is adopted from (Barthel). Since this property has the unit \frac{J}{m^2} (si-units), it is more precisely an energy surface density. Therefore, the parameter required for jkr/general is named ‘cohesionEnergySurfaceDensity’.

Similar to the hertz model the tangential damping can be disabled by the keyword tangential_damping. Moreover, the calculation of the tangential force uses the original hertz contact force (only pure contact force, no non-contact force) to fulfill Coulombs law correctly. For further details read the section tangential model.

With create_bonds_at_timestep enabled, the model creates bonds between all particles that are in contact at a certain timestep (to be set by the user, see below). These bonds can be accessed via commands such as compute coordination_number or compute pair/gran/local/bond. This is a one-time assignment, no new bonds are formed by this model during simulation. A bond between two particles breaks if the force between the particles drops to zero. Note that these bonds purely act as markers, and do not change anything in terms of force computation. If disable_cohesion_for_unbonded is enabled too, the cohesion energy is set to zero for contacts that do not have a bond between them. Setting the cohesion energy to zero reduces the JKR model to ah pure Hertz normal model.

Warning

If bonds are created in a simulation, then written to a restart file, and re-used in another simulation based on that restart file, the create_bonds_at_timestep setting has to be enabled also in the simulation that reads the restart file. Additionally, tsCreateBondsJKR needs to be set. To avoid re-creating bonds, set it to a timestep older than the one in the restart file (or simply to 0).

The break_at_max_force switch slightly changes the behaviour of the contact model: the contact breaks when the (non-contact) cohesive force reaches its maximum absolute value, while in the standard JKR formulation the contact lasts longer, with decreasing cohesive force magnitude.

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 there will not be any force contribution from the interaction of the two particles that were previously bonded. Once the particles separate more than the region of influence of this model, the two particles will interact if they get within the sphere of influence again.

Comparison to JKR model

In contrast to the original JKR model the ‘cohesion energy’ (w) is a direct user input in the jkr/general model. Therefore, this version eases the usage of the JKR model for poly-disperse simulations.

The following equation can be used to convert the ‘cohesive energy density’ (c_\mathit{ED}) that is used in the original implementation of the JKR model to the ‘cohesive energy’ (w) that is used as input parameter in this implementation:

w = 2 c_\mathit{ED} {r^*}^3

, where the effective radius r^* is a given constant (see hertz model).

Restrictions

If using SI units, youngsModulus must be > 5e6. If using CGS units, youngsModulus must be > 5e5.

Coarse-graining information

Using coarsegraining in combination with this command should lead to statistically equivalent dynamics and system state.

Default

tangential_damping = ‘on’, disableNormalWhenBonded = ‘off’

(Johnson) K. Johnson, K. Kendall, A. Roberts, Proceedings of the

Royal Society, 324, p 301-313 (1971)

(Barthel) E. Barthel, Journal of Physics D: Applied Physics, 41, (2008)