fix multicontact/halfspace command

Warning

GPU support for this command has not been tested and may not work as expected.

Syntax

fix ID group multicontact/halfspace geometric_prefactor gp_value
  • ID, group are documented in fix command

  • multicontact/halfspace = style name of this fix command

  • zero or more keyword/value pairs may be appended

  • keyword = geometric_prefactor or contact_property_cutOff or max_penetration_ratio

geometric_prefactor value = gamma
  gamma = an empirical factor accounting for the geometry
contact_property_cutOff value = d
   d = distance from the contact surface ij at which the multi contacts  are considered (distance unit)
max_penetration_ratio value = mpr
   mpr = maximum ratio of overlap to radius up to which the corrected overlap is calculated

Examples

fix mc all multicontact/halfspace
fix mc all multicontact/halfspace geometric_prefactor 1.8
fix mc all multicontact/halfspace geometric_prefactor 0.96 contact_property_cutOff 0.025 max_penetration_ratio 0.1

Description

Implements the multicontact model by (Brodu et al.) . This model computes a per-contact deformation for each particle based on the other contacts this particles has. A particle i with contact ij has the following new radius (when computing the contact laws with particle j):

r_i + \sum_k \delta_{ij->ik} H(\delta_{max} - \delta_{ij->ik})

where r_i is the default radius of particle i, \sum_k is the sum over all particles in contact with i (k != j), H is the Heaviside step function and \delta_{max} is the max_penetration_ratio value. While the standard model does not have any constraint, the model has been modified to avoid unphysical enlargement of particles. If the overlap exceeds the maximum overlap/radius ratio up to which the multicontact assumption is valid. This assumes that the particle deformation is isotropic enough that the sphere inertia is reasonable. The delta value is given by

\delta_{ij->ik} = & - \gamma (1 + \nu) \frac{F_{ik}}{2 \pi Y d_{ik->ij}} \left[(n_{ik} . u_{ik->ij})(n_{ij} . u_{ik->ij}) + \right. \\ & \left. (3 - 4 \nu) n_{ik} . n_{ij} - \frac{(1 - 2 \nu) (n_{ik} + u_{ik->ij}) . n_{ij})}{(1 + n_{ik} u_{ik->ij})} \right]

where

  • \gamma = geometric prefactor

  • \nu = Poisson ratio

  • F_{ik} = absolute value of normal force acting at contact ik

  • Y = Youngs modulus

  • d_{ik->ij} = distance from contact ik to contact ij

  • u_{ik->ij} = unit vector pointing from contact ik to contact ij

  • n_{ik} = normal vector of contact ik

  • n_{ij} = normal vector of contact ij

The reason for applying the constraint is that, for displacements above the defined maximum, the deformation at each contact is as large that the for the certain local strain, the formulation can go back to the base contact law. Otherwise, the accumulated displacement fields would lead to a numerical failure of the model, i.e., an over-prediction of the overlaps. It has to be noted that the user-defined max_penetration_ratio can range between 0 and 1; 0 corresponding to the base contact law (e.g., Hertz) and 1 denoting the standard multicontact model.

Restart, fix_modify, output, run start/stop

No information about this fix is written to binary restart files.

fix_modify cannot be used on the parameter of this fix.

Restrictions

Requires the use of the gran surface model multicontact