lammps/doc/displace_atoms.txt

84 lines
3.1 KiB
Plaintext
Raw Normal View History

"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
displace_atoms command :h3
[Syntax:]
displace_atoms group-ID style args keyword value ... :pre
group-ID = ID of group of atoms to displace :ulb,l
style = {move} or {ramp} :l
{move} args = delx dely delz
delx,dely,delz = distance to displace in each dimension (distance units)
{ramp} args = ddim dlo dhi dim clo chi
ddim = {x} or {y} or {z}
dlo,dhi = displacement distance between dlo and dhi (distance units)
dim = {x} or {y} or {z}
clo,chi = lower and upper bound of domain to displace (distance units) :pre
zero or more keyword/value pairs may be appended to the args :l
keyword = {units}
value = {box} or {lattice} :pre
:ule
[Examples:]
displace_atoms top move 0 -5 0 units box
displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 :pre
[Description:]
Displace a group of atoms. This can be used to move atoms a large
distance before beginning a simulation. For example, in a shear
simulation, an initial strain can be imposed on the system. Or two
groups of atoms can be brought into closer proximity.
The {move} style displaces the group of atoms by the specified 3d
distance. The {ramp} style displaces atoms a variable amount in one
dimension depending on the atom's coordinate in a (possibly) different
dimension. For example, the second example command displaces atoms in
the x-direction an amount between 0.0 and 5.0 distance units. Each
atom's displacement depends on the fractional distance its y
coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside
those bounds will be moved the minimum (0.0) or maximum (5.0) amount.
Distance units for the displacement are determined by the setting of
{box} or {lattice} for the {units} keyword. {Box} means distance
units as defined by the "units"_units.html command - e.g. Angstroms
for {real} units. {Lattice} means distance units are in lattice
spacings. The "lattice"_lattice.html command must have been
previously used to define the lattice spacing.
Care should be taken not to move atoms on top of other atoms. After
the move, atoms are remapped into the periodic simulation box if
needed.
Atoms can be moved arbitrarily long distances by this command.
However if the box is non-periodic, this can change the shape of the
simulation box. This is not a problem, except that the mapping of
processors to the simulation box is not changed from its initial 3d
configuration by this command; see the "processors"_processors.html
command. Thus, if the box shape changes dramatically, the simulation
may not be as well load-balanced (atoms per processor) as the initial
mapping tried to achieve.
[Restrictions:]
This command requires inter-processor communication to migrate atoms
once they have been displaced. This means that your system must be
ready to perform a simulation before using this command (force fields
are setup, atom masses are set, etc).
[Related commands:]
"lattice"_lattice.html
[Default:]
The option defaults are units = lattice.