lammps/doc/create_atoms.html

134 lines
5.6 KiB
HTML

<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>create_atoms command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>create_atoms type style args keyword values ...
</PRE>
<UL><LI>type = atom type (1-Ntypes) of atoms to create
<LI>style = <I>box</I> or <I>region</I> or <I>single</I>
<PRE> <I>box</I> args = none
<I>region</I> args = region-ID
region-ID = atoms will only be created if contained in the region
<I>single</I> args = x y z
x,y,z = coordinates of a single atom (distance units)
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>basis</I> or <I>units</I>
<PRE> <I>basis</I> values = M itype
M = which basis atom
itype = atom type (1-N) to assign to this basis atom
<I>units</I> value = <I>lattice</I> or <I>box</I>
<I>lattice</I> = the geometry is defined in lattice units
<I>box</I> = the geometry is defined in simulation box units
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>create_atoms 1 box
create_atoms 3 region regsphere basis 2 3
create_atoms 3 single 0 0 5
</PRE>
<P><B>Description:</B>
</P>
<P>This command creates atoms on a lattice or a single atom as an
alternative to reading in their coordinates via a
<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A>
command. A simulation box must already exist, which is typically
created via the <A HREF = "create_box.html">create_box</A> command. Before using
this command, a lattice must also be defined using the
<A HREF = "lattice.html">lattice</A> command. The only exception is for the
<I>single</I> style with units = box.
</P>
<P>For the <I>box</I> style, the create_atoms command fills the entire
simulation box with atoms on the lattice. If your simulation box is
periodic, you should insure its size is a multiple of the lattice
spacings, to avoid unwanted atom overlaps at the box boundaries. If
your box is periodic and a multiple of the lattice spacing in a
particular dimension, LAMMPS is careful to put exactly one atom at the
boundary (on either side of the box), not zero or two.
</P>
<P>For the <I>region</I> style, the geometric volume is filled that is inside
the simulation box and is also consistent with the region volume. See
the <A HREF = "region.html">region</A> command for details. Note that a region can
be specified so that its "volume" is either inside or outside a
geometric boundary. Also note that if your region is the same size as
a periodic simulation box (in some dimension), LAMMPS does not
implement the same logic as with the <I>box</I> style, to insure exactly
one atom at the boundary. if this is what you desire, you should
either use the <I>box</I> style, or tweak the region size to get precisely
the atoms you want.
</P>
<P>For the <I>single</I> style, a single atom is added to the system at the
specified coordinates. This can be useful for debugging purposes or
to create a tiny system with a handful of atoms at specified
positions.
</P>
<P>The <I>basis</I> keyword specifies an atom type that will be assigned to
specific basis atoms as they are created. See the
<A HREF = "lattice.html">lattice</A> command for specifics on how basis atoms are
defined for the unit cell of the lattice. By default, all created
atoms are assigned the argument <I>type</I> as their atom type.
</P>
<P>The <I>units</I> keyword determines the meaning of the distance units used
to specify the coordinates of the one atom created by the <I>single</I>
style. A <I>box</I> value selects standard distance units as defined by
the <A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or
metal. A <I>lattice</I> value means the distance units are in lattice
spacings.
</P>
<P>Note that this command adds atoms to those that already exist. By
using the create_atoms command multiple times, multiple sets of atoms
can be added to the simulation. For example, interleaving
create_atoms with <A HREF = "lattice.html">lattice</A> commands specifying different
orientations, grain boundaries can be created. By using the
create_atoms command in conjunction with the
<A HREF = "delete_atoms.html">delete_atoms</A> command, reasonably complex
geometries can be created. The create_atoms command can also be used
to add atoms to a system previously read in from a data or restart
file. In all these cases, care should be taken to insure that new
atoms do not overlap existing atoms inappropriately. The
<A HREF = "delete_atoms.html">delete_atoms</A> command can be used to handle
overlaps.
</P>
<P>Aside from their position and atom type, other properties of created
atoms are set to 0.0, e.g velocity, charge, etc. These properties can
be changed via the <A HREF = "velocity.html">velocity</A> or <A HREF = "set.html">set</A>
commands.
</P>
<P>Atom IDs are assigned to created atoms in the following way. The
collection of created atoms are assigned consecutive IDs that start
immediately following the largest atom ID existing before the
create_atoms command was invoked. When a simulation is performed on
different numbers of processors, there is no guarantee a particular
created atom will be assigned the same ID.
</P>
<P><B>Restrictions:</B>
</P>
<P>An <A HREF = "atom_style.html">atom_style</A> must be previously defined to use this
command.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "lattice.html">lattice</A>, <A HREF = "region.html">region</A>, <A HREF = "create_box.html">create_box</A>,
<A HREF = "read_data.html">read_data</A>, <A HREF = "read_restart.html">read_restart</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>