2006-09-22 00:22:34 +08:00
|
|
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
2009-10-03 01:58:12 +08:00
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
|
|
:link(ld,Manual.html)
|
|
|
|
:link(lc,Section_commands.html#comm)
|
2009-10-03 01:58:12 +08:00
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
:line
|
|
|
|
|
|
|
|
read_data command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
read_data file :pre
|
|
|
|
|
|
|
|
file = name of data file to read in :ul
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
|
|
|
read_data data.lj
|
|
|
|
read_data ../run7/data.polymer.gz :pre
|
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
Read in a data file containing information LAMMPS needs to run a
|
|
|
|
simulation. The file can be ASCII text or a gzipped text file
|
|
|
|
(detected by a .gz suffix). This is one of 3 ways to specify initial
|
|
|
|
atom coordinates; see the "read_restart"_read_restart.html and
|
|
|
|
"create_atoms"_create_atoms.html commands for alternative methods.
|
|
|
|
|
|
|
|
The structure of the data file is important, though many settings and
|
|
|
|
sections are optional or can come in any order. See the examples
|
|
|
|
directory for sample data files for different problems.
|
|
|
|
|
|
|
|
A data file has a header and a body. The header appears first. The
|
|
|
|
first line of the header is always skipped; it typically contains a
|
|
|
|
description of the file. Then lines are read one at a time. Lines
|
|
|
|
can have a trailing comment starting with '#' that is ignored. If the
|
|
|
|
line is blank (only whitespace after comment is deleted), it is
|
|
|
|
skipped. If the line contains a header keyword, the corresponding
|
|
|
|
value(s) is read from the line. If it doesn't contain a header
|
|
|
|
keyword, the line begins the body of the file.
|
|
|
|
|
|
|
|
The body of the file contains zero or more sections. The first line
|
|
|
|
of a section has only a keyword. The next line is skipped. The
|
|
|
|
remaining lines of the section contain values. The number of lines
|
|
|
|
depends on the section keyword as described below. Zero or more blank
|
|
|
|
lines can be used between sections. Sections can appear in any order,
|
|
|
|
with a few exceptions as noted below.
|
|
|
|
|
|
|
|
The formatting of individual lines in the data file (indentation,
|
|
|
|
spacing between words and numbers) is not important except that header
|
|
|
|
and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must
|
|
|
|
be capitalized as shown and can't have extra white space between their
|
|
|
|
words - e.g. two spaces or a tab between "Bond" and "Coeffs" is not
|
|
|
|
valid.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
These are the recognized header keywords. Header lines can come in
|
2007-03-06 23:13:57 +08:00
|
|
|
any order. The value(s) are read from the beginning of the line.
|
|
|
|
Thus the keyword {atoms} should be in a line like "1000 atoms"; the
|
|
|
|
keyword {ylo yhi} should be in a line like "-10.0 10.0 ylo yhi"; the
|
|
|
|
keyword {xy xz yz} should be in a line like "0.0 5.0 6.0 xy xz yz".
|
|
|
|
All these settings have a default value of 0, except the lo/hi box
|
|
|
|
size defaults are -0.5 and 0.5. A line need only appear if the value
|
|
|
|
is different than the default.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
{atoms} = # of atoms in system
|
|
|
|
{bonds} = # of bonds in system
|
|
|
|
{angles} = # of angles in system
|
|
|
|
{dihedrals} = # of dihedrals in system
|
|
|
|
{impropers} = # of impropers in system
|
|
|
|
{atom types} = # of atom types in system
|
|
|
|
{bond types} = # of bond types in system
|
|
|
|
{angle types} = # of angle types in system
|
|
|
|
{dihedral types} = # of dihedral types in system
|
|
|
|
{improper types} = # of improper types in system
|
2009-01-06 06:26:31 +08:00
|
|
|
{extra bond per atom} = leave space for this many new bonds per atom
|
2006-09-22 00:22:34 +08:00
|
|
|
{xlo xhi} = simulation box boundaries in x dimension
|
|
|
|
{ylo yhi} = simulation box boundaries in y dimension
|
2007-03-06 23:13:57 +08:00
|
|
|
{zlo zhi} = simulation box boundaries in z dimension
|
2010-10-15 07:23:43 +08:00
|
|
|
{xy xz yz} = simulation box tilt factors for triclinic system :ul
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
The initial simulation box size is determined by the lo/hi settings.
|
|
|
|
In any dimension, the system may be periodic or non-periodic; see the
|
|
|
|
"boundary"_boundary.html command.
|
|
|
|
|
2009-01-06 06:26:31 +08:00
|
|
|
If the {xy xz yz} line does not appear, LAMMPS will set up an
|
2007-03-06 23:13:57 +08:00
|
|
|
axis-aligned (orthogonal) simulation box. If the line does appear,
|
|
|
|
LAMMPS creates a non-orthogonal simulation domain shaped as a
|
2010-10-15 07:23:43 +08:00
|
|
|
parallelepiped with triclinic symmetry. The parallelepiped has its
|
|
|
|
"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting
|
|
|
|
from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C =
|
|
|
|
(xz,yz,zhi-zlo). {Xy,xz,yz} can be 0.0 or positive or negative values
|
|
|
|
and are called "tilt factors" because they are the amount of
|
|
|
|
displacement applied to faces of an originally orthogonal box to
|
|
|
|
transform it into the parallelepiped.
|
2007-06-20 20:56:17 +08:00
|
|
|
|
|
|
|
The tilt factors (xy,xz,yz) can not skew the box more than half the
|
2010-10-15 07:23:43 +08:00
|
|
|
distance of the corresponding parallel box length. For example, if
|
|
|
|
xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt
|
|
|
|
factor must be between -5 and 5. Similarly, both xz and yz must be
|
|
|
|
between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a
|
|
|
|
limitation, since if the maximum tilt factor is 5 (as in this
|
|
|
|
example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
|
|
|
|
... are all geometrically equivalent.
|
|
|
|
|
|
|
|
See "this section"_Section_howto.html#4_12 of the doc pages for a
|
|
|
|
geometric description of triclinic boxes, as defined by LAMMPS, and
|
2010-10-15 07:31:42 +08:00
|
|
|
how to transform these parameters to and from other commonly used
|
|
|
|
triclinic representations.
|
2010-05-01 06:27:16 +08:00
|
|
|
|
2007-03-06 23:13:57 +08:00
|
|
|
When a triclinic system is used, the simulation domain must be
|
2007-04-02 22:26:01 +08:00
|
|
|
periodic in any dimensions with a non-zero tilt factor, as defined by
|
|
|
|
the "boundary"_boundary.html command. I.e. if the xy tilt factor is
|
2007-03-06 23:13:57 +08:00
|
|
|
non-zero, then both the x and y dimensions must be periodic.
|
|
|
|
Similarly, x and z must be periodic if xz is non-zero and y and z must
|
2010-10-15 07:23:43 +08:00
|
|
|
be periodic if yz is non-zero. Also note that if your simulation will
|
|
|
|
tilt the box, e.g. via the "fix deform"_fix_deform.html command, the
|
|
|
|
simulation box must be defined as triclinic, even if the tilt factors
|
|
|
|
are initially 0.0.
|
2007-03-06 23:13:57 +08:00
|
|
|
|
|
|
|
For 2d simulations, the {zlo zhi} values should be set to bound the z
|
|
|
|
coords for atoms that appear in the file; the default of -0.5 0.5 is
|
|
|
|
valid if all z coords are 0.0. For 2d triclinic simulations, the xz
|
2007-04-02 22:26:01 +08:00
|
|
|
and yz tilt factors must be 0.0.
|
2007-03-06 23:13:57 +08:00
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
If the system is periodic (in a dimension), then atom coordinates can
|
2009-04-04 00:19:32 +08:00
|
|
|
be outside the bounds (in that dimension); they will be remapped (in a
|
|
|
|
periodic sense) back inside the box.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2008-05-20 23:38:43 +08:00
|
|
|
IMPORTANT NOTE: If the system is non-periodic (in a dimension), then
|
|
|
|
all atoms in the data file must have coordinates (in that dimension)
|
2008-05-21 05:19:34 +08:00
|
|
|
that are "greater than or equal to" the lo value and "less than or
|
|
|
|
equal to" the hi value. If the non-periodic dimension is of style
|
|
|
|
"fixed" (see the "boundary"_boundary.html command), then the atom
|
|
|
|
coords must be strictly "less than" the hi value, due to the way
|
|
|
|
LAMMPS assign atoms to processors. Note that you should not make the
|
|
|
|
lo/hi values radically smaller/larger than the extent of the atoms.
|
|
|
|
For example, if your atoms extend from 0 to 50, you should not specify
|
|
|
|
the box bounds as -10000 and 10000. This is because LAMMPS uses the
|
2008-05-20 23:38:43 +08:00
|
|
|
specified box size to layout the 3d grid of processors. A huge
|
2010-10-06 00:12:36 +08:00
|
|
|
(mostly empty) box will be sub-optimal for performance when using
|
|
|
|
"fixed" boundary conditions (see the "boundary"_boundary.html
|
|
|
|
command). When using "shrink-wrap" boundary conditions (see the
|
|
|
|
"boundary"_boundary.html command), a huge (mostly empty) box may cause
|
|
|
|
a parallel simulation to lose atoms the first time that LAMMPS
|
2009-04-04 00:19:32 +08:00
|
|
|
shrink-wraps the box around the atoms.
|
2008-05-20 23:38:43 +08:00
|
|
|
|
2009-01-06 06:26:31 +08:00
|
|
|
The "extra bond per atom" setting should be used if new bonds will be
|
|
|
|
added to the system when a simulation runs, e.g. by using the "fix
|
|
|
|
bond/create"_fix_bond_create.html command. This will pre-allocate
|
|
|
|
space in LAMMPS data structures for storing the new bonds.
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
:line
|
|
|
|
|
|
|
|
These are the section keywords for the body of the file.
|
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
{Atoms, Velocities, Masses, Shapes, Dipoles} = atom-property sections
|
2008-03-01 09:13:20 +08:00
|
|
|
{Bonds, Angles, Dihedrals, Impropers} = molecular topology sections
|
2006-09-22 00:22:34 +08:00
|
|
|
{Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, \
|
|
|
|
Improper Coeffs} = force field sections
|
|
|
|
{BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, \
|
|
|
|
EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, \
|
|
|
|
BondBond13 Coeffs, AngleAngle Coeffs} = class 2 force field sections :ul
|
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
Each section is listed below in alphabetic order. The format of each
|
2006-09-22 00:22:34 +08:00
|
|
|
section is described including the number of lines it must contain and
|
|
|
|
rules (if any) for where it can appear in the data file.
|
|
|
|
|
|
|
|
Any individual line in the various sections can have a trailing
|
|
|
|
comment starting with "#" for annotation purposes. E.g. in the
|
|
|
|
Atoms section:
|
|
|
|
|
|
|
|
10 1 17 -1.0 10.0 5.0 6.0 # salt ion :pre
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Angle Coeffs} section:
|
|
|
|
|
|
|
|
one line per angle type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = angle type (1-N)
|
|
|
|
coeffs = list of coeffs :pre
|
|
|
|
example: :l
|
|
|
|
6 70 108.5 0 0 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The number and meaning of the coefficients are specific to the defined
|
|
|
|
angle style. See the "angle_style"_angle_style.html and
|
|
|
|
"angle_coeff"_angle_coeff.html commands for details. Coefficients can
|
|
|
|
also be set via the "angle_coeff"_angle_coeff.html command in the
|
|
|
|
input script.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{AngleAngle Coeffs} section:
|
|
|
|
|
|
|
|
one line per improper type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = improper type (1-N)
|
|
|
|
coeffs = list of coeffs (see "improper_coeff"_improper_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{AngleAngleTorsion Coeffs} section:
|
|
|
|
|
|
|
|
one line per dihedral type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = dihedral type (1-N)
|
|
|
|
coeffs = list of coeffs (see "dihedral_coeff"_dihedral_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Angles} section:
|
|
|
|
|
|
|
|
one line per angle :ulb,l
|
|
|
|
line syntax: ID type atom1 atom2 atom3 :l
|
|
|
|
ID = number of angle (1-Nangles)
|
|
|
|
type = angle type (1-Nangletype)
|
|
|
|
atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle :pre
|
|
|
|
example: :b
|
|
|
|
2 2 17 29 430 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The 3 atoms are ordered linearly within the angle. Thus the central
|
|
|
|
atom (around which the angle is computed) is the atom2 in the list.
|
|
|
|
E.g. H,O,H for a water molecule. The {Angles} section must appear
|
|
|
|
after the {Atoms} section. All values in this section must be
|
|
|
|
integers (1, not 1.0).
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{AngleTorsion Coeffs} section:
|
|
|
|
|
|
|
|
one line per dihedral type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = dihedral type (1-N)
|
|
|
|
coeffs = list of coeffs (see "dihedral_coeff"_dihedral_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Atoms} section:
|
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
one line per atom
|
2006-09-22 00:22:34 +08:00
|
|
|
line syntax: depends on atom style :ul
|
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
An {Atoms} section must appear in the data file if natoms > 0 in the
|
|
|
|
header section. The atoms can be listed in any order. These are the
|
2007-12-12 07:28:43 +08:00
|
|
|
line formats for each "atom style"_atom_style.html in LAMMPS. As
|
|
|
|
discussed below, each line can optionally have 3 flags (nx,ny,nz)
|
|
|
|
appended to it, which indicate which image of a periodic simulation
|
|
|
|
box the atom is in. These may be important to include for some kinds
|
|
|
|
of analysis.
|
2007-02-10 05:37:30 +08:00
|
|
|
|
|
|
|
angle: atom-ID molecule-ID atom-type x y z
|
|
|
|
atomic: atom-ID atom-type x y z
|
|
|
|
bond: atom-ID molecule-ID atom-type x y z
|
|
|
|
charge: atom-ID atom-type q x y z
|
2009-11-07 05:01:28 +08:00
|
|
|
colloid: atom-ID atom-type x y z
|
2007-06-20 20:56:17 +08:00
|
|
|
dipole: atom-ID atom-type q x y z mux muy muz
|
2010-08-25 23:39:16 +08:00
|
|
|
electron: atom-ID atom-type q spin eradius x y z
|
2007-04-20 07:25:27 +08:00
|
|
|
ellipsoid: atom-ID atom-type x y z quatw quati quatj quatk
|
2007-02-10 05:37:30 +08:00
|
|
|
full: atom-ID molecule-ID atom-type q x y z
|
|
|
|
granular: atom-ID atom-type diameter density x y z
|
2007-06-20 20:56:17 +08:00
|
|
|
molecular: atom-ID molecule-ID atom-type x y z
|
2008-07-25 22:42:02 +08:00
|
|
|
peri: atom-ID atom-type volume density x y z
|
2007-06-20 20:56:17 +08:00
|
|
|
hybrid: atom-ID atom-type x y z sub-style1 sub-style2 ... :tb(s=:)
|
2007-02-10 05:37:30 +08:00
|
|
|
|
2007-12-12 07:28:43 +08:00
|
|
|
The keywords have these meanings:
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
atom-ID = integer ID of atom
|
|
|
|
molecule-ID = integer ID of molecule the atom belongs to
|
2007-02-10 05:37:30 +08:00
|
|
|
type-ID = type of atom (1-Ntype)
|
2008-07-25 07:46:15 +08:00
|
|
|
q = charge on atom (charge units)
|
|
|
|
diameter = diameter of atom (distance units)
|
|
|
|
density = density of atom (mass/distance^3 units)
|
|
|
|
volume = volume of atom (distance^3 units)
|
2007-04-20 07:25:27 +08:00
|
|
|
x,y,z = coordinates of atom
|
2007-06-20 20:56:17 +08:00
|
|
|
mux,muy,muz = direction of dipole moment of atom
|
2010-08-21 04:47:28 +08:00
|
|
|
quatw,quati,quatj,quatk = quaternion components for orientation of atom
|
2011-02-23 06:29:54 +08:00
|
|
|
spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP)
|
|
|
|
eradius = electron radius (or fixed-core radius) :ul
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
The units for these quantities depend on the unit style; see the
|
|
|
|
"units"_units.html command for details.
|
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
For 2d simulations specify z as 0.0, or a value within the {zlo zhi}
|
|
|
|
setting in the data file header.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
The atom-ID is used to identify the atom throughout the simulation and
|
|
|
|
in dump files. Normally, it is a unique value from 1 to Natoms for
|
|
|
|
each atom. Unique values larger than Natoms can be used, but they
|
|
|
|
will cause extra memory to be allocated on each processor, if an atom
|
|
|
|
map array is used (see the "atom_modify"_atom_modify.html command).
|
|
|
|
If an atom map array is not used (e.g. an atomic system with no
|
|
|
|
bonds), velocities are not assigned in the data file, and you don't
|
2006-09-28 03:12:31 +08:00
|
|
|
care if unique atom IDs appear in dump files, then the atom-IDs can all
|
|
|
|
be set to 0.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
The molecule ID is a 2nd identifier attached to an atom. Normally, it
|
|
|
|
is a number from 1 to N, identifying which molecule the atom belongs
|
2007-02-10 05:37:30 +08:00
|
|
|
to. It can be 0 if it is an unbonded atom or if you don't care to
|
|
|
|
keep track of molecule assignments.
|
|
|
|
|
2009-06-27 02:22:33 +08:00
|
|
|
The diameter specifies the size of a finite size particle, analagous
|
|
|
|
to the "shape"_shape.html command which sets the size on a per-type
|
|
|
|
basis. A diameter can be set to 0.0, which means that atom is a point
|
|
|
|
particle and not a finite-size particles. Some pair styles and fixes
|
|
|
|
and computes that operate on finite-size particles allow for a mixture
|
|
|
|
of finite-size and point particles. See the doc pages of individual
|
|
|
|
commands for details.
|
|
|
|
|
|
|
|
The density is used in conjunction with the diameter to set the mass
|
|
|
|
of a particle as mass = density * volume. If the diameter and volume
|
|
|
|
are 0.0 meaning a point particle, then the mass is not 0.0 but is set
|
|
|
|
as mass = density.
|
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
The values {quatw}, {quati}, {quatj}, and {quatk} set the orientation
|
|
|
|
of the atom as a quaternion (4-vector). Note that the
|
|
|
|
"shape"_shape.html command or "Shapes" section of the data file
|
|
|
|
specifies the aspect ratios of an ellipsoidal particle, which is
|
|
|
|
oriented by default with its x-axis along the simulation box's x-axis,
|
|
|
|
and similarly for y and z. If this body is rotated (via the
|
|
|
|
right-hand rule) by an angle theta around a unit vector (a,b,c), then
|
|
|
|
the quaternion that represents its new orientation is given by
|
|
|
|
(cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These
|
2008-03-01 09:23:23 +08:00
|
|
|
4 components are quatw, quati, quatj, and quatk as specified above.
|
2007-06-20 20:56:17 +08:00
|
|
|
LAMMPS normalizes each atom's quaternion in case (a,b,c) was not a
|
|
|
|
unit vector.
|
|
|
|
|
|
|
|
For atom_style hybrid, following the 5 initial values (ID,type,x,y,z),
|
|
|
|
specific values for each sub-style must be listed. The order of the
|
|
|
|
sub-styles is the same as they were listed in the
|
|
|
|
"atom_style"_atom_style.html command. The sub-style specific values
|
|
|
|
are those that are not the 5 standard ones (ID,type,x,y,z). For
|
|
|
|
example, for the "charge" sub-style, a "q" value would appear. For
|
|
|
|
the "full" sub-style, a "molecule-ID" and "q" would appear. These are
|
|
|
|
listed in the same order they appear as listed above.
|
|
|
|
|
|
|
|
Thus if
|
|
|
|
|
|
|
|
atom_style hybrid charge granular :pre
|
|
|
|
|
|
|
|
were used in the input script, each atom line would have these fields:
|
|
|
|
|
|
|
|
atom-ID atom-type x y z q diameter density :pre
|
|
|
|
|
2007-12-12 07:28:43 +08:00
|
|
|
Atom lines (all lines or none of them) can optionally list 3 trailing
|
2007-02-10 05:37:30 +08:00
|
|
|
integer values: nx,ny,nz. For periodic dimensions, they specify which
|
2008-08-20 23:23:00 +08:00
|
|
|
image of the simulation box the atom is considered to be in. An image
|
|
|
|
of 0 means it is inside the box as defined. A value of 2 means add 2
|
|
|
|
box lengths to get the true value. A value of -1 means subtract 1 box
|
|
|
|
length to get the true value. LAMMPS updates these flags as atoms
|
|
|
|
cross periodic boundaries during the simulation. The flags can be
|
|
|
|
output with atom snapshots via the "dump"_dump.html command.
|
2007-12-12 07:28:43 +08:00
|
|
|
|
|
|
|
If nx,ny,nz values are not set in the data file, LAMMPS initializes
|
|
|
|
them to 0. If image information is needed for later analysis and they
|
|
|
|
are not all initially 0, it's important to set them correctly in the
|
|
|
|
data file. Also, if you plan to use the "replicate"_replicate.html
|
|
|
|
command to generate a larger system, these flags must be listed
|
|
|
|
correctly for bonded atoms when the bond crosses a periodic boundary.
|
|
|
|
I.e. the values of the image flags should be different by 1 (in the
|
|
|
|
appropriate dimension) for the two atoms in such a bond.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
Atom velocities and other atom quantities not defined above are set to
|
2007-12-12 07:28:43 +08:00
|
|
|
0.0 when the {Atoms} section is read. Velocities can be set later by
|
|
|
|
a {Velocities} section in the data file or by a
|
|
|
|
"velocity"_velocity.html or "set"_set.html command in the input
|
|
|
|
script.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Bond Coeffs} section:
|
|
|
|
|
|
|
|
one line per bond type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = bond type (1-N)
|
|
|
|
coeffs = list of coeffs :pre
|
|
|
|
example: :l
|
|
|
|
4 250 1.49 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The number and meaning of the coefficients are specific to the defined
|
|
|
|
bond style. See the "bond_style"_bond_style.html and
|
|
|
|
"bond_coeff"_bond_coeff.html commands for details. Coefficients can
|
|
|
|
also be set via the "bond_coeff"_bond_coeff.html command in the input
|
|
|
|
script.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{BondAngle Coeffs} section:
|
|
|
|
|
|
|
|
one line per angle type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = angle type (1-N)
|
|
|
|
coeffs = list of coeffs (see class 2 section of "angle_coeff"_angle_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{BondBond Coeffs} section:
|
|
|
|
|
|
|
|
one line per angle type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = angle type (1-N)
|
|
|
|
coeffs = list of coeffs (see class 2 section of "angle_coeff"_angle_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{BondBond13 Coeffs} section:
|
|
|
|
|
|
|
|
one line per dihedral type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = dihedral type (1-N)
|
|
|
|
coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Bonds} section:
|
|
|
|
|
|
|
|
one line per bond :ulb,l
|
|
|
|
line syntax: ID type atom1 atom2 :l
|
|
|
|
ID = bond number (1-Nbonds)
|
|
|
|
type = bond type (1-Nbondtype)
|
|
|
|
atom1,atom2 = IDs of 1st,2nd atoms in bond :pre
|
|
|
|
example: :l
|
|
|
|
12 3 17 29 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The {Bonds} section must appear after the {Atoms} section. All values
|
|
|
|
in this section must be integers (1, not 1.0).
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Dihedral Coeffs} section:
|
|
|
|
|
|
|
|
one line per dihedral type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = dihedral type (1-N)
|
|
|
|
coeffs = list of coeffs :pre
|
|
|
|
example: :l
|
|
|
|
3 0.6 1 0 1 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The number and meaning of the coefficients are specific to the defined
|
|
|
|
dihedral style. See the "dihedral_style"_dihedral_style.html and
|
|
|
|
"dihedral_coeff"_dihedral_coeff.html commands for details.
|
|
|
|
Coefficients can also be set via the
|
|
|
|
"dihedral_coeff"_dihedral_coeff.html command in the input script.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Dihedrals} section:
|
|
|
|
|
|
|
|
one line per dihedral :ulb,l
|
|
|
|
line syntax: ID type atom1 atom2 atom3 atom4 :l
|
|
|
|
ID = number of dihedral (1-Ndihedrals)
|
|
|
|
type = dihedral type (1-Ndihedraltype)
|
|
|
|
atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral :pre
|
|
|
|
example: :l
|
|
|
|
12 4 17 29 30 21 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The 4 atoms are ordered linearly within the dihedral. The {Dihedrals}
|
|
|
|
section must appear after the {Atoms} section. All values in this
|
|
|
|
section must be integers (1, not 1.0).
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Dipoles} section:
|
|
|
|
|
|
|
|
one line per atom type :ulb,l
|
|
|
|
line syntax: ID dipole-moment :
|
|
|
|
ID = atom type (1-N)
|
|
|
|
dipole-moment = value of dipole moment :pre
|
|
|
|
example: :l
|
|
|
|
2 0.5 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
This defines the dipole moment of each atom type (which can be 0.0 for
|
|
|
|
some types). This can also be set via the "dipole"_dipole.html
|
|
|
|
command in the input script.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{EndBondTorsion Coeffs} section:
|
|
|
|
|
|
|
|
one line per dihedral type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = dihedral type (1-N)
|
|
|
|
coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Improper Coeffs} section:
|
|
|
|
|
|
|
|
one line per improper type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = improper type (1-N)
|
|
|
|
coeffs = list of coeffs :pre
|
|
|
|
example: :l
|
|
|
|
2 20 0.0548311 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The number and meaning of the coefficients are specific to the defined
|
|
|
|
improper style. See the "improper_style"_improper_style.html and
|
|
|
|
"improper_coeff"_improper_coeff.html commands for details.
|
|
|
|
Coefficients can also be set via the
|
|
|
|
"improper_coeff"_improper_coeff.html command in the input script.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Impropers} section:
|
|
|
|
|
|
|
|
one line per improper :ulb,l
|
|
|
|
line syntax: ID type atom1 atom2 atom3 atom4 :l
|
|
|
|
ID = number of improper (1-Nimpropers)
|
|
|
|
type = improper type (1-Nimpropertype)
|
|
|
|
atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper :pre
|
|
|
|
example: :l
|
|
|
|
12 3 17 29 13 100 :pre
|
|
|
|
:ule
|
|
|
|
|
2007-06-28 04:56:05 +08:00
|
|
|
The ordering of the 4 atoms determines the definition of the improper
|
|
|
|
angle used in the formula for each "improper
|
|
|
|
style"_improper_style.html. See the doc pages for individual styles
|
|
|
|
for details.
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
The {Impropers} section must appear after the {Atoms} section. All
|
|
|
|
values in this section must be integers (1, not 1.0).
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Masses} section:
|
|
|
|
|
|
|
|
one line per atom type :ulb,l
|
|
|
|
line syntax: ID mass :l
|
|
|
|
ID = atom type (1-N)
|
|
|
|
mass = mass value :pre
|
|
|
|
example: :l
|
|
|
|
3 1.01 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
This defines the mass of each atom type. This can also be set via the
|
|
|
|
"mass"_mass.html command in the input script. This section should not
|
|
|
|
be used for atom styles that define a mass for individual atoms -
|
|
|
|
e.g. atom style granular.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{MiddleBondTorsion Coeffs} section:
|
|
|
|
|
|
|
|
one line per dihedral type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = dihedral type (1-N)
|
|
|
|
coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
{Pair Coeffs} section:
|
|
|
|
|
|
|
|
one line per atom type :ulb,l
|
|
|
|
line syntax: ID coeffs :l
|
|
|
|
ID = atom type (1-N)
|
|
|
|
coeffs = list of coeffs :pre
|
|
|
|
example: :l
|
|
|
|
3 0.022 2.35197 0.022 2.35197 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
The number and meaning of the coefficients are specific to the defined
|
|
|
|
pair style. See the "pair_style"_pair_style.html and
|
|
|
|
"pair_coeff"_pair_coeff.html commands for details. Coefficients can
|
|
|
|
also be set via the "pair_coeff"_pair_coeff.html command in the input
|
|
|
|
script.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
{Shapes} section:
|
|
|
|
|
|
|
|
one line per atom type :ulb,l
|
|
|
|
line syntax: ID x y z :l
|
|
|
|
ID = atom type (1-N)
|
|
|
|
x = x diameter
|
|
|
|
y = y diameter
|
|
|
|
z = z diameter :pre
|
|
|
|
example: :l
|
|
|
|
3 2.0 1.0 1.0 :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
This defines the shape of each atom type. This can also be set via
|
|
|
|
the "shape"_mass.html command in the input script. This section
|
|
|
|
should only be used for atom styles that define a shape, e.g. atom
|
|
|
|
style dipole or ellipsoid.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
{Velocities} section:
|
|
|
|
|
2007-03-06 23:13:57 +08:00
|
|
|
one line per atom
|
|
|
|
line syntax: depends on atom style :ul
|
|
|
|
|
2007-04-20 07:25:27 +08:00
|
|
|
all styles except those listed: atom-ID vx vy vz
|
2007-06-20 20:56:17 +08:00
|
|
|
dipole: atom-ID vx vy vz wx wy wz
|
2010-08-21 04:47:28 +08:00
|
|
|
electron: atom-ID vx vy vz evel
|
2007-04-20 07:25:27 +08:00
|
|
|
ellipsoid: atom-ID vx vy vz lx ly lz
|
|
|
|
granular: atom-ID vx vy vz wx wy wz :tb(s=:)
|
|
|
|
|
|
|
|
where the keywords have these meanings:
|
|
|
|
|
|
|
|
vx,vy,vz = translational velocity of atom
|
|
|
|
lx,ly,lz = angular momentum of aspherical atom
|
2010-08-21 04:47:28 +08:00
|
|
|
wx,wy,wz = angular velocity of granular atom
|
2011-02-23 06:29:54 +08:00
|
|
|
evel = electron radial velocity (0 for fixed-core):ul
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
The velocity lines can appear in any order. This section can only be
|
2007-04-20 07:25:27 +08:00
|
|
|
used after an {Atoms} section. This is because the {Atoms} section
|
|
|
|
must have assigned a unique atom ID to each atom so that velocities
|
|
|
|
can be assigned to them.
|
|
|
|
|
2010-08-21 04:47:28 +08:00
|
|
|
Vx, vy, vz, and evel are in "units"_units.html of velocity. Lx, ly,
|
|
|
|
lz are in units of angular momentum (distance-velocity-mass). Wx, Wy,
|
|
|
|
Wz are in units of angular velocity (radians/time).
|
2007-03-06 23:13:57 +08:00
|
|
|
|
|
|
|
Translational velocities can also be set by the
|
|
|
|
"velocity"_velocity.html command in the input script.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
[Restrictions:]
|
|
|
|
|
2008-01-18 07:46:30 +08:00
|
|
|
To read gzipped data files, you must compile LAMMPS with the
|
|
|
|
-DLAMMPS_GZIP option - see the "Making LAMMPS"_Section_start.html#2_2
|
|
|
|
section of the documentation.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"read_restart"_read_restart.html, "create_atoms"_create_atoms.html
|
|
|
|
|
|
|
|
[Default:] none
|