From ca9b0f7d5b4529c38be55a9df992e92c9c67c5cf Mon Sep 17 00:00:00 2001
From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa>
Date: Tue, 2 Oct 2007 21:55:02 +0000
Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@915
 f3b2605a-c512-4ea7-a41b-209d697bcdaa

---
 doc/Section_commands.html |  53 ++++++++----
 doc/Section_commands.txt  |  28 +++++--
 doc/Section_start.html    | 105 ++++++++++++++++++-----
 doc/Section_start.txt     | 105 ++++++++++++++++++-----
 doc/fix.html              |   1 +
 doc/fix.txt               |   1 +
 doc/kspace_style.html     |  12 +--
 doc/kspace_style.txt      |  12 +--
 doc/pair_coeff.html       |  13 +++
 doc/pair_coeff.txt        |  12 +++
 doc/pair_hybrid.html      | 169 +++++++++++++++++++++++++------------
 doc/pair_hybrid.txt       | 170 ++++++++++++++++++++++++++------------
 doc/pair_lj.html          |   2 +-
 doc/pair_lj.txt           |   2 +-
 doc/pair_style.html       |  29 +++++--
 doc/pair_style.txt        |  28 +++++--
 16 files changed, 542 insertions(+), 200 deletions(-)

diff --git a/doc/Section_commands.html b/doc/Section_commands.html
index 8ee34eb1aa..64a1b05bd8 100644
--- a/doc/Section_commands.html
+++ b/doc/Section_commands.html
@@ -313,9 +313,8 @@ in the command's documentation.
 
 <HR>
 
-<P>Fix commands.  See the <A HREF = "fix.html">fix</A> command for one-line
-descriptions of each style or click on the style itself for a full
-description:
+<P>Fix styles.  See the <A HREF = "fix.html">fix</A> command for one-line descriptions
+of each style or click on the style itself for a full description:
 </P>
 <DIV ALIGN=center><TABLE  BORDER=1 >
 <TR ALIGN="center"><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_atom.html">ave/atom</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD><TD ><A HREF = "fix_com.html">com</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD></TR>
@@ -329,17 +328,24 @@ description:
 
 <HR>
 
-<P>Compute commands.  See the <A HREF = "compute.html">compute</A> command for one-line
+<P>Compute styles.  See the <A HREF = "compute.html">compute</A> command for one-line
 descriptions of each style or click on the style itself for a full
 description:
 </P>
 <DIV ALIGN=center><TABLE  BORDER=1 >
 <TR ALIGN="center"><TD ><A HREF = "compute_attribute_atom.html">attribute/atom</A></TD><TD ><A HREF = "compute_centro_atom.html">centro/atom</A></TD><TD ><A HREF = "compute_coord_atom.html">coord/atom</A></TD><TD ><A HREF = "compute_ebond_atom.html">ebond/atom</A></TD><TD ><A HREF = "compute_epair_atom.html">epair/atom</A></TD><TD ><A HREF = "compute_ke_atom.html">ke/atom</A></TD></TR>
 <TR ALIGN="center"><TD ><A HREF = "compute_pressure.html">pressure</A></TD><TD ><A HREF = "compute_rotate_dipole.html">rotate/dipole</A></TD><TD ><A HREF = "compute_rotate_gran.html">rotate/gran</A></TD><TD ><A HREF = "compute_stress_atom.html">stress/atom</A></TD><TD ><A HREF = "compute_sum_atom.html">sum/atom</A></TD><TD ><A HREF = "compute_temp.html">temp</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "compute_temp_deform.html">temp/deform</A></TD><TD ><A HREF = "compute_temp_asphere.html">temp/asphere</A></TD><TD ><A HREF = "compute_temp_dipole.html">temp/dipole</A></TD><TD ><A HREF = "compute_temp_partial.html">temp/partial</A></TD><TD ><A HREF = "compute_temp_ramp.html">temp/ramp</A></TD><TD ><A HREF = "compute_temp_region.html">temp/region</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "compute_temp_asphere.html">temp/asphere</A></TD><TD ><A HREF = "compute_temp_deform.html">temp/deform</A></TD><TD ><A HREF = "compute_temp_dipole.html">temp/dipole</A></TD><TD ><A HREF = "compute_temp_partial.html">temp/partial</A></TD><TD ><A HREF = "compute_temp_ramp.html">temp/ramp</A></TD><TD ><A HREF = "compute_temp_region.html">temp/region</A></TD></TR>
 <TR ALIGN="center"><TD ><A HREF = "compute_variable.html">variable</A></TD><TD ><A HREF = "compute_variable_atom.html">variable/atom</A> 
 </TD></TR></TABLE></DIV>
 
+<P>These are compute styles contributed by users, which can be used if
+<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
+</P>
+<DIV ALIGN=center><TABLE  BORDER=1 >
+<TR ALIGN="center"><TD ><A HREF = "compute_ackland.html">ackland</A> 
+</TD></TR></TABLE></DIV>
+
 <HR>
 
 <P>Pair_style potentials.  See the <A HREF = "pair_style.html">pair_style</A> command
@@ -347,17 +353,25 @@ for an overview of pair potentials.  Click on the style itself for a
 full description:
 </P>
 <DIV ALIGN=center><TABLE  BORDER=1 >
-<TR ALIGN="center"><TD ><A HREF = "pair_none.html">none</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid</A></TD><TD ><A HREF = "pair_airebo.html">airebo</A></TD><TD ><A HREF = "pair_buck.html">buck</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_buck.html">buck/coul/cut</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long</A></TD><TD ><A HREF = "pair_colloid.html">colloid</A></TD><TD ><A HREF = "pair_dipole/cut.html">dipole/cut</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_dpd.html">dpd</A></TD><TD ><A HREF = "pair_eam.html">eam</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/fs</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/hertzian</A></TD><TD ><A HREF = "pair_gran.html">gran/history</A></TD><TD ><A HREF = "pair_gran.html">gran/no_history</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD><TD ><A HREF = "pair_morse.html">morse</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_morse.html">morse/opt</A></TD><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD><TD ><A HREF = "pair_yukawa.html">yukawa</A> 
+<TR ALIGN="center"><TD ><A HREF = "pair_none.html">none</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid/overlay</A></TD><TD ><A HREF = "pair_airebo.html">airebo</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_buck.html">buck</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/cut</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long</A></TD><TD ><A HREF = "pair_colloid.html">colloid</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_coul.html">coul/cut</A></TD><TD ><A HREF = "pair_long.html">coul/long</A></TD><TD ><A HREF = "pair_dipole/cut.html">dipole/cut</A></TD><TD ><A HREF = "pair_dpd.html">dpd</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/fs</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD><TD ><A HREF = "pair_gran.html">gran/hertzian</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/history</A></TD><TD ><A HREF = "pair_gran.html">gran/no_history</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD><TD ><A HREF = "pair_morse.html">morse</A></TD><TD ><A HREF = "pair_morse.html">morse/opt</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "pair_yukawa.html">yukawa</A> 
+</TD></TR></TABLE></DIV>
+
+<P>These are pair styles contributed by users, which can be used if
+<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
+</P>
+<DIV ALIGN=center><TABLE  BORDER=1 >
+<TR ALIGN="center"><TD ><A HREF = "pair_buck_coul.html">buck/coul</A></TD><TD ><A HREF = "pair_lj_coul.html">lj/coul</A> 
 </TD></TR></TABLE></DIV>
 
 <HR>
@@ -417,4 +431,11 @@ description:
 <TR ALIGN="center"><TD WIDTH="100"><A HREF = "kspace_style.html">ewald</A></TD><TD WIDTH="100"><A HREF = "kspace_style.html">pppm</A></TD><TD WIDTH="100"><A HREF = "kspace_style.html">pppm/tip4p</A> 
 </TD></TR></TABLE></DIV>
 
+<P>These are Kspace solvers contributed by users, which can be used if
+<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
+</P>
+<DIV ALIGN=center><TABLE  BORDER=1 >
+<TR ALIGN="center"><TD WIDTH="100"><A HREF = "ewald_n.html">ewald/n</A> 
+</TD></TR></TABLE></DIV>
+
 </HTML>
diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt
index 2a6f706ea3..2e75cbbf2e 100644
--- a/doc/Section_commands.txt
+++ b/doc/Section_commands.txt
@@ -372,9 +372,8 @@ in the command's documentation.
 
 :line
 
-Fix commands.  See the "fix"_fix.html command for one-line
-descriptions of each style or click on the style itself for a full
-description:
+Fix styles.  See the "fix"_fix.html command for one-line descriptions
+of each style or click on the style itself for a full description:
 
 "addforce"_fix_addforce.html,
 "aveforce"_fix_aveforce.html,
@@ -433,7 +432,7 @@ description:
 
 :line
 
-Compute commands.  See the "compute"_compute.html command for one-line
+Compute styles.  See the "compute"_compute.html command for one-line
 descriptions of each style or click on the style itself for a full
 description:
 
@@ -449,8 +448,8 @@ description:
 "stress/atom"_compute_stress_atom.html,
 "sum/atom"_compute_sum_atom.html,
 "temp"_compute_temp.html,
-"temp/deform"_compute_temp_deform.html,
 "temp/asphere"_compute_temp_asphere.html,
+"temp/deform"_compute_temp_deform.html,
 "temp/dipole"_compute_temp_dipole.html,
 "temp/partial"_compute_temp_partial.html,
 "temp/ramp"_compute_temp_ramp.html,
@@ -458,6 +457,11 @@ description:
 "variable"_compute_variable.html,
 "variable/atom"_compute_variable_atom.html :tb(c=6,ea=c)
 
+These are compute styles contributed by users, which can be used if
+"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
+
+"ackland"_compute_ackland.html :tb(c=6,ea=c)
+
 :line
 
 Pair_style potentials.  See the "pair_style"_pair_style.html command
@@ -466,11 +470,14 @@ full description:
 
 "none"_pair_none.html,
 "hybrid"_pair_hybrid.html,
+"hybrid/overlay"_pair_hybrid.html,
 "airebo"_pair_airebo.html,
 "buck"_pair_buck.html,
 "buck/coul/cut"_pair_buck.html,
 "buck/coul/long"_pair_buck.html,
 "colloid"_pair_colloid.html,
+"coul/cut"_pair_coul.html,
+"coul/long"_pair_long.html,
 "dipole/cut"_pair_dipole/cut.html,
 "dpd"_pair_dpd.html,
 "eam"_pair_eam.html,
@@ -507,6 +514,12 @@ full description:
 "tersoff"_pair_tersoff.html,
 "yukawa"_pair_yukawa.html :tb(c=4,ea=c)
 
+These are pair styles contributed by users, which can be used if
+"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
+
+"buck/coul"_pair_buck_coul.html,
+"lj/coul"_pair_lj_coul.html :tb(c=4,ea=c)
+
 :line
 
 Bond_style potentials.  See the "bond_style"_bond_style.html command
@@ -575,3 +588,8 @@ description:
 "ewald"_kspace_style.html,
 "pppm"_kspace_style.html,
 "pppm/tip4p"_kspace_style.html :tb(c=4,ea=c,w=100)
+
+These are Kspace solvers contributed by users, which can be used if
+"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
+
+"ewald/n"_ewald_n.html :tb(c=4,ea=c,w=100)
diff --git a/doc/Section_start.html b/doc/Section_start.html
index 19c62b0a4b..ef237a45bd 100644
--- a/doc/Section_start.html
+++ b/doc/Section_start.html
@@ -264,14 +264,18 @@ build it.  In the src/MAKE/Windows directory are some notes from users
 on how they built LAMMPS under Windows, so you can look at their
 instructions for tips.  Good luck - we can't help you on this one.
 </P>
+<HR>
+
 <H4><A NAME = "2_3"></A>2.3 Making LAMMPS with optional packages 
 </H4>
 <P>The source code for LAMMPS is structured as a large set of core files
-that are always used plus additional packages, which are groups of
-files that enable a specific set of features.  For example, force
-fields for molecular systems or granular systems are in packages.  You
-can see the list of packages by typing "make package".  The current
-list of packages is as follows:
+that are always used plus additional optional packages, which are
+groups of files that enable a specific set of features.  For example,
+force fields for molecular systems or granular systems are in
+packages.  You can see the list of both standard and user-contributed
+packages by typing "make package".
+</P>
+<P>The current list of standard packages is as follows:
 </P>
 <DIV ALIGN=center><TABLE  BORDER=1 >
 <TR><TD >asphere </TD><TD > aspherical particles and force fields</TD></TR>
@@ -289,27 +293,86 @@ list of packages is as follows:
 <TR><TD >xtc </TD><TD > dump atom snapshots in XTC format 
 </TD></TR></TABLE></DIV>
 
+<P>There are also user-contributed packages which may be as simple as a
+single additional file (class) or many files grouped together which
+add a specific functionality to the code.  The difference between a
+<I>standard</I> package versus a <I>user</I> package is as follows.
+</P>
+<P>Standard packages are supported by the LAMMPS developers and are
+written in a syntax and style consistent with the rest of LAMMPS.
+This means we will answer questions about them, debug and fix them if
+necessary, and keep them compatible with future changes to LAMMPS.
+</P>
+<P>User packages don't necessarily meet these requirements.  If you have
+problems using a feature provided in a user package, you will likely
+need to contact the contributor directly to get help.
+</P>
+<P>We encourage users to submit new features to <A HREF = "http://lammps.sandia.gov/authors.html">the
+developers</A> that they add to
+LAMMPS, especially if you think they will be useful to other users.
+If they are broadly useful and meet the requirements listed above, we
+may add them as core files to LAMMPS or as part of a standard package.
+Else we will add them as a user package.
+</P>
+<P>With user packages, all we are really providing (aside from the fame
+and fortune that accompanies having your name in the source code and
+on the <A HREF = "http://lammps.sandia.gov/authors.html">Authors page</A> of the
+<A HREF = "http://lammps.sandia.gov">LAMMPS WWW site</A>), is a means for you to distribute your work to
+the LAMMPS user community and a mechanism for others to easily try out
+your new feature.  This may help you find bugs or make contact with
+new collaborators.
+</P>
+<P><A HREF = "Section_modify.html">This section</A> of the documentation describes how
+to add new features of various kinds to LAMMPS.  Packages are simply
+collections of these kinds of new class files which are typically
+invoked as a new "style" within a LAMMPS input script.  If designed
+correctly, these additions do not require changes to the main core of
+LAMMPS; they are simply add-on files.  If you think your new feature
+requires something else in LAMMPS to change, you'll need to
+<A HREF = "http://lammps.sandia.gov/authors.html">communicate with the
+developers</A>.
+</P>
+<P>Examples of user-contributed packages are in src sub-directories that
+start with USER.  We impose only a few minor restrictions on the
+source files you submit.  They need to have the LAMMPS copyright, GPL
+notice, and your name at the top.  They need to create a class that is
+inside the LAMMPS namespace.  You need to provide the Install.csh and
+style*.h files that enable the package to be installed/un-installed.
+See any of the other LAMMPS source or package files for examples.
+Following this pattern will save you and us time when you submit the
+files.
+</P>
+<P>Finally, you also need to include a README file with your package, so
+that other users can get a quick idea of what it does and know how to
+contact you.  You also need to include a doc file in text format for
+each of the new styles you are adding, which we will convert to HTML.
+See the doc directory for numerous examples of these *.txt files; you
+should use one of them as a template for the feature you are adding.
+</P>
+<HR>
+
 <P>Any or all packages can be included or excluded when LAMMPS is built.
-The one exception is that to use the "opt" package, you must also be
-using the "molecule" and "manybody" packages.  You may wish to exclude
-certain packages if you will never run certain kinds of simulations.
-This will keep you from having to build auxiliary libraries (see
-below) and will produce a smaller executable which may run a bit
-faster.
+The one exception is that to use the standard "opt" package, you must
+also be using the "molecule" and "manybody" packages.  You may wish to
+exclude certain packages if you will never run certain kinds of
+simulations.  This will keep you from having to build auxiliary
+libraries (see below) and will produce a smaller executable which may
+run a bit faster.
 </P>
 <P>By default, LAMMPS includes only the "kspace", "manybody", and
-"molecule" packages.  As described below, some packages require LAMMPS
-be linked to separately built library files, which will require
-editing of your src/MAKE/Makefile.machine.
+"molecule" packages.  As described below, some standard packages
+require LAMMPS be linked to separately built library files, which will
+require editing of your src/MAKE/Makefile.machine.
 </P>
 <P>Packages are included or excluded by typing "make yes-name" or "make
 no-name", where "name" is the name of the package.  You can also type
-"make yes-all" or "make no-all" to include/exclude all optional
-packages.  These commands work by simply moving files back and forth
-between the main src directory and sub-directories with the package
-name, so that the files are seen or not seen when LAMMPS is built.
-After you have included or excluded a package, you must re-make
-LAMMPS.
+"make yes-standard", "make no-standard", "make yes-user", "make
+no-user", "make yes-all" or "make no-all" to include/exclude various
+sets of packages.  These commands work by simply moving files back and
+forth between the main src directory and sub-directories with the
+package name, so that the files are seen or not seen when LAMMPS is
+built.  After you have included or excluded a package, you must
+re-build LAMMPS.
 </P>
 <P>Additional make options exist to help manage LAMMPS files that exist
 in both the src directory and in package sub-directories.  You do not
@@ -356,6 +419,8 @@ directory with the appropriate Makefile, e.g. "make -f Makefile.g++".
 If one of the provided Makefiles is not appropriate for your system
 you can edit or add one as needed.
 </P>
+<HR>
+
 <H4><A NAME = "2_4"></A>2.4 Building LAMMPS as a library 
 </H4>
 <P>LAMMPS can be built as a library, which can then be called from
diff --git a/doc/Section_start.txt b/doc/Section_start.txt
index 5a0794b4ba..010f40568e 100644
--- a/doc/Section_start.txt
+++ b/doc/Section_start.txt
@@ -259,14 +259,18 @@ build it.  In the src/MAKE/Windows directory are some notes from users
 on how they built LAMMPS under Windows, so you can look at their
 instructions for tips.  Good luck - we can't help you on this one.
 
+:line
+
 2.3 Making LAMMPS with optional packages :h4,link(2_3)
 
 The source code for LAMMPS is structured as a large set of core files
-that are always used plus additional packages, which are groups of
-files that enable a specific set of features.  For example, force
-fields for molecular systems or granular systems are in packages.  You
-can see the list of packages by typing "make package".  The current
-list of packages is as follows:
+that are always used plus additional optional packages, which are
+groups of files that enable a specific set of features.  For example,
+force fields for molecular systems or granular systems are in
+packages.  You can see the list of both standard and user-contributed
+packages by typing "make package".
+
+The current list of standard packages is as follows:
 
 asphere : aspherical particles and force fields
 class2 : class 2 force fields
@@ -282,27 +286,86 @@ opt : optimized versions of a few pair potentials
 poems : coupled rigid body motion
 xtc : dump atom snapshots in XTC format :tb(s=:)
 
+There are also user-contributed packages which may be as simple as a
+single additional file (class) or many files grouped together which
+add a specific functionality to the code.  The difference between a
+{standard} package versus a {user} package is as follows.
+
+Standard packages are supported by the LAMMPS developers and are
+written in a syntax and style consistent with the rest of LAMMPS.
+This means we will answer questions about them, debug and fix them if
+necessary, and keep them compatible with future changes to LAMMPS.
+
+User packages don't necessarily meet these requirements.  If you have
+problems using a feature provided in a user package, you will likely
+need to contact the contributor directly to get help.
+
+We encourage users to submit new features to "the
+developers"_http://lammps.sandia.gov/authors.html that they add to
+LAMMPS, especially if you think they will be useful to other users.
+If they are broadly useful and meet the requirements listed above, we
+may add them as core files to LAMMPS or as part of a standard package.
+Else we will add them as a user package.
+
+With user packages, all we are really providing (aside from the fame
+and fortune that accompanies having your name in the source code and
+on the "Authors page"_http://lammps.sandia.gov/authors.html of the
+"LAMMPS WWW site"_lws), is a means for you to distribute your work to
+the LAMMPS user community and a mechanism for others to easily try out
+your new feature.  This may help you find bugs or make contact with
+new collaborators.
+
+"This section"_Section_modify.html of the documentation describes how
+to add new features of various kinds to LAMMPS.  Packages are simply
+collections of these kinds of new class files which are typically
+invoked as a new "style" within a LAMMPS input script.  If designed
+correctly, these additions do not require changes to the main core of
+LAMMPS; they are simply add-on files.  If you think your new feature
+requires something else in LAMMPS to change, you'll need to
+"communicate with the
+developers"_http://lammps.sandia.gov/authors.html.
+
+Examples of user-contributed packages are in src sub-directories that
+start with USER.  We impose only a few minor restrictions on the
+source files you submit.  They need to have the LAMMPS copyright, GPL
+notice, and your name at the top.  They need to create a class that is
+inside the LAMMPS namespace.  You need to provide the Install.csh and
+style*.h files that enable the package to be installed/un-installed.
+See any of the other LAMMPS source or package files for examples.
+Following this pattern will save you and us time when you submit the
+files.
+
+Finally, you also need to include a README file with your package, so
+that other users can get a quick idea of what it does and know how to
+contact you.  You also need to include a doc file in text format for
+each of the new styles you are adding, which we will convert to HTML.
+See the doc directory for numerous examples of these *.txt files; you
+should use one of them as a template for the feature you are adding.
+
+:line
+
 Any or all packages can be included or excluded when LAMMPS is built.
-The one exception is that to use the "opt" package, you must also be
-using the "molecule" and "manybody" packages.  You may wish to exclude
-certain packages if you will never run certain kinds of simulations.
-This will keep you from having to build auxiliary libraries (see
-below) and will produce a smaller executable which may run a bit
-faster.
+The one exception is that to use the standard "opt" package, you must
+also be using the "molecule" and "manybody" packages.  You may wish to
+exclude certain packages if you will never run certain kinds of
+simulations.  This will keep you from having to build auxiliary
+libraries (see below) and will produce a smaller executable which may
+run a bit faster.
 
 By default, LAMMPS includes only the "kspace", "manybody", and
-"molecule" packages.  As described below, some packages require LAMMPS
-be linked to separately built library files, which will require
-editing of your src/MAKE/Makefile.machine.
+"molecule" packages.  As described below, some standard packages
+require LAMMPS be linked to separately built library files, which will
+require editing of your src/MAKE/Makefile.machine.
 
 Packages are included or excluded by typing "make yes-name" or "make
 no-name", where "name" is the name of the package.  You can also type
-"make yes-all" or "make no-all" to include/exclude all optional
-packages.  These commands work by simply moving files back and forth
-between the main src directory and sub-directories with the package
-name, so that the files are seen or not seen when LAMMPS is built.
-After you have included or excluded a package, you must re-make
-LAMMPS.
+"make yes-standard", "make no-standard", "make yes-user", "make
+no-user", "make yes-all" or "make no-all" to include/exclude various
+sets of packages.  These commands work by simply moving files back and
+forth between the main src directory and sub-directories with the
+package name, so that the files are seen or not seen when LAMMPS is
+built.  After you have included or excluded a package, you must
+re-build LAMMPS.
 
 Additional make options exist to help manage LAMMPS files that exist
 in both the src directory and in package sub-directories.  You do not
@@ -349,6 +412,8 @@ directory with the appropriate Makefile, e.g. "make -f Makefile.g++".
 If one of the provided Makefiles is not appropriate for your system
 you can edit or add one as needed.
 
+:line
+
 2.4 Building LAMMPS as a library :h4,link(2_4)
 
 LAMMPS can be built as a library, which can then be called from
diff --git a/doc/fix.html b/doc/fix.html
index 0a9aacba19..7581c19e69 100644
--- a/doc/fix.html
+++ b/doc/fix.html
@@ -88,6 +88,7 @@ for individual fixes for info on which ones can be restarted.
 <LI><A HREF = "fix_gran_diag.html">fix gran/diag</A> - compute granular diagnostics
 <LI><A HREF = "fix_gravity.html">fix gravity</A> - add gravity to atoms in a granular simulation
 <LI><A HREF = "fix_gyration.html">fix gyration</A> - compute radius of gyration
+<LI><A HREF = "fix_gyration.html">fix heat</A> - add/subtract momentum-conserving heat
 <LI><A HREF = "fix_indent.html">fix indent</A> - impose force due to an indenter
 <LI><A HREF = "fix_langevin.html">fix langevin</A> - Langevin temperature control
 <LI><A HREF = "fix_lineforce.html">fix lineforce</A> - constrain atoms to move in a line
diff --git a/doc/fix.txt b/doc/fix.txt
index 2841bf1e51..2e96c71036 100644
--- a/doc/fix.txt
+++ b/doc/fix.txt
@@ -85,6 +85,7 @@ Here is an alphabetic list of fix styles available in LAMMPS:
 "fix gran/diag"_fix_gran_diag.html - compute granular diagnostics
 "fix gravity"_fix_gravity.html - add gravity to atoms in a granular simulation
 "fix gyration"_fix_gyration.html - compute radius of gyration
+"fix heat"_fix_gyration.html - add/subtract momentum-conserving heat
 "fix indent"_fix_indent.html - impose force due to an indenter
 "fix langevin"_fix_langevin.html - Langevin temperature control
 "fix lineforce"_fix_lineforce.html - constrain atoms to move in a line
diff --git a/doc/kspace_style.html b/doc/kspace_style.html
index 6a4d518812..69f337f524 100644
--- a/doc/kspace_style.html
+++ b/doc/kspace_style.html
@@ -34,12 +34,12 @@ kspace_style none
 </PRE>
 <P><B>Description:</B>
 </P>
-<P>Define a K-space solver for LAMMPS to use each timestep to compute
-long-range Coulombic interactions.  When such a solver is used in
-conjunction with an appropriate pair style, the cutoff for Coulombic
-interactions is effectively infinite; each charge in the system
-interacts with charges in an infinite array of periodic images of the
-simulation domain.
+<P>Define a reciprocal (K-space) solver for LAMMPS to use each timestep
+to compute long-range Coulombic interactions.  When such a solver is
+used in conjunction with an appropriate pair style, the cutoff for
+Coulombic interactions is effectively infinite; each charge in the
+system interacts with charges in an infinite array of periodic images
+of the simulation domain.
 </P>
 <P>The <I>ewald</I> style performs a standard Ewald summation as described in
 any solid-state physics text.
diff --git a/doc/kspace_style.txt b/doc/kspace_style.txt
index e7e5e24479..8dafaf56c3 100644
--- a/doc/kspace_style.txt
+++ b/doc/kspace_style.txt
@@ -29,12 +29,12 @@ kspace_style none :pre
 
 [Description:]
 
-Define a K-space solver for LAMMPS to use each timestep to compute
-long-range Coulombic interactions.  When such a solver is used in
-conjunction with an appropriate pair style, the cutoff for Coulombic
-interactions is effectively infinite; each charge in the system
-interacts with charges in an infinite array of periodic images of the
-simulation domain.
+Define a reciprocal (K-space) solver for LAMMPS to use each timestep
+to compute long-range Coulombic interactions.  When such a solver is
+used in conjunction with an appropriate pair style, the cutoff for
+Coulombic interactions is effectively infinite; each charge in the
+system interacts with charges in an infinite array of periodic images
+of the simulation domain.
 
 The {ewald} style performs a standard Ewald summation as described in
 any solid-state physics text.
diff --git a/doc/pair_coeff.html b/doc/pair_coeff.html
index 73a362aed7..1db5c00c51 100644
--- a/doc/pair_coeff.html
+++ b/doc/pair_coeff.html
@@ -84,15 +84,25 @@ the style to display the formula it computes, arguments specified in
 the pair_style command, and coefficients specified by the associated
 <A HREF = "pair_coeff.html">pair_coeff</A> command:
 </P>
+<UL><LI><A HREF = "pair_hybrid.html">pair_style hybrid</A> - multiple styles of pairwise interactions 
+</UL>
+<UL><LI><A HREF = "pair_hybrid.html">pair_style hybrid/overlay</A> - multiple styles of superposed pairwise interactions 
+</UL>
 <UL><LI><A HREF = "pair_airebo.html">pair_style airebo</A> - AI-REBO potential
 <LI><A HREF = "pair_buck.html">pair_style buck</A> - Buckingham potential
 <LI><A HREF = "pair_buck.html">pair_style buck/coul/cut</A> - Buckinhham with cutoff Coulomb
 <LI><A HREF = "pair_buck.html">pair_style buck/coul/long</A> - Buckingham with long-range Coulomb
 <LI><A HREF = "pair_colloid.html">pair_style colloid</A> - integrated colloidal potential
+<LI><A HREF = "pair_coul.html">pair_style coul/cut</A> - cutoff Coulombic potential
+<LI><A HREF = "pair_coul.html">pair_style coul/long</A> - long-range Coulombic potential
+<LI><A HREF = "pair_dpd.html">pair_style dipole/cut</A> - point dipoles with cutoff
 <LI><A HREF = "pair_dpd.html">pair_style dpd</A> - dissipative particle dynamics (DPD)
 <LI><A HREF = "pair_eam.html">pair_style eam</A> - embedded atom method (EAM)
+<LI><A HREF = "pair_eam.html">pair_style eam/opt</A> - optimized version of EAM
 <LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - alloy EAM
+<LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - optimized version of alloy EAM
 <LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - Finnis-Sinclair EAM
+<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - optimized version of Finnis-Sinclair EAM
 <LI><A HREF = "pair_gayberne.html">pair_style gayberne</A> - Gay-Berne ellipsoidal potential
 <LI><A HREF = "pair_gran.html">pair_style gran/hertzian</A> - granular potential with Hertizain interactions
 <LI><A HREF = "pair_gran.html">pair_style gran/history</A> - granular potential with history effects
@@ -100,10 +110,12 @@ the pair_style command, and coefficients specified by the associated
 <LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm</A> - CHARMM potential with cutoff Coulomb
 <LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm/implicit</A> - CHARMM for implicit solvent
 <LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long</A> - CHARMM with long-range Coulomb
+<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long/opt</A> - optimized version of CHARMM with long-range Coulomb
 <LI><A HREF = "pair_class2.html">pair_style lj/class2</A> - COMPASS (class 2) force field with no Coulomb
 <LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/cut</A> - COMPASS with cutoff Coulomb
 <LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/long</A> - COMPASS with long-range Coulomb
 <LI><A HREF = "pair_lj.html">pair_style lj/cut</A> - cutoff Lennard-Jones potential with no Coulomb
+<LI><A HREF = "pair_lj.html">pair_style lj/cut/opt</A> - optimized version of cutoff LJ
 <LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/cut</A> - LJ with cutoff Coulomb
 <LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/debye</A> - LJ with Debye damping added to Coulomb
 <LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/long</A> - LJ with long-range Coulomb
@@ -112,6 +124,7 @@ the pair_style command, and coefficients specified by the associated
 <LI><A HREF = "pair_lj_smooth.html">pair_style lj/smooth</A> - smoothed Lennard-Jones potential
 <LI><A HREF = "pair_meam.html">pair_style meam</A> - modified embedded atom method (MEAM)
 <LI><A HREF = "pair_morse.html">pair_style morse</A> - Morse potential
+<LI><A HREF = "pair_morse.html">pair_style morse</A> - optimized version of Morse potential
 <LI><A HREF = "pair_soft.html">pair_style soft</A> - Soft (cosine) potential
 <LI><A HREF = "pair_sw.html">pair_style sw</A> - Stillinger-Weber 3-body potential
 <LI><A HREF = "pair_table.html">pair_style table</A> - tabulated pair potential
diff --git a/doc/pair_coeff.txt b/doc/pair_coeff.txt
index acaeafab1c..9114bfd845 100644
--- a/doc/pair_coeff.txt
+++ b/doc/pair_coeff.txt
@@ -81,15 +81,24 @@ the style to display the formula it computes, arguments specified in
 the pair_style command, and coefficients specified by the associated
 "pair_coeff"_pair_coeff.html command:
 
+"pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions :ul
+"pair_style hybrid/overlay"_pair_hybrid.html - multiple styles of superposed pairwise interactions :ul
+
 "pair_style airebo"_pair_airebo.html - AI-REBO potential
 "pair_style buck"_pair_buck.html - Buckingham potential
 "pair_style buck/coul/cut"_pair_buck.html - Buckinhham with cutoff Coulomb
 "pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulomb
 "pair_style colloid"_pair_colloid.html - integrated colloidal potential
+"pair_style coul/cut"_pair_coul.html - cutoff Coulombic potential
+"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
+"pair_style dipole/cut"_pair_dpd.html - point dipoles with cutoff
 "pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
 "pair_style eam"_pair_eam.html - embedded atom method (EAM)
+"pair_style eam/opt"_pair_eam.html - optimized version of EAM
 "pair_style eam/alloy"_pair_eam.html - alloy EAM
+"pair_style eam/alloy"_pair_eam.html - optimized version of alloy EAM
 "pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
+"pair_style eam/fs"_pair_eam.html - optimized version of Finnis-Sinclair EAM
 "pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
 "pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions
 "pair_style gran/history"_pair_gran.html - granular potential with history effects
@@ -97,10 +106,12 @@ the pair_style command, and coefficients specified by the associated
 "pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb
 "pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent
 "pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb
+"pair_style lj/charmm/coul/long/opt"_pair_charmm.html - optimized version of CHARMM with long-range Coulomb
 "pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb
 "pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
 "pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
 "pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
+"pair_style lj/cut/opt"_pair_lj.html - optimized version of cutoff LJ
 "pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
 "pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye damping added to Coulomb
 "pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulomb
@@ -109,6 +120,7 @@ the pair_style command, and coefficients specified by the associated
 "pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
 "pair_style meam"_pair_meam.html - modified embedded atom method (MEAM)
 "pair_style morse"_pair_morse.html - Morse potential
+"pair_style morse"_pair_morse.html - optimized version of Morse potential
 "pair_style soft"_pair_soft.html - Soft (cosine) potential
 "pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential
 "pair_style table"_pair_table.html - tabulated pair potential
diff --git a/doc/pair_hybrid.html b/doc/pair_hybrid.html
index 3a389128fa..c1d533b9f7 100644
--- a/doc/pair_hybrid.html
+++ b/doc/pair_hybrid.html
@@ -11,54 +11,115 @@
 
 <H3>pair_style hybrid command 
 </H3>
+<H3>pair_style hybrid/overlay command 
+</H3>
 <P><B>Syntax:</B>
 </P>
-<PRE>pair_style hybrid style1 style2 ... 
+<PRE>pair_style hybrid style1 args style2 args ...
+pair_style hybrid/overlay style1 args style2 args ... 
 </PRE>
-<UL><LI>style1,style2 = list of one or more pair styles 
+<UL><LI>style1,style2 = list of one or more pair styles and their arguments 
 </UL>
 <P><B>Examples:</B>
 </P>
-<PRE>pair_style hybrid lj/charmm/coul/long 10.0 eam
+<PRE>pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
 pair_coeff 1*2 1*2 eam niu3
 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
 pair_coeff 1*2 3 lj/cut 0.5 1.2 
 </PRE>
+<PRE>pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
+pair_coeff * * lj/cut 1.0 1.0
+pair_coeff * * coul/long 
+</PRE>
 <P><B>Description:</B>
 </P>
-<P>The <I>hybrid</I> style enables the use of multiple pair styles in one
-simulation.  A pair style can be assigned to each pair of atom types
-via the <A HREF = "pair_coeff.html">pair_coeff</A> command.
-</P>
-<P>For example, a metal on a LJ surface could be computed where the metal
-atoms interact with each other via a <I>eam</I> potential, the surface
-atoms interact with each other via a <I>lj/cut</I> potential, and the
-metal/surface interaction is also via a <I>lj/cut</I> potential.
-</P>
-<P>All pair styles that will be used must be listed in the pair_style
-hybrid command (in any order).  The name of each sub-style is followed
-by its arguments, as illustrated in the example above.
-</P>
-<P>In the pair_coeff command, the first coefficient sets the pair style
-and the remaining coefficients are those appropriate to that style.
-For example, consider a simulation with 3 atom types: types 1 and 2
-are Ni atoms, type 3 are LJ atoms with charges.  The following
-commands would set up a hybrid simulation:
+<P>The <I>hybrid</I> and <I>hybrid/overlay</I> styles enable the use of multiple
+pair styles in one simulation.  With the <I>hybrid</I> style, exactly one
+pair style is assigned to each pair of atom types.  With the
+<I>hybrid/overlay</I> style, one or more pair styles can be assigned to
+each pair of atom types.  The assignment of pair styles to type pairs
+is made via the <A HREF = "pair_coeff.html">pair_coeff</A> command.
+</P>
+<P>Here are two examples of hybrid simulations.  The <I>hybrid</I> style could
+be used for a simulation of a metal droplet on a LJ surface.  The
+metal atoms interact with each other via an <I>eam</I> potential, the
+surface atoms interact with each other via a <I>lj/cut</I> potential, and
+the metal/surface interaction is also computed via a <I>lj/cut</I>
+potential.  The <I>hybrid/overlay</I> style could be used as in the 2nd
+example above, where multiple potentials are superposed in an additive
+fashion to compute the interaction between atoms.  In this example,
+using <I>lj/cut</I> and <I>coul/long</I> together gives the same result as if
+the <I>lj/cut/coul/long</I> potential were used by itself.  In this case,
+it would be more efficient to use the single combined potential, but
+in general any combination of pair potentials can be used together in
+to produce an interaction that is not encoded in any single pair_style
+file, e.g. adding Coulombic forces between granular particles.
+</P>
+<P>All pair styles that will be used are listed as "sub-styles" following
+the <I>hybrid</I> or <I>hybrid/overlay</I> keyword, in any order.  Each
+sub-style's name is followed by its usual arguments, as illustrated in
+the example above.  See the doc pages of individual pair styles for a
+listing and explanation of the appropriate arguments.
+</P>
+<P>The pair_coeff commands are also specified exactly as they would be
+for a simulation using only one pair style, with one additional
+argument.  Following the I,J type specification, the first argument
+sets the pair sub-style.  The remaining arguments are the coefficients
+appropriate to that style.  For example, consider a simulation with 3
+atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with
+charges.  The following commands would set up a hybrid simulation:
 </P>
 <PRE>pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
-pair_coeff * * eam/alloy nialhjea 1 1 0
+pair_coeff * * eam/alloy nialhjea Ni Ni NULL
 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
-pair_coeff 1*2 3 lj/cut 0.8 1.1 
+pair_coeff 1*2 3 lj/cut 0.8 1.3 
 </PRE>
-<P>If the pair_coeff command for a sub-style requires the use of * * as
-atom type arguments (e.g. the <I>eam/alloy</I> example above), then it will
-also include trailing arguments which map atom types to elements in
-the potential.  These mapping arguments should be specified as 0 if
-the sub-style is not being applied to certain atom types.
-</P>
-<P>Note that you may also need to use an <A HREF = "atom_style.html">atom_style</A>
-hybrid command in your input script, if atoms in the simulation will
-have attributes from several atom styles, due to using multiple pair
+<P>Note that the pair_coeff command for <I>eam/alloy</I> includes a mapping
+specification of elements to all atom types, even those not assigned
+to the <I>eam/alloy</I> potential.  The NULL keyword is used by such
+potentials (eam/alloy, Tersoff, AIREBO, etc), to denote an atom type
+that will be assigned to a different sub-style.
+</P>
+<P>For the <I>hybrid</I> style, each atom type pair I,J is assigned to exactly
+one sub-style.  Just as with a simulation using a single pair style,
+if you specify the same atom type pair in a second pair_coeff command,
+the previous assignment will be overwritten.
+</P>
+<P>For the <I>hybrid/overlay</I> style, each atom type pair I,J can be
+assigned to one or more sub-styles.  Thus if you specify the same atom
+type pair in a second pair_coeff command, a second sub-style is added
+to the list of potentials that will be calculated for two interactings
+atoms of those types.
+</P>
+<P>The following coefficients must be defined for each pair of atoms
+types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples
+above, or in the data file or restart files read by the
+<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A>
+commands, or by mixing as described below:
+</P>
+<P>For both the <I>hybrid</I> and <I>hybrid/overlay</I> styles, every atom type
+pair I,J (where I <= J) must be assigned to at least one sub-style via
+the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or
+in the data file read by the <A HREF = "read_data.html">read_data</A>, or by mixing
+as described below.
+</P>
+<P>If you want there to be no interactions between a particular pair of
+atom types, you have 3 choices.  You can assign the type pair to some
+sub-style and use the <A HREF = "neigh_modify">neigh_modify exclude type</A>
+command.  You can assign it to some sub-style and set the coefficients
+so that there is effectively no interaction (e.g. epsilon = 0.0 in a
+LJ potential).  Or, for <I>hybrid</I> and <I>hybrid/overlay</I> simluations, you
+can use this form of the pair_coeff command:
+</P>
+<PRE>pair_coeff	2 3 none 
+</PRE>
+<P>If an assignment to <I>none</I> is made in a simluation with the
+<I>hybrid/overlay</I> pair style, it wipes out all previous assignments of
+that atom type pair to sub-styles.
+</P>
+<P>Note that you may need to use an <A HREF = "atom_style.html">atom_style</A> hybrid
+command in your input script, if atoms in the simulation will need
+attributes from several atom styles, due to using multiple pair
 potentials.
 </P>
 <HR>
@@ -72,39 +133,39 @@ sub-styles of the hybrid potential.
 </P>
 <P>For atom type pairs I,J and I != J, if the sub-style assigned to I,I
 and J,J is the same, and if the sub-style allows for mixing, then the
-coefficients for I,J can be mixed.  The default mix value is
-<I>geometric</I>.  See the "pair_modify" command for details.  See the
-See the doc page for the sub-style to see if allows for mixing.
-</P>
-<P>The hybrid pair style supports the <A HREF = "pair_modify.html">pair_modify</A>
+coefficients for I,J can be mixed.  This means you do not have to
+specify a pair_coeff command for I,J since the I,J type pair will be
+assigned automatically to the I,I sub-style and its coefficients
+generated by the mixing rule used by that sub-style.  For the
+<I>hybrid/overlay</I> style, there is an additional requirement that both
+the I,I and J,J pairs are assigned to a single sub-style.  See the
+"pair_modify" command for details of mixing rules.  See the See the
+doc page for the sub-style to see if allows for mixing.
+</P>
+<P>The hybrid pair styles supports the <A HREF = "pair_modify.html">pair_modify</A>
 shift, table, and tail options for an I,J pair interaction, if the
 associated sub-style supports it.
 </P>
-<P>The hybrid pair style can calculate per-atom energy and stress, as
+<P>The hybrid pair styles can calculate per-atom energy and stress, as
 used by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute
 stress/atom</A>, and <A HREF = "dump.html">dump custom</A>
 commands, if all its sub-styles can perform per-atom calculations.
 </P>
-<P>For the hybrid pair style, the list of sub-styles and their respective
-settings are written to <A HREF = "restart.html">binary restart files</A>, so a
-pair_style command does not need to specified in an input script that
-reads a restart file.  However, the coefficient information is not
-stored in the restart file.  Thus, pair_coeff commands do need to be
-specified in the restart input script.
+<P>For the hybrid pair styles, the list of sub-styles and their
+respective settings are written to <A HREF = "restart.html">binary restart
+files</A>, so a pair_style command does not need to
+specified in an input script that reads a restart file.  However, the
+coefficient information is not stored in the restart file.  Thus,
+pair_coeff commands need to be specified in the restart input script.
 </P>
 <P><B>Restrictions:</B>
 </P>
-<P>A pair style of <I>none</I> can be specified as an argument to pair_style
-hybrid and the corresponding pair_coeff commands, if you desire to
-turn off pairwise interactions between certain pairs of atom types.
-</P>
 <P>When using a long-range Coulomic solver (via the
-<A HREF = "kspace_style">kspace_style</A> command) with pair_style hybrid, one or
-more sub-styles will be of the "long" variety.
-E.g. <I>lj/cut/coul/long</I> or <I>buck/coul/long</I>.  It is OK to have more
-than one sub-style with a "long" component, but you must insure that
-the short-range Coulombic cutoff used by each of these pair styles is
-consistent.  Else the long-range Coulombic solve will be inconsistent.
+<A HREF = "kspace_style">kspace_style</A> command) with a hybrid pair_style, one or
+more sub-styles will be of the "long" variety, e.g. <I>lj/cut/coul/long</I>
+or <I>buck/coul/long</I>.  You must insure that the short-range Coulombic
+cutoff used by each of these long pair styles is the same or else
+LAMMPS will generate an error.
 </P>
 <P><B>Related commands:</B>
 </P>
diff --git a/doc/pair_hybrid.txt b/doc/pair_hybrid.txt
index ff27251384..c4851e7ddc 100644
--- a/doc/pair_hybrid.txt
+++ b/doc/pair_hybrid.txt
@@ -7,55 +7,115 @@
 :line
 
 pair_style hybrid command :h3
+pair_style hybrid/overlay command :h3
 
 [Syntax:]
 
-pair_style hybrid style1 style2 ... :pre
+pair_style hybrid style1 args style2 args ...
+pair_style hybrid/overlay style1 args style2 args ... :pre
 
-style1,style2 = list of one or more pair styles :ul
+style1,style2 = list of one or more pair styles and their arguments :ul
 
 [Examples:]
 
-pair_style hybrid lj/charmm/coul/long 10.0 eam
+pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
 pair_coeff 1*2 1*2 eam niu3
 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
 pair_coeff 1*2 3 lj/cut 0.5 1.2 :pre
 
-[Description:]
-
-The {hybrid} style enables the use of multiple pair styles in one
-simulation.  A pair style can be assigned to each pair of atom types
-via the "pair_coeff"_pair_coeff.html command.
+pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
+pair_coeff * * lj/cut 1.0 1.0
+pair_coeff * * coul/long :pre
 
-For example, a metal on a LJ surface could be computed where the metal
-atoms interact with each other via a {eam} potential, the surface
-atoms interact with each other via a {lj/cut} potential, and the
-metal/surface interaction is also via a {lj/cut} potential.
-
-All pair styles that will be used must be listed in the pair_style
-hybrid command (in any order).  The name of each sub-style is followed
-by its arguments, as illustrated in the example above.
+[Description:]
 
-In the pair_coeff command, the first coefficient sets the pair style
-and the remaining coefficients are those appropriate to that style.
-For example, consider a simulation with 3 atom types: types 1 and 2
-are Ni atoms, type 3 are LJ atoms with charges.  The following
-commands would set up a hybrid simulation:
+The {hybrid} and {hybrid/overlay} styles enable the use of multiple
+pair styles in one simulation.  With the {hybrid} style, exactly one
+pair style is assigned to each pair of atom types.  With the
+{hybrid/overlay} style, one or more pair styles can be assigned to
+each pair of atom types.  The assignment of pair styles to type pairs
+is made via the "pair_coeff"_pair_coeff.html command.
+
+Here are two examples of hybrid simulations.  The {hybrid} style could
+be used for a simulation of a metal droplet on a LJ surface.  The
+metal atoms interact with each other via an {eam} potential, the
+surface atoms interact with each other via a {lj/cut} potential, and
+the metal/surface interaction is also computed via a {lj/cut}
+potential.  The {hybrid/overlay} style could be used as in the 2nd
+example above, where multiple potentials are superposed in an additive
+fashion to compute the interaction between atoms.  In this example,
+using {lj/cut} and {coul/long} together gives the same result as if
+the {lj/cut/coul/long} potential were used by itself.  In this case,
+it would be more efficient to use the single combined potential, but
+in general any combination of pair potentials can be used together in
+to produce an interaction that is not encoded in any single pair_style
+file, e.g. adding Coulombic forces between granular particles.
+
+All pair styles that will be used are listed as "sub-styles" following
+the {hybrid} or {hybrid/overlay} keyword, in any order.  Each
+sub-style's name is followed by its usual arguments, as illustrated in
+the example above.  See the doc pages of individual pair styles for a
+listing and explanation of the appropriate arguments.
+
+The pair_coeff commands are also specified exactly as they would be
+for a simulation using only one pair style, with one additional
+argument.  Following the I,J type specification, the first argument
+sets the pair sub-style.  The remaining arguments are the coefficients
+appropriate to that style.  For example, consider a simulation with 3
+atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with
+charges.  The following commands would set up a hybrid simulation:
 
 pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
-pair_coeff * * eam/alloy nialhjea 1 1 0
+pair_coeff * * eam/alloy nialhjea Ni Ni NULL
 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
-pair_coeff 1*2 3 lj/cut 0.8 1.1 :pre
-
-If the pair_coeff command for a sub-style requires the use of * * as
-atom type arguments (e.g. the {eam/alloy} example above), then it will
-also include trailing arguments which map atom types to elements in
-the potential.  These mapping arguments should be specified as 0 if
-the sub-style is not being applied to certain atom types.
-
-Note that you may also need to use an "atom_style"_atom_style.html
-hybrid command in your input script, if atoms in the simulation will
-have attributes from several atom styles, due to using multiple pair
+pair_coeff 1*2 3 lj/cut 0.8 1.3 :pre
+
+Note that the pair_coeff command for {eam/alloy} includes a mapping
+specification of elements to all atom types, even those not assigned
+to the {eam/alloy} potential.  The NULL keyword is used by such
+potentials (eam/alloy, Tersoff, AIREBO, etc), to denote an atom type
+that will be assigned to a different sub-style.
+
+For the {hybrid} style, each atom type pair I,J is assigned to exactly
+one sub-style.  Just as with a simulation using a single pair style,
+if you specify the same atom type pair in a second pair_coeff command,
+the previous assignment will be overwritten.
+
+For the {hybrid/overlay} style, each atom type pair I,J can be
+assigned to one or more sub-styles.  Thus if you specify the same atom
+type pair in a second pair_coeff command, a second sub-style is added
+to the list of potentials that will be calculated for two interactings
+atoms of those types.
+
+The following coefficients must be defined for each pair of atoms
+types via the "pair_coeff"_pair_coeff.html command as in the examples
+above, or in the data file or restart files read by the
+"read_data"_read_data.html or "read_restart"_read_restart.html
+commands, or by mixing as described below:
+
+For both the {hybrid} and {hybrid/overlay} styles, every atom type
+pair I,J (where I <= J) must be assigned to at least one sub-style via
+the "pair_coeff"_pair_coeff.html command as in the examples above, or
+in the data file read by the "read_data"_read_data.html, or by mixing
+as described below.
+
+If you want there to be no interactions between a particular pair of
+atom types, you have 3 choices.  You can assign the type pair to some
+sub-style and use the "neigh_modify exclude type"_neigh_modify
+command.  You can assign it to some sub-style and set the coefficients
+so that there is effectively no interaction (e.g. epsilon = 0.0 in a
+LJ potential).  Or, for {hybrid} and {hybrid/overlay} simluations, you
+can use this form of the pair_coeff command:
+
+pair_coeff	2 3 none :pre
+
+If an assignment to {none} is made in a simluation with the
+{hybrid/overlay} pair style, it wipes out all previous assignments of
+that atom type pair to sub-styles.
+
+Note that you may need to use an "atom_style"_atom_style.html hybrid
+command in your input script, if atoms in the simulation will need
+attributes from several atom styles, due to using multiple pair
 potentials.
 
 :line
@@ -69,39 +129,39 @@ sub-styles of the hybrid potential.
 
 For atom type pairs I,J and I != J, if the sub-style assigned to I,I
 and J,J is the same, and if the sub-style allows for mixing, then the
-coefficients for I,J can be mixed.  The default mix value is
-{geometric}.  See the "pair_modify" command for details.  See the
-See the doc page for the sub-style to see if allows for mixing.
-
-The hybrid pair style supports the "pair_modify"_pair_modify.html
+coefficients for I,J can be mixed.  This means you do not have to
+specify a pair_coeff command for I,J since the I,J type pair will be
+assigned automatically to the I,I sub-style and its coefficients
+generated by the mixing rule used by that sub-style.  For the
+{hybrid/overlay} style, there is an additional requirement that both
+the I,I and J,J pairs are assigned to a single sub-style.  See the
+"pair_modify" command for details of mixing rules.  See the See the
+doc page for the sub-style to see if allows for mixing.
+
+The hybrid pair styles supports the "pair_modify"_pair_modify.html
 shift, table, and tail options for an I,J pair interaction, if the
 associated sub-style supports it.
 
-The hybrid pair style can calculate per-atom energy and stress, as
+The hybrid pair styles can calculate per-atom energy and stress, as
 used by the "compute epair/atom"_compute_epair_atom.html, "compute
 stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html
 commands, if all its sub-styles can perform per-atom calculations.
 
-For the hybrid pair style, the list of sub-styles and their respective
-settings are written to "binary restart files"_restart.html, so a
-pair_style command does not need to specified in an input script that
-reads a restart file.  However, the coefficient information is not
-stored in the restart file.  Thus, pair_coeff commands do need to be
-specified in the restart input script.
+For the hybrid pair styles, the list of sub-styles and their
+respective settings are written to "binary restart
+files"_restart.html, so a pair_style command does not need to
+specified in an input script that reads a restart file.  However, the
+coefficient information is not stored in the restart file.  Thus,
+pair_coeff commands need to be specified in the restart input script.
 
 [Restrictions:]
 
-A pair style of {none} can be specified as an argument to pair_style
-hybrid and the corresponding pair_coeff commands, if you desire to
-turn off pairwise interactions between certain pairs of atom types.
-
 When using a long-range Coulomic solver (via the
-"kspace_style"_kspace_style command) with pair_style hybrid, one or
-more sub-styles will be of the "long" variety.
-E.g. {lj/cut/coul/long} or {buck/coul/long}.  It is OK to have more
-than one sub-style with a "long" component, but you must insure that
-the short-range Coulombic cutoff used by each of these pair styles is
-consistent.  Else the long-range Coulombic solve will be inconsistent.
+"kspace_style"_kspace_style command) with a hybrid pair_style, one or
+more sub-styles will be of the "long" variety, e.g. {lj/cut/coul/long}
+or {buck/coul/long}.  You must insure that the short-range Coulombic
+cutoff used by each of these long pair styles is the same or else
+LAMMPS will generate an error.
 
 [Related commands:]
 
diff --git a/doc/pair_lj.html b/doc/pair_lj.html
index 33f227d3c5..358815578c 100644
--- a/doc/pair_lj.html
+++ b/doc/pair_lj.html
@@ -117,7 +117,7 @@ applied to the Coulombic term so it can be used in conjunction with
 the <A HREF = "kspace_style.html">kspace_style</A> command and its <I>ewald</I> or <I>pppm</I>
 option.  The Coulombic cutoff specified for this style means that
 pairwise interactions within this distance are computed directly;
-interactions outside that distance are computed in K-space.
+interactions outside that distance are computed in reciprocal space.
 </P>
 <P>Style <I>lj/cut/coul/long/tip4p</I> implements the TIP4P water model of
 <A HREF = "#Jorgensen">(Jorgensen)</A>, which introduces a massless site located a
diff --git a/doc/pair_lj.txt b/doc/pair_lj.txt
index 154045a722..96e66334ec 100644
--- a/doc/pair_lj.txt
+++ b/doc/pair_lj.txt
@@ -109,7 +109,7 @@ applied to the Coulombic term so it can be used in conjunction with
 the "kspace_style"_kspace_style.html command and its {ewald} or {pppm}
 option.  The Coulombic cutoff specified for this style means that
 pairwise interactions within this distance are computed directly;
-interactions outside that distance are computed in K-space.
+interactions outside that distance are computed in reciprocal space.
 
 Style {lj/cut/coul/long/tip4p} implements the TIP4P water model of
 "(Jorgensen)"_#Jorgensen, which introduces a massless site located a
diff --git a/doc/pair_style.html b/doc/pair_style.html
index 6c5e470412..ed0ce87e1f 100644
--- a/doc/pair_style.html
+++ b/doc/pair_style.html
@@ -17,14 +17,16 @@
 </PRE>
 <UL><LI>style = one of the following 
 
-<UL><LI><I>none</I>, <I>hybrid</I>, <I>airebo</I>, <I>buck</I>, <I>buck/coul/cut</I>, <I>buck/coul/long</I>,
-<LI><I>dpd</I>, <I>eam</I>, <I>eam/alloy</I> or <I>eam/fs</I>, <I>gran/hertzian</I>,
-<LI><I>gran/history</I>, <I>gran/no_history</I>, <I>lj/charmm/coul/charmm</I>,
-<LI><I>lj/charmm/coul/charmm/implicit</I> or <I>lj/charmm/coul/long</I>,
-<LI><I>lj/class2</I>, <I>lj/class2/coul/cut</I> or <I>lj/class2/coul/long</I>, <I>lj/cut</I>,
-<LI><I>lj/cut/coul/cut</I> or <I>lj/cut/coul/debye</I>, <I>lj/cut/coul/long</I>,
+<UL><LI><I>none</I>, <I>hybrid</I>, <I>hybrid/overlay</I>, <I>airebo</I>, <I>buck</I>, <I>buck/coul/cut</I>,
+<LI><I>buck/coul/long</I>, <I>coul/cut</I>, <I>coul/long</I>, <I>dipole/cut</I>, <I>dpd</I>, <I>eam</I>,
+<LI><I>eam/opt</I>, <I>eam/alloy</I>, <I>eam/alloy/opt</I>, <I>eam/fs</I>, <I>eam/fs/opt</I>,
+<LI><I>gayberne</I>, <I>gran/hertzian</I>, <I>gran/history</I>, <I>gran/no_history</I>,
+<LI><I>lj/charmm/coul/charmm</I>, <I>lj/charmm/coul/charmm/implicit</I>,
+<LI><I>lj/charmm/coul/long</I>, <I>lj/charmm/coul/long/opt</I>, <I>lj/class2</I>,
+<LI><I>lj/class2/coul/cut</I>, <I>lj/class2/coul/long</I>, <I>lj/cut</I>, <I>lj/cut/opt</I>,
+<LI><I>lj/cut/coul/cut</I>, <I>lj/cut/coul/debye</I>, <I>lj/cut/coul/long</I>,
 <LI><I>lj/cut/coul/long/tip4p</I>, <I>lj/expand</I>, <I>lj/smooth</I>, <I>meam</I>, <I>morse</I>,
-<LI><I>soft</I>, <I>sw</I>, <I>table</I>, <I>tersoff</I>, <I>yukawa</I> 
+<LI><I>morse/opt</I>, <I>soft</I>, <I>sw</I>, <I>table</I>, <I>tersoff</I>, <I>yukawa</I> 
 </UL>
 <LI>args = arguments used by a particular style 
 </UL>
@@ -99,17 +101,25 @@ the pair_style command, and coefficients specified by the associated
 <A HREF = "pair_coeff.html">pair_coeff</A> command:
 </P>
 <UL><LI><A HREF = "pair_none.html">pair_style none</A> - turn off pairwise interactions
-<LI><A HREF = "pair_hybrid.html">pair_style hybrid</A> - define multiple styles of pairwise interactions 
+<LI><A HREF = "pair_hybrid.html">pair_style hybrid</A> - multiple styles of pairwise interactions 
+</UL>
+<UL><LI><A HREF = "pair_hybrid.html">pair_style hybrid/overlay</A> - multiple styles of superposed pairwise interactions 
 </UL>
 <UL><LI><A HREF = "pair_airebo.html">pair_style airebo</A> - AI-REBO potential
 <LI><A HREF = "pair_buck.html">pair_style buck</A> - Buckingham potential
 <LI><A HREF = "pair_buck.html">pair_style buck/coul/cut</A> - Buckinhham with cutoff Coulomb
 <LI><A HREF = "pair_buck.html">pair_style buck/coul/long</A> - Buckingham with long-range Coulomb
 <LI><A HREF = "pair_colloid.html">pair_style colloid</A> - integrated colloidal potential
+<LI><A HREF = "pair_coul.html">pair_style coul/cut</A> - cutoff Coulombic potential
+<LI><A HREF = "pair_coul.html">pair_style coul/long</A> - long-range Coulombic potential
+<LI><A HREF = "pair_dpd.html">pair_style dipole/cut</A> - point dipoles with cutoff
 <LI><A HREF = "pair_dpd.html">pair_style dpd</A> - dissipative particle dynamics (DPD)
 <LI><A HREF = "pair_eam.html">pair_style eam</A> - embedded atom method (EAM)
+<LI><A HREF = "pair_eam.html">pair_style eam/opt</A> - optimized version of EAM
 <LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - alloy EAM
+<LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - optimized version of alloy EAM
 <LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - Finnis-Sinclair EAM
+<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - optimized version of Finnis-Sinclair EAM
 <LI><A HREF = "pair_gayberne.html">pair_style gayberne</A> - Gay-Berne ellipsoidal potential
 <LI><A HREF = "pair_gran.html">pair_style gran/hertzian</A> - granular potential with Hertizain interactions
 <LI><A HREF = "pair_gran.html">pair_style gran/history</A> - granular potential with history effects
@@ -117,10 +127,12 @@ the pair_style command, and coefficients specified by the associated
 <LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm</A> - CHARMM potential with cutoff Coulomb
 <LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm/implicit</A> - CHARMM for implicit solvent
 <LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long</A> - CHARMM with long-range Coulomb
+<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long/opt</A> - optimized version of CHARMM with long-range Coulomb
 <LI><A HREF = "pair_class2.html">pair_style lj/class2</A> - COMPASS (class 2) force field with no Coulomb
 <LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/cut</A> - COMPASS with cutoff Coulomb
 <LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/long</A> - COMPASS with long-range Coulomb
 <LI><A HREF = "pair_lj.html">pair_style lj/cut</A> - cutoff Lennard-Jones potential with no Coulomb
+<LI><A HREF = "pair_lj.html">pair_style lj/cut/opt</A> - optimized version of cutoff LJ
 <LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/cut</A> - LJ with cutoff Coulomb
 <LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/debye</A> - LJ with Debye damping added to Coulomb
 <LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/long</A> - LJ with long-range Coulomb
@@ -129,6 +141,7 @@ the pair_style command, and coefficients specified by the associated
 <LI><A HREF = "pair_lj_smooth.html">pair_style lj/smooth</A> - smoothed Lennard-Jones potential
 <LI><A HREF = "pair_meam.html">pair_style meam</A> - modified embedded atom method (MEAM)
 <LI><A HREF = "pair_morse.html">pair_style morse</A> - Morse potential
+<LI><A HREF = "pair_morse.html">pair_style morse</A> - optimized version of Morse potential
 <LI><A HREF = "pair_soft.html">pair_style soft</A> - Soft (cosine) potential
 <LI><A HREF = "pair_sw.html">pair_style sw</A> - Stillinger-Weber 3-body potential
 <LI><A HREF = "pair_table.html">pair_style table</A> - tabulated pair potential
diff --git a/doc/pair_style.txt b/doc/pair_style.txt
index 9a6384a8a1..c005cd7927 100644
--- a/doc/pair_style.txt
+++ b/doc/pair_style.txt
@@ -14,14 +14,16 @@ pair_style style args :pre
 
 style = one of the following :ulb,l
 
-{none}, {hybrid}, {airebo}, {buck}, {buck/coul/cut}, {buck/coul/long},
-{dpd}, {eam}, {eam/alloy} or {eam/fs}, {gran/hertzian},
-{gran/history}, {gran/no_history}, {lj/charmm/coul/charmm},
-{lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long},
-{lj/class2}, {lj/class2/coul/cut} or {lj/class2/coul/long}, {lj/cut},
-{lj/cut/coul/cut} or {lj/cut/coul/debye}, {lj/cut/coul/long},
+{none}, {hybrid}, {hybrid/overlay}, {airebo}, {buck}, {buck/coul/cut},
+{buck/coul/long}, {coul/cut}, {coul/long}, {dipole/cut}, {dpd}, {eam},
+{eam/opt}, {eam/alloy}, {eam/alloy/opt}, {eam/fs}, {eam/fs/opt},
+{gayberne}, {gran/hertzian}, {gran/history}, {gran/no_history},
+{lj/charmm/coul/charmm}, {lj/charmm/coul/charmm/implicit},
+{lj/charmm/coul/long}, {lj/charmm/coul/long/opt}, {lj/class2},
+{lj/class2/coul/cut}, {lj/class2/coul/long}, {lj/cut}, {lj/cut/opt},
+{lj/cut/coul/cut}, {lj/cut/coul/debye}, {lj/cut/coul/long},
 {lj/cut/coul/long/tip4p}, {lj/expand}, {lj/smooth}, {meam}, {morse},
-{soft}, {sw}, {table}, {tersoff}, {yukawa} :ul
+{morse/opt}, {soft}, {sw}, {table}, {tersoff}, {yukawa} :ul
 
 args = arguments used by a particular style :l,ule
 
@@ -96,17 +98,24 @@ the pair_style command, and coefficients specified by the associated
 "pair_coeff"_pair_coeff.html command:
 
 "pair_style none"_pair_none.html - turn off pairwise interactions
-"pair_style hybrid"_pair_hybrid.html - define multiple styles of pairwise interactions :ul
+"pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions :ul
+"pair_style hybrid/overlay"_pair_hybrid.html - multiple styles of superposed pairwise interactions :ul
 
 "pair_style airebo"_pair_airebo.html - AI-REBO potential
 "pair_style buck"_pair_buck.html - Buckingham potential
 "pair_style buck/coul/cut"_pair_buck.html - Buckinhham with cutoff Coulomb
 "pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulomb
 "pair_style colloid"_pair_colloid.html - integrated colloidal potential
+"pair_style coul/cut"_pair_coul.html - cutoff Coulombic potential
+"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
+"pair_style dipole/cut"_pair_dpd.html - point dipoles with cutoff
 "pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
 "pair_style eam"_pair_eam.html - embedded atom method (EAM)
+"pair_style eam/opt"_pair_eam.html - optimized version of EAM
 "pair_style eam/alloy"_pair_eam.html - alloy EAM
+"pair_style eam/alloy"_pair_eam.html - optimized version of alloy EAM
 "pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
+"pair_style eam/fs"_pair_eam.html - optimized version of Finnis-Sinclair EAM
 "pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
 "pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions
 "pair_style gran/history"_pair_gran.html - granular potential with history effects
@@ -114,10 +123,12 @@ the pair_style command, and coefficients specified by the associated
 "pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb
 "pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent
 "pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb
+"pair_style lj/charmm/coul/long/opt"_pair_charmm.html - optimized version of CHARMM with long-range Coulomb
 "pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb
 "pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
 "pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
 "pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
+"pair_style lj/cut/opt"_pair_lj.html - optimized version of cutoff LJ
 "pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
 "pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye damping added to Coulomb
 "pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulomb
@@ -126,6 +137,7 @@ the pair_style command, and coefficients specified by the associated
 "pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
 "pair_style meam"_pair_meam.html - modified embedded atom method (MEAM)
 "pair_style morse"_pair_morse.html - Morse potential
+"pair_style morse"_pair_morse.html - optimized version of Morse potential
 "pair_style soft"_pair_soft.html - Soft (cosine) potential
 "pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential
 "pair_style table"_pair_table.html - tabulated pair potential
-- 
GitLab