fix wall/body/polyhedron command

Syntax

fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ...
  • ID, group-ID are documented in fix command

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

  • k_n = normal repulsion strength (force/distance units or pressure units - see discussion below)

  • c_n = normal damping coefficient (force/distance units or pressure units - see discussion below)

  • c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below)

  • wallstyle = xplane or yplane or zplane or zcylinder

  • args = list of arguments for a particular style

    xplane or yplane args = lo hi
      lo,hi = position of lower and upper plane (distance units), either can be NULL)
    zcylinder args = radius
      radius = cylinder radius (distance units)
    
  • 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 1000.0 20.0 5.0 xplane -10.0 10.0

Description

This fix is for use with 3d models of body particles of style rounded/polyhedron. It bounds the simulation domain with wall(s). All particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See the Howto body doc page for more details on using body particles.

The parameters k_n, c_n, c_t have the same meaning and units as those specified with the pair_style body/rounded/polyhedron command.

The wallstyle can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by lo and hi. Either of the values can be specified as NULL if a single wall is desired. For a zcylinder wallstyle, the cylinder’s axis is at x = y = 0.0, and the radius of the cylinder is specified.

Optionally, the wall can be moving, if the wiggle keyword is appended.

For the wiggle keyword, the wall oscillates sinusoidally, similar to the oscillations of particles which can be specified by the fix move command. This is useful in packing simulations of particles. The arguments to the wiggle keyword specify a dimension for the motion, as well as it’s amplitude and period. Note that if the dimension is in the plane of the wall, this is effectively a shearing motion. If the dimension is perpendicular to the wall, it is more of a shaking motion. A zcylinder wall can only be wiggled in the z dimension.

Each timestep, the position of a wiggled wall in the appropriate dim is set according to this equation:

position = coord + A - A cos (omega * delta)

where coord is the specified initial position of the wall, A is the amplitude, omega is 2 PI / period, and delta is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression.

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

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. It is only enabled if LAMMPS was built with that package. See the Build package doc page for more info.

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