fix wall/body/polyhedron/granular command

Syntax

fix ID group-ID wall/body/polyhedron/granular normal_model normal_coeffs tangential tangential_model tangential_coeffs keyword values ... wallstyle args keyword values ...
  • ID, group-ID are documented in fix command

  • wall/body/polyhedron/granular = style name of this fix command

  • normal_model = hooke or hertz or hertz/material

  • normal_coeffs = coefficients of the normal model, see pair_style granular

  • tangential_model = linear_nohistory or linear_history

  • tangential_coeffs = coefficients of the tangential model, see pair_style granular

  • zero or more keyword/value pairs may be appended to the models

  • keyword = damping

    damping value = velocity or mass_velocity
  • wallstyle = xplane or yplane or zplane

  • args = list of arguments for a particular style

    xplane or yplane or zplane args = lo hi
      lo,hi = position of lower and upper plane (distance units), either can be NULL)
  • zero or more keyword/value pairs may be appended to args

  • keyword = wiggle

    wiggle values = dim amplitude period
      dim = x or y or z
      amplitude = size of oscillation (distance units)
      period = time of oscillation (time units)

Examples

fix 1 all wall/body/polyhedron/granular hooke 2000.0 50.0 tangential linear_history 500.0 0.25 0.5 zplane 0.0 NULL
fix 1 all wall/body/polyhedron/granular hertz/material 1200.0 20.0 0.3 damping mass_velocity &
      tangential linear_history 30.0 0.25 0.5 zplane 0.0 NULL wiggle x 0.5 10.0

Description

Added in version TBD.

This fix bounds the simulation domain of 3d body particles of style rounded/polyhedron with planar walls, as fix wall/body/polyhedron does, but with the normal, damping, and tangential contact models of pair_style granular. It is the counterpart of pair_style body/rounded/polyhedron/granular for the walls, e.g. to use Hertzian contacts with the elastic properties of the particles for both the contacts between particles and with the walls.

As for fix wall/body/polyhedron, each vertex of a particle, or the center of a sphere, touches the wall when its distance from the wall is smaller than its rounded radius \(r\). The contact is that of a sphere with the radius \(r\) with a flat wall, i.e. the effective radius of curvature is \(R_{eff} = r\), with the overlap \(\delta = r - d\), where \(d\) is the signed distance of the vertex from the wall. At each such contact, the elastic normal force of the normal model and the normal damping force of the damping model act along the wall normal at the contact point between the rounded surface and the wall. The wall has the same elastic properties as the particles, as for fix wall/gran. There is no cohesion with the wall.

As with the history keyword of fix wall/body/polyhedron, the friction force of the wall on a particle is a single force, the tangential force of the tangential model, which acts at the average of the contact points of the vertices touching the wall, with their average tangential velocity relative to the wall, both weighted by their elastic normal forces. Its Coulomb limit is \(\mu\) times the sum of the elastic normal forces of these vertices. The tangential displacement of linear_history is stored per particle and wall, and is reset to zero when the particle no longer touches the wall. The tangential damping is that of the tangential model, as for pair_style body/rounded/polyhedron/granular. The contact point lies halfway between the rounded surface and the wall, on the wall normal, i.e. at the distance \(r - \delta/2\) from the vertex, and not from the center of mass of the particle. The forces act at this point, so that their torque on a particle is the cross product of the vector from its center of mass to the contact point with the force, and the relative velocity is evaluated at this point, including the rotation of the particle. fix wall/gran instead uses the point on the surface of a sphere, at the distance of its radius \(r\) from its center, for both.

The tangential keyword with its model is required and the damping model is optional. Other normal, damping, and tangential models, as well as the rolling, twisting, and heat models are not supported. The wallstyle and the wiggle keyword are the same as for fix wall/body/polyhedron.

The input script in.heap3d_granular in the examples/body directory uses this fix for the floor on which cubes and tetrahedra come to rest in a heap.


Dump image info

This fix supports the fix keyword of dump image in the same way as fix wall/body/polyhedron.


Restart, fix_modify, output, run start/stop, minimize info

This fix writes the tangential displacements of the particles touching the walls to binary restart files, so that a simulation can continue correctly. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.

None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization.

Restrictions

This fix is part of the BODY package and requires the GRANULAR package. It is only enabled if LAMMPS was built with both packages. See the Build package page for more info.

Any dimension (xyz) that has a wall must be non-periodic.

Default

The damping model is velocity.