lammps/doc/replicate.txt

87 lines
3.7 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
replicate command :h3
[Syntax:]
replicate nx ny nz :pre
nx,ny,nz = replication factors in each dimension :ul
[Examples:]
replicate 2 3 2 :pre
[Description:]
Replicate the current simulation one or more times in each dimension.
For example, replication factors of 2,2,2 will create a simulation
with 8x as many atoms by doubling the simulation domain in each
dimension. A replication factor of 1 in a dimension leaves the
simulation domain unchanged.
All properties of the atoms are replicated, including their
velocities, which may or may not be desirable. New atom IDs are
assigned to new atoms, as are molecule IDs. Bonds and other topology
interactions are created between pairs of new atoms as well as between
old and new atoms. This is done by using the image flag for each atom
to "unwrap" it out of the periodic box before replicating it. This
means that molecular bonds you specify in the original data file that
span the periodic box should be between two atoms with image flags
that differ by 1. This will allow them to be unwrapped appropriately.
[Restrictions:]
A 2d simulation cannot be replicated in the z dimension.
If a simulation is non-periodic in a dimension, care should be used
when replicating it in that dimension, as it may put atoms nearly on
top of each other.
IMPORTANT NOTE: You cannot use the replicate command to replicate a
molecule that is bonded to itself across a periodic boundary, so the
molecule is efffectively a loop. A simple example would be a linear
polymer chain that spans the simulation box and bonds back to itself
across the periodic boundary. More realistic examples would be a CNT
(meant to be an infinitely long CNT) or graphene sheet. (Note that
this only applies to such molecules that have permanent bonds as
specified in the data file. A CNT that is just atoms modeled with the
"AIREBO potential"_pair_airebo.html has no such permanent bonds, so it
is not a problem to replicate it.) The reason replicate does not work
with those systems is that the image flag settings described above
cannot be made consistent. I.e. it is not possible to have every pair
of bonded atoms have the same image flags, when they are unwrapped so
as to be close to each other. The only way the replicate command
could work in this scenario is for it to break a bond, insert more
atoms, and re-connect the loop for the larger simulation box. It is
not clever enough to do this. So you will have to construct a larger
version of your molecule as a pre-processing step and input a new data
file to LAMMPS.
If the current simulation was read in from a restart file (before a
run is performed), there can have been no fix information stored in
the file for individual atoms. Similarly, no fixes can be defined at
the time the replicate command is used that require vectors of atom
information to be stored. This is because the replicate command does
not know how to replicate that information for new atoms it creates.
Replicating a system that has rigid bodies (defined via the "fix
rigid"_fix_rigid.html command), either currently defined or that
created the restart file which was read in before replicating, can
cause problems if there is a bond between a pair of rigid bodies that
straddle a periodic boundary. This is because the periodic image
information for particles in the rigid bodies are set differently than
for a non-rigid system and can result in a new bond being created that
spans the periodic box. Thus you cannot use the replicate command in
this scenario.
[Related commands:] none
[Default:] none