LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

### fix indent command

Syntax:

    fix ID group-ID indent k keyword values ...

- ID, group-ID are documented in fix command
- indent = style name of this fix command
- k = force constant for indenter surface (force/distance^2 units)
- one or more keyword/value pairs may be appended
- keyword = sphere or cylinder or plane or vel or rstart or units

        sphere args = x y z R
          x,y,z = initial position of center of indenter (distance units)
          R = sphere radius of indenter (distance units)
        cylinder args = dim c1 c2 R
          dim = x or y or z = axis of cylinder
          c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
          R = cylinder radius of indenter (distance units)
        plane args = dim pos side
          dim = x or y or z = plane perpendicular to this dimension
          pos = position of plane in dimension x, y, or z (distance units)
          side = lo or hi
        vel args = vx vy vz
          vx,vy,vz = velocity of center of indenter (velocity units)
        rstart value = R0
          R0 = sphere or cylinder radius at start of run (distance units)
          R is value at end of run, so indenter expands/contracts over time
        units value = lattice or box
          lattice = the geometry is defined in lattice units
          box = the geometry is defined in simulation box units

Examples:

    fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 vel 0.0 0.0 -1.0
    fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box

Description:

Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as an obstacle in a flow.

The indenter can either be spherical or cylindrical or planar. You must set one of those 3 keywords.

A spherical indenter exerts a force of magnitude

    F(r) = - k (r - R)^2

on each atom where k is the specified force constant, r is the distance from the atom to the center of the indenter, and R is the radius of the indenter. The force is repulsive and F(r) = 0 for r > R.

A cylindrical indenter exerts the same force, except that r is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis.

A planar indenter is really an axis-aligned infinite-extent wall exerting the same force on atoms in the system, where R is the position of the plane and r-R is the distance from the plane. If the side parameter of the plane is specified as lo then it will indent from the lo end of the simulation box, meaning that atoms with a coordinate less than the plane's current position will be pushed towards the hi end of the box and atoms with a coordinate higher than the plane's current position will feel no force. Vice versa if side is specified as hi.

If the vel keyword is specified, the center (or axis or position) of the spherical (or cylindrical or planar) indenter will move during the simulation, based on its initial position (x,y,z) and the specified (vx,vy,vz). Note that if you do multiple runs, the initial position of the indenter (x,y,z) does not change, so it will continue to move at the specified velocity.

If the rstart keyword is specified, then the radius of the indenter is a time-dependent quantity. R0 is the value assigned at the start of the run; R is the value at the end. At intermediate times, the radius is linearly interpolated between these two values. This option can be used, for example, to grow/shrink a void within the simulation box.

The units keyword determines the meaning of the distance units used to define the indenter. A box value selects standard distance units as defined by the units command, e.g. Angstroms for units = real or metal. A lattice value means the distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Note that the units choice affects not only the indenter's physical geometry, but also its velocity and force constant since they are defined in terms of distance as well.

IMPORTANT NOTE: For spherical and cylindrical indenters, you should insure the indenter's extent does not overlap a periodic boundary, either for a fixed indenter, or one that moves. No check for such overlaps is performed by the code.

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

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

The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and the indenter to the system's potential energy as part of thermodynamic output. The energy of each particle interacting with the indenter is K/3 (r - R)^3.

This fix computes a scalar energy and a 3-vector of forces (on the indenter), which can be accessed by various output commands. The scalar and vector values calculated by this fix are "extensive", meaning they scale with the number of atoms in the simulation.

This fix can adjust the indenter position and radius over multiple runs, using the start and stop keywords of the run command. See the run command for details of how to do this.

The forces due to this fix are imposed during an energy minimization, invoked by the minimize command. The rstart keyword does not change the indenter radius during an energy minimization; the indenter always has a radius of its final value R in that case.

IMPORTANT NOTE: If you want the atom/indenter interaction energy to be included in the total potential energy of the system (the quantity being minimized), you must enable the fix_modify energy option for this fix.

Restrictions: none

Related commands: none

Default:

The option defaults are vel = 0,0,0 and units = lattice.