lammps/doc/fix_indent.txt

144 lines
5.8 KiB
Plaintext

"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix indent command :h3
[Syntax:]
fix ID group-ID indent k keyword values ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
indent = style name of this fix command :l
k = force constant for indenter surface (force/distance^2 units) :l
one or more keyword/value pairs may be appended :l
keyword = {sphere} or {cylinder} or {plane} or {vel} or {rstart} or {units} :l
{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 :pre
:ule
[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 :pre
[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 :pre
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
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.
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"_units.html command, e.g. Angstroms for units
= real or metal. A {lattice} value means the distance units are in
lattice spacings. The "lattice"_lattice.html 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"_restart.html.
The "fix_modify"_fix_modify.html {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"_thermo_style.html. 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"_Section_howto.html#4_15. 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"_run.html
command. See the "run"_run.html command for details of how to do
this.
The forces due to this fix are imposed during an energy minimization,
invoked by the "minimize"_minimize.html 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"_fix_modify.html
{energy} option for this fix.
[Restrictions:] none
[Related commands:] none
[Default:]
The option defaults are vel = 0,0,0 and units = lattice.