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.