diff --git a/doc/atom_style.html b/doc/atom_style.html
index ff8009158..e90d6d0db 100644
--- a/doc/atom_style.html
+++ b/doc/atom_style.html
@@ -1,185 +1,183 @@
 <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>atom_style command 
 </H3>
 <P><B>Syntax:</B>
 </P>
 <PRE>atom_style style args 
 </PRE>
 <UL><LI>style = <I>angle</I> or <I>atomic</I> or <I>body</I> or <I>bond</I> or <I>charge</I> or <I>dipole</I> or         <I>electron</I> or <I>ellipsoid</I> or <I>full</I> or <I>line</I> or <I>meso</I> or 	<I>molecular</I> or <I>peri</I> or <I>sphere</I> or <I>tri</I> or <I>hybrid</I> 
 </UL>
 <PRE>  args = none for any style except <I>body</I> and <I>hybrid</I>
-  <I>body</I> args = Bstyle
-    Bstyle = style of body particles
+  <I>body</I> args = bstyle
+    bstyle = style of body particles
   <I>hybrid</I> args = list of one or more sub-styles, each with their args 
 </PRE>
 <P><B>Examples:</B>
 </P>
 <PRE>atom_style atomic
 atom_style bond
 atom_style full
-atom_style body nparticle
+atom_style body nparticle 2 10
 atom_style hybrid charge bond
-atom_style hybrid charge body nparticle 
+atom_style hybrid charge body nparticle 2 5 
 </PRE>
 <P><B>Description:</B>
 </P>
 <P>Define what style of atoms to use in a simulation.  This determines
 what attributes are associated with the atoms.  This command must be
 used before a simulation is setup via a <A HREF = "read_data.html">read_data</A>,
 <A HREF = "read_restart.html">read_restart</A>, or <A HREF = "create_box.html">create_box</A>
 command.
 </P>
 <P>Once a style is assigned, it cannot be changed, so use a style general
 enough to encompass all attributes.  E.g. with style <I>bond</I>, angular
 terms cannot be used or added later to the model.  It is OK to use a
 style more general than needed, though it may be slightly inefficient.
 </P>
 <P>The choice of style affects what quantities are stored by each atom,
 what quantities are communicated between processors to enable forces
 to be computed, and what quantities are listed in the data file read
 by the <A HREF = "read_data.html">read_data</A> command.
 </P>
 <P>These are the additional attributes of each style and the typical
 kinds of physical systems they are used to model.  All styles store
 coordinates, velocities, atom IDs and types.  See the
 <A HREF = "read_data.html">read_data</A>, <A HREF = "create_atoms.html">create_atoms</A>, and
 <A HREF = "set.html">set</A> commands for info on how to set these various
 quantities.
 </P>
 <DIV ALIGN=center><TABLE  BORDER=1 >
 <TR><TD ><I>angle</I> </TD><TD > bonds and angles </TD><TD > bead-spring polymers with stiffness </TD></TR>
 <TR><TD ><I>atomic</I> </TD><TD > only the default values </TD><TD > coarse-grain liquids, solids, metals </TD></TR>
 <TR><TD ><I>body</I> </TD><TD > mass, inertia moments, quaternion, angular momentum </TD><TD > arbitrary bodies </TD></TR>
 <TR><TD ><I>bond</I> </TD><TD > bonds </TD><TD > bead-spring polymers </TD></TR>
 <TR><TD ><I>charge</I> </TD><TD > charge </TD><TD > atomic system with charges </TD></TR>
 <TR><TD ><I>dipole</I> </TD><TD > charge and dipole moment </TD><TD > system with dipolar particles </TD></TR>
 <TR><TD ><I>electron</I> </TD><TD > charge and spin and eradius </TD><TD > electronic force field </TD></TR>
 <TR><TD ><I>ellipsoid</I> </TD><TD > shape, quaternion, angular momentum </TD><TD > extended aspherical particles </TD></TR>
 <TR><TD ><I>full</I> </TD><TD > molecular + charge </TD><TD > bio-molecules </TD></TR>
 <TR><TD ><I>line</I> </TD><TD > end points, angular velocity </TD><TD > rigid bodies </TD></TR>
 <TR><TD ><I>meso</I> </TD><TD > rho, e, cv </TD><TD > SPH particles </TD></TR>
 <TR><TD ><I>molecular</I> </TD><TD > bonds, angles, dihedrals, impropers </TD><TD > uncharged molecules </TD></TR>
 <TR><TD ><I>peri</I> </TD><TD > mass, volume </TD><TD > mesocopic Peridynamic models </TD></TR>
 <TR><TD ><I>sphere</I> </TD><TD > diameter, mass, angular velocity </TD><TD > granular models </TD></TR>
 <TR><TD ><I>tri</I> </TD><TD > corner points, angular momentum </TD><TD > rigid bodies </TD></TR>
 <TR><TD ><I>wavepacket</I> </TD><TD > charge, spin, eradius, etag, cs_re, cs_im </TD><TD > AWPMD 
 </TD></TR></TABLE></DIV>
 
 <P>All of the styles define point particles, except the <I>sphere</I>,
 <I>ellipsoid</I>, <I>electron</I>, <I>peri</I>, <I>wavepacket</I>, <I>line</I>, <I>tri</I>, and
 <I>body</I> styles, which define finite-size particles.
 </P>
 <P>All of the styles assign mass to particles on a per-type basis, using
 the <A HREF = "mass.html">mass</A> command, except for the finite-size particle
 styles.  They assign mass to individual particles on a per-particle
 basis.
 </P>
 <P>For the <I>sphere</I> style, the particles are spheres and each stores a
 per-particle diameter and mass.  If the diameter > 0.0, the particle
 is a finite-size sphere.  If the diameter = 0.0, it is a point
 particle.
 </P>
 <P>For the <I>ellipsoid</I> style, the particles are ellipsoids and each
 stores a flag which indicates whether it is a finite-size ellipsoid or
 a point particle.  If it is an ellipsoid, it also stores a shape
 vector with the 3 diamters of the ellipsoid and a quaternion 4-vector
 with its orientation.
 </P>
 <P>For the <I>electron</I> style, the particles representing electrons are 3d
 Gaussians with a specified position and bandwidth or uncertainty in
 position, which is represented by the eradius = electron size.
 </P>
 <P>For the <I>peri</I> style, the particles are spherical and each stores a
 per-particle mass and volume.
 </P>
 <P>The <I>meso</I> style is for smoothed particle hydrodynamics (SPH)
 particles which store a density (rho), energy (e), and heat capacity
 (cv).
 </P>
 <P>The <I>wavepacket</I> style is similar to <I>electron</I>, but the electrons may
 consist of several Gaussian wave packets, summed up with coefficients
 cs= (cs_re,cs_im).  Each of the wave packets is treated as a separate
 particle in LAMMPS, wave packets belonging to the same electron must
 have identical <I>etag</I> values.
 </P>
 <P>For the <I>line</I> style, the particles are idealized line segments and
 each stores a per-particle mass and length and orientation (i.e. the
 end points of the line segment).
 </P>
 <P>For the <I>tri</I> style, the particles are planar triangles and each
 stores a per-particle mass and size and orientation (i.e. the corner
 points of the triangle).
 </P>
 <P>For the <I>body</I> style, the particles are arbitrary bodies with internal
 attributes defined by the "style" of the bodies, which is specified by
-the <I>Bstyle</I> argument.  Each body particle stores moments of inertia
-and a quaternion 4-vector, so that its orientation can be time
-integrated.  This atom style enables LAMMPS to work with particles
-that represent complex entities, such as surface meshes of discrete
-points, collections of sub-particles, deformable objects, etc.  Of
-course, the interactions between pairs of bodies will need to be
-encoded in an appropriate pair style.
+the <I>bstyle</I> argument.  This atom style enables LAMMPS to work with
+particles that represent complex entities, such as surface meshes of
+discrete points, collections of sub-particles, deformable objects,
+etc.  Of course, the interactions between pairs of bodies will need to
+be encoded in an appropriate pair style.
+</P>
+<P>The <A HREF = "body.html">body</A> doc page descibes the body styles LAMMPS
+currently supports, and provides more details as to the kind of body
+particles they represent.  For all styles, each body particle stores
+moments of inertia and a quaternion 4-vector, so that its orientation
+and position can be time integrated due to forces and torques.
 </P>
-<P>These are the body styles that LAMMPS currently supports.  The name in
-the first column is used as the <I>Bstyle</I> argument for atom_style body:
-</P>
-<DIV ALIGN=center><TABLE  BORDER=1 >
-<TR><TD ><I>nparticle</I> </TD><TD > body with N sub-particles 
-</TD></TR></TABLE></DIV>
-
 <HR>
 
 <P>Typically, simulations require only a single (non-hybrid) atom style.
 If some atoms in the simulation do not have all the properties defined
 by a particular style, use the simplest style that defines all the
 needed properties by any atom.  For example, if some atoms in a
 simulation are charged, but others are not, use the <I>charge</I> style.
 If some atoms have bonds, but others do not, use the <I>bond</I> style.
 </P>
 <P>The only scenario where the <I>hybrid</I> style is needed is if there is no
 single style which defines all needed properties of all atoms.  For
 example, if you want dipolar particles which will rotate due to
 torque, you would need to use "atom_style hybrid sphere dipole".  When
 a hybrid style is used, atoms store and communicate the union of all
 quantities implied by the individual styles.
 </P>
 <P>LAMMPS can be extended with new atom styles as well as new body
 styles; see <A HREF = "Section_modify.html">this section</A>.
 </P>
 <P><B>Restrictions:</B>
 </P>
 <P>This command cannot be used after the simulation box is defined by a
 <A HREF = "read_data.html">read_data</A> or <A HREF = "create_box.html">create_box</A> command.
 </P>
 <P>The <I>angle</I>, <I>bond</I>, <I>full</I>, and <I>molecular</I> styles are part of the
-MOLECULAR package.  The <I>line</I>, <I>tri</I>, and <I>body</I> styles are part of
-the ASPHERE pacakge.  The <I>dipole</I> style is part of the DIPOLE
-package.  The <I>peri</I> style is part of the PERI package for
-Peridynamics.  The <I>electron</I> style is part of the USER-EFF package
-for <A HREF = "pair_eff.html">electronic force fields</A>.  The <I>meso</I> style is part
-of the USER-SPH package for smoothed particle hydrodyanmics (SPH).
-See <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">this PDF guide</A> to using SPH in
-LAMMPS.  The <I>wavepacket</I> style is part of the USER-AWPMD package for
-the <A HREF = "pair_awpmd.html">antisymmetrized wave packet MD method</A>.  They are
+MOLECULAR package.  The <I>line</I> and <I>tri</I> styles are part of the
+ASPHERE pacakge.  The <I>body</I> style is part of the BODY package.  The
+<I>dipole</I> style is part of the DIPOLE package.  The <I>peri</I> style is
+part of the PERI package for Peridynamics.  The <I>electron</I> style is
+part of the USER-EFF package for <A HREF = "pair_eff.html">electronic force
+fields</A>.  The <I>meso</I> style is part of the USER-SPH
+package for smoothed particle hydrodyanmics (SPH).  See <A HREF = "USER/sph/SPH_LAMMPS_userguide.pdf">this PDF
+guide</A> to using SPH in LAMMPS.  The
+<I>wavepacket</I> style is part of the USER-AWPMD package for the
+<A HREF = "pair_awpmd.html">antisymmetrized wave packet MD method</A>.  They are
 only enabled if LAMMPS was built with that package.  See the <A HREF = "Section_start.html#start_3">Making
 LAMMPS</A> section for more info.
 </P>
 <P><B>Related commands:</B>
 </P>
 <P><A HREF = "read_data.html">read_data</A>, <A HREF = "pair_style.html">pair_style</A>
 </P>
 <P><B>Default:</B>
 </P>
 <P>atom_style atomic
 </P>
 </HTML>
diff --git a/doc/atom_style.txt b/doc/atom_style.txt
index 8301968f7..f6dc00297 100644
--- a/doc/atom_style.txt
+++ b/doc/atom_style.txt
@@ -1,177 +1,177 @@
 "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
 
 atom_style command :h3
 
 [Syntax:]
 
 atom_style style args :pre
 
 style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
         {electron} or {ellipsoid} or {full} or {line} or {meso} or \
 	{molecular} or {peri} or {sphere} or {tri} or {hybrid} :ul
   args = none for any style except {body} and {hybrid}
-  {body} args = Bstyle
-    Bstyle = style of body particles
+  {body} args = bstyle
+    bstyle = style of body particles
   {hybrid} args = list of one or more sub-styles, each with their args :pre
 
 [Examples:]
 
 atom_style atomic
 atom_style bond
 atom_style full
-atom_style body nparticle
+atom_style body nparticle 2 10
 atom_style hybrid charge bond
-atom_style hybrid charge body nparticle :pre
+atom_style hybrid charge body nparticle 2 5 :pre
 
 [Description:]
 
 Define what style of atoms to use in a simulation.  This determines
 what attributes are associated with the atoms.  This command must be
 used before a simulation is setup via a "read_data"_read_data.html,
 "read_restart"_read_restart.html, or "create_box"_create_box.html
 command.
 
 Once a style is assigned, it cannot be changed, so use a style general
 enough to encompass all attributes.  E.g. with style {bond}, angular
 terms cannot be used or added later to the model.  It is OK to use a
 style more general than needed, though it may be slightly inefficient.
 
 The choice of style affects what quantities are stored by each atom,
 what quantities are communicated between processors to enable forces
 to be computed, and what quantities are listed in the data file read
 by the "read_data"_read_data.html command.
 
 These are the additional attributes of each style and the typical
 kinds of physical systems they are used to model.  All styles store
 coordinates, velocities, atom IDs and types.  See the
 "read_data"_read_data.html, "create_atoms"_create_atoms.html, and
 "set"_set.html commands for info on how to set these various
 quantities.
 
 {angle} | bonds and angles | bead-spring polymers with stiffness |
 {atomic} | only the default values | coarse-grain liquids, solids, metals |
 {body} | mass, inertia moments, quaternion, angular momentum | arbitrary bodies |
 {bond} | bonds | bead-spring polymers |
 {charge} | charge | atomic system with charges |
 {dipole} | charge and dipole moment | system with dipolar particles |
 {electron} | charge and spin and eradius | electronic force field |
 {ellipsoid} | shape, quaternion, angular momentum | extended aspherical particles |
 {full} | molecular + charge | bio-molecules |
 {line} | end points, angular velocity | rigid bodies |
 {meso} | rho, e, cv | SPH particles |
 {molecular} | bonds, angles, dihedrals, impropers | uncharged molecules |
 {peri} | mass, volume | mesocopic Peridynamic models |
 {sphere} | diameter, mass, angular velocity | granular models |
 {tri} | corner points, angular momentum | rigid bodies |
 {wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|)
 
 All of the styles define point particles, except the {sphere},
 {ellipsoid}, {electron}, {peri}, {wavepacket}, {line}, {tri}, and
 {body} styles, which define finite-size particles.
 
 All of the styles assign mass to particles on a per-type basis, using
 the "mass"_mass.html command, except for the finite-size particle
 styles.  They assign mass to individual particles on a per-particle
 basis.
 
 For the {sphere} style, the particles are spheres and each stores a
 per-particle diameter and mass.  If the diameter > 0.0, the particle
 is a finite-size sphere.  If the diameter = 0.0, it is a point
 particle.
 
 For the {ellipsoid} style, the particles are ellipsoids and each
 stores a flag which indicates whether it is a finite-size ellipsoid or
 a point particle.  If it is an ellipsoid, it also stores a shape
 vector with the 3 diamters of the ellipsoid and a quaternion 4-vector
 with its orientation.
 
 For the {electron} style, the particles representing electrons are 3d
 Gaussians with a specified position and bandwidth or uncertainty in
 position, which is represented by the eradius = electron size.
 
 For the {peri} style, the particles are spherical and each stores a
 per-particle mass and volume.
 
 The {meso} style is for smoothed particle hydrodynamics (SPH)
 particles which store a density (rho), energy (e), and heat capacity
 (cv).
 
 The {wavepacket} style is similar to {electron}, but the electrons may
 consist of several Gaussian wave packets, summed up with coefficients
 cs= (cs_re,cs_im).  Each of the wave packets is treated as a separate
 particle in LAMMPS, wave packets belonging to the same electron must
 have identical {etag} values.
 
 For the {line} style, the particles are idealized line segments and
 each stores a per-particle mass and length and orientation (i.e. the
 end points of the line segment).
 
 For the {tri} style, the particles are planar triangles and each
 stores a per-particle mass and size and orientation (i.e. the corner
 points of the triangle).
 
 For the {body} style, the particles are arbitrary bodies with internal
 attributes defined by the "style" of the bodies, which is specified by
-the {Bstyle} argument.  Each body particle stores moments of inertia
-and a quaternion 4-vector, so that its orientation can be time
-integrated.  This atom style enables LAMMPS to work with particles
-that represent complex entities, such as surface meshes of discrete
-points, collections of sub-particles, deformable objects, etc.  Of
-course, the interactions between pairs of bodies will need to be
-encoded in an appropriate pair style.
-
-These are the body styles that LAMMPS currently supports.  The name in
-the first column is used as the {Bstyle} argument for atom_style body:
-
-{nparticle} | body with N sub-particles :tb(c=2,s=|)
+the {bstyle} argument.  This atom style enables LAMMPS to work with
+particles that represent complex entities, such as surface meshes of
+discrete points, collections of sub-particles, deformable objects,
+etc.  Of course, the interactions between pairs of bodies will need to
+be encoded in an appropriate pair style.
+
+The "body"_body.html doc page descibes the body styles LAMMPS
+currently supports, and provides more details as to the kind of body
+particles they represent.  For all styles, each body particle stores
+moments of inertia and a quaternion 4-vector, so that its orientation
+and position can be time integrated due to forces and torques.
 
 :line
 
 Typically, simulations require only a single (non-hybrid) atom style.
 If some atoms in the simulation do not have all the properties defined
 by a particular style, use the simplest style that defines all the
 needed properties by any atom.  For example, if some atoms in a
 simulation are charged, but others are not, use the {charge} style.
 If some atoms have bonds, but others do not, use the {bond} style.
 
 The only scenario where the {hybrid} style is needed is if there is no
 single style which defines all needed properties of all atoms.  For
 example, if you want dipolar particles which will rotate due to
 torque, you would need to use "atom_style hybrid sphere dipole".  When
 a hybrid style is used, atoms store and communicate the union of all
 quantities implied by the individual styles.
 
 LAMMPS can be extended with new atom styles as well as new body
 styles; see "this section"_Section_modify.html.
 
 [Restrictions:]
 
 This command cannot be used after the simulation box is defined by a
 "read_data"_read_data.html or "create_box"_create_box.html command.
 
 The {angle}, {bond}, {full}, and {molecular} styles are part of the
-MOLECULAR package.  The {line}, {tri}, and {body} styles are part of
-the ASPHERE pacakge.  The {dipole} style is part of the DIPOLE
-package.  The {peri} style is part of the PERI package for
-Peridynamics.  The {electron} style is part of the USER-EFF package
-for "electronic force fields"_pair_eff.html.  The {meso} style is part
-of the USER-SPH package for smoothed particle hydrodyanmics (SPH).
-See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in
-LAMMPS.  The {wavepacket} style is part of the USER-AWPMD package for
-the "antisymmetrized wave packet MD method"_pair_awpmd.html.  They are
+MOLECULAR package.  The {line} and {tri} styles are part of the
+ASPHERE pacakge.  The {body} style is part of the BODY package.  The
+{dipole} style is part of the DIPOLE package.  The {peri} style is
+part of the PERI package for Peridynamics.  The {electron} style is
+part of the USER-EFF package for "electronic force
+fields"_pair_eff.html.  The {meso} style is part of the USER-SPH
+package for smoothed particle hydrodyanmics (SPH).  See "this PDF
+guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.  The
+{wavepacket} style is part of the USER-AWPMD package for the
+"antisymmetrized wave packet MD method"_pair_awpmd.html.  They are
 only enabled if LAMMPS was built with that package.  See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
 "read_data"_read_data.html, "pair_style"_pair_style.html
 
 [Default:]
 
 atom_style atomic
diff --git a/doc/read_data.html b/doc/read_data.html
index e06f2c731..2688cc976 100644
--- a/doc/read_data.html
+++ b/doc/read_data.html
@@ -1,919 +1,918 @@
 <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>read_data command 
 </H3>
 <P><B>Syntax:</B>
 </P>
 <PRE>read_data file keyword args ... 
 </PRE>
 <UL><LI>file = name of data file to read in 
 
 <LI>zero or more keyword/arg pairs may be appended 
 
 <LI>keyword = <I>fix</I> 
 
 <PRE>  <I>fix</I> args = fix-ID header-string section-string
     fix-ID = ID of fix to process header lines and sections of data file
     header-string = header lines containing this string will be passed to fix
     section-string = section names with this string will be passed to fix 
 </PRE>
 
 </UL>
 <P><B>Examples:</B>
 </P>
 <PRE>read_data data.lj
 read_data ../run7/data.polymer.gz
 read_data data.protein fix mycmap crossterm CMAP 
 </PRE>
 <P><B>Description:</B>
 </P>
 <P>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 <A HREF = "read_restart.html">read_restart</A> and
 <A HREF = "create_atoms.html">create_atoms</A> commands for alternative methods.
 </P>
 <P>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.
 </P>
 <P>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.
 </P>
 <P>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.
 </P>
 <P>If the keyword <I>fix</I> is used, it specifies a fix that will be used to
 process portions of the data file.  Any header line containing
 <I>header-string</I> and any section with a name containing
 <I>section-string</I> will be passed to the fix.  See the <A HREF = "fix_cmap.html">fix
 cmap</A> command for an example of a fix that operates in
 this manner.  The doc page for the fix defines the syntax of the
 header line(s) and section(s) that it reads from the data file.
 </P>
 <P>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.
 </P>
 <HR>
 
 <P>These are the recognized header keywords.  Header lines can come in
 any order.  The value(s) are read from the beginning of the line.
 Thus the keyword <I>atoms</I> should be in a line like "1000 atoms"; the
 keyword <I>ylo yhi</I> should be in a line like "-10.0 10.0 ylo yhi"; the
 keyword <I>xy xz yz</I> 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.
 </P>
 <UL><LI><I>atoms</I> = # of atoms in system
 <LI><I>bonds</I> = # of bonds in system
 <LI><I>angles</I> = # of angles in system
 <LI><I>dihedrals</I> = # of dihedrals in system
 <LI><I>impropers</I> = # of impropers in system
 <LI><I>atom types</I> = # of atom types in system
 <LI><I>bond types</I> = # of bond types in system
 <LI><I>angle types</I> = # of angle types in system
 <LI><I>dihedral types</I> = # of dihedral types in system
 <LI><I>improper types</I> = # of improper types in system
 <LI><I>extra bond per atom</I> = leave space for this many new bonds per atom
 <LI><I>ellipsoids</I> = # of ellipsoids in system
 <LI><I>lines</I> = # of line segments in system
 <LI><I>triangles</I> = # of triangles in system
 <LI><I>bodies</I> = # of bodies in system
 <LI><I>xlo xhi</I> = simulation box boundaries in x dimension
 <LI><I>ylo yhi</I> = simulation box boundaries in y dimension
 <LI><I>zlo zhi</I> = simulation box boundaries in z dimension
 <LI><I>xy xz yz</I> = simulation box tilt factors for triclinic system 
 </UL>
 <P>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
 <A HREF = "boundary.html">boundary</A> command.
 </P>
 <P>If the <I>xy xz yz</I> line does not appear, LAMMPS will set up an
 axis-aligned (orthogonal) simulation box.  If the line does appear,
 LAMMPS creates a non-orthogonal simulation domain shaped as a
 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).  <I>Xy,xz,yz</I> 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.
 </P>
 <P>The tilt factors (xy,xz,yz) can not skew the box more than half the
 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.
 </P>
 <P>See <A HREF = "Section_howto.html#howto_12">Section_howto 12</A> of the doc pages
 for a geometric description of triclinic boxes, as defined by LAMMPS,
 and how to transform these parameters to and from other commonly used
 triclinic representations.
 </P>
 <P>When a triclinic system is used, the simulation domain must be
 periodic in any dimensions with a non-zero tilt factor, as defined by
 the <A HREF = "boundary.html">boundary</A> command.  I.e. if the xy tilt factor is
 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
 be periodic if yz is non-zero.  Also note that if your simulation will
 tilt the box, e.g. via the <A HREF = "fix_deform.html">fix deform</A> command, the
 simulation box must be defined as triclinic, even if the tilt factors
 are initially 0.0.
 </P>
 <P>For 2d simulations, the <I>zlo zhi</I> 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
 and yz tilt factors must be 0.0.
 </P>
 <P>If the system is periodic (in a dimension), then atom coordinates can
 be outside the bounds (in that dimension); they will be remapped (in a
 periodic sense) back inside the box.
 </P>
 <P>IMPORTANT NOTE: If the system is non-periodic (in a dimension), then
 all atoms in the data file must have coordinates (in that dimension)
 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 <A HREF = "boundary.html">boundary</A> 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
 specified box size to layout the 3d grid of processors.  A huge
 (mostly empty) box will be sub-optimal for performance when using
 "fixed" boundary conditions (see the <A HREF = "boundary.html">boundary</A>
 command).  When using "shrink-wrap" boundary conditions (see the
 <A HREF = "boundary.html">boundary</A> command), a huge (mostly empty) box may cause
 a parallel simulation to lose atoms the first time that LAMMPS
 shrink-wraps the box around the atoms.
 </P>
 <P>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 <A HREF = "fix_bond_create.html">fix
 bond/create</A> command.  This will pre-allocate
 space in LAMMPS data structures for storing the new bonds.
 </P>
 <P>The "ellipsoids" and "lines" and "triangles" and "bodies" settings are
 only used with <A HREF = "atom_style.html">atom_style ellipsoid or line or tri or
 body</A> and specify how many of the atoms are
 finite-size ellipsoids or lines or triangles or bodies; the remainder
 are point particles.  See the discussion of ellipsoidflag and the
 <I>Ellipsoids</I> section below.  See the discussion of lineflag and the
 <I>Lines</I> section below.  See the discussion of triangleflag and the
 <I>Triangles</I> section below.  See the discussion of bodyflag and the
 <I>Bodies</I> section below.
 </P>
 <HR>
 
 <P>These are the section keywords for the body of the file.
 </P>
 <UL><LI><I>Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies</I> = atom-property sections 
 <LI><I>Bonds, Angles, Dihedrals, Impropers</I> = molecular topology sections 
 <LI><I>Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs,    Improper Coeffs</I> = force field sections
 <LI><I>BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs,    EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs,    BondBond13 Coeffs, AngleAngle Coeffs</I> = class 2 force field sections 
 </UL>
 <P>Each section is listed below in alphabetic order.  The format of each
 section is described including the number of lines it must contain and
 rules (if any) for where it can appear in the data file.
 </P>
 <P>Any individual line in the various sections can have a trailing
 comment starting with "#" for annotation purposes.  E.g. in the
 Atoms section:
 </P>
 <PRE>10 1 17 -1.0 10.0 5.0 6.0   # salt ion 
 </PRE>
 <HR>
 
 <P><I>Angle Coeffs</I> section:
 </P>
 <UL><LI>one line per angle type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = angle type (1-N)
   coeffs = list of coeffs 
 </PRE>
 <LI>example: 
 
 <PRE>  6 70 108.5 0 0 
 </PRE>
 
 </UL>
 <P>The number and meaning of the coefficients are specific to the defined
 angle style.  See the <A HREF = "angle_style.html">angle_style</A> and
 <A HREF = "angle_coeff.html">angle_coeff</A> commands for details.  Coefficients can
 also be set via the <A HREF = "angle_coeff.html">angle_coeff</A> command in the
 input script.
 </P>
 <HR>
 
 <P><I>AngleAngle Coeffs</I> section:
 </P>
 <UL><LI>one line per improper type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = improper type (1-N)
   coeffs = list of coeffs (see <A HREF = "improper_coeff.html">improper_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>AngleAngleTorsion Coeffs</I> section:
 </P>
 <UL><LI>one line per dihedral type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = dihedral type (1-N)
   coeffs = list of coeffs (see <A HREF = "dihedral_coeff.html">dihedral_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>Angles</I> section:
 </P>
 <UL><LI>one line per angle 
 
 <LI>line syntax: ID type atom1 atom2 atom3 
 
 <PRE>  ID = number of angle (1-Nangles)
   type = angle type (1-Nangletype)
   atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle 
 </PRE>
 example: 
 <BR>
 <PRE>  2 2 17 29 430 
 </PRE>
 
 </UL>
 <P>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 <I>Angles</I> section must appear
 after the <I>Atoms</I> section.  All values in this section must be
 integers (1, not 1.0).
 </P>
 <HR>
 
 <P><I>AngleTorsion Coeffs</I> section:
 </P>
 <UL><LI>one line per dihedral type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = dihedral type (1-N)
   coeffs = list of coeffs (see <A HREF = "dihedral_coeff.html">dihedral_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>Atoms</I> section:
 </P>
 <UL><LI>one line per atom
 <LI>line syntax: depends on atom style 
 </UL>
 <P>An <I>Atoms</I> 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
 line formats for each <A HREF = "atom_style.html">atom style</A> 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.
 </P>
 <DIV ALIGN=center><TABLE  BORDER=1 >
 <TR><TD >angle</TD><TD > atom-ID molecule-ID atom-type x y z</TD></TR>
 <TR><TD >atomic</TD><TD > atom-ID atom-type x y z</TD></TR>
 <TR><TD >body</TD><TD > atom-ID atom-type bodyflag mass x y z</TD></TR>
 <TR><TD >bond</TD><TD > atom-ID molecule-ID atom-type x y z</TD></TR>
 <TR><TD >charge</TD><TD > atom-ID atom-type q x y z</TD></TR>
 <TR><TD >dipole</TD><TD > atom-ID atom-type q x y z mux muy muz</TD></TR>
 <TR><TD >electron</TD><TD > atom-ID atom-type q spin eradius x y z</TD></TR>
 <TR><TD >ellipsoid</TD><TD > atom-ID atom-type ellipsoidflag density x y z</TD></TR>
 <TR><TD >full</TD><TD > atom-ID molecule-ID atom-type q x y z</TD></TR>
 <TR><TD >line</TD><TD > atom-ID molecule-ID atom-type lineflag density x y z</TD></TR>
 <TR><TD >meso</TD><TD > atom-ID atom-type rho e cv x y z</TD></TR>
 <TR><TD >molecular</TD><TD > atom-ID molecule-ID atom-type x y z</TD></TR>
 <TR><TD >peri</TD><TD > atom-ID atom-type volume density x y z</TD></TR>
 <TR><TD >sphere</TD><TD > atom-ID atom-type diameter density x y z</TD></TR>
 <TR><TD >tri</TD><TD > atom-ID molecule-ID atom-type triangleflag density x y z</TD></TR>
 <TR><TD >wavepacket</TD><TD > atom-ID atom-type charge spin eradius etag cs_re cs_im x y z</TD></TR>
 <TR><TD >hybrid</TD><TD > atom-ID atom-type x y z sub-style1 sub-style2 ...  
 </TD></TR></TABLE></DIV>
 
 <P>The keywords have these meanings:
 </P>
 <UL><LI>atom-ID = integer ID of atom
 <LI>molecule-ID = integer ID of molecule the atom belongs to
 <LI>atom-type = type of atom (1-Ntype)
 <LI>q = charge on atom (charge units)
 <LI>diameter = diameter of spherical atom (distance units)
 <LI>ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles
 <LI>lineflag = 1 for line segment particles, 0 for point particles
 <LI>triangleflag = 1 for triangular particles, 0 for point particles
 <LI>bodyflag = 1 for body particles, 0 for point particles
 <LI>density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
 <LI>mass = mass of particle (mass units)
 <LI>volume = volume of particle (distance^3 units)
 <LI>x,y,z = coordinates of atom
 <LI>mux,muy,muz = components of dipole moment of atom (dipole units)
 <LI>rho = density (need units) for SPH particles
 <LI>e = energy (need units) for SPH particles
 <LI>cv = heat capacity (need units) for SPH particles
 <LI>spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP)
 <LI>eradius = electron radius (or fixed-core radius)
 <LI>etag = integer ID of electron that each wavepacket belongs to
 <LI>cs_re,cs_im = real/imaginary parts of wavepacket coefficients 
 </UL>
 <P>The units for these quantities depend on the unit style; see the
 <A HREF = "units.html">units</A> command for details.
 </P>
 <P>For 2d simulations specify z as 0.0, or a value within the <I>zlo zhi</I>
 setting in the data file header.
 </P>
 <P>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 <A HREF = "atom_modify.html">atom_modify</A> command).
 If an atom map array is not used (e.g. an atomic system with no
 bonds), and velocities are not assigned in the data file, and you
 don't care if unique atom IDs appear in dump files, then the atom-IDs
 can all be set to 0.
 </P>
 <P>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
 to.  It can be 0 if it is an unbonded atom or if you don't care to
 keep track of molecule assignments.
 </P>
 <P>The diameter specifies the size of a finite-size spherical particle.
 It can be set to 0.0, which means that atom is a point particle.
 </P>
 <P>The ellipsoidflag, lineflag, triangleflag, and bodyflag determine
 whether the particle is a finite-size ellipsoid or line or triangle or
-body of finite size, or a point particle.  Additional attributes must
-be defined for each ellipsoid in the <I>Ellipsoids</I> section.  Additional
-attributes must be defined for each line in the <I>Lines</I> section.
-Additional attributes must be defined for each triangle in the
-<I>Triangles</I> section.  Additional attributes must be defined for each
-body in the <I>Bodies</I> section.
+body of finite size, or whether the particle is a point particle.
+Additional attributes must be defined for each ellipsoid, line,
+triangle, or body in the corresponding <I>Ellipsoids</I>, <I>Lines</I>,
+<I>Triangles</I>, or <I>Bodies</I> section.
 </P>
 <P>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.
 </P>
 <P>For finite-size particles, the density is used in conjunction with the
 particle volume to set the mass of each particle as mass = density *
 volume.  In this context, volume can be a 3d quantity (for spheres or
 ellipsoids), a 2d quantity (for triangles), or a 1d quantity (for line
 segments).  If the volume is 0.0, meaning a point particle, then the
-density value is used as the mass.  One exception is for the body
+density value is used as the mass.  One exception is for the body atom
 style, in which case the mass of each particle (body or point
 particle) is specified explicitly.  This is because the volume of the
-body is not known.
+body is unknown.
 </P>
 <P>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
 <A HREF = "atom_style.html">atom_style</A> 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
 </P>
 <PRE>atom_style hybrid charge sphere 
 </PRE>
 <P>were used in the input script, each atom line would have these fields:
 </P>
 <PRE>atom-ID atom-type x y z q diameter density 
 </PRE>
 <P>Note that if a non-standard value is defined by multiple sub-styles,
 it must appear mutliple times in the atom line.  E.g. the atom line
 for atom_style hybrid dipole full would list "q" twice:
 </P>
 <PRE>atom-ID atom-type x y z q mux muy myz molecule-ID q 
 </PRE>
 <P>Atom lines (all lines or none of them) can optionally list 3 trailing
 integer values: nx,ny,nz.  For periodic dimensions, they specify which
 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 <A HREF = "dump.html">dump</A> command.
 </P>
 <P>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 <A HREF = "replicate.html">replicate</A>
 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.
 </P>
 <P>Atom velocities and other atom quantities not defined above are set to
 0.0 when the <I>Atoms</I> section is read.  Velocities can be set later by
 a <I>Velocities</I> section in the data file or by a
 <A HREF = "velocity.html">velocity</A> or <A HREF = "set.html">set</A> command in the input
 script.
 </P>
 <HR>
 
 <P><I>Bodies</I> section:
 </P>
 <UL><LI>one or more lines per body 
 
 <LI>first line syntax: atom-ID ninteger ndouble 
 
 <PRE>  ninteger = # of integer quantities for this particle
   ndouble = # of floating-point quantities for this particle 
 </PRE>
 <LI>0 or more integer lines: one line for every 10 integer quantities 
 
 <LI>0 or more double lines: one line for every 10 double quantities 
 
 <LI>example: 
 
 <PRE>  12 3 6
   2 3 2
   1.0 2.0 3.0 1.0 2.0 4.0 
 </PRE>
 <LI>example: 
 
 <PRE>  12 0 14
   1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0
   2.0 4.0 4.0 2.0 
 </PRE>
 
 </UL>
 <P>The <I>Bodies</I> section must appear if <A HREF = "atom_style.html">atom_style body</A>
-is used and any atoms are listed in the <I>Atoms</I> section with a
-bodyflag = 1.  The number of bodies should be specified in the header
-section via the "bodies" keyword.
+is used and any atoms listed in the <I>Atoms</I> section have a bodyflag =
+1.  The number of bodies should be specified in the header section via
+the "bodies" keyword.
 </P>
 <P>Each body can have a variable number of integer and/or floating-point
-values.  The number and meaning of the values is defined by the Body
-style which will process and store them for each body.  This style is
-given as an argument to the <A HREF = "atom_style.html">atom_style body</A> command.
+values.  The number and meaning of the values is defined by the body
+style, as described in the <A HREF = "body.html">body</A> doc page.  The body style
+is given as an argument to the <A HREF = "atom_style.html">atom_style body</A>
+command.
 </P>
 <P>The ninteger and ndouble values determine how many integer and
 floating-point values are specified for this particle.  Ninteger and
 ndouble can be as large as needed and can be different for every body.
 Integer values are then listed on subsequent lines, 10 values per
 line.  Floating-point values follow on subsequent lines, again 10 per
 line.  If the number of lines is not evenly divisible by 10, the last
 line in that group contains the remaining values, e.g. 4 values out of
 14 in the last example above, for floating-point values.  If there are
 no values of a particular type, no lines appear for that type,
 e.g. there are no integer lines in the last example above.
 </P>
 <P>The <I>Bodies</I> section must appear after the <I>Atoms</I> section.
 </P>
 <HR>
 
 <P><I>Bond Coeffs</I> section:
 </P>
 <UL><LI>one line per bond type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = bond type (1-N)
   coeffs = list of coeffs 
 </PRE>
 <LI>example: 
 
 <PRE>  4 250 1.49 
 </PRE>
 
 </UL>
 <P>The number and meaning of the coefficients are specific to the defined
 bond style.  See the <A HREF = "bond_style.html">bond_style</A> and
 <A HREF = "bond_coeff.html">bond_coeff</A> commands for details.  Coefficients can
 also be set via the <A HREF = "bond_coeff.html">bond_coeff</A> command in the input
 script.
 </P>
 <HR>
 
 <P><I>BondAngle Coeffs</I> section:
 </P>
 <UL><LI>one line per angle type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = angle type (1-N)
   coeffs = list of coeffs (see class 2 section of <A HREF = "angle_coeff.html">angle_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>BondBond Coeffs</I> section:
 </P>
 <UL><LI>one line per angle type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = angle type (1-N)
   coeffs = list of coeffs (see class 2 section of <A HREF = "angle_coeff.html">angle_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>BondBond13 Coeffs</I> section:
 </P>
 <UL><LI>one line per dihedral type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = dihedral type (1-N)
   coeffs = list of coeffs (see class 2 section of <A HREF = "dihedral_coeff.html">dihedral_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>Bonds</I> section:
 </P>
 <UL><LI>one line per bond 
 
 <LI>line syntax: ID type atom1 atom2 
 
 <PRE>  ID = bond number (1-Nbonds)
   type = bond type (1-Nbondtype)
   atom1,atom2 = IDs of 1st,2nd atoms in bond 
 </PRE>
 <LI>example: 
 
 <PRE>  12 3 17 29 
 </PRE>
 
 </UL>
 <P>The <I>Bonds</I> section must appear after the <I>Atoms</I> section.  All values
 in this section must be integers (1, not 1.0).
 </P>
 <HR>
 
 <P><I>Dihedral Coeffs</I> section:
 </P>
 <UL><LI>one line per dihedral type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = dihedral type (1-N)
   coeffs = list of coeffs 
 </PRE>
 <LI>example: 
 
 <PRE>  3 0.6 1 0 1 
 </PRE>
 
 </UL>
 <P>The number and meaning of the coefficients are specific to the defined
 dihedral style.  See the <A HREF = "dihedral_style.html">dihedral_style</A> and
 <A HREF = "dihedral_coeff.html">dihedral_coeff</A> commands for details.
 Coefficients can also be set via the
 <A HREF = "dihedral_coeff.html">dihedral_coeff</A> command in the input script.
 </P>
 <HR>
 
 <P><I>Dihedrals</I> section:
 </P>
 <UL><LI>one line per dihedral 
 
 <LI>line syntax: ID type atom1 atom2 atom3 atom4 
 
 <PRE>  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>
 <LI>example: 
 
 <PRE>  12 4 17 29 30 21 
 </PRE>
 
 </UL>
 <P>The 4 atoms are ordered linearly within the dihedral.  The <I>Dihedrals</I>
 section must appear after the <I>Atoms</I> section.  All values in this
 section must be integers (1, not 1.0).
 </P>
 <HR>
 
 <P><I>Ellipsoids</I> section:
 </P>
 <UL><LI>one line per ellipsoid 
 
 <LI>line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk 
 
 <PRE>  atom-ID = ID of atom which is an ellipsoid
   shapex,shapey,shapez = 3 diameters of ellipsoid (distance units)
   quatw,quati,quatj,quatk = quaternion components for orientation of atom 
 </PRE>
 <LI>example: 
 
 <PRE>  12 1 2 1 1 0 0 0 
 </PRE>
 
 </UL>
 <P>The <I>Ellipsoids</I> section must appear if <A HREF = "atom_style.html">atom_style
 ellipsoid</A> is used and any atoms are listed in the
 <I>Atoms</I> section with an ellipsoidflag = 1.  The number of ellipsoids
 should be specified in the header section via the "ellipsoids"
 keyword.
 </P>
 <P>The 3 shape values specify the 3 diameters or aspect ratios of a
 finite-size ellipsoidal particle, when it is oriented along the 3
 coordinate axes.  They must all be non-zero values.
 </P>
 <P>The values <I>quatw</I>, <I>quati</I>, <I>quatj</I>, and <I>quatk</I> set the orientation
 of the atom as a quaternion (4-vector).  Note that the shape
 attributes specify 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
 4 components are quatw, quati, quatj, and quatk as specified above.
 LAMMPS normalizes each atom's quaternion in case (a,b,c) is not
 specified as a unit vector.
 </P>
 <P>The <I>Ellipsoids</I> section must appear after the <I>Atoms</I> section.
 </P>
 <HR>
 
 <P><I>EndBondTorsion Coeffs</I> section:
 </P>
 <UL><LI>one line per dihedral type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = dihedral type (1-N)
   coeffs = list of coeffs (see class 2 section of <A HREF = "dihedral_coeff.html">dihedral_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>Improper Coeffs</I> section:
 </P>
 <UL><LI>one line per improper type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = improper type (1-N)
   coeffs = list of coeffs 
 </PRE>
 <LI>example: 
 
 <PRE>  2 20 0.0548311 
 </PRE>
 
 </UL>
 <P>The number and meaning of the coefficients are specific to the defined
 improper style.  See the <A HREF = "improper_style.html">improper_style</A> and
 <A HREF = "improper_coeff.html">improper_coeff</A> commands for details.
 Coefficients can also be set via the
 <A HREF = "improper_coeff.html">improper_coeff</A> command in the input script.
 </P>
 <HR>
 
 <P><I>Impropers</I> section:
 </P>
 <UL><LI>one line per improper 
 
 <LI>line syntax: ID type atom1 atom2 atom3 atom4 
 
 <PRE>  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>
 <LI>example: 
 
 <PRE>  12 3 17 29 13 100 
 </PRE>
 
 </UL>
 <P>The ordering of the 4 atoms determines the definition of the improper
 angle used in the formula for each <A HREF = "improper_style.html">improper
 style</A>.  See the doc pages for individual styles
 for details.
 </P>
 <P>The <I>Impropers</I> section must appear after the <I>Atoms</I> section.  All
 values in this section must be integers (1, not 1.0).
 </P>
 <HR>
 
 <P><I>Lines</I> section:
 </P>
 <UL><LI>one line per line segment 
 
 <LI>line syntax: atom-ID x1 y1 x2 y2 
 
 <PRE>  atom-ID = ID of atom which is a line segment
   x1,y1 = 1st end point
   x2,y2 = 2nd end point 
 </PRE>
 <LI>example: 
 
 <PRE>  12 1.0 0.0 2.0 0.0 
 </PRE>
 
 </UL>
 <P>The <I>Lines</I> section must appear if <A HREF = "atom_style.html">atom_style line</A>
 is used and any atoms are listed in the <I>Atoms</I> section with a
 lineflag = 1.  The number of lines should be specified in the header
 section via the "lines" keyword.
 </P>
 <P>The 2 end points are the end points of the line segment.  The ordering
 of the 2 points should be such that using a right-hand rule to cross
 the line segment with a unit vector in the +z direction, gives an
 "outward" normal vector perpendicular to the line segment.
 I.e. normal = (c2-c1) x (0,0,1).  This orientation may be important
 for defining some interactions.
 </P>
 <P>The <I>Lines</I> section must appear after the <I>Atoms</I> section.
 </P>
 <HR>
 
 <P><I>Masses</I> section:
 </P>
 <UL><LI>one line per atom type 
 
 <LI>line syntax: ID mass 
 
 <PRE>  ID = atom type (1-N)
   mass = mass value 
 </PRE>
 <LI>example: 
 
 <PRE>  3 1.01 
 </PRE>
 
 </UL>
 <P>This defines the mass of each atom type.  This can also be set via the
 <A HREF = "mass.html">mass</A> command in the input script.  This section cannot be
 used for atom styles that define a mass for individual atoms -
 e.g. <A HREF = "atom_style.html">atom_style sphere</A>.
 </P>
 <HR>
 
 <P><I>MiddleBondTorsion Coeffs</I> section:
 </P>
 <UL><LI>one line per dihedral type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = dihedral type (1-N)
   coeffs = list of coeffs (see class 2 section of <A HREF = "dihedral_coeff.html">dihedral_coeff</A>) 
 </PRE>
 
 </UL>
 <HR>
 
 <P><I>Pair Coeffs</I> section:
 </P>
 <UL><LI>one line per atom type 
 
 <LI>line syntax: ID coeffs 
 
 <PRE>  ID = atom type (1-N)
   coeffs = list of coeffs 
 </PRE>
 <LI>example: 
 
 <PRE>  3 0.022 2.35197 0.022 2.35197 
 </PRE>
 
 </UL>
 <P>The number and meaning of the coefficients are specific to the defined
 pair style.  See the <A HREF = "pair_style.html">pair_style</A> and
 <A HREF = "pair_coeff.html">pair_coeff</A> commands for details.  Coefficients can
 also be set via the <A HREF = "pair_coeff.html">pair_coeff</A> command in the input
 script.
 </P>
 <HR>
 
 <P><I>Triangles</I> section:
 </P>
 <UL><LI>one line per triangle 
 
 <LI>line syntax: atom-ID x1 y1 x2 y2 
 
 <PRE>  atom-ID = ID of atom which is a line segment
   x1,y1,z1 = 1st corner point
   x2,y2,z2 = 2nd corner point
   x3,y3,z3 = 3rd corner point 
 </PRE>
 <LI>example: 
 
 <PRE>  12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 
 </PRE>
 
 </UL>
 <P>The <I>Triangles</I> section must appear if <A HREF = "atom_style.html">atom_style
 tri</A> is used and any atoms are listed in the <I>Atoms</I>
 section with a triangleflag = 1.  The number of lines should be
 specified in the header section via the "triangles" keyword.
 </P>
 <P>The 3 corner points are the corner points of the triangle.  The
 ordering of the 3 points should be such that using a right-hand rule
 to go from point1 to point2 to point3 gives an "outward" normal vector
 to the face of the triangle.  I.e. normal = (c2-c1) x (c3-c1).  This
 orientation may be important for defining some interactions.
 </P>
 <P>The <I>Triangles</I> section must appear after the <I>Atoms</I> section.
 </P>
 <HR>
 
 <P><I>Velocities</I> section:
 </P>
 <UL><LI>one line per atom
 <LI>line syntax: depends on atom style 
 </UL>
 <DIV ALIGN=center><TABLE  BORDER=1 >
 <TR><TD >all styles except those listed</TD><TD > atom-ID vx vy vz</TD></TR>
 <TR><TD >electron</TD><TD > atom-ID vx vy vz ervel</TD></TR>
 <TR><TD >ellipsoid</TD><TD > atom-ID vx vy vz lx ly lz</TD></TR>
 <TR><TD >sphere</TD><TD > atom-ID vx vy vz wx wy wz</TD></TR>
 <TR><TD >hybrid</TD><TD > atom-ID vx vy vz sub-style1 sub-style2 ... 
 </TD></TR></TABLE></DIV>
 
 <P>where the keywords have these meanings:
 </P>
 <P>vx,vy,vz = translational velocity of atom
 lx,ly,lz = angular momentum of aspherical atom
 wx,wy,wz = angular velocity of spherical atom
 ervel = electron radial velocity (0 for fixed-core):ul
 </P>
 <P>The velocity lines can appear in any order.  This section can only be
 used after an <I>Atoms</I> section.  This is because the <I>Atoms</I> section
 must have assigned a unique atom ID to each atom so that velocities
 can be assigned to them.
 </P>
 <P>Vx, vy, vz, and ervel are in <A HREF = "units.html">units</A> 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).
 </P>
 <P>For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz),
 specific values for each sub-style must be listed.  The order of the
 sub-styles is the same as they were listed in the
 <A HREF = "atom_style.html">atom_style</A> command.  The sub-style specific values
 are those that are not the 5 standard ones (ID,vx,vy,vz).  For
 example, for the "sphere" sub-style, "wx", "wy", "wz" values would
 appear.  These are listed in the same order they appear as listed
 above.  Thus if
 </P>
 <PRE>atom_style hybrid electron sphere 
 </PRE>
 <P>were used in the input script, each velocity line would have these
 fields:
 </P>
 <PRE>atom-ID vx vy vz ervel wx wy wz 
 </PRE>
 <P>Translational velocities can also be set by the
 <A HREF = "velocity.html">velocity</A> command in the input script.
 </P>
 <HR>
 
 <P><B>Restrictions:</B>
 </P>
 <P>To read gzipped data files, you must compile LAMMPS with the
 -DLAMMPS_GZIP option - see the <A HREF = "Section_start.html#start_2">Making
 LAMMPS</A> section of the documentation.
 </P>
 <P><B>Related commands:</B>
 </P>
 <P><A HREF = "read_dump.html">read_dump</A>, <A HREF = "read_restart.html">read_restart</A>,
 <A HREF = "create_atoms.html">create_atoms</A>
 </P>
 <P><B>Default:</B> none
 </P>
 </HTML>
diff --git a/doc/read_data.txt b/doc/read_data.txt
index 827b67620..c250a73e4 100644
--- a/doc/read_data.txt
+++ b/doc/read_data.txt
@@ -1,812 +1,811 @@
 "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
 
 read_data command :h3
 
 [Syntax:]
 
 read_data file keyword args ... :pre
 
 file = name of data file to read in :ulb,l
 zero or more keyword/arg pairs may be appended :l
 keyword = {fix} :l
   {fix} args = fix-ID header-string section-string
     fix-ID = ID of fix to process header lines and sections of data file
     header-string = header lines containing this string will be passed to fix
     section-string = section names with this string will be passed to fix :pre
 :ule
 
 
 [Examples:]
 
 read_data data.lj
 read_data ../run7/data.polymer.gz
 read_data data.protein fix mycmap crossterm CMAP :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.
 
 If the keyword {fix} is used, it specifies a fix that will be used to
 process portions of the data file.  Any header line containing
 {header-string} and any section with a name containing
 {section-string} will be passed to the fix.  See the "fix
 cmap"_fix_cmap.html command for an example of a fix that operates in
 this manner.  The doc page for the fix defines the syntax of the
 header line(s) and section(s) that it reads from the data file.
 
 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
 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.
 
 {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
 {extra bond per atom} = leave space for this many new bonds per atom
 {ellipsoids} = # of ellipsoids in system
 {lines} = # of line segments in system
 {triangles} = # of triangles in system
 {bodies} = # of bodies in system
 {xlo xhi} = simulation box boundaries in x dimension
 {ylo yhi} = simulation box boundaries in y dimension
 {zlo zhi} = simulation box boundaries in z dimension
 {xy xz yz} = simulation box tilt factors for triclinic system :ul
 
 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.
 
 If the {xy xz yz} line does not appear, LAMMPS will set up an
 axis-aligned (orthogonal) simulation box.  If the line does appear,
 LAMMPS creates a non-orthogonal simulation domain shaped as a
 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.
 
 The tilt factors (xy,xz,yz) can not skew the box more than half the
 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 "Section_howto 12"_Section_howto.html#howto_12 of the doc pages
 for a geometric description of triclinic boxes, as defined by LAMMPS,
 and how to transform these parameters to and from other commonly used
 triclinic representations.
 
 When a triclinic system is used, the simulation domain must be
 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
 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
 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.
 
 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
 and yz tilt factors must be 0.0.
 
 If the system is periodic (in a dimension), then atom coordinates can
 be outside the bounds (in that dimension); they will be remapped (in a
 periodic sense) back inside the box.
 
 IMPORTANT NOTE: If the system is non-periodic (in a dimension), then
 all atoms in the data file must have coordinates (in that dimension)
 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
 specified box size to layout the 3d grid of processors.  A huge
 (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
 shrink-wraps the box around the atoms.
 
 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.
 
 The "ellipsoids" and "lines" and "triangles" and "bodies" settings are
 only used with "atom_style ellipsoid or line or tri or
 body"_atom_style.html and specify how many of the atoms are
 finite-size ellipsoids or lines or triangles or bodies; the remainder
 are point particles.  See the discussion of ellipsoidflag and the
 {Ellipsoids} section below.  See the discussion of lineflag and the
 {Lines} section below.  See the discussion of triangleflag and the
 {Triangles} section below.  See the discussion of bodyflag and the
 {Bodies} section below.
 
 :line
 
 These are the section keywords for the body of the file.
 
 {Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies} = atom-property sections 
 {Bonds, Angles, Dihedrals, Impropers} = molecular topology sections 
 {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
 
 Each section is listed below in alphabetic order.  The format of each
 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:
 
 one line per atom
 line syntax: depends on atom style :ul
 
 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
 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.
 
 angle: atom-ID molecule-ID atom-type x y z
 atomic: atom-ID atom-type x y z
 body: atom-ID atom-type bodyflag mass x y z
 bond: atom-ID molecule-ID atom-type x y z
 charge: atom-ID atom-type q x y z
 dipole: atom-ID atom-type q x y z mux muy muz
 electron: atom-ID atom-type q spin eradius x y z
 ellipsoid: atom-ID atom-type ellipsoidflag density x y z
 full: atom-ID molecule-ID atom-type q x y z
 line: atom-ID molecule-ID atom-type lineflag density x y z
 meso: atom-ID atom-type rho e cv x y z
 molecular: atom-ID molecule-ID atom-type x y z
 peri: atom-ID atom-type volume density x y z
 sphere: atom-ID atom-type diameter density x y z
 tri: atom-ID molecule-ID atom-type triangleflag density x y z
 wavepacket: atom-ID atom-type charge spin eradius etag cs_re cs_im x y z
 hybrid: atom-ID atom-type x y z sub-style1 sub-style2 ...  :tb(s=:)
 
 The keywords have these meanings:
 
 atom-ID = integer ID of atom
 molecule-ID = integer ID of molecule the atom belongs to
 atom-type = type of atom (1-Ntype)
 q = charge on atom (charge units)
 diameter = diameter of spherical atom (distance units)
 ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles
 lineflag = 1 for line segment particles, 0 for point particles
 triangleflag = 1 for triangular particles, 0 for point particles
 bodyflag = 1 for body particles, 0 for point particles
 density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle)
 mass = mass of particle (mass units)
 volume = volume of particle (distance^3 units)
 x,y,z = coordinates of atom
 mux,muy,muz = components of dipole moment of atom (dipole units)
 rho = density (need units) for SPH particles
 e = energy (need units) for SPH particles
 cv = heat capacity (need units) for SPH particles
 spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP)
 eradius = electron radius (or fixed-core radius)
 etag = integer ID of electron that each wavepacket belongs to
 cs_re,cs_im = real/imaginary parts of wavepacket coefficients :ul
 
 The units for these quantities depend on the unit style; see the
 "units"_units.html command for details.
 
 For 2d simulations specify z as 0.0, or a value within the {zlo zhi}
 setting in the data file header.
 
 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), and velocities are not assigned in the data file, and you
 don't care if unique atom IDs appear in dump files, then the atom-IDs
 can all be set to 0.
 
 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
 to.  It can be 0 if it is an unbonded atom or if you don't care to
 keep track of molecule assignments.
 
 The diameter specifies the size of a finite-size spherical particle.
 It can be set to 0.0, which means that atom is a point particle.
 
 The ellipsoidflag, lineflag, triangleflag, and bodyflag determine
 whether the particle is a finite-size ellipsoid or line or triangle or
-body of finite size, or a point particle.  Additional attributes must
-be defined for each ellipsoid in the {Ellipsoids} section.  Additional
-attributes must be defined for each line in the {Lines} section.
-Additional attributes must be defined for each triangle in the
-{Triangles} section.  Additional attributes must be defined for each
-body in the {Bodies} section.
+body of finite size, or whether the particle is a point particle.
+Additional attributes must be defined for each ellipsoid, line,
+triangle, or body in the corresponding {Ellipsoids}, {Lines},
+{Triangles}, or {Bodies} section.
 
 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.
 
 For finite-size particles, the density is used in conjunction with the
 particle volume to set the mass of each particle as mass = density *
 volume.  In this context, volume can be a 3d quantity (for spheres or
 ellipsoids), a 2d quantity (for triangles), or a 1d quantity (for line
 segments).  If the volume is 0.0, meaning a point particle, then the
-density value is used as the mass.  One exception is for the body
+density value is used as the mass.  One exception is for the body atom
 style, in which case the mass of each particle (body or point
 particle) is specified explicitly.  This is because the volume of the
-body is not known.
+body is unknown.
 
 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 sphere :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
 
 Note that if a non-standard value is defined by multiple sub-styles,
 it must appear mutliple times in the atom line.  E.g. the atom line
 for atom_style hybrid dipole full would list "q" twice:
 
 atom-ID atom-type x y z q mux muy myz molecule-ID q :pre
 
 Atom lines (all lines or none of them) can optionally list 3 trailing
 integer values: nx,ny,nz.  For periodic dimensions, they specify which
 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.
 
 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.
 
 Atom velocities and other atom quantities not defined above are set to
 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.
 
 :line
 
 {Bodies} section:
 
 one or more lines per body :ulb,l
 first line syntax: atom-ID ninteger ndouble :l
   ninteger = # of integer quantities for this particle
   ndouble = # of floating-point quantities for this particle :pre
 0 or more integer lines: one line for every 10 integer quantities :l
 0 or more double lines: one line for every 10 double quantities :l
 example: :l
   12 3 6
   2 3 2
   1.0 2.0 3.0 1.0 2.0 4.0 :pre
 example: :l
   12 0 14
   1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0
   2.0 4.0 4.0 2.0 :pre
 :ule
 
 The {Bodies} section must appear if "atom_style body"_atom_style.html
-is used and any atoms are listed in the {Atoms} section with a
-bodyflag = 1.  The number of bodies should be specified in the header
-section via the "bodies" keyword.
+is used and any atoms listed in the {Atoms} section have a bodyflag =
+1.  The number of bodies should be specified in the header section via
+the "bodies" keyword.
 
 Each body can have a variable number of integer and/or floating-point
-values.  The number and meaning of the values is defined by the Body
-style which will process and store them for each body.  This style is
-given as an argument to the "atom_style body"_atom_style.html command.
+values.  The number and meaning of the values is defined by the body
+style, as described in the "body"_body.html doc page.  The body style
+is given as an argument to the "atom_style body"_atom_style.html
+command.
 
 The ninteger and ndouble values determine how many integer and
 floating-point values are specified for this particle.  Ninteger and
 ndouble can be as large as needed and can be different for every body.
 Integer values are then listed on subsequent lines, 10 values per
 line.  Floating-point values follow on subsequent lines, again 10 per
 line.  If the number of lines is not evenly divisible by 10, the last
 line in that group contains the remaining values, e.g. 4 values out of
 14 in the last example above, for floating-point values.  If there are
 no values of a particular type, no lines appear for that type,
 e.g. there are no integer lines in the last example above.
 
 The {Bodies} section must appear after the {Atoms} section.
 
 :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
 
 {Ellipsoids} section:
 
 one line per ellipsoid :ulb,l
 line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk :l
   atom-ID = ID of atom which is an ellipsoid
   shapex,shapey,shapez = 3 diameters of ellipsoid (distance units)
   quatw,quati,quatj,quatk = quaternion components for orientation of atom :pre
 example: :l
   12 1 2 1 1 0 0 0 :pre
 :ule
 
 The {Ellipsoids} section must appear if "atom_style
 ellipsoid"_atom_style.html is used and any atoms are listed in the
 {Atoms} section with an ellipsoidflag = 1.  The number of ellipsoids
 should be specified in the header section via the "ellipsoids"
 keyword.
 
 The 3 shape values specify the 3 diameters or aspect ratios of a
 finite-size ellipsoidal particle, when it is oriented along the 3
 coordinate axes.  They must all be non-zero values.
 
 The values {quatw}, {quati}, {quatj}, and {quatk} set the orientation
 of the atom as a quaternion (4-vector).  Note that the shape
 attributes specify 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
 4 components are quatw, quati, quatj, and quatk as specified above.
 LAMMPS normalizes each atom's quaternion in case (a,b,c) is not
 specified as a unit vector.
 
 The {Ellipsoids} section must appear after the {Atoms} section.
 
 :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
 
 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.
 
 The {Impropers} section must appear after the {Atoms} section.  All
 values in this section must be integers (1, not 1.0).
 
 :line
 
 {Lines} section:
 
 one line per line segment :ulb,l
 line syntax: atom-ID x1 y1 x2 y2 :l
   atom-ID = ID of atom which is a line segment
   x1,y1 = 1st end point
   x2,y2 = 2nd end point :pre
 example: :l
   12 1.0 0.0 2.0 0.0 :pre
 :ule
 
 The {Lines} section must appear if "atom_style line"_atom_style.html
 is used and any atoms are listed in the {Atoms} section with a
 lineflag = 1.  The number of lines should be specified in the header
 section via the "lines" keyword.
 
 The 2 end points are the end points of the line segment.  The ordering
 of the 2 points should be such that using a right-hand rule to cross
 the line segment with a unit vector in the +z direction, gives an
 "outward" normal vector perpendicular to the line segment.
 I.e. normal = (c2-c1) x (0,0,1).  This orientation may be important
 for defining some interactions.
 
 The {Lines} section must appear after the {Atoms} section.
 
 :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 cannot be
 used for atom styles that define a mass for individual atoms -
 e.g. "atom_style sphere"_atom_style.html.
 
 :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
 
 {Triangles} section:
 
 one line per triangle :ulb,l
 line syntax: atom-ID x1 y1 x2 y2 :l
   atom-ID = ID of atom which is a line segment
   x1,y1,z1 = 1st corner point
   x2,y2,z2 = 2nd corner point
   x3,y3,z3 = 3rd corner point :pre
 example: :l
   12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 :pre
 :ule
 
 The {Triangles} section must appear if "atom_style
 tri"_atom_style.html is used and any atoms are listed in the {Atoms}
 section with a triangleflag = 1.  The number of lines should be
 specified in the header section via the "triangles" keyword.
 
 The 3 corner points are the corner points of the triangle.  The
 ordering of the 3 points should be such that using a right-hand rule
 to go from point1 to point2 to point3 gives an "outward" normal vector
 to the face of the triangle.  I.e. normal = (c2-c1) x (c3-c1).  This
 orientation may be important for defining some interactions.
 
 The {Triangles} section must appear after the {Atoms} section.
 
 :line
 
 {Velocities} section:
 
 one line per atom
 line syntax: depends on atom style :ul
 
 all styles except those listed: atom-ID vx vy vz
 electron: atom-ID vx vy vz ervel
 ellipsoid: atom-ID vx vy vz lx ly lz
 sphere: atom-ID vx vy vz wx wy wz
 hybrid: atom-ID vx vy vz sub-style1 sub-style2 ... :tb(s=:)
 
 where the keywords have these meanings:
 
 vx,vy,vz = translational velocity of atom
 lx,ly,lz = angular momentum of aspherical atom
 wx,wy,wz = angular velocity of spherical atom
 ervel = electron radial velocity (0 for fixed-core):ul
 
 The velocity lines can appear in any order.  This section can only be
 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.
 
 Vx, vy, vz, and ervel 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).
 
 For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz),
 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,vx,vy,vz).  For
 example, for the "sphere" sub-style, "wx", "wy", "wz" values would
 appear.  These are listed in the same order they appear as listed
 above.  Thus if
 
 atom_style hybrid electron sphere :pre
 
 were used in the input script, each velocity line would have these
 fields:
 
 atom-ID vx vy vz ervel wx wy wz :pre
 
 Translational velocities can also be set by the
 "velocity"_velocity.html command in the input script.
 
 :line
 
 [Restrictions:]
 
 To read gzipped data files, you must compile LAMMPS with the
 -DLAMMPS_GZIP option - see the "Making
 LAMMPS"_Section_start.html#start_2 section of the documentation.
 
 [Related commands:]
 
 "read_dump"_read_dump.html, "read_restart"_read_restart.html,
 "create_atoms"_create_atoms.html
 
 [Default:] none