diff --git a/doc/html/Manual.html b/doc/html/Manual.html
index 5c7ec2f31d12a782bac85f08d9326f02572508de..24875c671ba1e005ceccd823b87106a865d76de5 100644
--- a/doc/html/Manual.html
+++ b/doc/html/Manual.html
@@ -134,8 +134,8 @@
             
   <H1></H1><div class="section" id="lammps-documentation">
 <h1>LAMMPS Documentation</h1>
-<div class="section" id="aug-2016-version">
-<h2>27 Aug 2016 version</h2>
+<div class="section" id="sep-2016-version">
+<h2>7 Sep 2016 version</h2>
 </div>
 <div class="section" id="version-info">
 <h2>Version info:</h2>
diff --git a/doc/html/Section_howto.html b/doc/html/Section_howto.html
index c168a5bd841b1595fa6ad0cd22b6d411174b0f18..d29a4556f4105884d6243a5ebf5118dcd1f08c3b 100644
--- a/doc/html/Section_howto.html
+++ b/doc/html/Section_howto.html
@@ -1086,7 +1086,7 @@ the sheared fluid and integrate the SLLOD equations of motion for the
 system.  Fix nvt/sllod uses <a class="reference internal" href="compute_temp_deform.html"><span class="doc">compute temp/deform</span></a> to compute a thermal temperature
 by subtracting out the streaming velocity of the shearing atoms.  The
 velocity profile or other properties of the fluid can be monitored via
-the <span class="xref doc">fix ave/spatial</span> command.</p>
+the <a class="reference internal" href="fix_ave_chunk.html"><span class="doc">fix ave/chunk</span></a> command.</p>
 <p>As discussed in the previous section on non-orthogonal simulation
 boxes, the amount of tilt or skew that can be applied is limited by
 LAMMPS for computational efficiency to be 1/2 of the parallel box
@@ -1773,9 +1773,9 @@ translation velocities but also rotational velocities for spherical
 and aspherical particles.</p>
 <p>All of the barostatting fixes use the <a class="reference internal" href="compute_pressure.html"><span class="doc">compute pressure</span></a> compute to calculate a current
 pressure.  By default, this compute is created with a simple <a class="reference internal" href="compute_temp.html"><span class="doc">compute temp</span></a> (see the last argument of the <a class="reference internal" href="compute_pressure.html"><span class="doc">compute pressure</span></a> command), which is used to calculated
-the kinetic componenet of the pressure.  The barostatting fixes can
+the kinetic component of the pressure.  The barostatting fixes can
 also use temperature computes that remove bias for the purpose of
-computing the kinetic componenet which contributes to the current
+computing the kinetic component which contributes to the current
 pressure.  See the doc pages for the individual fixes and for the
 <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> command for instructions on how to assign
 a temperature or pressure compute to a barostatting fix.</p>
@@ -2011,13 +2011,13 @@ on each of two regions to add/subtract specified amounts of energy to
 both regions.  In both cases, the resulting temperatures of the two
 regions can be monitored with the &#8220;compute temp/region&#8221; command and
 the temperature profile of the intermediate region can be monitored
-with the <span class="xref doc">fix ave/spatial</span> and <a class="reference internal" href="compute_ke_atom.html"><span class="doc">compute ke/atom</span></a> commands.</p>
+with the <a class="reference internal" href="fix_ave_chunk.html"><span class="doc">fix ave/chunk</span></a> and <a class="reference internal" href="compute_ke_atom.html"><span class="doc">compute ke/atom</span></a> commands.</p>
 <p>The third method is to perform a reverse non-equilibrium MD simulation
 using the <a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">fix thermal/conductivity</span></a>
 command which implements the rNEMD algorithm of Muller-Plathe.
 Kinetic energy is swapped between atoms in two different layers of the
 simulation box.  This induces a temperature gradient between the two
-layers which can be monitored with the <span class="xref doc">fix ave/spatial</span> and <a class="reference internal" href="compute_ke_atom.html"><span class="doc">compute ke/atom</span></a> commands.  The fix tallies the
+layers which can be monitored with the <a class="reference internal" href="fix_ave_chunk.html"><span class="doc">fix ave/chunk</span></a> and <a class="reference internal" href="compute_ke_atom.html"><span class="doc">compute ke/atom</span></a> commands.  The fix tallies the
 cumulative energy transfer that it performs.  See the <a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">fix thermal/conductivity</span></a> command for
 details.</p>
 <p>The fourth method is based on the Green-Kubo (GK) formula which
@@ -2060,7 +2060,7 @@ used to shear the fluid in between them, again with some kind of
 thermostat that modifies only the thermal (non-shearing) components of
 velocity to prevent the fluid from heating up.</p>
 <p>In both cases, the velocity profile setup in the fluid by this
-procedure can be monitored by the <span class="xref doc">fix ave/spatial</span> command, which determines
+procedure can be monitored by the <a class="reference internal" href="fix_ave_chunk.html"><span class="doc">fix ave/chunk</span></a> command, which determines
 grad(Vstream) in the equation above.  E.g. the derivative in the
 y-direction of the Vx component of fluid motion or grad(Vstream) =
 dVx/dy.  The Pxy off-diagonal component of the pressure or stress
@@ -2073,7 +2073,7 @@ using the <a class="reference internal" href="fix_viscosity.html"><span class="d
 the rNEMD algorithm of Muller-Plathe.  Momentum in one dimension is
 swapped between atoms in two different layers of the simulation box in
 a different dimension.  This induces a velocity gradient which can be
-monitored with the <span class="xref doc">fix ave/spatial</span> command.
+monitored with the <a class="reference internal" href="fix_ave_chunk.html"><span class="doc">fix ave/chunk</span></a> command.
 The fix tallies the cummulative momentum transfer that it performs.
 See the <a class="reference internal" href="fix_viscosity.html"><span class="doc">fix viscosity</span></a> command for details.</p>
 <p>The fourth method is based on the Green-Kubo (GK) formula which
diff --git a/doc/html/Section_intro.html b/doc/html/Section_intro.html
index 7c6a5c2f0a3f9d365480ae06d4711d01664fce54..3f41a6b1569b1f4a657f2a1d1d720cfa18b99d8d 100644
--- a/doc/html/Section_intro.html
+++ b/doc/html/Section_intro.html
@@ -391,7 +391,7 @@ molecular dynamics options:</p>
 <li>coupled rigid body integration via the <a class="reference internal" href="fix_poems.html"><span class="doc">POEMS</span></a> library</li>
 <li><a class="reference internal" href="fix_qmmm.html"><span class="doc">QM/MM coupling</span></a></li>
 <li><a class="reference internal" href="fix_ipi.html"><span class="doc">path-integral molecular dynamics (PIMD)</span></a> and <a class="reference internal" href="fix_pimd.html"><span class="doc">this as well</span></a></li>
-<li>Monte Carlo via <a class="reference internal" href="fix_gcmc.html"><span class="doc">GCMC</span></a> and <a class="reference internal" href="fix_tfmc.html"><span class="doc">tfMC</span></a> and <span class="xref doc">atom swapping</span></li>
+<li>Monte Carlo via <a class="reference internal" href="fix_gcmc.html"><span class="doc">GCMC</span></a> and <a class="reference internal" href="fix_tfmc.html"><span class="doc">tfMC</span></a> <a class="reference internal" href="fix_atom_swap.html"><span class="doc">atom swapping</span></a> and <a class="reference internal" href="fix_bond_swap.html"><span class="doc">bond swapping</span></a></li>
 <li><a class="reference internal" href="pair_dsmc.html"><span class="doc">Direct Simulation Monte Carlo</span></a> for low-density fluids</li>
 <li><a class="reference internal" href="pair_peri.html"><span class="doc">Peridynamics mesoscale modeling</span></a></li>
 <li><a class="reference internal" href="fix_lb_fluid.html"><span class="doc">Lattice Boltzmann fluid</span></a></li>
diff --git a/doc/html/Section_modify.html b/doc/html/Section_modify.html
index 88ab26a8366854f747abf3feeb17ca757ad5cb84..1ddbd8f04a40473b2afaf3bdd6ad00b79947bb51 100644
--- a/doc/html/Section_modify.html
+++ b/doc/html/Section_modify.html
@@ -1057,11 +1057,35 @@ then be accessed by variables) was discussed
 </div>
 <div class="section" id="submitting-new-features-for-inclusion-in-lammps">
 <span id="mod-15"></span><h2>10.15. Submitting new features for inclusion in LAMMPS</h2>
-<p>We encourage users to submit new features to <a class="reference external" href="http://lammps.sandia.gov/authors.html">the developers</a> that they add to
-LAMMPS, especially if you think they will be of interest to other
-users.  The preferred way to do this is via GitHub.  Once you have
-prepared the content described below, see <a class="reference internal" href="tutorial_github.html"><span class="doc">this tutorial</span></a> for instructions on how to submit
-your changes or new files.</p>
+<p>We encourage users to submit new features or modifications for
+LAMMPS to <a class="reference external" href="http://lammps.sandia.gov/authors.html">the core developers</a>
+so they can be added to the LAMMPS distribution. The preferred way to
+manage and coordinate this is as of Fall 2016 via the LAMMPS project on
+<a class="reference external" href="https://github.com/lammps/lammps">GitHub</a>. An alternative is to contact
+the LAMMPS developers or the indicated developer of a package or feature
+directly and send in your contribution via e-mail.</p>
+<p>For any larger modifications or programming project, you are encouraged
+to contact the LAMMPS developers ahead of time, in order to discuss
+implementation strategies and coding guidelines, that will make it
+easier to integrate your contribution and result in less work for
+everybody involved. You are also encouraged to search through the list
+of <a class="reference external" href="https://github.com/lammps/lammps/issues">open issues on GitHub</a> and
+submit a new issue for a planned feature, so you would not duplicate
+the work of others (and possibly get scooped by them) or have your work
+duplicated by others.</p>
+<p>How quickly your contribution will be integrated
+depends largely on how much effort it will cause to integrate and test
+it, how much it requires changes to the core codebase, and of how much
+interest it is to the larger LAMMPS community.  Please see below for a
+checklist of typical requirements. Once you have prepared everything,
+see <a class="reference internal" href="tutorial_github.html"><span class="doc">this tutorial</span></a> for instructions on how to
+submit your changes or new files through a GitHub pull request. If you
+prefer to submit patches or full files, you should first make certain,
+that your code works correctly with the latest patch-level version of
+LAMMPS and contains all bugfixes from it. Then create a gzipped tar
+file of all changed or added files or a corresponding patch file using
+&#8216;diff -u&#8217; or &#8216;diff -c&#8217; and compress it with gzip. Please only use
+gzip compression, as this works well on all platforms.</p>
 <p>If the new features/files are broadly useful we may add them as core
 files to LAMMPS or as part of a <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">standard package</span></a>.  Else we will add them as a
 user-contributed file or package.  Examples of user packages are in
@@ -1104,20 +1128,34 @@ changes in core LAMMPS files, you&#8217;ll need to <a class="reference external"
 not want to make those changes.  An example of a trivial change is
 making a parent-class method &#8220;virtual&#8221; when you derive a new child
 class from it.</p>
-<p>Here are the steps you need to follow to submit a single file or user
-package for our consideration.  Following these steps will save both
-you and us time.  See existing files in packages in the src dir for
-examples.</p>
+<p>Here is a checklist of steps you need to follow to submit a single file
+or user package for our consideration.  Following these steps will save
+both you and us time. See existing files in packages in the src dir for
+examples. If you are uncertain, please ask.</p>
 <ul class="simple">
 <li>All source files you provide must compile with the most current
-version of LAMMPS.</li>
-<li>If you want your file(s) to be added to main LAMMPS or one of its
-standard packages, then it needs to be written in a style compatible
-with other LAMMPS source files.  This is so the developers can
-understand it and hopefully maintain it.  This basically means that
-the code accesses data structures, performs its operations, and is
-formatted similar to other LAMMPS source files, including the use of
-the error class for error and warning messages.</li>
+version of LAMMPS with multiple configurations. In particular you
+need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG
+set in addition to the default -DLAMMPS_SMALLBIG setting. Your code
+will need to work correctly in serial and in parallel using MPI.</li>
+<li>For consistency with the rest of LAMMPS and especially, if you want
+your contribution(s) to be added to main LAMMPS code or one of its
+standard packages, it needs to be written in a style compatible with
+other LAMMPS source files. This means: 2-character indentation per
+level, <strong>no tabs</strong>, no lines over 80 characters. I/O is done via
+the C-style stdio library, class header files should not import any
+system headers outside &lt;stdio.h&gt;, STL containers should be avoided
+in headers, and forward declarations used where possible or needed.
+All added code should be placed into the LAMMPS_NS namespace or a
+sub-namespace; global or static variables should be avoided, as they
+conflict with the modular nature of LAMMPS and the C++ class structure.
+Header files must <strong>not</strong> import namespaces with <em>using</em>.
+This all is so the developers can more easily understand, integrate,
+and maintain your contribution and reduce conflicts with other parts
+of LAMMPS.  This basically means that the code accesses data
+structures, performs its operations, and is formatted similar to other
+LAMMPS source files, including the use of the error class for error
+and warning messages.</li>
 <li>If you want your contribution to be added as a user-contributed
 feature, and it&#8217;s a single file (actually a <a href="#id8"><span class="problematic" id="id9">*</span></a>.cpp and <a href="#id10"><span class="problematic" id="id11">*</span></a>.h file) it can
 rapidly be added to the USER-MISC directory.  Send us the one-line
@@ -1144,13 +1182,21 @@ coding style (see above).  I.e. the files do not need to be in the
 same stylistic format and syntax as other LAMMPS files, though that
 would be nice for developers as well as users who try to read your
 code.</li>
-<li>You must also create a documentation file for each new command or
-style you are adding to LAMMPS.  This will be one file for a
-single-file feature.  For a package, it might be several files.  These
-are simple text files which we auto-convert to HTML.  Thus they must
-be in the same format as other <em>.txt files in the lammps/doc directory
-for similar commands and styles; use one or more of them as a starting
-point.  As appropriate, the text files can include links to equations
+<li>You <strong>must</strong> also create a <strong>documentation</strong> file for each new command or
+style you are adding to LAMMPS. For simplicity and convenience, the
+documentation of groups of closely related commands or styles may be
+combined into a single file.  This will be one file for a single-file
+feature.  For a package, it might be several files.  These are simple
+text files with a specific markup language, that are then auto-converted
+to HTML and PDF. The tools for this conversion are included in the
+source distribution, and the translation can be as simple as doing
+&#8220;make html pdf&#8221; in the doc folder.
+Thus the documentation source files must be in the same format and
+style as other <em>.txt files in the lammps/doc/src directory for similar
+commands and styles; use one or more of them as a starting point.
+A description of the markup can also be found in
+lammps/doc/utils/txt2html/README.html
+As appropriate, the text files can include links to equations
 (see doc/Eqs/</em>.tex for examples, we auto-create the associated JPG
 files), or figures (see doc/JPG for examples), or even additional PDF
 files with further details (see doc/PDF for examples).  The doc page
@@ -1159,14 +1205,19 @@ bottom of doc/fix_nh.txt for examples and the earlier part of the same
 file for how to format the cite itself.  The &#8220;Restrictions&#8221; section of
 the doc page should indicate that your command is only available if
 LAMMPS is built with the appropriate USER-MISC or USER-FOO package.
-See other user package doc files for examples of how to do this.  The
-txt2html tool we use to convert to HTML can be downloaded from <a class="reference external" href="http://www.sandia.gov/~sjplimp/download.html">this site</a>, so you can perform
-the HTML conversion yourself to proofread your doc page.</li>
-<li>For a new package (or even a single command) you can include one or
-more example scripts.  These should run in no more than 1 minute, even
-on a single processor, and not require large data files as input.  See
-directories under examples/USER for examples of input scripts other
-users provided for their packages.</li>
+See other user package doc files for examples of how to do this. The
+prerequiste for building the HTML format files are Python 3.x and
+virtualenv, the requirement for generating the PDF format manual
+is the <a class="reference external" href="http://www.htmldoc.org/">htmldoc</a> software. Please run at least
+&#8220;make html&#8221; and carefully inspect and proofread the resuling HTML format
+doc page before submitting your code.</li>
+<li>For a new package (or even a single command) you should include one or
+more example scripts demonstrating its use.  These should run in no
+more than a couple minutes, even on a single processor, and not require
+large data files as input.  See directories under examples/USER for
+examples of input scripts other users provided for their packages.
+These example inputs are also required for validating memory accesses
+and testing for memory leaks with valgrind</li>
 <li>If there is a paper of yours describing your feature (either the
 algorithm/science behind the feature itself, or its initial usage, or
 its implementation in LAMMPS), you can add the citation to the <a href="#id12"><span class="problematic" id="id13">*</span></a>.cpp
@@ -1183,10 +1234,9 @@ usage.  That kind of citation should just be in the doc page you
 provide.</li>
 </ul>
 <p>Finally, as a general rule-of-thumb, the more clear and
-self-explanatory you make your doc and README files, and the easier
-you make it for people to get started, e.g. by providing example
-scripts, the more likely it is that users will try out your new
-feature.</p>
+self-explanatory you make your documentation and README files, and the
+easier you make it for people to get started, e.g. by providing example
+scripts, the more likely it is that users will try out your new feature.</p>
 <p id="foo"><strong>(Foo)</strong> Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997).</p>
 </div>
 </div>
diff --git a/doc/html/Section_packages.html b/doc/html/Section_packages.html
index 4522221d6c432fdb05d5627c051a258e6af07bae..fedd3cc1aeab1bf60be2ef8a243874f7da2d40d4 100644
--- a/doc/html/Section_packages.html
+++ b/doc/html/Section_packages.html
@@ -493,7 +493,7 @@ name links to a sub-section below with more details.</p>
 <td>python</td>
 <td>lib/python</td>
 </tr>
-<tr class="row-even"><td><a class="reference internal" href="Section_tools.html#reax"><span class="std std-ref">REAX</span></a></td>
+<tr class="row-even"><td><a class="reference internal" href="#reax"><span class="std std-ref">REAX</span></a></td>
 <td>ReaxFF potential</td>
 <td>Aidan Thompson (Sandia)</td>
 <td><a class="reference internal" href="pair_reax.html"><span class="doc">pair_style reax</span></a></td>
@@ -1224,7 +1224,7 @@ styles which implement different materials models.</p>
 <p>Supporting info:
 <a class="reference external" href="PDF/PDLammps_overview.pdf">doc/PDF/PDLammps_overview.pdf</a>,
 <a class="reference external" href="PDF/PDLammps_EPS.pdf">doc/PDF/PDLammps_EPS.pdf</a>,
-<a class="reference external" href="PDF/PDLammps_VES.pdf">doc/PDF/PDLammps_VES.pdf</a>, <a class="reference internal" href="atom_style.html"><span class="doc">atom_style peri</span></a>, <span class="xref doc">compute damage</span>,
+<a class="reference external" href="PDF/PDLammps_VES.pdf">doc/PDF/PDLammps_VES.pdf</a>, <a class="reference internal" href="atom_style.html"><span class="doc">atom_style peri</span></a>, <a class="reference internal" href="compute_damage_atom.html"><span class="doc">compute damage/atom</span></a>,
 <a class="reference internal" href="pair_peri.html"><span class="doc">pair_style peri/pmb</span></a>, examples/peri</p>
 <hr class="docutils" />
 </div>
@@ -1272,9 +1272,8 @@ one step.  Type &#8220;python src/Make.py -h -poems&#8221; to see the details.</
 <span id="python"></span><h3>4.1.22. PYTHON package</h3>
 <p>Contents: A <a class="reference internal" href="python.html"><span class="doc">python</span></a> command which allow you to execute
 Python code from a LAMMPS input script.  The code can be in a separate
-file or embedded in the input script itself.  See <span class="xref std std-ref">Section python 11.2</span> for an overview of using Python from
-LAMMPS and <a class="reference external" href="Section_python.html&quot;">Section python</a> for other ways to use
-LAMMPS and Python together.</p>
+file or embedded in the input script itself.  See <a class="reference external" href="Section_python.html&quot;">Section python 11.2</a> for an overview of using Python from
+LAMMPS and for other ways to use LAMMPS and Python together.</p>
 <p>Building with the PYTHON package assumes you have a Python shared
 library available on your system, which needs to be a Python 2
 version, 2.6 or later.  Python 3 is not supported.  The build uses the
@@ -1427,7 +1426,7 @@ few large bodies or many small bodies.</p>
 </pre></div>
 </div>
 <p>Supporting info: <a class="reference internal" href="compute_erotate_rigid.html"><span class="doc">compute erotate/rigid</span></a>,
-<a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a>, <span class="xref doc">fix rattle</span>, <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid/*</span></a>, examples/ASPHERE, examples/rigid</p>
+<a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a>, <a class="reference internal" href="fix_shake.html"><span class="doc">fix rattle</span></a>, <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid/*</span></a>, examples/ASPHERE, examples/rigid</p>
 <hr class="docutils" />
 </div>
 <div class="section" id="shock-package">
@@ -1475,8 +1474,8 @@ properties of the potential are also included.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">Make</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">p</span> <span class="o">^</span><span class="n">snap</span> <span class="o">-</span><span class="n">a</span> <span class="n">machine</span>
 </pre></div>
 </div>
-<p>Supporting info: <a class="reference internal" href="pair_snap.html"><span class="doc">pair snap</span></a>, <a class="reference internal" href="compute_sna_atom.html"><span class="doc">compute sna/atom</span></a>, <span class="xref doc">compute snad/atom</span>,
-<span class="xref doc">compute snav/atom</span>, examples/snap</p>
+<p>Supporting info: <a class="reference internal" href="pair_snap.html"><span class="doc">pair snap</span></a>, <a class="reference internal" href="compute_sna_atom.html"><span class="doc">compute sna/atom</span></a>, <a class="reference internal" href="compute_sna_atom.html"><span class="doc">compute snad/atom</span></a>,
+<a class="reference internal" href="compute_sna_atom.html"><span class="doc">compute snav/atom</span></a>, examples/snap</p>
 <hr class="docutils" />
 </div>
 <div class="section" id="srd-package">
@@ -1900,7 +1899,7 @@ src/Make.py -h -voronoi&#8221; to see the details.</p>
 <tr class="row-odd"><td><a class="reference internal" href="#user-tally"><span class="std std-ref">USER-TALLY</span></a></td>
 <td>Pairwise tallied computes</td>
 <td>Axel Kohlmeyer (Temple U)</td>
-<td><span class="xref doc">compute</span></td>
+<td><a class="reference internal" href="compute_tally.html"><span class="doc">compute XXX/tally</span></a></td>
 <td>USER/tally</td>
 <td><ul class="first last simple">
 <li></li>
@@ -1914,7 +1913,7 @@ src/Make.py -h -voronoi&#8221; to see the details.</p>
 <tr class="row-even"><td><a class="reference internal" href="#user-vtk"><span class="std std-ref">USER-VTK</span></a></td>
 <td>VTK-style dumps</td>
 <td>Berger and Queteschiner (6)</td>
-<td><span class="xref doc">compute custom/vtk</span></td>
+<td><a class="reference internal" href="dump_custom_vtk.html"><span class="doc">compute custom/vtk</span></a></td>
 <td><ul class="first last simple">
 <li></li>
 </ul>
@@ -2004,7 +2003,7 @@ Dynamics.  This package implements an atom, pair, and fix style which
 allows electrons to be treated as explicit particles in an MD
 calculation.  See src/USER-AWPMD/README for more details.</p>
 <p>To build LAMMPS with this package ...</p>
-<p>Supporting info: src/USER-AWPMD/README, <span class="xref doc">fix awpmd/cut</span>, examples/USER/awpmd</p>
+<p>Supporting info: src/USER-AWPMD/README, <a class="reference internal" href="pair_awpmd.html"><span class="doc">fix awpmd/cut</span></a>, examples/USER/awpmd</p>
 <p>Author: Ilya Valuev at the JIHT in Russia (valuev at
 physik.hu-berlin.de).  Contact him directly if you have questions.</p>
 <hr class="docutils" />
@@ -2047,7 +2046,7 @@ have questions.</p>
 calculating x-ray and electron diffraction intensities based on
 kinematic diffraction theory.  See src/USER-DIFFRACTION/README for
 more details.</p>
-<p>Supporting info: <a class="reference internal" href="compute_saed.html"><span class="doc">compute saed</span></a>, <a class="reference internal" href="compute_xrd.html"><span class="doc">compute xrd</span></a>, <a class="reference internal" href="fix_saed_vtk.html"><span class="doc">fix saed.vtk</span></a>,
+<p>Supporting info: <a class="reference internal" href="compute_saed.html"><span class="doc">compute saed</span></a>, <a class="reference internal" href="compute_xrd.html"><span class="doc">compute xrd</span></a>, <a class="reference internal" href="fix_saed_vtk.html"><span class="doc">fix saed/vtk</span></a>,
 examples/USER/diffraction</p>
 <p>Author: Shawn P. Coleman (shawn.p.coleman8.ctr at mail.mil) while at
 the University of Arkansas.  Contact him directly if you have
@@ -2065,11 +2064,13 @@ equations of motion are integrated efficiently through the Shardlow
 splitting algorithm.  See src/USER-DPD/README for more details.</p>
 <p>Supporting info: /src/USER-DPD/README, <a class="reference internal" href="compute_dpd.html"><span class="doc">compute dpd</span></a>
 <a class="reference internal" href="compute_dpd_atom.html"><span class="doc">compute dpd/atom</span></a>
-<a class="reference internal" href="fix_eos_table.html"><span class="doc">fix eos/cv</span></a> <a class="reference internal" href="fix_eos_table.html"><span class="doc">fix eos/table</span></a>
-<a class="reference internal" href="fix_shardlow.html"><span class="doc">fix shardlow</span></a>
-<span class="xref doc">pair_dpd/conservative</span>
-<a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair_dpd/fdt</span></a>
-<a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair_dpd/fdt/energy</span></a>, examples/USER/dpd</p>
+<a class="reference internal" href="fix_eos_table.html"><span class="doc">fix eos/cv</span></a> <a class="reference internal" href="fix_eos_table.html"><span class="doc">fix eos/table</span></a></p>
+<blockquote>
+<div><a class="reference internal" href="fix_eos_table_rx.html"><span class="doc">fix eos/table/rx</span></a> <a class="reference internal" href="fix_shardlow.html"><span class="doc">fix shardlow</span></a></div></blockquote>
+<p><a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> <a class="reference internal" href="pair_table_rx.html"><span class="doc">pair table/rx</span></a>
+<a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair dpd/fdt</span></a> <a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair dpd/fdt/energy</span></a>
+<a class="reference internal" href="pair_exp6_rx.html"><span class="doc">pair exp6/rx</span></a> <a class="reference internal" href="pair_multi_lucy.html"><span class="doc">pair multi/lucy</span></a>
+<a class="reference internal" href="pair_multi_lucy_rx.html"><span class="doc">pair multi/lucy/rx</span></a>, examples/USER/dpd</p>
 <p>Authors: James Larentzos (ARL) (james.p.larentzos.civ at mail.mil),
 Timothy Mattox (Engility Corp) (Timothy.Mattox at engilitycorp.com)
 and John Brennan (ARL) (john.k.brennan.civ at mail.mil).  Contact them
@@ -2144,7 +2145,7 @@ this package.  Also see src/USER-INTEL/README for more details. See
 the KOKKOS, OPT, and USER-OMP packages, which also have CPU and
 Phi-enabled styles.</p>
 <p>Supporting info: examples/accelerate, src/USER-INTEL/TEST</p>
-<p><span class="xref std std-ref">Section_accelerate</span></p>
+<p><a class="reference internal" href="Section_accelerate.html#acc-3"><span class="std std-ref">Section_accelerate</span></a></p>
 <p>Author: Mike Brown at Intel (michael.w.brown at intel.com).  Contact
 him directly if you have questions.</p>
 <p>For the USER-INTEL package, you have 2 choices when building.  You can
@@ -2261,7 +2262,7 @@ to VMD, support for new file formats can be added to LAMMPS (or VMD or
 other programs that use them) without having to recompile the
 application itself.</p>
 <p>See this doc page to get started:</p>
-<p><span class="xref std std-ref">dump molfile</span></p>
+<p><a class="reference internal" href="dump_molfile.html"><span class="doc">dump molfile</span></a></p>
 <p>The person who created this package is Axel Kohlmeyer at Temple U
 (akohlmey at gmail.com).  Contact him directly if you have questions.</p>
 <hr class="docutils" />
@@ -2273,7 +2274,7 @@ application itself.</p>
 other optimizations of various LAMMPS pair styles, dihedral
 styles, and fix styles.</p>
 <p>See this section of the manual to get started:</p>
-<p><span class="xref std std-ref">Section_accelerate</span></p>
+<p><a class="reference internal" href="Section_accelerate.html#acc-3"><span class="std std-ref">Section_accelerate</span></a></p>
 <p>The person who created this package is Axel Kohlmeyer at Temple U
 (akohlmey at gmail.com).  Contact him directly if you have questions.</p>
 <p>For the USER-OMP package, your Makefile.machine needs additional
diff --git a/doc/html/Section_start.html b/doc/html/Section_start.html
index b31c4631b5c404f636274082e64e7c1545cbd2b0..4d422cdc2a231793469a4f6ae53ca20ebae774ef 100644
--- a/doc/html/Section_start.html
+++ b/doc/html/Section_start.html
@@ -1365,7 +1365,7 @@ supercomputer there may be dozens or 1000s of physical nodes.</p>
 Note that the keywords do not use a leading minus sign.  I.e. the
 keyword is &#8220;t&#8221;, not &#8220;-t&#8221;.  Also note that each of the keywords has a
 default setting.  Example of when to use these options and what
-settings to use on different platforms is given in <span class="xref std std-ref">Section 5.8</span>.</p>
+settings to use on different platforms is given in <a class="reference internal" href="Section_accelerate.html#acc-3"><span class="std std-ref">Section 5.8</span></a>.</p>
 <ul class="simple">
 <li>d or device</li>
 <li>g or gpus</li>
diff --git a/doc/html/accelerate_kokkos.html b/doc/html/accelerate_kokkos.html
index d48007a2caec9085ce0cc7792d129b2e1d8fd15d..e517e0e2c5c72b2163a286d1ace03b0f3a1eefd5 100644
--- a/doc/html/accelerate_kokkos.html
+++ b/doc/html/accelerate_kokkos.html
@@ -351,7 +351,7 @@ used if running with KOKKOS_DEVICES=Pthreads for pthreads.  It is not
 necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP
 provides alternative methods via environment variables for binding
 threads to hardware cores.  More info on binding threads to cores is
-given in <span class="xref std std-ref">this section</span>.</p>
+given in <a class="reference internal" href="Section_accelerate.html#acc-3"><span class="std std-ref">this section</span></a>.</p>
 <p>KOKKOS_ARCH=KNC enables compiler switches needed when compling for an
 Intel Phi processor.</p>
 <p>KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism
diff --git a/doc/html/compute_damage_atom.html b/doc/html/compute_damage_atom.html
index bc378e49e8f4e91e1e14b9c74979fd97373a4758..97a0eba0d0cc1d80eae7a7d7e7a87b9c4ff81bb3 100644
--- a/doc/html/compute_damage_atom.html
+++ b/doc/html/compute_damage_atom.html
@@ -170,7 +170,8 @@ LAMMPS was built with that package.  See the <a class="reference internal" href=
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><span class="xref doc">compute dilatation</span>, <span class="xref doc">compute plasticity</span></p>
+<p><a class="reference internal" href="compute_dilatation_atom.html"><span class="doc">compute dilatation/atom</span></a>,
+<a class="reference internal" href="compute_plasticity_atom.html"><span class="doc">compute plasticity/atom</span></a></p>
 <p><strong>Default:</strong> none</p>
 </div>
 </div>
diff --git a/doc/html/compute_dilatation_atom.html b/doc/html/compute_dilatation_atom.html
index cf1947f3b2a9f3582b84a0121e8b3c4801e5f73c..798663b6a874dbacb62bf1a843a20e8d11f61def 100644
--- a/doc/html/compute_dilatation_atom.html
+++ b/doc/html/compute_dilatation_atom.html
@@ -172,7 +172,8 @@ LAMMPS was built with that package.  See the <a class="reference internal" href=
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><span class="xref doc">compute damage</span>, <span class="xref doc">compute plasticity</span></p>
+<p><a class="reference internal" href="compute_damage_atom.html"><span class="doc">compute damage/atom</span></a>,
+<a class="reference internal" href="compute_plasticity_atom.html"><span class="doc">compute plasticity/atom</span></a></p>
 <p><strong>Default:</strong> none</p>
 </div>
 </div>
diff --git a/doc/html/compute_erotate_rigid.html b/doc/html/compute_erotate_rigid.html
index 0e46c9e7fe02d3db478c44f59addc3daa1eb4902..501319d8c803dfec6bfd1054ef5c9ccbeab7eef4 100644
--- a/doc/html/compute_erotate_rigid.html
+++ b/doc/html/compute_erotate_rigid.html
@@ -172,7 +172,7 @@ LAMMPS was built with that package.  See the <a class="reference internal" href=
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><span class="xref doc">compute ke/rigid</span></p>
+<p><a class="reference internal" href="compute_ke_rigid.html"><span class="doc">compute ke/rigid</span></a></p>
 <p><strong>Default:</strong> none</p>
 </div>
 </div>
diff --git a/doc/html/compute_plasticity_atom.html b/doc/html/compute_plasticity_atom.html
index 11518b0c64a87d87f4dce8688c8dec0273a0510e..54bffecbd2bf3e5bd85d95e5a82b1f45c31ebb59 100644
--- a/doc/html/compute_plasticity_atom.html
+++ b/doc/html/compute_plasticity_atom.html
@@ -168,7 +168,8 @@ LAMMPS was built with that package.  See the <a class="reference internal" href=
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><span class="xref doc">compute damage</span>, <span class="xref doc">compute dilatation</span></p>
+<p><a class="reference internal" href="compute_damage_atom.html"><span class="doc">compute damage/atom</span></a>,
+<a class="reference internal" href="compute_dilatation_atom.html"><span class="doc">compute dilatation/atom</span></a></p>
 <p><strong>Default:</strong> none</p>
 <hr class="docutils" />
 <p id="mitchell"><strong>(Mitchell)</strong> Mitchell, &#8220;A non-local, ordinary-state-based
diff --git a/doc/html/compute_rdf.html b/doc/html/compute_rdf.html
index c8d486553f81b8529974235193cac096a5a90746..ef1d1d8cfc7491e2b640f3f7e9a03f2a98bdaaf4 100644
--- a/doc/html/compute_rdf.html
+++ b/doc/html/compute_rdf.html
@@ -227,7 +227,7 @@ atoms of type jtypeN.</p>
 to a file is to use the <a class="reference internal" href="fix_ave_time.html"><span class="doc">fix ave/time</span></a> command, for
 example:</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="n">myRDF</span> <span class="nb">all</span> <span class="n">rdf</span> <span class="mi">50</span>
-<span class="n">fix</span> <span class="mi">1</span> <span class="nb">all</span> <span class="n">ave</span><span class="o">/</span><span class="n">time</span> <span class="mi">100</span> <span class="mi">1</span> <span class="mi">100</span> <span class="n">c_myRDF</span> <span class="n">file</span> <span class="n">tmp</span><span class="o">.</span><span class="n">rdf</span> <span class="n">mode</span> <span class="n">vector</span>
+<span class="n">fix</span> <span class="mi">1</span> <span class="nb">all</span> <span class="n">ave</span><span class="o">/</span><span class="n">time</span> <span class="mi">100</span> <span class="mi">1</span> <span class="mi">100</span> <span class="n">c_myRDF</span><span class="p">[</span><span class="o">*</span><span class="p">]</span> <span class="n">file</span> <span class="n">tmp</span><span class="o">.</span><span class="n">rdf</span> <span class="n">mode</span> <span class="n">vector</span>
 </pre></div>
 </div>
 <p><strong>Output info:</strong></p>
diff --git a/doc/html/compute_reduce.html b/doc/html/compute_reduce.html
index 292fa820cb60ea8c5243c8ecc657748667e21f37..519bc9ff3cef214c367dc398a87daf3dead5c79c 100644
--- a/doc/html/compute_reduce.html
+++ b/doc/html/compute_reduce.html
@@ -220,7 +220,7 @@ asterisk means all indices from n to N (inclusive).  A middle asterisk
 means all indices from m to n (inclusive).</p>
 <p>Using a wildcard is the same as if the individual columns of the array
 had been listed one by one.  E.g. these 2 compute reduce commands are
-equivalent, since the <span class="xref doc">compute stress/atom</span>
+equivalent, since the <a class="reference internal" href="compute_stress_atom.html"><span class="doc">compute stress/atom</span></a>
 command creates a per-atom array with 6 columns:</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="n">myPress</span> <span class="nb">all</span> <span class="n">stress</span><span class="o">/</span><span class="n">atom</span> <span class="n">NULL</span>
 <span class="n">compute</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">reduce</span> <span class="nb">min</span> <span class="n">myPress</span><span class="p">[</span><span class="o">*</span><span class="p">]</span>
diff --git a/doc/html/compute_temp_deform_eff.html b/doc/html/compute_temp_deform_eff.html
index 748ee79b41880d2395d1443a34690a75d2ea8c96..d83f6011d63bbc9f13dcebbd95cc51f3f5c02361 100644
--- a/doc/html/compute_temp_deform_eff.html
+++ b/doc/html/compute_temp_deform_eff.html
@@ -149,11 +149,11 @@ nuclei and electrons in the <a class="reference internal" href="pair_eff.html"><
 model, after subtracting out a streaming velocity induced by the
 simulation box changing size and/or shape, for example in a
 non-equilibrium MD (NEMD) simulation.  The size/shape change is
-induced by use of the <span class="xref doc">fix deform/eff</span> command.  A
+induced by use of the <a class="reference internal" href="fix_deform.html"><span class="doc">fix deform</span></a> command.  A
 compute of this style is created by the <a class="reference internal" href="fix_nvt_sllod_eff.html"><span class="doc">fix nvt/sllod/eff</span></a> command to compute the thermal
 temperature of atoms for thermostatting purposes.  A compute of this
 style can also be used by any command that computes a temperature,
-e.g. <a class="reference internal" href="thermo_modify.html"><span class="doc">thermo_modify</span></a>, <a class="reference internal" href="fix_nh.html"><span class="doc">fix npt/eff</span></a>,
+e.g. <a class="reference internal" href="thermo_modify.html"><span class="doc">thermo_modify</span></a>, <a class="reference internal" href="fix_nh_eff.html"><span class="doc">fix npt/eff</span></a>,
 etc.</p>
 <p>The calculation performed by this compute is exactly like that
 described by the <a class="reference internal" href="compute_temp_deform.html"><span class="doc">compute temp/deform</span></a>
@@ -180,7 +180,8 @@ LAMMPS was built with that package.  See the <a class="reference internal" href=
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><a class="reference internal" href="compute_temp_ramp.html"><span class="doc">compute temp/ramp</span></a>, <span class="xref doc">fix deform/eff</span>, <a class="reference internal" href="fix_nvt_sllod_eff.html"><span class="doc">fix nvt/sllod/eff</span></a></p>
+<p><a class="reference internal" href="compute_temp_ramp.html"><span class="doc">compute temp/ramp</span></a>, <a class="reference internal" href="fix_deform.html"><span class="doc">fix deform</span></a>,
+<a class="reference internal" href="fix_nvt_sllod_eff.html"><span class="doc">fix nvt/sllod/eff</span></a></p>
 <p><strong>Default:</strong> none</p>
 </div>
 </div>
diff --git a/doc/html/compute_temp_eff.html b/doc/html/compute_temp_eff.html
index e4540a68e8160f70ab51e2920862fb4312446e6f..4dadf7de3921a34de67a127bd42d15593e8390c2 100644
--- a/doc/html/compute_temp_eff.html
+++ b/doc/html/compute_temp_eff.html
@@ -148,7 +148,7 @@
 <p>Define a computation that calculates the temperature of a group of
 nuclei and electrons in the <a class="reference internal" href="pair_eff.html"><span class="doc">electron force field</span></a>
 model.  A compute of this style can be used by commands that compute a
-temperature, e.g. <a class="reference internal" href="thermo_modify.html"><span class="doc">thermo_modify</span></a>, <span class="xref doc">fix npt/eff</span>, etc.</p>
+temperature, e.g. <a class="reference internal" href="thermo_modify.html"><span class="doc">thermo_modify</span></a>, <a class="reference internal" href="fix_nh_eff.html"><span class="doc">fix npt/eff</span></a>, etc.</p>
 <p>The temperature is calculated by the formula KE = dim/2 N k T, where
 KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2 for
 nuclei and sum of 1/2 (m v^2 + 3/4 m s^2) for electrons, where s
diff --git a/doc/html/dihedral_table.html b/doc/html/dihedral_table.html
index 91abb1817f42e138830d38daafa0e608e948928f..d96773115865b9445773d7559ae5910bf49d3572 100644
--- a/doc/html/dihedral_table.html
+++ b/doc/html/dihedral_table.html
@@ -301,7 +301,7 @@ more instructions on how to use the accelerated styles effectively.</p>
 <div class="section" id="restrictions">
 <h2>Restrictions</h2>
 <p>This dihedral style can only be used if LAMMPS was built with the
-USER-MISC package.  See the <span class="xref std std-ref">Making LAMMPS</span>
+USER-MISC package.  See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a>
 section for more info on packages.</p>
 </div>
 <div class="section" id="related-commands">
diff --git a/doc/html/dump.html b/doc/html/dump.html
index 40449d12027ef872741e10253837ab53916ab06d..b47465bc33f7a6cdfa96108d21c5a3d559d5e234 100644
--- a/doc/html/dump.html
+++ b/doc/html/dump.html
@@ -550,7 +550,7 @@ indices from n to N (inclusive).  A middle asterisk means all indices
 from m to n (inclusive).</p>
 <p>Using a wildcard is the same as if the individual columns of the array
 had been listed one by one.  E.g. these 2 dump commands are
-equivalent, since the <span class="xref doc">compute stress/atom</span>
+equivalent, since the <a class="reference internal" href="compute_stress_atom.html"><span class="doc">compute stress/atom</span></a>
 command creates a per-atom array with 6 columns:</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="n">myPress</span> <span class="nb">all</span> <span class="n">stress</span><span class="o">/</span><span class="n">atom</span> <span class="n">NULL</span>
 <span class="n">dump</span> <span class="mi">2</span> <span class="nb">all</span> <span class="n">custom</span> <span class="mi">100</span> <span class="n">tmp</span><span class="o">.</span><span class="n">dump</span> <span class="nb">id</span> <span class="n">myPress</span><span class="p">[</span><span class="o">*</span><span class="p">]</span>
diff --git a/doc/html/dump_custom_vtk.html b/doc/html/dump_custom_vtk.html
index d23a7c09f72bcd9c2d63487a1e6125ecb5b29740..8bd838f6716c9d0bd0a38c1117166ef1a78ee466 100644
--- a/doc/html/dump_custom_vtk.html
+++ b/doc/html/dump_custom_vtk.html
@@ -157,7 +157,7 @@ mol = molecule ID
 proc = ID of processor that owns atom
 procp1 = ID+1 of processor that owns atom
 type = atom type
-element = name of atom element, as defined by <span class="xref doc">dump_modify</span> command
+element = name of atom element, as defined by <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify</span></a> command
 mass = atom mass
 x,y,z = unscaled atom coordinates
 xs,ys,zs = scaled atom coordinates
@@ -194,7 +194,7 @@ depending on the filename extension specified. This can be either
 for the XML format; see the <a class="reference external" href="http://www.vtk.org/VTK/img/file-formats.pdf">VTK homepage</a> for a detailed
 description of these formats.  Since this naming convention conflicts
 with the way binary output is usually specified (see below),
-<span class="xref doc">dump_modify binary</span> allows to set the binary
+<a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify binary</span></a> allows to set the binary
 flag for this dump style explicitly.</p>
 </div>
 <div class="section" id="description">
@@ -203,9 +203,9 @@ flag for this dump style explicitly.</p>
 timesteps in a format readable by the <a class="reference external" href="http://www.vtk.org">VTK visualization toolkit</a> or other visualization tools that use it,
 e.g. <a class="reference external" href="http://www.paraview.org">ParaView</a>.  The timesteps on which dump
 output is written can also be controlled by a variable; see the
-<span class="xref doc">dump_modify every</span> command for details.</p>
+<a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify every</span></a> command for details.</p>
 <p>Only information for atoms in the specified group is dumped.  The
-<span class="xref doc">dump_modify thresh and region</span> commands can also
+<a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify thresh and region</span></a> commands can also
 alter what atoms are included; see details below.</p>
 <p>As described below, special characters (&#8220;*&#8221;, &#8220;%&#8221;) in the filename
 determine the kind of output.</p>
@@ -218,7 +218,7 @@ box.</p>
 </div>
 <div class="admonition warning">
 <p class="first admonition-title">Warning</p>
-<p class="last">Unless the <span class="xref doc">dump_modify sort</span>
+<p class="last">Unless the <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify sort</span></a>
 option is invoked, the lines of atom information written to dump files
 will be in an indeterminate order for each snapshot.  This is even
 true when running on a single processor, if the <a class="reference internal" href="atom_modify.html"><span class="doc">atom_modify sort</span></a> option is on, which it is by default.  In this
@@ -228,7 +228,7 @@ data for a single snapshot is collected from multiple processors, each
 of which owns a subset of the atoms.</p>
 </div>
 <p>For the <em>custom/vtk</em> style, sorting is off by default. See the
-<span class="xref doc">dump_modify</span> doc page for details.</p>
+<a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify</span></a> doc page for details.</p>
 <hr class="docutils" />
 <p>The dimensions of the simulation box are written to a separate file
 for each snapshot (either in legacy VTK or XML format depending on
@@ -261,20 +261,20 @@ timestep 0) and on the last timestep of a minimization if the
 minimization converges.  Note that this means a dump will not be
 performed on the initial timestep after the dump command is invoked,
 if the current timestep is not a multiple of N.  This behavior can be
-changed via the <span class="xref doc">dump_modify first</span> command, which
+changed via the <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify first</span></a> command, which
 can also be useful if the dump command is invoked after a minimization
 ended on an arbitrary timestep.  N can be changed between runs by
-using the <span class="xref doc">dump_modify every</span> command.
-The <span class="xref doc">dump_modify every</span> command
+using the <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify every</span></a> command.
+The <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify every</span></a> command
 also allows a variable to be used to determine the sequence of
 timesteps on which dump files are written.  In this mode a dump on the
 first timestep of a run will also not be written unless the
-<span class="xref doc">dump_modify first</span> command is used.</p>
+<a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify first</span></a> command is used.</p>
 <p>Dump filenames can contain two wildcard characters.  If a &#8220;*&#8221;
 character appears in the filename, then one file per snapshot is
 written and the &#8220;*&#8221; character is replaced with the timestep value.
 For example, tmp.dump*.vtk becomes tmp.dump0.vtk, tmp.dump10000.vtk,
-tmp.dump20000.vtk, etc.  Note that the <span class="xref doc">dump_modify pad</span>
+tmp.dump20000.vtk, etc.  Note that the <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify pad</span></a>
 command can be used to insure all timestep numbers are the same length
 (e.g. 00010), which can make it easier to read a series of dump files
 in order with some post-processing tools.</p>
@@ -286,7 +286,7 @@ tmp.dump_P-1.vtp, etc.  This creates smaller files and can be a fast
 mode of output on parallel machines that support parallel I/O for output.</p>
 <p>By default, P = the number of processors meaning one file per
 processor, but P can be set to a smaller value via the <em>nfile</em> or
-<em>fileper</em> keywords of the <span class="xref doc">dump_modify</span> command.
+<em>fileper</em> keywords of the <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify</span></a> command.
 These options can be the most efficient way of writing out dump files
 when running on large numbers of processors.</p>
 <p>For the legacy VTK format &#8220;%&#8221; is ignored and P = 1, i.e., only
@@ -305,7 +305,7 @@ part of the <em>custom/vtk</em> style.</p>
 <p><em>id</em> is the atom ID.  <em>mol</em> is the molecule ID, included in the data
 file for molecular systems.  <em>type</em> is the atom type.  <em>element</em> is
 typically the chemical name of an element, which you must assign to
-each type via the <span class="xref doc">dump_modify element</span> command.
+each type via the <a class="reference internal" href="dump_modify.html"><span class="doc">dump_modify element</span></a> command.
 More generally, it can be any string you wish to associate with an
 atom type.  <em>mass</em> is the atom mass.  <em>vx</em>, <em>vy</em>, <em>vz</em>, <em>fx</em>, <em>fy</em>,
 <em>fz</em>, and <em>q</em> are components of atom velocity and force and atomic
diff --git a/doc/html/fix_ave_chunk.html b/doc/html/fix_ave_chunk.html
index e7bfd318391c67025f0bc8c48e850874a8378fb8..564b91e3eff83bdcb2978aa9469b736a3e17ab09 100644
--- a/doc/html/fix_ave_chunk.html
+++ b/doc/html/fix_ave_chunk.html
@@ -251,7 +251,7 @@ asterisk means all indices from n to N (inclusive).  A middle asterisk
 means all indices from m to n (inclusive).</p>
 <p>Using a wildcard is the same as if the individual columns of the array
 had been listed one by one.  E.g. these 2 fix ave/chunk commands are
-equivalent, since the <span class="xref doc">compute property/atom</span> command creates, in this
+equivalent, since the <a class="reference internal" href="compute_property_atom.html"><span class="doc">compute property/atom</span></a> command creates, in this
 case, a per-atom array with 3 columns:</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="n">myAng</span> <span class="nb">all</span> <span class="nb">property</span><span class="o">/</span><span class="n">atom</span> <span class="n">angmomx</span> <span class="n">angmomy</span> <span class="n">angmomz</span>
 <span class="n">fix</span> <span class="mi">1</span> <span class="nb">all</span> <span class="n">ave</span><span class="o">/</span><span class="n">chunk</span> <span class="mi">100</span> <span class="mi">1</span> <span class="mi">100</span> <span class="n">cc1</span> <span class="n">c_myAng</span><span class="p">[</span><span class="o">*</span><span class="p">]</span> <span class="n">file</span> <span class="n">tmp</span><span class="o">.</span><span class="n">angmom</span>
@@ -262,7 +262,7 @@ case, a per-atom array with 3 columns:</p>
 <p class="first admonition-title">Note</p>
 <p class="last">This fix works by creating an array of size <em>Nchunk</em> by Nvalues
 on each processor.  <em>Nchunk</em> is the number of chunks which is defined
-by the <span class="xref doc">compute chunk/atom</span> command.
+by the <a class="reference internal" href="compute_chunk_atom.html"><span class="doc">compute chunk/atom</span></a> command.
 Nvalues is the number of input values specified.  Each processor loops
 over its atoms, tallying its values to the appropriate chunk.  Then
 the entire array is summed across all processors.  This means that
diff --git a/doc/html/fix_bond_create.html b/doc/html/fix_bond_create.html
index a403dbfc400285d9cf60f388e7183ca4b9c04c3f..8ab79a00a56ff51814466218451498a5d7cbcffc 100644
--- a/doc/html/fix_bond_create.html
+++ b/doc/html/fix_bond_create.html
@@ -237,7 +237,7 @@ become one moleclue due to the created bond, all atoms in the new
 moleclue retain their original molecule IDs.</p>
 </div>
 <p>If the <em>atype</em> keyword is used and if an angle potential is defined
-via the <span class="xref doc">angle_style</span> command, then any new 3-body
+via the <a class="reference internal" href="angle_style.html"><span class="doc">angle_style</span></a> command, then any new 3-body
 interactions inferred by the creation of a bond will create new angles
 of type <em>angletype</em>, with parameters assigned by the corresponding
 <a class="reference internal" href="angle_coeff.html"><span class="doc">angle_coeff</span></a> command.  Likewise, the <em>dtype</em> and
diff --git a/doc/html/fix_deform.html b/doc/html/fix_deform.html
index 5177899d75553ac942af29c7976b4f1c94aa2bec..e8ad31ffb0d24ab1e97ee56b290dbc53bc4f1464 100644
--- a/doc/html/fix_deform.html
+++ b/doc/html/fix_deform.html
@@ -570,7 +570,7 @@ is not consistent with fix nvt/sllod.</p>
 <p class="last">For non-equilibrium MD (NEMD) simulations using &#8220;remap v&#8221; it is
 usually desirable that the fluid (or flowing material, e.g. granular
 particles) stream with a velocity profile consistent with the
-deforming box.  As mentioned above, using a thermostat such as <a class="reference internal" href="fix_nvt_sllod.html"><span class="doc">fix nvt/sllod</span></a> or <span class="xref doc">fix lavgevin</span>
+deforming box.  As mentioned above, using a thermostat such as <a class="reference internal" href="fix_nvt_sllod.html"><span class="doc">fix nvt/sllod</span></a> or <a class="reference internal" href="fix_langevin.html"><span class="doc">fix lavgevin</span></a>
 (with a bias provided by <a class="reference internal" href="compute_temp_deform.html"><span class="doc">compute temp/deform</span></a>), will typically accomplish
 that.  If you do not use a thermostat, then there is no driving force
 pushing the atoms to flow in a manner consistent with the deforming
diff --git a/doc/html/fix_deposit.html b/doc/html/fix_deposit.html
index 1e1e637b350001e85bcadba005d10121c67e42ba..6e7e0be54fdb69b545e3783e4ebd5a5d3ce7d92c 100644
--- a/doc/html/fix_deposit.html
+++ b/doc/html/fix_deposit.html
@@ -264,7 +264,7 @@ time a molecule is deposited, a random number is used to sample from
 the list of relative probabilities.  The N values must sum to 1.0.</p>
 <p>If you wish to insert molecules via the <em>mol</em> keyword, that will be
 treated as rigid bodies, use the <em>rigid</em> keyword, specifying as its
-value the ID of a separate <span class="xref doc">fix rigid/small</span>
+value the ID of a separate <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid/small</span></a>
 command which also appears in your input script.</p>
 <p>If you wish to insert molecules via the <em>mol</em> keyword, that will have
 their bonds or angles constrained via SHAKE, use the <em>shake</em> keyword,
diff --git a/doc/html/fix_ehex.html b/doc/html/fix_ehex.html
index 7e7a529acce2125de809437eb7a43be2b2a8de56..f1cc66f404b96899fcccff3536f97031aaf21b84 100644
--- a/doc/html/fix_ehex.html
+++ b/doc/html/fix_ehex.html
@@ -231,7 +231,7 @@ resulting temperature profile will therefore be the same.</p>
 the keyword <em>hex</em> is specified.</p>
 <hr class="docutils" />
 <p><strong>Compatibility with SHAKE and RATTLE (rigid molecules)</strong>:</p>
-<p>This fix is compatible with <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> and <span class="xref doc">fix rattle</span>. If either of these constraining algorithms is
+<p>This fix is compatible with <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> and <a class="reference internal" href="fix_shake.html"><span class="doc">fix rattle</span></a>. If either of these constraining algorithms is
 specified in the input script and the keyword <em>constrain</em> is set, the
 bond distances will be corrected a second time at the end of the
 integration step.  It is recommended to specify the keyword <em>com</em> in
@@ -244,7 +244,7 @@ rescaling takes place if the centre of mass lies outside the region.</p>
 <p class="first admonition-title">Note</p>
 <p class="last">You can only use the keyword <em>com</em> along with <em>constrain</em>.</p>
 </div>
-<p>To achieve the highest accuracy it is recommended to use <span class="xref doc">fix rattle</span> with the keywords <em>constrain</em> and <em>com</em> as
+<p>To achieve the highest accuracy it is recommended to use <a class="reference internal" href="fix_shake.html"><span class="doc">fix rattle</span></a> with the keywords <em>constrain</em> and <em>com</em> as
 shown in the second example. Only if RATTLE is employed, the velocity
 constraints will be satisfied.</p>
 <div class="admonition note">
diff --git a/doc/html/fix_eos_table.html b/doc/html/fix_eos_table.html
index 040335fdb592b8dc9f2f0362e5511f9f4597d9fd..91f10fe8545d09a99c67913eea59b3ec9f797a5b 100644
--- a/doc/html/fix_eos_table.html
+++ b/doc/html/fix_eos_table.html
@@ -187,7 +187,7 @@ identifies the section.  The line can contain additional text, but the
 initial text must match the argument specified in the fix command.</p>
 <p>The next line lists the number of table entries.  The parameter &#8220;N&#8221; is
 required and its value is the number of table entries that follow.
-Note that this may be different than the <em>N</em> specified in the <span class="xref doc">fix eos/table</span> command.  Let Ntable = <em>N</em> in the fix
+Note that this may be different than the <em>N</em> specified in the <a class="reference internal" href="#"><span class="doc">fix eos/table</span></a> command.  Let Ntable = <em>N</em> in the fix
 command, and Nfile = &#8220;N&#8221; in the tabulated file.  What LAMMPS does is a
 preliminary interpolation by creating splines using the Nfile
 tabulated values as nodal points.  It uses these to interpolate as
@@ -220,7 +220,7 @@ are not within the table cutoffs.</p>
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><a class="reference internal" href="fix_shardlow.html"><span class="doc">fix shardlow</span></a>, <span class="xref doc">pair dpd/fdt</span></p>
+<p><a class="reference internal" href="fix_shardlow.html"><span class="doc">fix shardlow</span></a>, <a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair dpd/fdt</span></a></p>
 <p><strong>Default:</strong> none</p>
 </div>
 </div>
diff --git a/doc/html/fix_eos_table_rx.html b/doc/html/fix_eos_table_rx.html
index 95ecfb9ca7afa9a3fa3f4edf28e7e468e35f6bec..49f1a58f76c5542f59bb58d25209dc41411e2323 100644
--- a/doc/html/fix_eos_table_rx.html
+++ b/doc/html/fix_eos_table_rx.html
@@ -242,7 +242,7 @@ are not within the table cutoffs.</p>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
 <p><a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a>,
-<span class="xref doc">pair dpd/fdt</span></p>
+<a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair dpd/fdt</span></a></p>
 <p><strong>Default:</strong> none</p>
 <hr class="docutils" />
 </div>
diff --git a/doc/html/fix_lb_momentum.html b/doc/html/fix_lb_momentum.html
index 6d569721fed4b0104092fba8e47ac9ea222a316a..aefe19517d3401bd52f1b60ae3e9c19eca9496ab 100644
--- a/doc/html/fix_lb_momentum.html
+++ b/doc/html/fix_lb_momentum.html
@@ -172,7 +172,7 @@ dimension.</p>
 <h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
 <p>No information about this fix is written to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>.  None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options
 are relevant to this fix.  No global or per-atom quantities are stored
-by this fix for access by various <span class="xref std std-ref">output commands</span>.  No parameter of this fix can be
+by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>.  No parameter of this fix can be
 used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command.
 This fix is not invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
 </div>
diff --git a/doc/html/fix_lb_pc.html b/doc/html/fix_lb_pc.html
index 5dbd07536f781d4c141950dd15f676acb02d91ec..4fe4f72ced796e7ad662779a4479b2c96b8a22a4 100644
--- a/doc/html/fix_lb_pc.html
+++ b/doc/html/fix_lb_pc.html
@@ -146,7 +146,7 @@
 <h2>Description</h2>
 <p>Update the positions and velocities of the individual particles
 described by <em>group-ID</em>, experiencing velocity-dependent hydrodynamic
-forces, using the integration algorithm described in <a class="reference internal" href="fix_lb_viscous.html#mackay"><span class="std std-ref">Mackay et al.</span></a>.  This integration algorithm should only be used if a
+forces, using the integration algorithm described in <a class="reference internal" href="#mackay"><span class="std std-ref">Mackay et al.</span></a>.  This integration algorithm should only be used if a
 user-specified value for the force-coupling constant used in <a class="reference internal" href="fix_lb_fluid.html"><span class="doc">fix lb/fluid</span></a> has been set; do not use this integration
 algorithm if the force coupling constant has been set by default.</p>
 </div>
@@ -154,7 +154,7 @@ algorithm if the force coupling constant has been set by default.</p>
 <h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
 <p>No information about this fix is written to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>.  None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options
 are relevant to this fix.  No global or per-atom quantities are stored
-by this fix for access by various <span class="xref std std-ref">output commands</span>.  No parameter of this fix can be
+by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>.  No parameter of this fix can be
 used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command.
 This fix is not invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
 </div>
diff --git a/doc/html/fix_nh_eff.html b/doc/html/fix_nh_eff.html
index 72d8ef25d4b91fe4f962fbd8d6c286453b132e07..5e8d66853c2f04c664415536564edcbc6b776f1c 100644
--- a/doc/html/fix_nh_eff.html
+++ b/doc/html/fix_nh_eff.html
@@ -203,7 +203,7 @@ to the temperature or kinetic energy from the electron radial velocity.</p>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
 <p class="last">there are two different pressures that can be reported for eFF
-when defining the pair_style (see <span class="xref doc">pair eff/cut</span> to
+when defining the pair_style (see <a class="reference internal" href="pair_eff.html"><span class="doc">pair eff/cut</span></a> to
 understand these settings), one (default) that considers electrons do
 not contribute radial virial components (i.e. electrons treated as
 incompressible &#8216;rigid&#8217; spheres) and one that does.  The radial
diff --git a/doc/html/fix_phonon.html b/doc/html/fix_phonon.html
index 0eed3acb9e466d2c18cc90bc98b9100374fbb761..40d369afeee6a2c1e52d006ac5c93f318d6b4fbd 100644
--- a/doc/html/fix_phonon.html
+++ b/doc/html/fix_phonon.html
@@ -247,7 +247,7 @@ corresponding reciprocal lattice.</p>
 fix. You can use it to change the temperature compute from thermo_temp
 to the one that reflects the true temperature of atoms in the group.</p>
 <p>No global scalar or vector or per-atom quantities are stored by this
-fix for access by various <span class="xref std std-ref">output commands</span>.</p>
+fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>.</p>
 <p>Instead, this fix outputs its initialization information (including
 mapping information) and the calculated dynamical matrices to the file
 <em>prefix</em>.log, with the specified <em>prefix</em>.  The dynamical matrices are
diff --git a/doc/html/fix_pour.html b/doc/html/fix_pour.html
index ffe5fd5362b893d948fbdc718ef6928b85d4b2d4..ca471ec2c3fe701910ef81cc955638e0546b0143 100644
--- a/doc/html/fix_pour.html
+++ b/doc/html/fix_pour.html
@@ -232,7 +232,7 @@ time a molecule is inserted, a random number is used to sample from
 the list of relative probabilities.  The N values must sum to 1.0.</p>
 <p>If you wish to insert molecules via the <em>mol</em> keyword, that will be
 treated as rigid bodies, use the <em>rigid</em> keyword, specifying as its
-value the ID of a separate <span class="xref doc">fix rigid/small</span>
+value the ID of a separate <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid/small</span></a>
 command which also appears in your input script.</p>
 <p>If you wish to insert molecules via the <em>mol</em> keyword, that will have
 their bonds or angles constrained via SHAKE, use the <em>shake</em> keyword,
diff --git a/doc/html/fix_reax_bonds.html b/doc/html/fix_reax_bonds.html
index 5e30cb4c619a1b9364c3ea7ad1b5383a672476ba..0275b0ad0e6b1c529448bf3b0e5bcc5300d56c4b 100644
--- a/doc/html/fix_reax_bonds.html
+++ b/doc/html/fix_reax_bonds.html
@@ -155,7 +155,7 @@ specified by <a class="reference internal" href="pair_reax.html"><span class="do
 stand-alone ReaxFF code of Adri van Duin.  The bond information is
 written to <em>filename</em> on timesteps that are multiples of <em>Nevery</em>,
 including timestep 0.  For time-averaged chemical species analysis,
-please see the <span class="xref doc">fix species</span> command.</p>
+please see the <a class="reference internal" href="fix_reaxc_species.html"><span class="doc">fix reaxc/c/species</span></a> command.</p>
 <p>The format of the output file should be self-explantory.</p>
 </div>
 <hr class="docutils" />
diff --git a/doc/html/fix_rx.html b/doc/html/fix_rx.html
index fbc1c7b47bd7e7393f8670eaaaa7c95f5f85a09b..b39fe17f46f6b77096f12158f6c72817992ee68f 100644
--- a/doc/html/fix_rx.html
+++ b/doc/html/fix_rx.html
@@ -292,7 +292,7 @@ enthalpy DPD simulation.</p>
 <h2>Related commands</h2>
 <p><a class="reference internal" href="fix_eos_table_rx.html"><span class="doc">fix eos/table/rx</span></a>,
 <a class="reference internal" href="fix_shardlow.html"><span class="doc">fix shardlow</span></a>,
-<span class="xref doc">pair dpd/fdt/energy</span></p>
+<a class="reference internal" href="pair_dpd_fdt.html"><span class="doc">pair dpd/fdt/energy</span></a></p>
 <p><strong>Default:</strong> none</p>
 </div>
 </div>
diff --git a/doc/html/fix_shardlow.html b/doc/html/fix_shardlow.html
index e54353f7ebc1d4272cff324412f013b06567a4b9..204f18df5850b2ccca3dad62c74850b5c7077709 100644
--- a/doc/html/fix_shardlow.html
+++ b/doc/html/fix_shardlow.html
@@ -148,7 +148,7 @@
 integrate the DPD equations of motion.  The SSA splits the integration
 into a stochastic and deterministic integration step.  The fix
 <em>shardlow</em> performs the stochastic integration step and must be used
-in conjunction with a deterministic integrator (e.g. <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a> or <span class="xref doc">fix nph</span>).  The stochastic
+in conjunction with a deterministic integrator (e.g. <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a> or <a class="reference internal" href="fix_nh.html"><span class="doc">fix nph</span></a>).  The stochastic
 integration of the dissipative and random forces is performed prior to
 the deterministic integration of the conservative force. Further
 details regarding the method are provided in <a class="reference internal" href="pair_dpd_fdt.html#lisal"><span class="std std-ref">(Lisal)</span></a> and
diff --git a/doc/html/fix_smd.html b/doc/html/fix_smd.html
index 77238ccae4d4c91949250f342c6d41f9ea3db468..5be23f5d7b77ea567e33faf46c73a0e79eceaaaf 100644
--- a/doc/html/fix_smd.html
+++ b/doc/html/fix_smd.html
@@ -168,10 +168,10 @@
 <div class="section" id="description">
 <h2>Description</h2>
 <p>This fix implements several options of steered MD (SMD) as reviewed in
-<span class="xref std std-ref">(Izrailev)</span>, which allows to induce conformational changes
+<a class="reference internal" href="#izrailev"><span class="std std-ref">(Izrailev)</span></a>, which allows to induce conformational changes
 in systems and to compute the potential of mean force (PMF) along the
-assumed reaction coordinate <span class="xref std std-ref">(Park)</span> based on Jarzynski&#8217;s
-equality <span class="xref std std-ref">(Jarzynski)</span>.  This fix borrows a lot from <a class="reference internal" href="fix_spring.html"><span class="doc">fix spring</span></a> and <a class="reference internal" href="fix_setforce.html"><span class="doc">fix setforce</span></a>.</p>
+assumed reaction coordinate <a class="reference internal" href="#park"><span class="std std-ref">(Park)</span></a> based on Jarzynski&#8217;s
+equality <a class="reference internal" href="#jarzynski"><span class="std std-ref">(Jarzynski)</span></a>.  This fix borrows a lot from <a class="reference internal" href="fix_spring.html"><span class="doc">fix spring</span></a> and <a class="reference internal" href="fix_setforce.html"><span class="doc">fix setforce</span></a>.</p>
 <p>You can apply a moving spring force to a group of atoms (<em>tether</em>
 style) or between two groups of atoms (<em>couple</em> style).  The spring
 can then be used in either constant velocity (<em>cvel</em>) mode or in
@@ -249,14 +249,12 @@ LAMMPS was built with that package.  See the <a class="reference internal" href=
 <a class="reference internal" href="fix_spring_rg.html"><span class="doc">fix spring/rg</span></a></p>
 <p><strong>Default:</strong> none</p>
 <hr class="docutils" />
-<p id="israilev"><strong>(Izrailev)</strong> Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar,
+<p id="izrailev"><strong>(Izrailev)</strong> Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar,
 Wriggers, Schulten. Computational Molecular Dynamics: Challenges,
 Methods, Ideas, volume 4 of Lecture Notes in Computational Science and
 Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998.</p>
-<p><strong>(Park)</strong>
-Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)</p>
-<p><strong>(Jarzynski)</strong>
-Jarzynski, Phys. Rev. Lett. 78, 2690 (1997)</p>
+<p id="park"><strong>(Park)</strong> Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)</p>
+<p id="jarzynski"><strong>(Jarzynski)</strong> Jarzynski, Phys. Rev. Lett. 78, 2690 (1997)</p>
 </div>
 </div>
 
diff --git a/doc/html/fix_wall_piston.html b/doc/html/fix_wall_piston.html
index 8ebde444af812cc1ec9f2e0bf392d4fc367aa8dc..ade80b4497df43b7172c1a0e8e54b916955d686b 100644
--- a/doc/html/fix_wall_piston.html
+++ b/doc/html/fix_wall_piston.html
@@ -205,7 +205,7 @@ define the lattice spacings.</p>
 <h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
 <p>No information about this fix is written to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>.  None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options
 are relevant to this fix.  No global or per-atom quantities are stored
-by this fix for access by various <span class="xref std std-ref">output commands</span>.  No parameter of this fix can
+by this fix for access by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>.  No parameter of this fix can
 be used with the <em>start/stop</em> keywords of the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command.
 This fix is not invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
 </div>
diff --git a/doc/html/kspace_style.html b/doc/html/kspace_style.html
index b0f9946dace232b4d746834785c9f3e5331fbe1e..53a0c22ce2d462f948054aeb8787bf66973c70f4 100644
--- a/doc/html/kspace_style.html
+++ b/doc/html/kspace_style.html
@@ -197,7 +197,7 @@ style, the cutoff for Coulombic or 1/r^N interactions is effectively
 infinite.  If the Coulombic case, this means each charge in the system
 interacts with charges in an infinite array of periodic images of the
 simulation domain.</p>
-<p>Note that using a long-range solver requires use of a matching <span class="xref doc">pair style</span> to perform consistent short-range pairwise
+<p>Note that using a long-range solver requires use of a matching <a class="reference internal" href="pair_style.html"><span class="doc">pair style</span></a> to perform consistent short-range pairwise
 calculations.  This means that the name of the pair style contains a
 matching keyword to the name of the KSpace style, as in this table:</p>
 <table border="1" class="docutils">
diff --git a/doc/html/molecule.html b/doc/html/molecule.html
index 85087417dbbea1a95e353ecc267df813287c30f8..094f231291824761bb04c39e44fcb662f1471174 100644
--- a/doc/html/molecule.html
+++ b/doc/html/molecule.html
@@ -297,7 +297,7 @@ manner.</p>
 <p class="last">Whether a section is required depends on how the molecule
 template is used by other LAMMPS commands.  For example, to add a
 molecule via the <a class="reference internal" href="fix_deposit.html"><span class="doc">fix deposit</span></a> command, the Coords
-and Types sections are required.  To add a rigid body via the <span class="xref doc">fix pour</span> command, the Bonds (Angles, etc) sections are not
+and Types sections are required.  To add a rigid body via the <a class="reference internal" href="fix_pour.html"><span class="doc">fix pour</span></a> command, the Bonds (Angles, etc) sections are not
 required, since the molecule will be treated as a rigid body.  Some
 sections are optional.  For example, the <a class="reference internal" href="fix_pour.html"><span class="doc">fix pour</span></a>
 command can be used to add &#8220;molecules&#8221; which are clusters of
diff --git a/doc/html/neighbor.html b/doc/html/neighbor.html
index d1c2630e8b26d18cd6bd56eaf7a0c550bb44f33f..65a47dfcc18665e687003f581a2fb21272dc3116 100644
--- a/doc/html/neighbor.html
+++ b/doc/html/neighbor.html
@@ -192,7 +192,7 @@ are printed to the screen and log file.  See <a class="reference internal" href=
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
 <p><a class="reference internal" href="neigh_modify.html"><span class="doc">neigh_modify</span></a>, <a class="reference internal" href="units.html"><span class="doc">units</span></a>,
-<span class="xref doc">comm_modify</span></p>
+<a class="reference internal" href="comm_modify.html"><span class="doc">comm_modify</span></a></p>
 </div>
 <div class="section" id="default">
 <h2>Default</h2>
diff --git a/doc/html/pair_brownian.html b/doc/html/pair_brownian.html
index 0f4bca68e61a13b2539e01765aa9ac7f6d3dc31c..eaf0a723c3d826b662daba702edd6ce592195c8a 100644
--- a/doc/html/pair_brownian.html
+++ b/doc/html/pair_brownian.html
@@ -227,7 +227,7 @@ to be specified in an input script that reads a restart file.</p>
 <div class="section" id="restrictions">
 <h2>Restrictions</h2>
 <p>These styles are part of the COLLOID package.  They are only enabled
-if LAMMPS was built with that package.  See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p>
+if LAMMPS was built with that package.  See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
 <p>Only spherical monodisperse particles are allowed for pair_style
 brownian.</p>
 <p>Only spherical particles are allowed for pair_style brownian/poly.</p>
diff --git a/doc/html/pair_dipole.html b/doc/html/pair_dipole.html
index 2325cfa2567baf7963757564168d5eb1160fe068..a8b54371802dd4085f57e0daa64dc00a80fc10d4 100644
--- a/doc/html/pair_dipole.html
+++ b/doc/html/pair_dipole.html
@@ -268,17 +268,15 @@ dipole interactions.  The long-range portion is calculated by using
 <em>ewald_disp</em> of the <a class="reference internal" href="kspace_style.html"><span class="doc">kspace_style</span></a> command. If
 <em>flag_coul</em> is set to <em>off</em>, Coulombic and dipole interactions are not
 computed at all.</p>
-<p>Atoms with dipole moments should be integrated using the <a class="reference internal" href="fix_nve_sphere.html"><span class="doc">fix nve/sphere update dipole</span></a> command to rotate the
+<p>Atoms with dipole moments should be integrated using the <a class="reference internal" href="fix_nve_sphere.html"><span class="doc">fix nve/sphere update dipole</span></a> or the <a class="reference internal" href="fix_nvt_sphere.html"><span class="doc">fix nvt/sphere update dipole</span></a> command to rotate the
 dipole moments.  The <em>omega</em> option on the <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a> command can be used to thermostat the
 rotational motion.  The <a class="reference internal" href="compute_temp_sphere.html"><span class="doc">compute temp/sphere</span></a>
 command can be used to monitor the temperature, since it includes
-rotational degrees of freedom.  The <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dipole</span></a> command should be used since it defines the
-point dipoles and their rotational state.  The magnitude of the dipole
-moment for each type of particle can be defined by the
-<span class="xref doc">dipole</span> command or in the &#8220;Dipoles&#8221; section of the data
-file read in by the <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command.  Their initial
-orientation can be defined by the <a class="reference internal" href="set.html"><span class="doc">set dipole</span></a> command or in
-the &#8220;Atoms&#8221; section of the data file.</p>
+rotational degrees of freedom.  The <a class="reference internal" href="atom_style.html"><span class="doc">atom_style hybrid dipole sphere</span></a> command should be used since
+it defines the point dipoles and their rotational state.
+The magnitude and orientation of the dipole moment for each particle
+can be defined by the <a class="reference internal" href="set.html"><span class="doc">set</span></a> command or in the &#8220;Atoms&#8221; section
+of the data file read in by the <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command.</p>
 <p>The following coefficients must be defined for each pair of atoms
 types via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command as in the examples
 above, or in the data file or restart files read by the
@@ -348,7 +346,8 @@ currently supported.</p>
 </div>
 <div class="section" id="related-commands">
 <h2>Related commands</h2>
-<p><a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a></p>
+<p><a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a>, <a class="reference internal" href="set.html"><span class="doc">set</span></a>, <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a>,
+<a class="reference internal" href="fix_nve_sphere.html"><span class="doc">fix nve/sphere</span></a>, <a class="reference internal" href="fix_nvt_sphere.html"><span class="doc">fix nvt/sphere</span></a></p>
 <p><strong>Default:</strong> none</p>
 <hr class="docutils" />
 <p id="allen"><strong>(Allen)</strong> Allen and Tildesley, Computer Simulation of Liquids,
diff --git a/doc/html/pair_dpd_fdt.html b/doc/html/pair_dpd_fdt.html
index a06112c8fc5f3114a21cc10d673148a8809500c2..cd8033694c4a95dd4b2280d24976d6ce7856be86 100644
--- a/doc/html/pair_dpd_fdt.html
+++ b/doc/html/pair_dpd_fdt.html
@@ -230,7 +230,7 @@ specified.</p>
 <p>These commands are part of the USER-DPD package.  They are only
 enabled if LAMMPS was built with that package.  See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
 <p>Pair styles <em>dpd/fdt</em> and <em>dpd/fdt/energy</em> require use of the
-<span class="xref doc">communicate vel yes</span> option so that velocites are
+<a class="reference internal" href="comm_modify.html"><span class="doc">comm_modify vel yes</span></a> option so that velocites are
 stored by ghost atoms.</p>
 <p>Pair style <em>dpd/fdt/energy</em> requires <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dpd</span></a>
 to be used in order to properly account for the particle internal
diff --git a/doc/html/pair_gayberne.html b/doc/html/pair_gayberne.html
index 297c77802aec3c38525474736699c9217afe40d2..0b02a49a51ba658bb391d4da252551c61a57459a 100644
--- a/doc/html/pair_gayberne.html
+++ b/doc/html/pair_gayberne.html
@@ -288,7 +288,7 @@ enabled if LAMMPS was built with that package.  See the <a class="reference inte
 <p>These pair style require that atoms store torque and a quaternion to
 represent their orientation, as defined by the
 <a class="reference internal" href="atom_style.html"><span class="doc">atom_style</span></a>.  It also require they store a per-type
-<span class="xref doc">shape</span>.  The particles cannot store a per-particle
+<a class="reference internal" href="set.html"><span class="doc">shape</span></a>.  The particles cannot store a per-particle
 diameter.</p>
 <p>This pair style requires that atoms be ellipsoids as defined by the
 <a class="reference internal" href="atom_style.html"><span class="doc">atom_style ellipsoid</span></a> command.</p>
diff --git a/doc/html/pair_line_lj.html b/doc/html/pair_line_lj.html
index f1fb92c17fd53bcc5f96aca996cc8c8d9a32aed8..f36f573822c7297426330a2989d62a8035aaa844 100644
--- a/doc/html/pair_line_lj.html
+++ b/doc/html/pair_line_lj.html
@@ -238,7 +238,7 @@ shift, table, and tail options.</p>
 <div class="section" id="restrictions">
 <h2>Restrictions</h2>
 <p>This style is part of the ASPHERE package.  It is only enabled if
-LAMMPS was built with that package.  See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p>
+LAMMPS was built with that package.  See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
 <p>Defining particles to be line segments so they participate in
 line/line or line/particle interactions requires the use the
 <a class="reference internal" href="atom_style.html"><span class="doc">atom_style line</span></a> command.</p>
diff --git a/doc/html/pair_thole.html b/doc/html/pair_thole.html
index a6baecd4b6bcd6e1f3910e19bfd63f8668c85147..e3a5f8b9cb117efd9bcbd87cff9f12285b63b1db 100644
--- a/doc/html/pair_thole.html
+++ b/doc/html/pair_thole.html
@@ -180,7 +180,7 @@ it also allows for mixing pair coefficients instead of listing them all.
 The <em>lj/cut/thole/long</em> pair style is also a bit faster because it avoids an
 overlay and can benefit from OMP acceleration. Moreover, it uses a more
 precise approximation of the direct Coulomb interaction at short range similar
-to <span class="xref doc">coul/long/cs</span>, which stabilizes the temperature of
+to <a class="reference internal" href="pair_cs.html"><span class="doc">coul/long/cs</span></a>, which stabilizes the temperature of
 Drude particles.</p>
 <p>The <em>thole</em> pair styles compute the Coulomb interaction damped at
 short distances by a function</p>
@@ -189,8 +189,8 @@ short distances by a function</p>
 \frac{s_{ij} r_{ij} }{2} \right)
 \exp \left( - s_{ij} r_{ij} \right) \end{equation}\]</div>
 <p>This function results from an adaptation to point charges
-<a class="reference internal" href="tutorial_drude.html#noskov"><span class="std std-ref">(Noskov)</span></a> of the dipole screening scheme originally proposed
-by <a class="reference internal" href="tutorial_drude.html#thole"><span class="std std-ref">Thole</span></a>. The scaling coefficient <span class="math">\(s_{ij}\)</span> is determined
+<a class="reference internal" href="#noskov"><span class="std std-ref">(Noskov)</span></a> of the dipole screening scheme originally proposed
+by <a class="reference internal" href="#thole"><span class="std std-ref">Thole</span></a>. The scaling coefficient <span class="math">\(s_{ij}\)</span> is determined
 by the polarizability of the atoms, <span class="math">\(\alpha_i\)</span>, and by a Thole
 damping parameter <span class="math">\(a\)</span>.  This Thole damping parameter usually takes
 a value of 2.6, but in certain force fields the value can depend upon
diff --git a/doc/html/pair_tri_lj.html b/doc/html/pair_tri_lj.html
index 00e10b96323a9aab9532dc97ab710281037efb3b..e6c6b24ddd0f5f81a09a629449935a3abcb23674 100644
--- a/doc/html/pair_tri_lj.html
+++ b/doc/html/pair_tri_lj.html
@@ -210,7 +210,7 @@ shift, table, and tail options.</p>
 <div class="section" id="restrictions">
 <h2>Restrictions</h2>
 <p>This style is part of the ASPHERE package.  It is only enabled if
-LAMMPS was built with that package.  See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p>
+LAMMPS was built with that package.  See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
 <p>Defining particles to be triangles so they participate in tri/tri or
 tri/particle interactions requires the use the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style tri</span></a> command.</p>
 </div>
diff --git a/doc/html/python.html b/doc/html/python.html
index 2962d7dcd9329c610af40f9acc6c36ee6b487cf8..f78a9df834a14a15ba1411af61ad761356f23a60 100644
--- a/doc/html/python.html
+++ b/doc/html/python.html
@@ -554,7 +554,7 @@ building LAMMPS.  LAMMPS must also be built as a shared library and
 your Python function must be able to to load the Python module in
 python/lammps.py that wraps the LAMMPS library interface.  These are
 the same steps required to use Python by itself to wrap LAMMPS.
-Details on these steps are explained in <span class="xref doc">Section python</span>.  Note that it is important that the
+Details on these steps are explained in <a class="reference internal" href="Section_python.html"><span class="doc">Section python</span></a>.  Note that it is important that the
 stand-alone LAMMPS executable and the LAMMPS shared library be
 consistent (built from the same source code files) in order for this
 to work.  If the two have been built at different times using
diff --git a/doc/html/rerun.html b/doc/html/rerun.html
index 520ea38241d552bf34fa0c0a5c60a1d320edfb52..dc973298a644f73b9ae827578ae6385a17b99809 100644
--- a/doc/html/rerun.html
+++ b/doc/html/rerun.html
@@ -174,7 +174,7 @@ initial simulation produced the dump file:</p>
 <li>Calculate one or more diagnostic quantities on the snapshots that
 weren&#8217;t computed in the initial run.  These can also be computed with
 settings not used in the initial run, e.g. computing an RDF via the
-<span class="xref doc">compute rdf</span> command with a longer cutoff than was
+<a class="reference internal" href="compute_rdf.html"><span class="doc">compute rdf</span></a> command with a longer cutoff than was
 used initially.</li>
 <li>Calculate the portion of per-atom forces resulting from a subset of
 the potential.  E.g. compute only Coulombic forces.  This can be done
diff --git a/doc/html/variable.html b/doc/html/variable.html
index 7eb3382f6c3c0fc92449fa517af8e559634c7a74..f5eb258506fa15f811aa4071ff2d20884ed76f60 100644
--- a/doc/html/variable.html
+++ b/doc/html/variable.html
@@ -1192,7 +1192,7 @@ with a leading $ sign (e.g. $x or ${abc}) versus with a leading &#8220;<a href="
 (e.g. v_x or v_abc).  The former can be used in any input script
 command, including a variable command.  The input script parser
 evaluates the reference variable immediately and substitutes its value
-into the command.  As explained in <span class="xref std std-ref">Section commands 3.2</span> for &#8220;Parsing rules&#8221;, you can also use
+into the command.  As explained in <a class="reference internal" href="Section_commands.html#cmd-2"><span class="std std-ref">Section commands 3.2</span></a> for &#8220;Parsing rules&#8221;, you can also use
 un-named &#8220;immediate&#8221; variables for this purpose.  For example, a
 string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script
 command evaluates the string between the parenthesis as an equal-style
diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt
index adf6b5c47e831882638da704203cffa8a19c6a2d..b7edc5ea99172b20a1c175fb74ed685115c26c5e 100644
--- a/doc/src/Manual.txt
+++ b/doc/src/Manual.txt
@@ -1,7 +1,7 @@
 <!-- HTML_ONLY -->
 <HEAD>
 <TITLE>LAMMPS Users Manual</TITLE>
-<META NAME="docnumber" CONTENT="27 Aug 2016 version">
+<META NAME="docnumber" CONTENT="7 Sep 2016 version">
 <META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
 <META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation.  This software and manual is distributed under the GNU General Public License.">
 </HEAD>
@@ -21,7 +21,7 @@
 <H1></H1>
 
 LAMMPS Documentation :c,h3
-27 Aug 2016 version :c,h4
+7 Sep 2016 version :c,h4
 
 Version info: :h4
 
diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt
index a680b24529a8618c6191e80876ae76fb7828d5b1..13798f8f88f2e3b4cbaaa168979ec52712fa4840 100644
--- a/doc/src/Section_howto.txt
+++ b/doc/src/Section_howto.txt
@@ -1010,7 +1010,7 @@ system.  Fix nvt/sllod uses "compute
 temp/deform"_compute_temp_deform.html to compute a thermal temperature
 by subtracting out the streaming velocity of the shearing atoms.  The
 velocity profile or other properties of the fluid can be monitored via
-the "fix ave/spatial"_fix_ave_spatial.html command.
+the "fix ave/chunk"_fix_ave_chunk.html command.
 
 As discussed in the previous section on non-orthogonal simulation
 boxes, the amount of tilt or skew that can be applied is limited by
@@ -1698,9 +1698,9 @@ pressure"_compute_pressure.html compute to calculate a current
 pressure.  By default, this compute is created with a simple "compute
 temp"_compute_temp.html (see the last argument of the "compute
 pressure"_compute_pressure.html command), which is used to calculated
-the kinetic componenet of the pressure.  The barostatting fixes can
+the kinetic component of the pressure.  The barostatting fixes can
 also use temperature computes that remove bias for the purpose of
-computing the kinetic componenet which contributes to the current
+computing the kinetic component which contributes to the current
 pressure.  See the doc pages for the individual fixes and for the
 "fix_modify"_fix_modify.html command for instructions on how to assign
 a temperature or pressure compute to a barostatting fix.
@@ -1970,7 +1970,7 @@ on each of two regions to add/subtract specified amounts of energy to
 both regions.  In both cases, the resulting temperatures of the two
 regions can be monitored with the "compute temp/region" command and
 the temperature profile of the intermediate region can be monitored
-with the "fix ave/spatial"_fix_ave_spatial.html and "compute
+with the "fix ave/chunk"_fix_ave_chunk.html and "compute
 ke/atom"_compute_ke_atom.html commands.
 
 The third method is to perform a reverse non-equilibrium MD simulation
@@ -1979,7 +1979,7 @@ command which implements the rNEMD algorithm of Muller-Plathe.
 Kinetic energy is swapped between atoms in two different layers of the
 simulation box.  This induces a temperature gradient between the two
 layers which can be monitored with the "fix
-ave/spatial"_fix_ave_spatial.html and "compute
+ave/chunk"_fix_ave_chunk.html and "compute
 ke/atom"_compute_ke_atom.html commands.  The fix tallies the
 cumulative energy transfer that it performs.  See the "fix
 thermal/conductivity"_fix_thermal_conductivity.html command for
@@ -2036,7 +2036,7 @@ velocity to prevent the fluid from heating up.
 
 In both cases, the velocity profile setup in the fluid by this
 procedure can be monitored by the "fix
-ave/spatial"_fix_ave_spatial.html command, which determines
+ave/chunk"_fix_ave_chunk.html command, which determines
 grad(Vstream) in the equation above.  E.g. the derivative in the
 y-direction of the Vx component of fluid motion or grad(Vstream) =
 dVx/dy.  The Pxy off-diagonal component of the pressure or stress
@@ -2050,7 +2050,7 @@ using the "fix viscosity"_fix_viscosity.html command which implements
 the rNEMD algorithm of Muller-Plathe.  Momentum in one dimension is
 swapped between atoms in two different layers of the simulation box in
 a different dimension.  This induces a velocity gradient which can be
-monitored with the "fix ave/spatial"_fix_ave_spatial.html command.
+monitored with the "fix ave/chunk"_fix_ave_chunk.html command.
 The fix tallies the cummulative momentum transfer that it performs.
 See the "fix viscosity"_fix_viscosity.html command for details.
 
diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt
index aa311533863cc4d01e814b087d3d888995955fc5..99751a13ffacb6288b8a98d3c7202d8fadec5945 100644
--- a/doc/src/Section_intro.txt
+++ b/doc/src/Section_intro.txt
@@ -260,7 +260,7 @@ calculate "virtual diffraction patterns"_compute_xrd.html
 coupled rigid body integration via the "POEMS"_fix_poems.html library
 "QM/MM coupling"_fix_qmmm.html
 "path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html
-Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_swap.html
+Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html "atom swapping"_fix_atom_swap.html and "bond swapping"_fix_bond_swap.html
 "Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids
 "Peridynamics mesoscale modeling"_pair_peri.html
 "Lattice Boltzmann fluid"_fix_lb_fluid.html
diff --git a/doc/src/Section_modify.txt b/doc/src/Section_modify.txt
index 609bf93bf1c415c3394daa5d23202362d2d8e19d..e3447e5df83b485bc9417dd0aa0f97b0a66b2432 100644
--- a/doc/src/Section_modify.txt
+++ b/doc/src/Section_modify.txt
@@ -621,13 +621,37 @@ then be accessed by variables) was discussed
 
 10.15 Submitting new features for inclusion in LAMMPS :link(mod_15),h4
 
-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 of interest to other
-users.  The preferred way to do this is via GitHub.  Once you have
-prepared the content described below, see "this
-tutorial"_tutorial_github.html for instructions on how to submit
-your changes or new files.
+We encourage users to submit new features or modifications for
+LAMMPS to "the core developers"_http://lammps.sandia.gov/authors.html
+so they can be added to the LAMMPS distribution. The preferred way to
+manage and coordinate this is as of Fall 2016 via the LAMMPS project on
+"GitHub"_https://github.com/lammps/lammps. An alternative is to contact
+the LAMMPS developers or the indicated developer of a package or feature
+directly and send in your contribution via e-mail.
+
+For any larger modifications or programming project, you are encouraged
+to contact the LAMMPS developers ahead of time, in order to discuss
+implementation strategies and coding guidelines, that will make it
+easier to integrate your contribution and result in less work for
+everybody involved. You are also encouraged to search through the list
+of "open issues on GitHub"_https://github.com/lammps/lammps/issues and
+submit a new issue for a planned feature, so you would not duplicate
+the work of others (and possibly get scooped by them) or have your work
+duplicated by others.
+
+How quickly your contribution will be integrated
+depends largely on how much effort it will cause to integrate and test
+it, how much it requires changes to the core codebase, and of how much
+interest it is to the larger LAMMPS community.  Please see below for a
+checklist of typical requirements. Once you have prepared everything,
+see "this tutorial"_tutorial_github.html for instructions on how to
+submit your changes or new files through a GitHub pull request. If you
+prefer to submit patches or full files, you should first make certain,
+that your code works correctly with the latest patch-level version of
+LAMMPS and contains all bugfixes from it. Then create a gzipped tar
+file of all changed or added files or a corresponding patch file using
+'diff -u' or 'diff -c' and compress it with gzip. Please only use
+gzip compression, as this works well on all platforms.
 
 If the new features/files are broadly useful we may add them as core
 files to LAMMPS or as part of a "standard
@@ -677,21 +701,35 @@ not want to make those changes.  An example of a trivial change is
 making a parent-class method "virtual" when you derive a new child
 class from it.
 
-Here are the steps you need to follow to submit a single file or user
-package for our consideration.  Following these steps will save both
-you and us time.  See existing files in packages in the src dir for
-examples.
+Here is a checklist of steps you need to follow to submit a single file
+or user package for our consideration.  Following these steps will save
+both you and us time. See existing files in packages in the src dir for
+examples. If you are uncertain, please ask.
 
 All source files you provide must compile with the most current
-version of LAMMPS. :ulb,l
-
-If you want your file(s) to be added to main LAMMPS or one of its
-standard packages, then it needs to be written in a style compatible
-with other LAMMPS source files.  This is so the developers can
-understand it and hopefully maintain it.  This basically means that
-the code accesses data structures, performs its operations, and is
-formatted similar to other LAMMPS source files, including the use of
-the error class for error and warning messages. :l
+version of LAMMPS with multiple configurations. In particular you
+need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG
+set in addition to the default -DLAMMPS_SMALLBIG setting. Your code
+will need to work correctly in serial and in parallel using MPI. :ulb,l
+
+For consistency with the rest of LAMMPS and especially, if you want
+your contribution(s) to be added to main LAMMPS code or one of its
+standard packages, it needs to be written in a style compatible with
+other LAMMPS source files. This means: 2-character indentation per
+level, [no tabs], no lines over 80 characters. I/O is done via
+the C-style stdio library, class header files should not import any
+system headers outside <stdio.h>, STL containers should be avoided
+in headers, and forward declarations used where possible or needed.
+All added code should be placed into the LAMMPS_NS namespace or a
+sub-namespace; global or static variables should be avoided, as they
+conflict with the modular nature of LAMMPS and the C++ class structure.
+Header files must [not] import namespaces with {using}.
+This all is so the developers can more easily understand, integrate,
+and maintain your contribution and reduce conflicts with other parts
+of LAMMPS.  This basically means that the code accesses data
+structures, performs its operations, and is formatted similar to other
+LAMMPS source files, including the use of the error class for error
+and warning messages. :l
 
 If you want your contribution to be added as a user-contributed
 feature, and it's a single file (actually a *.cpp and *.h file) it can
@@ -722,13 +760,21 @@ same stylistic format and syntax as other LAMMPS files, though that
 would be nice for developers as well as users who try to read your
 code. :l
 
-You must also create a documentation file for each new command or
-style you are adding to LAMMPS.  This will be one file for a
-single-file feature.  For a package, it might be several files.  These
-are simple text files which we auto-convert to HTML.  Thus they must
-be in the same format as other *.txt files in the lammps/doc directory
-for similar commands and styles; use one or more of them as a starting
-point.  As appropriate, the text files can include links to equations
+You [must] also create a [documentation] file for each new command or
+style you are adding to LAMMPS. For simplicity and convenience, the
+documentation of groups of closely related commands or styles may be
+combined into a single file.  This will be one file for a single-file
+feature.  For a package, it might be several files.  These are simple
+text files with a specific markup language, that are then auto-converted
+to HTML and PDF. The tools for this conversion are included in the
+source distribution, and the translation can be as simple as doing
+"make html pdf" in the doc folder.
+Thus the documentation source files must be in the same format and
+style as other *.txt files in the lammps/doc/src directory for similar
+commands and styles; use one or more of them as a starting point.
+A description of the markup can also be found in
+lammps/doc/utils/txt2html/README.html
+As appropriate, the text files can include links to equations
 (see doc/Eqs/*.tex for examples, we auto-create the associated JPG
 files), or figures (see doc/JPG for examples), or even additional PDF
 files with further details (see doc/PDF for examples).  The doc page
@@ -737,16 +783,20 @@ bottom of doc/fix_nh.txt for examples and the earlier part of the same
 file for how to format the cite itself.  The "Restrictions" section of
 the doc page should indicate that your command is only available if
 LAMMPS is built with the appropriate USER-MISC or USER-FOO package.
-See other user package doc files for examples of how to do this.  The
-txt2html tool we use to convert to HTML can be downloaded from "this
-site"_http://www.sandia.gov/~sjplimp/download.html, so you can perform
-the HTML conversion yourself to proofread your doc page. :l
-
-For a new package (or even a single command) you can include one or
-more example scripts.  These should run in no more than 1 minute, even
-on a single processor, and not require large data files as input.  See
-directories under examples/USER for examples of input scripts other
-users provided for their packages. :l
+See other user package doc files for examples of how to do this. The
+prerequiste for building the HTML format files are Python 3.x and
+virtualenv, the requirement for generating the PDF format manual
+is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least
+"make html" and carefully inspect and proofread the resuling HTML format
+doc page before submitting your code. :l
+
+For a new package (or even a single command) you should include one or
+more example scripts demonstrating its use.  These should run in no
+more than a couple minutes, even on a single processor, and not require
+large data files as input.  See directories under examples/USER for
+examples of input scripts other users provided for their packages.
+These example inputs are also required for validating memory accesses
+and testing for memory leaks with valgrind :l
 
 If there is a paper of yours describing your feature (either the
 algorithm/science behind the feature itself, or its initial usage, or
@@ -761,13 +811,13 @@ should only use this for a paper you or your group authored.
 E.g. adding a cite in the code for a paper by Nose and Hoover if you
 write a fix that implements their integrator is not the intended
 usage.  That kind of citation should just be in the doc page you
-provide. :l,ule
+provide. :l
+:ule
 
 Finally, as a general rule-of-thumb, the more clear and
-self-explanatory you make your doc and README files, and the easier
-you make it for people to get started, e.g. by providing example
-scripts, the more likely it is that users will try out your new
-feature.
+self-explanatory you make your documentation and README files, and the
+easier you make it for people to get started, e.g. by providing example
+scripts, the more likely it is that users will try out your new feature.
 
 :line
 :line
diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt
index 6be763cb703398d5078754f45256855cc88ffa0f..5282eaa4bb3d7068eefea7d3e8fd2cddf75268a2 100644
--- a/doc/src/Section_packages.txt
+++ b/doc/src/Section_packages.txt
@@ -795,7 +795,7 @@ Supporting info:
 "doc/PDF/PDLammps_overview.pdf"_PDF/PDLammps_overview.pdf,
 "doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf,
 "doc/PDF/PDLammps_VES.pdf"_PDF/PDLammps_VES.pdf, "atom_style
-peri"_atom_style.html, "compute damage"_compute_damage.html,
+peri"_atom_style.html, "compute damage/atom"_compute_damage_atom.html,
 "pair_style peri/pmb"_pair_peri.html, examples/peri
  
 :line
@@ -846,9 +846,8 @@ PYTHON package :link(PYTHON),h5
 Contents: A "python"_python.html command which allow you to execute
 Python code from a LAMMPS input script.  The code can be in a separate
 file or embedded in the input script itself.  See "Section python
-11.2"_Section_python.html#py_2" for an overview of using Python from
-LAMMPS and "Section python"_Section_python.html" for other ways to use
-LAMMPS and Python together.
+11.2"_Section_python.html" for an overview of using Python from
+LAMMPS and for other ways to use LAMMPS and Python together.
 
 Building with the PYTHON package assumes you have a Python shared
 library available on your system, which needs to be a Python 2
@@ -1003,7 +1002,7 @@ make machine :pre
 Make.py -p ^rigid -a machine :pre
 
 Supporting info: "compute erotate/rigid"_compute_erotate_rigid.html,
-"fix shake"_fix_shake.html, "fix rattle"_fix_rattle.html, "fix
+"fix shake"_fix_shake.html, "fix rattle"_fix_shake.html, "fix
 rigid/*"_fix_rigid.html, examples/ASPHERE, examples/rigid
 
 :line
@@ -1055,8 +1054,8 @@ make machine :pre
 Make.py -p ^snap -a machine :pre
 
 Supporting info: "pair snap"_pair_snap.html, "compute
-sna/atom"_compute_sna_atom.html, "compute snad/atom"_compute_sna.html,
-"compute snav/atom"_compute_sna.html, examples/snap
+sna/atom"_compute_sna_atom.html, "compute snad/atom"_compute_sna_atom.html,
+"compute snav/atom"_compute_sna_atom.html, examples/snap
  
 :line
  
@@ -1164,8 +1163,8 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
 "USER-SMD"_#USER-SMD, smoothed Mach dynamics, Georg Ganzenmuller (EMI), "userguide.pdf"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, -, -
 "USER-SMTBQ"_#USER-SMTBQ, Second Moment Tight Binding - QEq potential, Salles & Maras & Politano & Tetot (4), "pair_style smtbq"_pair_smtbq.html, USER/smtbq, -, -
 "USER-SPH"_#USER-SPH, smoothed particle hydrodynamics, Georg Ganzenmuller (EMI), "userguide.pdf"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, "sph"_sph, -
-"USER-TALLY"_#USER-TALLY, Pairwise tallied computes, Axel Kohlmeyer (Temple U), "compute <...>/tally"_compute_tally.html, USER/tally, -, -
-"USER-VTK"_#USER-VTK, VTK-style dumps, Berger and Queteschiner (6), "compute custom/vtk"_compute_custom_vtk.html, -, -, lib/vtk
+"USER-TALLY"_#USER-TALLY, Pairwise tallied computes, Axel Kohlmeyer (Temple U), "compute XXX/tally"_compute_tally.html, USER/tally, -, -
+"USER-VTK"_#USER-VTK, VTK-style dumps, Berger and Queteschiner (6), "compute custom/vtk"_dump_custom_vtk.html, -, -, lib/vtk
 :tb(ea=c)
 
 :link(atc,http://lammps.sandia.gov/pictures.html#atc)
@@ -1260,7 +1259,7 @@ calculation.  See src/USER-AWPMD/README for more details.
 To build LAMMPS with this package ...
 
 Supporting info: src/USER-AWPMD/README, "fix
-awpmd/cut"_pair_awpmd_cut.html, examples/USER/awpmd
+awpmd/cut"_pair_awpmd.html, examples/USER/awpmd
 
 Author: Ilya Valuev at the JIHT in Russia (valuev at
 physik.hu-berlin.de).  Contact him directly if you have questions.
@@ -1315,7 +1314,7 @@ kinematic diffraction theory.  See src/USER-DIFFRACTION/README for
 more details.
 
 Supporting info: "compute saed"_compute_saed.html, "compute
-xrd"_compute_xrd.html, "fix saed.vtk"_fix_saed_vtk.html,
+xrd"_compute_xrd.html, "fix saed/vtk"_fix_saed_vtk.html,
 examples/USER/diffraction
 
 Author: Shawn P. Coleman (shawn.p.coleman8.ctr at mail.mil) while at
@@ -1337,10 +1336,11 @@ splitting algorithm.  See src/USER-DPD/README for more details.
 Supporting info: /src/USER-DPD/README, "compute dpd"_compute_dpd.html
 "compute dpd/atom"_compute_dpd_atom.html
 "fix eos/cv"_fix_eos_table.html "fix eos/table"_fix_eos_table.html
-"fix shardlow"_fix_shardlow.html
-"pair_dpd/conservative"_pair_dpd_conservative.html
-"pair_dpd/fdt"_pair_dpd_fdt.html
-"pair_dpd/fdt/energy"_pair_dpd_fdt.html, examples/USER/dpd
+ "fix eos/table/rx"_fix_eos_table_rx.html "fix shardlow"_fix_shardlow.html
+"fix rx"_fix_rx.html "pair table/rx"_pair_table_rx.html
+"pair dpd/fdt"_pair_dpd_fdt.html "pair dpd/fdt/energy"_pair_dpd_fdt.html
+"pair exp6/rx"_pair_exp6_rx.html "pair multi/lucy"_pair_multi_lucy.html
+"pair multi/lucy/rx"_pair_multi_lucy_rx.html, examples/USER/dpd
 
 Authors: James Larentzos (ARL) (james.p.larentzos.civ at mail.mil),
 Timothy Mattox (Engility Corp) (Timothy.Mattox at engilitycorp.com)
@@ -1440,7 +1440,7 @@ Phi-enabled styles.
 
 Supporting info: examples/accelerate, src/USER-INTEL/TEST
 
-"Section_accelerate"_Section_accelerate.html#acc_9
+"Section_accelerate"_Section_accelerate.html#acc_3
 
 Author: Mike Brown at Intel (michael.w.brown at intel.com).  Contact
 him directly if you have questions.
@@ -1592,7 +1592,7 @@ application itself.
 
 See this doc page to get started:
 
-"dump molfile"_dump_molfile.html#acc_5
+"dump molfile"_dump_molfile.html
 
 The person who created this package is Axel Kohlmeyer at Temple U
 (akohlmey at gmail.com).  Contact him directly if you have questions.
@@ -1609,7 +1609,7 @@ styles, and fix styles.
  
 See this section of the manual to get started:
 
-"Section_accelerate"_Section_accelerate.html#acc_5
+"Section_accelerate"_Section_accelerate.html#acc_3
 
 The person who created this package is Axel Kohlmeyer at Temple U
 (akohlmey at gmail.com).  Contact him directly if you have questions.
diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt
index c1b0e796b6ddc4a583b14077115a379d243b6dbf..0231fb33575925ec531f69ae33fa7c02313187d8 100644
--- a/doc/src/Section_start.txt
+++ b/doc/src/Section_start.txt
@@ -1353,7 +1353,7 @@ Note that the keywords do not use a leading minus sign.  I.e. the
 keyword is "t", not "-t".  Also note that each of the keywords has a
 default setting.  Example of when to use these options and what
 settings to use on different platforms is given in "Section
-5.8"_Section_accelerate.html#acc_8.
+5.8"_Section_accelerate.html#acc_3.
 
 d or device
 g or gpus
diff --git a/doc/src/accelerate_kokkos.txt b/doc/src/accelerate_kokkos.txt
index b69bf8a3d95da322ee1fc385c711e02eb43e1c19..a3d1c9efbdcfbc6350fddb78014e824a1b3040e5 100644
--- a/doc/src/accelerate_kokkos.txt
+++ b/doc/src/accelerate_kokkos.txt
@@ -246,7 +246,7 @@ used if running with KOKKOS_DEVICES=Pthreads for pthreads.  It is not
 necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP
 provides alternative methods via environment variables for binding
 threads to hardware cores.  More info on binding threads to cores is
-given in "this section"_Section_accelerate.html#acc_8.
+given in "this section"_Section_accelerate.html#acc_3.
 
 KOKKOS_ARCH=KNC enables compiler switches needed when compling for an
 Intel Phi processor.
diff --git a/doc/src/compute_damage_atom.txt b/doc/src/compute_damage_atom.txt
index 22be26b573c3d71e28c62c25c0a4884c67c2f2ce..ab76cf82de65c801d3aa86060db91f9df422f4ef 100644
--- a/doc/src/compute_damage_atom.txt
+++ b/doc/src/compute_damage_atom.txt
@@ -57,7 +57,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
-"compute dilatation"_compute_dilatation.html, "compute
-plasticity"_compute_plasticity.html
+"compute dilatation/atom"_compute_dilatation_atom.html,
+"compute plasticity/atom"_compute_plasticity_atom.html
 
 [Default:] none
diff --git a/doc/src/compute_dilatation_atom.txt b/doc/src/compute_dilatation_atom.txt
index 7d550e48f1ffe2514bbfcb8ac19b1028918670f4..0bd27184e377845e0f8f9520f9b8aa4b1524c3dd 100644
--- a/doc/src/compute_dilatation_atom.txt
+++ b/doc/src/compute_dilatation_atom.txt
@@ -60,7 +60,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
-"compute damage"_compute_damage.html, "compute
-plasticity"_compute_plasticity.html
+"compute damage/atom"_compute_damage_atom.html,
+"compute plasticity/atom"_compute_plasticity_atom.html
 
 [Default:] none 
diff --git a/doc/src/compute_erotate_rigid.txt b/doc/src/compute_erotate_rigid.txt
index 3044449faf0bfcc07fd7738aa26affcdb185c135..58f511a6241a4fd64211eefb9f596dd9fd67745c 100644
--- a/doc/src/compute_erotate_rigid.txt
+++ b/doc/src/compute_erotate_rigid.txt
@@ -56,6 +56,6 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
-"compute ke/rigid"_compute_erotate_ke_rigid.html
+"compute ke/rigid"_compute_ke_rigid.html
 
 [Default:] none
diff --git a/doc/src/compute_plasticity_atom.txt b/doc/src/compute_plasticity_atom.txt
index ebea299b263453ae85d538e0c5a6d81d77f52acd..5e6b86641f54e6dad49f098e81fa7b0e846c2342 100644
--- a/doc/src/compute_plasticity_atom.txt
+++ b/doc/src/compute_plasticity_atom.txt
@@ -54,8 +54,8 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
-"compute damage"_compute_damage.html, "compute
-dilatation"_compute_dilatation.html
+"compute damage/atom"_compute_damage_atom.html,
+"compute dilatation/atom"_compute_dilatation_atom.html
 
 [Default:] none 
 
diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt
index eb0b4c5b38f9dbc17870ff4a4acecf5eea775b20..88fe2bd005890bf80d8e21d7a8210ef2366c1940 100644
--- a/doc/src/compute_rdf.txt
+++ b/doc/src/compute_rdf.txt
@@ -110,7 +110,7 @@ to a file is to use the "fix ave/time"_fix_ave_time.html command, for
 example:
 
 compute myRDF all rdf 50
-fix 1 all ave/time 100 1 100 c_myRDF file tmp.rdf mode vector :pre
+fix 1 all ave/time 100 1 100 c_myRDF\[*\] file tmp.rdf mode vector :pre
 
 [Output info:]
 
diff --git a/doc/src/compute_reduce.txt b/doc/src/compute_reduce.txt
index 09ab48b12fc1d7fcd10dcf048e8a2232f4ac3160..b28f94d969731f54026f27c1fb57ffd9dd4ef08d 100644
--- a/doc/src/compute_reduce.txt
+++ b/doc/src/compute_reduce.txt
@@ -93,7 +93,7 @@ means all indices from m to n (inclusive).
 
 Using a wildcard is the same as if the individual columns of the array
 had been listed one by one.  E.g. these 2 compute reduce commands are
-equivalent, since the "compute stress/atom"_compute_stress/atom.html
+equivalent, since the "compute stress/atom"_compute_stress_atom.html
 command creates a per-atom array with 6 columns:
 
 compute myPress all stress/atom NULL
diff --git a/doc/src/compute_temp_deform_eff.txt b/doc/src/compute_temp_deform_eff.txt
index 199fa5fdc4a77827def221874a46ddcf89ee4965..d09a0ace2fbb449fd969dc63532402cfa2c3c06a 100644
--- a/doc/src/compute_temp_deform_eff.txt
+++ b/doc/src/compute_temp_deform_eff.txt
@@ -26,12 +26,12 @@ nuclei and electrons in the "electron force field"_pair_eff.html
 model, after subtracting out a streaming velocity induced by the
 simulation box changing size and/or shape, for example in a
 non-equilibrium MD (NEMD) simulation.  The size/shape change is
-induced by use of the "fix deform/eff"_fix_deform_eff.html command.  A
+induced by use of the "fix deform"_fix_deform.html command.  A
 compute of this style is created by the "fix
 nvt/sllod/eff"_fix_nvt_sllod_eff.html command to compute the thermal
 temperature of atoms for thermostatting purposes.  A compute of this
 style can also be used by any command that computes a temperature,
-e.g. "thermo_modify"_thermo_modify.html, "fix npt/eff"_fix_nh.html,
+e.g. "thermo_modify"_thermo_modify.html, "fix npt/eff"_fix_nh_eff.html,
 etc.
 
 The calculation performed by this compute is exactly like that
@@ -66,8 +66,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
-"compute temp/ramp"_compute_temp_ramp.html, "fix
-deform/eff"_fix_deform_eff.html, "fix
-nvt/sllod/eff"_fix_nvt_sllod_eff.html
+"compute temp/ramp"_compute_temp_ramp.html, "fix deform"_fix_deform.html,
+"fix nvt/sllod/eff"_fix_nvt_sllod_eff.html
 
 [Default:] none
diff --git a/doc/src/compute_temp_eff.txt b/doc/src/compute_temp_eff.txt
index a3629fef870e84dbc3b8cfa19878653a1c756273..905369fbfd301d17879d32fe95ff1747bf20b233 100644
--- a/doc/src/compute_temp_eff.txt
+++ b/doc/src/compute_temp_eff.txt
@@ -26,7 +26,7 @@ Define a computation that calculates the temperature of a group of
 nuclei and electrons in the "electron force field"_pair_eff.html
 model.  A compute of this style can be used by commands that compute a
 temperature, e.g. "thermo_modify"_thermo_modify.html, "fix
-npt/eff"_fix_npt_eff.html, etc.
+npt/eff"_fix_nh_eff.html, etc.
 
 The temperature is calculated by the formula KE = dim/2 N k T, where
 KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2 for
diff --git a/doc/src/dihedral_table.txt b/doc/src/dihedral_table.txt
index 2df3ad0b47d4e45b6f9775c3aa0134433636e5a7..bad6ad2c0dc766752833a02dc4ab54751e46fe47 100644
--- a/doc/src/dihedral_table.txt
+++ b/doc/src/dihedral_table.txt
@@ -195,7 +195,7 @@ more instructions on how to use the accelerated styles effectively.
 [Restrictions:]
 
 This dihedral style can only be used if LAMMPS was built with the
-USER-MISC package.  See the "Making LAMMPS"_Section_start.html#2_3
+USER-MISC package.  See the "Making LAMMPS"_Section_start.html#start_3
 section for more info on packages.
 
 [Related commands:]
diff --git a/doc/src/dump.txt b/doc/src/dump.txt
index 5b3508ed69631c3e22ccfe4f86559f9a93c697c5..ffeef1b0f63d38a749863ce1db8ad1ade5bfb155 100644
--- a/doc/src/dump.txt
+++ b/doc/src/dump.txt
@@ -441,7 +441,7 @@ from m to n (inclusive).
 
 Using a wildcard is the same as if the individual columns of the array
 had been listed one by one.  E.g. these 2 dump commands are
-equivalent, since the "compute stress/atom"_compute_stress/atom.html
+equivalent, since the "compute stress/atom"_compute_stress_atom.html
 command creates a per-atom array with 6 columns:
 
 compute myPress all stress/atom NULL
diff --git a/doc/src/dump_custom_vtk.txt b/doc/src/dump_custom_vtk.txt
index 7db9390200bdedc6ae6d3c200a68380c54dda5d3..c2408bab901e84930f66cd12d506dc4f9abb2edb 100644
--- a/doc/src/dump_custom_vtk.txt
+++ b/doc/src/dump_custom_vtk.txt
@@ -34,7 +34,7 @@ args = list of arguments for a particular style :l
       proc = ID of processor that owns atom
       procp1 = ID+1 of processor that owns atom
       type = atom type
-      element = name of atom element, as defined by "dump_modify"_dump_modify_vtk.html command
+      element = name of atom element, as defined by "dump_modify"_dump_modify.html command
       mass = atom mass
       x,y,z = unscaled atom coordinates
       xs,ys,zs = scaled atom coordinates
@@ -71,7 +71,7 @@ for the XML format; see the "VTK
 homepage"_http://www.vtk.org/VTK/img/file-formats.pdf for a detailed
 description of these formats.  Since this naming convention conflicts
 with the way binary output is usually specified (see below),
-"dump_modify binary"_dump_modify_vtk.html allows to set the binary
+"dump_modify binary"_dump_modify.html allows to set the binary
 flag for this dump style explicitly.
 
 [Description:]
@@ -81,10 +81,10 @@ timesteps in a format readable by the "VTK visualization
 toolkit"_http://www.vtk.org or other visualization tools that use it,
 e.g. "ParaView"_http://www.paraview.org.  The timesteps on which dump
 output is written can also be controlled by a variable; see the
-"dump_modify every"_dump_modify_vtk.html command for details.
+"dump_modify every"_dump_modify.html command for details.
 
 Only information for atoms in the specified group is dumped.  The
-"dump_modify thresh and region"_dump_modify_vtk.html commands can also
+"dump_modify thresh and region"_dump_modify.html commands can also
 alter what atoms are included; see details below.
 
 As described below, special characters ("*", "%") in the filename
@@ -95,7 +95,7 @@ on timesteps when neighbor lists are rebuilt, the coordinates of an
 atom written to a dump file may be slightly outside the simulation
 box.
 
-IMPORTANT NOTE: Unless the "dump_modify sort"_dump_modify_vtk.html
+IMPORTANT NOTE: Unless the "dump_modify sort"_dump_modify.html
 option is invoked, the lines of atom information written to dump files
 will be in an indeterminate order for each snapshot.  This is even
 true when running on a single processor, if the "atom_modify
@@ -106,7 +106,7 @@ data for a single snapshot is collected from multiple processors, each
 of which owns a subset of the atoms.
 
 For the {custom/vtk} style, sorting is off by default. See the
-"dump_modify"_dump_modify_vtk.html doc page for details.
+"dump_modify"_dump_modify.html doc page for details.
 
 :line
 
@@ -148,21 +148,21 @@ timestep 0) and on the last timestep of a minimization if the
 minimization converges.  Note that this means a dump will not be
 performed on the initial timestep after the dump command is invoked,
 if the current timestep is not a multiple of N.  This behavior can be
-changed via the "dump_modify first"_dump_modify_vtk.html command, which
+changed via the "dump_modify first"_dump_modify.html command, which
 can also be useful if the dump command is invoked after a minimization
 ended on an arbitrary timestep.  N can be changed between runs by
-using the "dump_modify every"_dump_modify_vtk.html command.
-The "dump_modify every"_dump_modify_vtk.html command
+using the "dump_modify every"_dump_modify.html command.
+The "dump_modify every"_dump_modify.html command
 also allows a variable to be used to determine the sequence of
 timesteps on which dump files are written.  In this mode a dump on the
 first timestep of a run will also not be written unless the
-"dump_modify first"_dump_modify_vtk.html command is used.
+"dump_modify first"_dump_modify.html command is used.
 
 Dump filenames can contain two wildcard characters.  If a "*"
 character appears in the filename, then one file per snapshot is
 written and the "*" character is replaced with the timestep value.
 For example, tmp.dump*.vtk becomes tmp.dump0.vtk, tmp.dump10000.vtk,
-tmp.dump20000.vtk, etc.  Note that the "dump_modify pad"_dump_modify_vtk.html
+tmp.dump20000.vtk, etc.  Note that the "dump_modify pad"_dump_modify.html
 command can be used to insure all timestep numbers are the same length
 (e.g. 00010), which can make it easier to read a series of dump files
 in order with some post-processing tools.
@@ -176,7 +176,7 @@ mode of output on parallel machines that support parallel I/O for output.
 
 By default, P = the number of processors meaning one file per
 processor, but P can be set to a smaller value via the {nfile} or
-{fileper} keywords of the "dump_modify"_dump_modify_vtk.html command.
+{fileper} keywords of the "dump_modify"_dump_modify.html command.
 These options can be the most efficient way of writing out dump files
 when running on large numbers of processors.
 
@@ -202,7 +202,7 @@ The {id}, {mol}, {proc}, {procp1}, {type}, {element}, {mass}, {vx},
 {id} is the atom ID.  {mol} is the molecule ID, included in the data
 file for molecular systems.  {type} is the atom type.  {element} is
 typically the chemical name of an element, which you must assign to
-each type via the "dump_modify element"_dump_modify_vtk.html command.
+each type via the "dump_modify element"_dump_modify.html command.
 More generally, it can be any string you wish to associate with an
 atom type.  {mass} is the atom mass.  {vx}, {vy}, {vz}, {fx}, {fy},
 {fz}, and {q} are components of atom velocity and force and atomic
diff --git a/doc/src/fix_ave_chunk.txt b/doc/src/fix_ave_chunk.txt
index 796cf5e331a4dfaf9b762384276830a47cc4ade7..d02fa17e10bae3672507ad7f8a40f5f02f177f00 100644
--- a/doc/src/fix_ave_chunk.txt
+++ b/doc/src/fix_ave_chunk.txt
@@ -141,7 +141,7 @@ means all indices from m to n (inclusive).
 Using a wildcard is the same as if the individual columns of the array
 had been listed one by one.  E.g. these 2 fix ave/chunk commands are
 equivalent, since the "compute
-property/atom"_compute_property/atom.html command creates, in this
+property/atom"_compute_property_atom.html command creates, in this
 case, a per-atom array with 3 columns:
 
 compute myAng all property/atom angmomx angmomy angmomz
@@ -150,7 +150,7 @@ fix 2 all ave/chunk 100 1 100 cc1 c_myAng\[1\] c_myAng\[2\] c_myAng\[3\] file tm
 
 NOTE: This fix works by creating an array of size {Nchunk} by Nvalues
 on each processor.  {Nchunk} is the number of chunks which is defined
-by the "compute chunk/atom"_doc/compute_chunk_atom.html command.
+by the "compute chunk/atom"_compute_chunk_atom.html command.
 Nvalues is the number of input values specified.  Each processor loops
 over its atoms, tallying its values to the appropriate chunk.  Then
 the entire array is summed across all processors.  This means that
diff --git a/doc/src/fix_bond_create.txt b/doc/src/fix_bond_create.txt
index dac50154d0a8139460063aecace59ab598310e62..85cef5071a2f86a3c536b561c31c00e3bed2b3ed 100755
--- a/doc/src/fix_bond_create.txt
+++ b/doc/src/fix_bond_create.txt
@@ -122,7 +122,7 @@ become one moleclue due to the created bond, all atoms in the new
 moleclue retain their original molecule IDs.
 
 If the {atype} keyword is used and if an angle potential is defined
-via the "angle_style"_angle.html command, then any new 3-body
+via the "angle_style"_angle_style.html command, then any new 3-body
 interactions inferred by the creation of a bond will create new angles
 of type {angletype}, with parameters assigned by the corresponding
 "angle_coeff"_angle_coeff.html command.  Likewise, the {dtype} and
diff --git a/doc/src/fix_deform.txt b/doc/src/fix_deform.txt
index 2f8644066454f76d655f527f6381c7fbd8fd132e..6b3118b74f4a05805d222fd09d894a78c02f9f36 100644
--- a/doc/src/fix_deform.txt
+++ b/doc/src/fix_deform.txt
@@ -487,7 +487,7 @@ NOTE: For non-equilibrium MD (NEMD) simulations using "remap v" it is
 usually desirable that the fluid (or flowing material, e.g. granular
 particles) stream with a velocity profile consistent with the
 deforming box.  As mentioned above, using a thermostat such as "fix
-nvt/sllod"_fix_nvt_sllod.html or "fix lavgevin"_doc/fix_langevin.html
+nvt/sllod"_fix_nvt_sllod.html or "fix lavgevin"_fix_langevin.html
 (with a bias provided by "compute
 temp/deform"_compute_temp_deform.html), will typically accomplish
 that.  If you do not use a thermostat, then there is no driving force
diff --git a/doc/src/fix_deposit.txt b/doc/src/fix_deposit.txt
index ab8674c90e0270f242794cf805af49874ba82a2c..ea9c5643ddde69a1e23ef55f5e013b0199200463 100644
--- a/doc/src/fix_deposit.txt
+++ b/doc/src/fix_deposit.txt
@@ -147,7 +147,7 @@ the list of relative probabilities.  The N values must sum to 1.0.
 
 If you wish to insert molecules via the {mol} keyword, that will be
 treated as rigid bodies, use the {rigid} keyword, specifying as its
-value the ID of a separate "fix rigid/small"_fix_rigid_small.html
+value the ID of a separate "fix rigid/small"_fix_rigid.html
 command which also appears in your input script.
 
 If you wish to insert molecules via the {mol} keyword, that will have
diff --git a/doc/src/fix_ehex.txt b/doc/src/fix_ehex.txt
index f726bd984bc1b5559f7188195ece95d6e5d4cb57..df3ab4c68708f8aa33ed86a6127117f7b5760c6b 100644
--- a/doc/src/fix_ehex.txt
+++ b/doc/src/fix_ehex.txt
@@ -111,7 +111,7 @@ the keyword {hex} is specified.
 [Compatibility with SHAKE and RATTLE (rigid molecules)]:
 
 This fix is compatible with "fix shake"_fix_shake.html and "fix
-rattle"_fix_rattle.html. If either of these constraining algorithms is
+rattle"_fix_shake.html. If either of these constraining algorithms is
 specified in the input script and the keyword {constrain} is set, the
 bond distances will be corrected a second time at the end of the
 integration step.  It is recommended to specify the keyword {com} in
@@ -124,7 +124,7 @@ rescaling takes place if the centre of mass lies outside the region.
 NOTE: You can only use the keyword {com} along with {constrain}.
 
 To achieve the highest accuracy it is recommended to use "fix
-rattle"_fix_rattle.html with the keywords {constrain} and {com} as
+rattle"_fix_shake.html with the keywords {constrain} and {com} as
 shown in the second example. Only if RATTLE is employed, the velocity
 constraints will be satisfied.
 
diff --git a/doc/src/fix_eos_table.txt b/doc/src/fix_eos_table.txt
index b6b7daacaddca0960e1c0c9ce11a6894482aa752..e606f58a863f96870d17d8d2ff992bb51932c381 100644
--- a/doc/src/fix_eos_table.txt
+++ b/doc/src/fix_eos_table.txt
@@ -71,7 +71,7 @@ initial text must match the argument specified in the fix command.
 The next line lists the number of table entries.  The parameter "N" is
 required and its value is the number of table entries that follow.
 Note that this may be different than the {N} specified in the "fix
-eos/table"_fix_style.html command.  Let Ntable = {N} in the fix
+eos/table"_fix_eos_table.html command.  Let Ntable = {N} in the fix
 command, and Nfile = "N" in the tabulated file.  What LAMMPS does is a
 preliminary interpolation by creating splines using the Nfile
 tabulated values as nodal points.  It uses these to interpolate as
@@ -112,6 +112,6 @@ are not within the table cutoffs.
 
 [Related commands:]
 
-"fix shardlow"_fix_shardlow.html, "pair dpd/fdt"_dpd_fdt.html
+"fix shardlow"_fix_shardlow.html, "pair dpd/fdt"_pair_dpd_fdt.html
 
 [Default:] none
diff --git a/doc/src/fix_eos_table_rx.txt b/doc/src/fix_eos_table_rx.txt
index 9c97151202dae6815f435fca54b8d9b9f87b7fc8..d87449c4c7ead4ca28a203a0561c946d8579f6c9 100644
--- a/doc/src/fix_eos_table_rx.txt
+++ b/doc/src/fix_eos_table_rx.txt
@@ -135,7 +135,7 @@ are not within the table cutoffs.
 [Related commands:]
 
 "fix rx"_fix_rx.html,
-"pair dpd/fdt"_dpd_fdt.html
+"pair dpd/fdt"_pair_dpd_fdt.html
 
 [Default:] none
 
diff --git a/doc/src/fix_lb_momentum.txt b/doc/src/fix_lb_momentum.txt
index 9e31bea784b1c09eb69d5febed64244a2502348f..be2f77543f442b7feb4249c94508ee6b5da71b85 100755
--- a/doc/src/fix_lb_momentum.txt
+++ b/doc/src/fix_lb_momentum.txt
@@ -50,7 +50,7 @@ No information about this fix is written to "binary restart
 files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.  No global or per-atom quantities are stored
 by this fix for access by various "output
-commands"_Section_howto.html#4_15.  No parameter of this fix can be
+commands"_Section_howto.html#howto_15.  No parameter of this fix can be
 used with the {start/stop} keywords of the "run"_run.html command.
 This fix is not invoked during "energy minimization"_minimize.html.
 
diff --git a/doc/src/fix_lb_pc.txt b/doc/src/fix_lb_pc.txt
index fe8f03af808f11996d4f502461a84dc614343d43..81b2c4a28496cb83bae3e5a5042b39ce4af5f8b7 100755
--- a/doc/src/fix_lb_pc.txt
+++ b/doc/src/fix_lb_pc.txt
@@ -35,7 +35,7 @@ No information about this fix is written to "binary restart
 files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.  No global or per-atom quantities are stored
 by this fix for access by various "output
-commands"_Section_howto.html#4_15.  No parameter of this fix can be
+commands"_Section_howto.html#howto_15.  No parameter of this fix can be
 used with the {start/stop} keywords of the "run"_run.html command.
 This fix is not invoked during "energy minimization"_minimize.html.
 
diff --git a/doc/src/fix_nh_eff.txt b/doc/src/fix_nh_eff.txt
index 817d5786e8d4416a2279859dc85788f79551efbe..d90ce52caa8b7220d65a588ee5529c5d54b3f31c 100644
--- a/doc/src/fix_nh_eff.txt
+++ b/doc/src/fix_nh_eff.txt
@@ -75,7 +75,7 @@ doc page), are performed with computes that include the eFF contribution
 to the temperature or kinetic energy from the electron radial velocity.
 
 NOTE: there are two different pressures that can be reported for eFF
-when defining the pair_style (see "pair eff/cut"_pair_eff_cut.html to
+when defining the pair_style (see "pair eff/cut"_pair_eff.html to
 understand these settings), one (default) that considers electrons do
 not contribute radial virial components (i.e. electrons treated as
 incompressible 'rigid' spheres) and one that does.  The radial
diff --git a/doc/src/fix_phonon.txt b/doc/src/fix_phonon.txt
index 2d3baacb58775930579af11fad9ffe7c0789dacd..46f8f57c3383e2afa7f7216843b6a3857b398fd5 100644
--- a/doc/src/fix_phonon.txt
+++ b/doc/src/fix_phonon.txt
@@ -148,7 +148,7 @@ fix. You can use it to change the temperature compute from thermo_temp
 to the one that reflects the true temperature of atoms in the group.
 
 No global scalar or vector or per-atom quantities are stored by this
-fix for access by various "output commands"_Section_howto.html#4_15.
+fix for access by various "output commands"_Section_howto.html#howto_15.
 
 Instead, this fix outputs its initialization information (including
 mapping information) and the calculated dynamical matrices to the file
diff --git a/doc/src/fix_pour.txt b/doc/src/fix_pour.txt
index cd1b1d685371bafc1a6e72efb6f6bc9702be8ab2..6d5ed3ac0602fedb2ae546009d83116f5274db35 100644
--- a/doc/src/fix_pour.txt
+++ b/doc/src/fix_pour.txt
@@ -114,7 +114,7 @@ the list of relative probabilities.  The N values must sum to 1.0.
 
 If you wish to insert molecules via the {mol} keyword, that will be
 treated as rigid bodies, use the {rigid} keyword, specifying as its
-value the ID of a separate "fix rigid/small"_fix_rigid_small.html
+value the ID of a separate "fix rigid/small"_fix_rigid.html
 command which also appears in your input script.
 
 If you wish to insert molecules via the {mol} keyword, that will have
diff --git a/doc/src/fix_reax_bonds.txt b/doc/src/fix_reax_bonds.txt
index cc8966db6fa48a39e26c09c52182110dd9c5ee35..a0396ce210545baa5f1db3f6b5d9e86252763fd4 100644
--- a/doc/src/fix_reax_bonds.txt
+++ b/doc/src/fix_reax_bonds.txt
@@ -31,7 +31,7 @@ reax/c"_pair_reax_c.html in the exact same format as the original
 stand-alone ReaxFF code of Adri van Duin.  The bond information is
 written to {filename} on timesteps that are multiples of {Nevery},
 including timestep 0.  For time-averaged chemical species analysis,
-please see the "fix species"_fix_species.html command.
+please see the "fix reaxc/c/species"_fix_reaxc_species.html command.
 
 The format of the output file should be self-explantory.
 
diff --git a/doc/src/fix_rx.txt b/doc/src/fix_rx.txt
index 8180294a916b4b90bbf99d9a8db8b089c4f1ef95..97ffd89c65e3d794912fce9b9b01a30582c476a7 100644
--- a/doc/src/fix_rx.txt
+++ b/doc/src/fix_rx.txt
@@ -198,6 +198,6 @@ enthalpy DPD simulation.
 
 "fix eos/table/rx"_fix_eos_table_rx.html,
 "fix shardlow"_fix_shardlow.html,
-"pair dpd/fdt/energy"_dpd_fdt_energy.html
+"pair dpd/fdt/energy"_pair_dpd_fdt.html
 
 [Default:] none
diff --git a/doc/src/fix_shardlow.txt b/doc/src/fix_shardlow.txt
index 485f0a4b6fb7a7e5c37cb584b87961f391504cf1..21de9a9e0b37b16c56f7332210032af4d9360d1f 100644
--- a/doc/src/fix_shardlow.txt
+++ b/doc/src/fix_shardlow.txt
@@ -26,7 +26,7 @@ integrate the DPD equations of motion.  The SSA splits the integration
 into a stochastic and deterministic integration step.  The fix
 {shardlow} performs the stochastic integration step and must be used
 in conjunction with a deterministic integrator (e.g. "fix
-nve"_fix_nve.html or "fix nph"_fix_nph.html).  The stochastic
+nve"_fix_nve.html or "fix nph"_fix_nh.html).  The stochastic
 integration of the dissipative and random forces is performed prior to
 the deterministic integration of the conservative force. Further
 details regarding the method are provided in "(Lisal)"_#Lisal and
diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt
index 01ec79e71e48b99c73d1880bd72848df786d247f..aa23cc3fc3acf5f8205222c0f161cb3ce91faf58 100644
--- a/doc/src/fix_smd.txt
+++ b/doc/src/fix_smd.txt
@@ -138,14 +138,14 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 
 :line
 
-:link(Israilev)
+:link(Izrailev)
 [(Izrailev)] Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar,
 Wriggers, Schulten. Computational Molecular Dynamics: Challenges,
 Methods, Ideas, volume 4 of Lecture Notes in Computational Science and
 Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998.
 
-[(Park)]
-Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)
+:link(Park)
+[(Park)] Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)
 
-[(Jarzynski)]
-Jarzynski, Phys. Rev. Lett. 78, 2690 (1997)
+:link(Jarzynski)
+[(Jarzynski)] Jarzynski, Phys. Rev. Lett. 78, 2690 (1997)
diff --git a/doc/src/fix_wall_piston.txt b/doc/src/fix_wall_piston.txt
index 347d1edc589627cb3edf7d8c52fc1d61aabb5de8..5595c0195f7dccbcc07bea7a9c02caa0b2e9f2d3 100644
--- a/doc/src/fix_wall_piston.txt
+++ b/doc/src/fix_wall_piston.txt
@@ -92,7 +92,7 @@ No information about this fix is written to "binary restart
 files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.  No global or per-atom quantities are stored
 by this fix for access by various "output
-commands"_Section_howto.html#howoto_15.  No parameter of this fix can
+commands"_Section_howto.html#howto_15.  No parameter of this fix can
 be used with the {start/stop} keywords of the "run"_run.html command.
 This fix is not invoked during "energy minimization"_minimize.html.
 
diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt
index bbe449d9d24a90c6360a038284523606579b47f0..c8375c5daac6993a2272aa1f7d567009fcbb43b6 100644
--- a/doc/src/kspace_style.txt
+++ b/doc/src/kspace_style.txt
@@ -76,7 +76,7 @@ interacts with charges in an infinite array of periodic images of the
 simulation domain.
 
 Note that using a long-range solver requires use of a matching "pair
-style"_pair.html to perform consistent short-range pairwise
+style"_pair_style.html to perform consistent short-range pairwise
 calculations.  This means that the name of the pair style contains a
 matching keyword to the name of the KSpace style, as in this table:
 
diff --git a/doc/src/molecule.txt b/doc/src/molecule.txt
index 05971b5ddcbd7ef6751d05c3fb432e15a0958384..7b8c14fdad879a7e43f1f9d495f5b1265872cd68 100644
--- a/doc/src/molecule.txt
+++ b/doc/src/molecule.txt
@@ -184,7 +184,7 @@ NOTE: Whether a section is required depends on how the molecule
 template is used by other LAMMPS commands.  For example, to add a
 molecule via the "fix deposit"_fix_deposit.html command, the Coords
 and Types sections are required.  To add a rigid body via the "fix
-pour"_fix_pout.html command, the Bonds (Angles, etc) sections are not
+pour"_fix_pour.html command, the Bonds (Angles, etc) sections are not
 required, since the molecule will be treated as a rigid body.  Some
 sections are optional.  For example, the "fix pour"_fix_pour.html
 command can be used to add "molecules" which are clusters of
diff --git a/doc/src/neighbor.txt b/doc/src/neighbor.txt
index b73b893cb20603a6d9a762247c2b9bbe8785b2e3..7b8f499ba897868c9118739bdb6cb32984afbfc0 100644
--- a/doc/src/neighbor.txt
+++ b/doc/src/neighbor.txt
@@ -73,7 +73,7 @@ section"_Section_start.html#start_8 for details.
 [Related commands:]
 
 "neigh_modify"_neigh_modify.html, "units"_units.html,
-"comm_modify"_cmom_modify.html
+"comm_modify"_comm_modify.html
 
 [Default:]
 
diff --git a/doc/src/pair_brownian.txt b/doc/src/pair_brownian.txt
index 2bbff42b9b985f30406888df44d11678a6cdc5a2..33eed7762992575a98b2ce703d2854e98d696242 100644
--- a/doc/src/pair_brownian.txt
+++ b/doc/src/pair_brownian.txt
@@ -123,7 +123,7 @@ This pair style can only be used via the {pair} keyword of the
 
 These styles are part of the COLLOID package.  They are only enabled
 if LAMMPS was built with that package.  See the "Making
-LAMMPS"_Section_start.html#2_3 section for more info.
+LAMMPS"_Section_start.html#start_3 section for more info.
 
 Only spherical monodisperse particles are allowed for pair_style
 brownian.
diff --git a/doc/src/pair_dipole.txt b/doc/src/pair_dipole.txt
index f8f5dbf87f8066afa46a79688558fa89a3a9adbc..be6608d57b9e6a5ea49849e141a79fd957250288 100755
--- a/doc/src/pair_dipole.txt
+++ b/doc/src/pair_dipole.txt
@@ -138,19 +138,18 @@ dipole interactions.  The long-range portion is calculated by using
 computed at all.
 
 Atoms with dipole moments should be integrated using the "fix
-nve/sphere update dipole"_fix_nve_sphere.html command to rotate the
+nve/sphere update dipole"_fix_nve_sphere.html or the "fix
+nvt/sphere update dipole"_fix_nvt_sphere.html command to rotate the
 dipole moments.  The {omega} option on the "fix
 langevin"_fix_langevin.html command can be used to thermostat the
 rotational motion.  The "compute temp/sphere"_compute_temp_sphere.html
 command can be used to monitor the temperature, since it includes
 rotational degrees of freedom.  The "atom_style
-dipole"_atom_style.html command should be used since it defines the
-point dipoles and their rotational state.  The magnitude of the dipole
-moment for each type of particle can be defined by the
-"dipole"_dipole.html command or in the "Dipoles" section of the data
-file read in by the "read_data"_read_data.html command.  Their initial
-orientation can be defined by the "set dipole"_set.html command or in
-the "Atoms" section of the data file.
+hybrid dipole sphere"_atom_style.html command should be used since
+it defines the point dipoles and their rotational state.
+The magnitude and orientation of the dipole moment for each particle
+can be defined by the "set"_set.html command or in the "Atoms" section
+of the data file read in by the "read_data"_read_data.html command.
 
 The following coefficients must be defined for each pair of atoms
 types via the "pair_coeff"_pair_coeff.html command as in the examples
@@ -242,7 +241,8 @@ currently supported.
 
 [Related commands:]
 
-"pair_coeff"_pair_coeff.html
+"pair_coeff"_pair_coeff.html, "set"_set.html, "read_data"_read_data.html,
+"fix nve/sphere"_fix_nve_sphere.html, "fix nvt/sphere"_fix_nvt_sphere.html
 
 [Default:] none
 
diff --git a/doc/src/pair_dpd_fdt.txt b/doc/src/pair_dpd_fdt.txt
index 07d5f3d5bbc767839a44bdbb35309a0e47ae626a..ca1baeabe2e5e3858908e7decf581946a273714b 100644
--- a/doc/src/pair_dpd_fdt.txt
+++ b/doc/src/pair_dpd_fdt.txt
@@ -115,7 +115,7 @@ enabled if LAMMPS was built with that package.  See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 Pair styles {dpd/fdt} and {dpd/fdt/energy} require use of the
-"communicate vel yes"_communicate.html option so that velocites are
+"comm_modify vel yes"_comm_modify.html option so that velocites are
 stored by ghost atoms.
 
 Pair style {dpd/fdt/energy} requires "atom_style dpd"_atom_style.html
diff --git a/doc/src/pair_gayberne.txt b/doc/src/pair_gayberne.txt
index 109f578549705ca881bd91b104068a2f9b9fbe50..037e5c47e5791089b0e07944c215830125b896a9 100755
--- a/doc/src/pair_gayberne.txt
+++ b/doc/src/pair_gayberne.txt
@@ -191,7 +191,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
 These pair style require that atoms store torque and a quaternion to
 represent their orientation, as defined by the
 "atom_style"_atom_style.html.  It also require they store a per-type
-"shape"_shape.html.  The particles cannot store a per-particle
+"shape"_set.html.  The particles cannot store a per-particle
 diameter.
 
 This pair style requires that atoms be ellipsoids as defined by the
diff --git a/doc/src/pair_line_lj.txt b/doc/src/pair_line_lj.txt
index 3e91e97c2d07dd329378659639191d7d24543fd2..85bb3664fa12f033f89937867b8af90cf8929a45 100644
--- a/doc/src/pair_line_lj.txt
+++ b/doc/src/pair_line_lj.txt
@@ -131,7 +131,7 @@ This pair style can only be used via the {pair} keyword of the
 
 This style is part of the ASPHERE package.  It is only enabled if
 LAMMPS was built with that package.  See the "Making
-LAMMPS"_Section_start.html#2_3 section for more info.
+LAMMPS"_Section_start.html#start_3 section for more info.
 
 Defining particles to be line segments so they participate in
 line/line or line/particle interactions requires the use the
diff --git a/doc/src/pair_thole.txt b/doc/src/pair_thole.txt
index af1dffc1a64be8fa06f471d6349daa70027d5f4a..ab3b832ad6aa47e369306799f7ab24fd7c0834d4 100644
--- a/doc/src/pair_thole.txt
+++ b/doc/src/pair_thole.txt
@@ -60,7 +60,7 @@ it also allows for mixing pair coefficients instead of listing them all.
 The {lj/cut/thole/long} pair style is also a bit faster because it avoids an
 overlay and can benefit from OMP acceleration. Moreover, it uses a more
 precise approximation of the direct Coulomb interaction at short range similar
-to "coul/long/cs"_pair_coul_long_cs.html, which stabilizes the temperature of
+to "coul/long/cs"_pair_cs.html, which stabilizes the temperature of
 Drude particles.
 
 The {thole} pair styles compute the Coulomb interaction damped at
diff --git a/doc/src/pair_tri_lj.txt b/doc/src/pair_tri_lj.txt
index cfc64c52fd40a1a98dec6e31eeb931ca3a7894e1..e4eed927f51eab4c4deb016662dc0600f7887e30 100644
--- a/doc/src/pair_tri_lj.txt
+++ b/doc/src/pair_tri_lj.txt
@@ -102,7 +102,7 @@ This pair style can only be used via the {pair} keyword of the
 
 This style is part of the ASPHERE package.  It is only enabled if
 LAMMPS was built with that package.  See the "Making
-LAMMPS"_Section_start.html#2_3 section for more info.
+LAMMPS"_Section_start.html#start_3 section for more info.
 
 Defining particles to be triangles so they participate in tri/tri or
 tri/particle interactions requires the use the "atom_style
diff --git a/doc/src/python.txt b/doc/src/python.txt
index 2c1e6c0b30399c47d055eda497875853ac8b9b4e..2ec2fdcfca9f6e5a122f7a1f6c9b2184757ed781 100644
--- a/doc/src/python.txt
+++ b/doc/src/python.txt
@@ -460,7 +460,7 @@ your Python function must be able to to load the Python module in
 python/lammps.py that wraps the LAMMPS library interface.  These are
 the same steps required to use Python by itself to wrap LAMMPS.
 Details on these steps are explained in "Section
-python"_Section.python.html.  Note that it is important that the
+python"_Section_python.html.  Note that it is important that the
 stand-alone LAMMPS executable and the LAMMPS shared library be
 consistent (built from the same source code files) in order for this
 to work.  If the two have been built at different times using
diff --git a/doc/src/rerun.txt b/doc/src/rerun.txt
index bd331f2d7ea0863a57400e1ddfda33a7500b8f63..c623d4bebc055b349b8b8c3cfe535571fe8b847d 100644
--- a/doc/src/rerun.txt
+++ b/doc/src/rerun.txt
@@ -53,7 +53,7 @@ Compute the energy and forces of snaphots using a different potential.
 Calculate one or more diagnostic quantities on the snapshots that
 weren't computed in the initial run.  These can also be computed with
 settings not used in the initial run, e.g. computing an RDF via the
-"compute rdf"_compute.rdf.html command with a longer cutoff than was
+"compute rdf"_compute_rdf.html command with a longer cutoff than was
 used initially. :l
 
 Calculate the portion of per-atom forces resulting from a subset of
diff --git a/doc/src/variable.txt b/doc/src/variable.txt
index b928160d577165a3ea464d44de309a3ea5e8f7f5..9f40beacb46b86f4e7691e13a7cf72a310c1c152 100644
--- a/doc/src/variable.txt
+++ b/doc/src/variable.txt
@@ -1108,7 +1108,7 @@ with a leading $ sign (e.g. $x or $\{abc\}) versus with a leading "v_"
 command, including a variable command.  The input script parser
 evaluates the reference variable immediately and substitutes its value
 into the command.  As explained in "Section commands
-3.2"_Section_commands.html#3_2 for "Parsing rules", you can also use
+3.2"_Section_commands.html#cmd_2 for "Parsing rules", you can also use
 un-named "immediate" variables for this purpose.  For example, a
 string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script
 command evaluates the string between the parenthesis as an equal-style
diff --git a/src/KOKKOS/pair_eam_kokkos.cpp b/src/KOKKOS/pair_eam_kokkos.cpp
index 37a26145e0773b06a51008a8e8edcd9b1427fde8..d91da280ac6491b933f9c9f21fa75d95c1d717e5 100755
--- a/src/KOKKOS/pair_eam_kokkos.cpp
+++ b/src/KOKKOS/pair_eam_kokkos.cpp
@@ -340,81 +340,64 @@ void PairEAMKokkos<DeviceType>::array2spline()
   rdr = 1.0/dr;
   rdrho = 1.0/drho;
 
-  tdual_ffloat4 k_frho_spline_a = tdual_ffloat4("pair:frho_a",nfrho,nrho+1);
-  tdual_ffloat4 k_rhor_spline_a = tdual_ffloat4("pair:rhor_a",nrhor,nr+1);
-  tdual_ffloat4 k_z2r_spline_a = tdual_ffloat4("pair:z2r_a",nz2r,nr+1);
-  tdual_ffloat4 k_frho_spline_b = tdual_ffloat4("pair:frho_b",nfrho,nrho+1);
-  tdual_ffloat4 k_rhor_spline_b = tdual_ffloat4("pair:rhor_b",nrhor,nr+1);
-  tdual_ffloat4 k_z2r_spline_b = tdual_ffloat4("pair:z2r_b",nz2r,nr+1);
-
-  t_host_ffloat4 h_frho_spline_a = k_frho_spline_a.h_view;
-  t_host_ffloat4 h_rhor_spline_a = k_rhor_spline_a.h_view;
-  t_host_ffloat4 h_z2r_spline_a =  k_z2r_spline_a.h_view;
-  t_host_ffloat4 h_frho_spline_b = k_frho_spline_b.h_view;
-  t_host_ffloat4 h_rhor_spline_b = k_rhor_spline_b.h_view;
-  t_host_ffloat4 h_z2r_spline_b =  k_z2r_spline_b.h_view;
+  tdual_ffloat_2d_n7 k_frho_spline = tdual_ffloat_2d_n7("pair:frho",nfrho,nrho+1);
+  tdual_ffloat_2d_n7 k_rhor_spline = tdual_ffloat_2d_n7("pair:rhor",nrhor,nr+1);
+  tdual_ffloat_2d_n7 k_z2r_spline = tdual_ffloat_2d_n7("pair:z2r",nz2r,nr+1);
+
+  t_host_ffloat_2d_n7 h_frho_spline = k_frho_spline.h_view;
+  t_host_ffloat_2d_n7 h_rhor_spline = k_rhor_spline.h_view;
+  t_host_ffloat_2d_n7 h_z2r_spline = k_z2r_spline.h_view;
 
   for (int i = 0; i < nfrho; i++)
-    interpolate(nrho,drho,frho[i],h_frho_spline_a,h_frho_spline_b,i);
-  k_frho_spline_a.template modify<LMPHostType>();
-  k_frho_spline_a.template sync<DeviceType>();
-  k_frho_spline_b.template modify<LMPHostType>();
-  k_frho_spline_b.template sync<DeviceType>();
+    interpolate(nrho,drho,frho[i],h_frho_spline,i);
+  k_frho_spline.template modify<LMPHostType>();
+  k_frho_spline.template sync<DeviceType>();
 
   for (int i = 0; i < nrhor; i++)
-    interpolate(nr,dr,rhor[i],h_rhor_spline_a,h_rhor_spline_b,i);
-  k_rhor_spline_a.template modify<LMPHostType>();
-  k_rhor_spline_a.template sync<DeviceType>();
-  k_rhor_spline_b.template modify<LMPHostType>();
-  k_rhor_spline_b.template sync<DeviceType>();
+    interpolate(nr,dr,rhor[i],h_rhor_spline,i);
+  k_rhor_spline.template modify<LMPHostType>();
+  k_rhor_spline.template sync<DeviceType>();
 
   for (int i = 0; i < nz2r; i++)
-    interpolate(nr,dr,z2r[i],h_z2r_spline_a,h_z2r_spline_b,i);
-  k_z2r_spline_a.template modify<LMPHostType>();
-  k_z2r_spline_a.template sync<DeviceType>();
-  k_z2r_spline_b.template modify<LMPHostType>();
-  k_z2r_spline_b.template sync<DeviceType>();
-
-  d_frho_spline_a = k_frho_spline_a.d_view;
-  d_rhor_spline_a = k_rhor_spline_a.d_view;
-  d_z2r_spline_a = k_z2r_spline_a.d_view;
-  d_frho_spline_b = k_frho_spline_b.d_view;
-  d_rhor_spline_b = k_rhor_spline_b.d_view;
-  d_z2r_spline_b = k_z2r_spline_b.d_view;
-
+    interpolate(nr,dr,z2r[i],h_z2r_spline,i);
+  k_z2r_spline.template modify<LMPHostType>();
+  k_z2r_spline.template sync<DeviceType>();
 
+  d_frho_spline = k_frho_spline.d_view;
+  d_rhor_spline = k_rhor_spline.d_view;
+  d_z2r_spline = k_z2r_spline.d_view;
 }
 
 /* ---------------------------------------------------------------------- */
 
 template<class DeviceType>
-void PairEAMKokkos<DeviceType>::interpolate(int n, double delta, double *f, t_host_ffloat4 h_spline_a, t_host_ffloat4 h_spline_b, int i)
+void PairEAMKokkos<DeviceType>::interpolate(int n, double delta, double *f, t_host_ffloat_2d_n7 h_spline, int i)
 {
-  for (int m = 1; m <= n; m++) h_spline_b(i,m).w = f[m];
+  for (int m = 1; m <= n; m++) h_spline(i,m,6) = f[m];
 
-  h_spline_b(i,1).z = h_spline_b(i,2).w - h_spline_b(i,1).w;
-  h_spline_b(i,2).z = 0.5 * (h_spline_b(i,3).w-h_spline_b(i,1).w);
-  h_spline_b(i,n-1).z = 0.5 * (h_spline_b(i,n).w-h_spline_b(i,n-2).w);
-  h_spline_b(i,n).z = h_spline_b(i,n).w - h_spline_b(i,n-1).w;
+  h_spline(i,1,5) = h_spline(i,2,6) - h_spline(i,1,6);
+  h_spline(i,2,5) = 0.5 * (h_spline(i,3,6)-h_spline(i,1,6));
+  h_spline(i,n-1,5) = 0.5 * (h_spline(i,n,6)-h_spline(i,n-2,6));
+  h_spline(i,n,5) = h_spline(i,n,6) - h_spline(i,n-1,6);
 
   for (int m = 3; m <= n-2; m++)
-    h_spline_b(i,m).z = ((h_spline_b(i,m-2).w-h_spline_b(i,m+2).w) +
-                    8.0*(h_spline_b(i,m+1).w-h_spline_b(i,m-1).w)) / 12.0;
+    h_spline(i,m,5) = ((h_spline(i,m-2,6)-h_spline(i,m+2,6)) +
+                    8.0*(h_spline(i,m+1,6)-h_spline(i,m-1,6))) / 12.0;
 
   for (int m = 1; m <= n-1; m++) {
-    h_spline_b(i,m).y = 3.0*(h_spline_b(i,m+1).w-h_spline_b(i,m).w) -
-      2.0*h_spline_b(i,m).z - h_spline_b(i,m+1).z;
-    h_spline_b(i,m).x = h_spline_b(i,m).z + h_spline_b(i,m+1).z -
-      2.0*(h_spline_b(i,m+1).w-h_spline_b(i,m).w);
+    h_spline(i,m,4) = 3.0*(h_spline(i,m+1,6)-h_spline(i,m,6)) -
+      2.0*h_spline(i,m,5) - h_spline(i,m+1,5);
+    h_spline(i,m,3) = h_spline(i,m,5) + h_spline(i,m+1,5) -
+      2.0*(h_spline(i,m+1,6)-h_spline(i,m,6));
   }
 
-  h_spline_b(i,n).y = 0.0;
-  h_spline_b(i,n).x = 0.0;
+  h_spline(i,n,4) = 0.0;
+  h_spline(i,n,3) = 0.0;
 
   for (int m = 1; m <= n; m++) {
-    h_spline_a(i,m).z = h_spline_b(i,m).z/delta;
-    h_spline_a(i,m).y = 2.0*h_spline_b(i,m).y/delta;
-    h_spline_a(i,m).x = 3.0*h_spline_b(i,m).x/delta;
+    h_spline(i,m,2) = h_spline(i,m,5)/delta;
+    h_spline(i,m,1) = 2.0*h_spline(i,m,4)/delta;
+    h_spline(i,m,0) = 3.0*h_spline(i,m,3)/delta;
   }
 }
 
@@ -558,13 +541,12 @@ void PairEAMKokkos<DeviceType>::operator()(TagPairEAMKernelA<NEIGHFLAG,NEWTON_PA
       p -= m;
       p = MIN(p,1.0);
       const int d_type2rhor_ji = d_type2rhor(jtype,itype);
-      const F_FLOAT4 rhor = d_rhor_spline_b(d_type2rhor_ji,m);
-      rhotmp += ((rhor.x*p + rhor.y)*p + rhor.z)*p + rhor.w;
-
+      rhotmp += ((d_rhor_spline(d_type2rhor_ji,m,3)*p + d_rhor_spline(d_type2rhor_ji,m,4))*p + 
+                  d_rhor_spline(d_type2rhor_ji,m,5))*p + d_rhor_spline(d_type2rhor_ji,m,6);
       if (NEWTON_PAIR || j < nlocal) {
         const int d_type2rhor_ij = d_type2rhor(itype,jtype);
-        const F_FLOAT4 rhor = d_rhor_spline_b(d_type2rhor_ij,m);
-        rho[j] += ((rhor.x*p + rhor.y)*p + rhor.z)*p + rhor.w;
+        rho[j] += ((d_rhor_spline(d_type2rhor_ij,m,3)*p + d_rhor_spline(d_type2rhor_ij,m,4))*p + 
+                    d_rhor_spline(d_type2rhor_ij,m,5))*p + d_rhor_spline(d_type2rhor_ij,m,6);
       }
     }
 
@@ -593,11 +575,10 @@ void PairEAMKokkos<DeviceType>::operator()(TagPairEAMKernelB<EFLAG>, const int &
   p -= m;
   p = MIN(p,1.0);
   const int d_type2frho_i = d_type2frho[itype];
-  const F_FLOAT4 frho = d_frho_spline_a(d_type2frho_i,m);
-  d_fp[i] = (frho.x*p + frho.y)*p + frho.z;
+  d_fp[i] = (d_frho_spline(d_type2frho_i,m,0)*p + d_frho_spline(d_type2frho_i,m,1))*p + d_frho_spline(d_type2frho_i,m,2);
   if (EFLAG) {
-    const F_FLOAT4 frho_b = d_frho_spline_b(d_type2frho_i,m);
-    F_FLOAT phi = ((frho_b.x*p + frho_b.y)*p + frho_b.z)*p + frho_b.w;
+    F_FLOAT phi = ((d_frho_spline(d_type2frho_i,m,3)*p + d_frho_spline(d_type2frho_i,m,4))*p + 
+                    d_frho_spline(d_type2frho_i,m,5))*p + d_frho_spline(d_type2frho_i,m,6);
     if (d_rho[i] > rhomax) phi += d_fp[i] * (d_rho[i]-rhomax);
     if (eflag_global) ev.evdwl += phi;
     if (eflag_atom) d_eatom[i] += phi;
@@ -651,8 +632,8 @@ void PairEAMKokkos<DeviceType>::operator()(TagPairEAMKernelAB<EFLAG>, const int
       p -= m;
       p = MIN(p,1.0);
       const int d_type2rhor_ji = d_type2rhor(jtype,itype);
-      const F_FLOAT4 rhor = d_rhor_spline_b(d_type2rhor_ji,m);
-      rhotmp += ((rhor.x*p + rhor.y)*p + rhor.z)*p + rhor.w;
+      rhotmp += ((d_rhor_spline(d_type2rhor_ji,m,3)*p + d_rhor_spline(d_type2rhor_ji,m,4))*p + 
+                  d_rhor_spline(d_type2rhor_ji,m,5))*p + d_rhor_spline(d_type2rhor_ji,m,6);
     }
 
   }
@@ -669,11 +650,10 @@ void PairEAMKokkos<DeviceType>::operator()(TagPairEAMKernelAB<EFLAG>, const int
   p -= m;
   p = MIN(p,1.0);
   const int d_type2frho_i = d_type2frho[itype];
-  const F_FLOAT4 frho = d_frho_spline_a(d_type2frho_i,m);
-  d_fp[i] = (frho.x*p + frho.y)*p + frho.z;
+  d_fp[i] = (d_frho_spline(d_type2frho_i,m,0)*p + d_frho_spline(d_type2frho_i,m,1))*p + d_frho_spline(d_type2frho_i,m,2);
   if (EFLAG) {
-    const F_FLOAT4 frho_b = d_frho_spline_b(d_type2frho_i,m);
-    F_FLOAT phi = ((frho_b.x*p + frho_b.y)*p + frho_b.z)*p + frho_b.w;
+    F_FLOAT phi = ((d_frho_spline(d_type2frho_i,m,3)*p + d_frho_spline(d_type2frho_i,m,4))*p + 
+                    d_frho_spline(d_type2frho_i,m,5))*p + d_frho_spline(d_type2frho_i,m,6);
     if (d_rho[i] > rhomax) phi += d_fp[i] * (d_rho[i]-rhomax);
     if (eflag_global) ev.evdwl += phi;
     if (eflag_atom) d_eatom[i] += phi;
@@ -742,18 +722,16 @@ void PairEAMKokkos<DeviceType>::operator()(TagPairEAMKernelC<NEIGHFLAG,NEWTON_PA
       //   hence embed' = Fi(sum rho_ij) rhojp + Fj(sum rho_ji) rhoip
 
       const int d_type2rhor_ij = d_type2rhor(itype,jtype);
-      const F_FLOAT4 rhor_ij = d_rhor_spline_a(d_type2rhor_ij,m);
-      const F_FLOAT rhoip = (rhor_ij.x*p + rhor_ij.y)*p + rhor_ij.z;
-
+      const F_FLOAT rhoip = (d_rhor_spline(d_type2rhor_ij,m,0)*p + d_rhor_spline(d_type2rhor_ij,m,1))*p +
+                             d_rhor_spline(d_type2rhor_ij,m,2);
       const int d_type2rhor_ji = d_type2rhor(jtype,itype);
-      const F_FLOAT4 rhor_ji = d_rhor_spline_a(d_type2rhor_ji,m);
-      const F_FLOAT rhojp = (rhor_ji.x*p + rhor_ji.y)*p + rhor_ji.z;
-
+      const F_FLOAT rhojp = (d_rhor_spline(d_type2rhor_ji,m,0)*p + d_rhor_spline(d_type2rhor_ji,m,1))*p + 
+                             d_rhor_spline(d_type2rhor_ji,m,2);
       const int d_type2z2r_ij = d_type2z2r(itype,jtype);
-      const F_FLOAT4 z2r_a = d_z2r_spline_a(d_type2z2r_ij,m);
-      const F_FLOAT z2p = (z2r_a.x*p + z2r_a.y)*p + z2r_a.z;
-      const F_FLOAT4 z2r_b = d_z2r_spline_b(d_type2z2r_ij,m);
-      const F_FLOAT z2 = ((z2r_b.x*p + z2r_b.y)*p + z2r_b.z)*p + z2r_b.w;
+      const F_FLOAT z2p = (d_z2r_spline(d_type2z2r_ij,m,0)*p + d_z2r_spline(d_type2z2r_ij,m,1))*p + 
+                           d_z2r_spline(d_type2z2r_ij,m,2);
+      const F_FLOAT z2 = ((d_z2r_spline(d_type2z2r_ij,m,3)*p + d_z2r_spline(d_type2z2r_ij,m,4))*p + 
+                           d_z2r_spline(d_type2z2r_ij,m,5))*p + d_z2r_spline(d_type2z2r_ij,m,6);
 
       const F_FLOAT recip = 1.0/r;
       const F_FLOAT phi = z2*recip;
@@ -894,5 +872,4 @@ template class PairEAMKokkos<LMPDeviceType>;
 #ifdef KOKKOS_HAVE_CUDA
 template class PairEAMKokkos<LMPHostType>;
 #endif
-}
-
+}
\ No newline at end of file
diff --git a/src/KOKKOS/pair_eam_kokkos.h b/src/KOKKOS/pair_eam_kokkos.h
index b3d33bb37f764e781009adcbd942f34a9ac8c423..89d1d61b6b9801c37f79f7176dbb7f1a29b7bf66 100755
--- a/src/KOKKOS/pair_eam_kokkos.h
+++ b/src/KOKKOS/pair_eam_kokkos.h
@@ -136,14 +136,14 @@ class PairEAMKokkos : public PairEAM {
   DAT::t_int_2d_randomread d_type2rhor;
   DAT::t_int_2d_randomread d_type2z2r;
 
-  typedef Kokkos::DualView<F_FLOAT4**,Kokkos::LayoutLeft,DeviceType> tdual_ffloat4;
-  typedef typename tdual_ffloat4::t_dev_const_randomread t_ffloat4_randomread;
-  typedef typename tdual_ffloat4::t_host t_host_ffloat4;
-
-  t_ffloat4_randomread d_frho_spline_a, d_frho_spline_b;
-  t_ffloat4_randomread d_rhor_spline_a, d_rhor_spline_b;
-  t_ffloat4_randomread d_z2r_spline_a, d_z2r_spline_b;
-  void interpolate(int, double, double *, t_host_ffloat4, t_host_ffloat4, int);
+  typedef Kokkos::DualView<F_FLOAT**[7],Kokkos::LayoutRight,DeviceType> tdual_ffloat_2d_n7;
+  typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread;
+  typedef typename tdual_ffloat_2d_n7::t_host t_host_ffloat_2d_n7;
+
+  t_ffloat_2d_n7_randomread d_frho_spline;
+  t_ffloat_2d_n7_randomread d_rhor_spline;
+  t_ffloat_2d_n7_randomread d_z2r_spline;
+  void interpolate(int, double, double *, t_host_ffloat_2d_n7, int);
 
   virtual void file2array();
   void array2spline();
diff --git a/src/compute_omega_chunk.cpp b/src/compute_omega_chunk.cpp
index ca4af7931f1f913924714ebd5e6a5f4c2b8c201d..f2a83949641fdce2f380eea3583d9f61690819f0 100644
--- a/src/compute_omega_chunk.cpp
+++ b/src/compute_omega_chunk.cpp
@@ -18,11 +18,14 @@
 #include "modify.h"
 #include "compute_chunk_atom.h"
 #include "domain.h"
+#include "math_extra.h"
 #include "memory.h"
 #include "error.h"
 
 using namespace LAMMPS_NS;
 
+#define EPSILON 1.0e-6
+
 /* ---------------------------------------------------------------------- */
 
 ComputeOmegaChunk::ComputeOmegaChunk(LAMMPS *lmp, int narg, char **arg) :
@@ -192,49 +195,97 @@ void ComputeOmegaChunk::compute_array()
   MPI_Allreduce(&angmom[0][0],&angmomall[0][0],3*nchunk,
                 MPI_DOUBLE,MPI_SUM,world);
 
-  // compute omega for each chunk from L = Iw, inverting I to solve for w
+  // compute omega for each chunk
 
-  double ione[3][3],inverse[3][3];
+  double determinant,invdeterminant;
+  double idiag[3],ex[3],ey[3],ez[3],cross[3];
+  double ione[3][3],inverse[3][3],evectors[3][3];
+  double *iall,*mall;
 
   for (m = 0; m < nchunk; m++) {
-    ione[0][0] = inertiaall[m][0];
-    ione[1][1] = inertiaall[m][1];
-    ione[2][2] = inertiaall[m][2];
-    ione[0][1] = inertiaall[m][3];
-    ione[1][2] = inertiaall[m][4];
-    ione[0][2] = inertiaall[m][5];
-    ione[1][0] = ione[0][1];
-    ione[2][1] = ione[1][2];
-    ione[2][0] = ione[0][2];
-
-    inverse[0][0] = ione[1][1]*ione[2][2] - ione[1][2]*ione[2][1];
-    inverse[0][1] = -(ione[0][1]*ione[2][2] - ione[0][2]*ione[2][1]);
-    inverse[0][2] = ione[0][1]*ione[1][2] - ione[0][2]*ione[1][1];
-
-    inverse[1][0] = -(ione[1][0]*ione[2][2] - ione[1][2]*ione[2][0]);
-    inverse[1][1] = ione[0][0]*ione[2][2] - ione[0][2]*ione[2][0];
-    inverse[1][2] = -(ione[0][0]*ione[1][2] - ione[0][2]*ione[1][0]);
-
-    inverse[2][0] = ione[1][0]*ione[2][1] - ione[1][1]*ione[2][0];
-    inverse[2][1] = -(ione[0][0]*ione[2][1] - ione[0][1]*ione[2][0]);
-    inverse[2][2] = ione[0][0]*ione[1][1] - ione[0][1]*ione[1][0];
-
-    double determinant = ione[0][0]*ione[1][1]*ione[2][2] +
-      ione[0][1]*ione[1][2]*ione[2][0] + ione[0][2]*ione[1][0]*ione[2][1] -
-      ione[0][0]*ione[1][2]*ione[2][1] - ione[0][1]*ione[1][0]*ione[2][2] -
-      ione[2][0]*ione[1][1]*ione[0][2];
-
-    if (determinant > 0.0)
+
+    // determinant = triple product of rows of inertia matrix
+
+    iall = &inertiaall[m][0];
+    determinant = iall[0] * (iall[1]*iall[2] - iall[4]*iall[4]) + 
+      iall[3] * (iall[4]*iall[5] - iall[3]*iall[2]) + 
+      iall[5] * (iall[3]*iall[4] - iall[1]*iall[5]);
+
+    ione[0][0] = iall[0];
+    ione[1][1] = iall[1];
+    ione[2][2] = iall[2];
+    ione[0][1] = ione[1][0] = iall[3];
+    ione[1][2] = ione[2][1] = iall[4];
+    ione[0][2] = ione[2][0] = iall[5];
+
+    // non-singular I matrix
+    // use L = Iw, inverting I to solve for w
+
+    if (determinant > EPSILON) {
+      inverse[0][0] = ione[1][1]*ione[2][2] - ione[1][2]*ione[2][1];
+      inverse[0][1] = -(ione[0][1]*ione[2][2] - ione[0][2]*ione[2][1]);
+      inverse[0][2] = ione[0][1]*ione[1][2] - ione[0][2]*ione[1][1];
+
+      inverse[1][0] = -(ione[1][0]*ione[2][2] - ione[1][2]*ione[2][0]);
+      inverse[1][1] = ione[0][0]*ione[2][2] - ione[0][2]*ione[2][0];
+      inverse[1][2] = -(ione[0][0]*ione[1][2] - ione[0][2]*ione[1][0]);
+
+      inverse[2][0] = ione[1][0]*ione[2][1] - ione[1][1]*ione[2][0];
+      inverse[2][1] = -(ione[0][0]*ione[2][1] - ione[0][1]*ione[2][0]);
+      inverse[2][2] = ione[0][0]*ione[1][1] - ione[0][1]*ione[1][0];
+
+      invdeterminant = 1.0/determinant;
       for (i = 0; i < 3; i++)
         for (j = 0; j < 3; j++)
-          inverse[i][j] /= determinant;
-
-    omega[m][0] = inverse[0][0]*angmom[m][0] + inverse[0][1]*angmom[m][1] +
-      inverse[0][2]*angmom[m][2];
-    omega[m][1] = inverse[1][0]*angmom[m][0] + inverse[1][1]*angmom[m][1] +
-      inverse[1][2]*angmom[m][2];
-    omega[m][2] = inverse[2][0]*angmom[m][0] + inverse[2][1]*angmom[m][1] +
-      inverse[2][2]*angmom[i][2];
+          inverse[i][j] *= invdeterminant;
+      
+      mall = &angmomall[m][0];
+      omega[m][0] = inverse[0][0]*mall[0] + inverse[0][1]*mall[1] +
+        inverse[0][2]*mall[2];
+      omega[m][1] = inverse[1][0]*mall[0] + inverse[1][1]*mall[1] +
+        inverse[1][2]*mall[2];
+      omega[m][2] = inverse[2][0]*mall[0] + inverse[2][1]*mall[1] +
+        inverse[2][2]*mall[2];
+
+    // handle each (nearly) singular I matrix
+    // due to 2-atom chunk or linear molecule
+    // use jacobi() and angmom_to_omega() to calculate valid omega
+
+    } else {
+      int ierror = MathExtra::jacobi(ione,idiag,evectors);
+      if (ierror) error->all(FLERR,
+                             "Insufficient Jacobi rotations for omega/chunk");
+
+      ex[0] = evectors[0][0];
+      ex[1] = evectors[1][0];
+      ex[2] = evectors[2][0];
+      ey[0] = evectors[0][1];
+      ey[1] = evectors[1][1];
+      ey[2] = evectors[2][1];
+      ez[0] = evectors[0][2];
+      ez[1] = evectors[1][2];
+      ez[2] = evectors[2][2];
+
+      // enforce 3 evectors as a right-handed coordinate system
+      // flip 3rd vector if needed
+      
+      MathExtra::cross3(ex,ey,cross);
+      if (MathExtra::dot3(cross,ez) < 0.0) MathExtra::negate3(ez);
+
+      // if any principal moment < scaled EPSILON, set to 0.0
+      
+      double max;
+      max = MAX(idiag[0],idiag[1]);
+      max = MAX(max,idiag[2]);
+      
+      if (idiag[0] < EPSILON*max) idiag[0] = 0.0;
+      if (idiag[1] < EPSILON*max) idiag[1] = 0.0;
+      if (idiag[2] < EPSILON*max) idiag[2] = 0.0;
+
+      // calculate omega using diagonalized inertia matrix
+
+      MathExtra::angmom_to_omega(&angmomall[m][0],ex,ey,ez,idiag,&omega[m][0]);
+    }
   }
 }
 
diff --git a/src/group.cpp b/src/group.cpp
index 5b572b20706bb4f2af9f9226a37e25172b31ca79..da0e94fc11b45129c709fbddbf22c40b2df9aefb 100644
--- a/src/group.cpp
+++ b/src/group.cpp
@@ -29,6 +29,7 @@
 #include "input.h"
 #include "variable.h"
 #include "dump.h"
+#include "math_extra.h"
 #include "memory.h"
 #include "error.h"
 
@@ -37,6 +38,7 @@
 using namespace LAMMPS_NS;
 
 #define MAX_GROUP 32
+#define EPSILON 1.0e-6
 
 enum{TYPE,MOLECULE,ID};
 enum{LT,LE,GT,GE,EQ,NEQ,BETWEEN};
@@ -1662,42 +1664,47 @@ void Group::inertia(int igroup, double *cm, double itensor[3][3], int iregion)
 }
 
 /* ----------------------------------------------------------------------
-   compute angular velocity omega from L = Iw, inverting I to solve for w
+   compute angular velocity omega from L and I
    really not a group/region operation, but L,I were computed for a group/region
+   diagonalize I instead of inverting it, to allow for a singular matrix
 ------------------------------------------------------------------------- */
 
 void Group::omega(double *angmom, double inertia[3][3], double *w)
 {
-  double inverse[3][3];
-
-  inverse[0][0] = inertia[1][1]*inertia[2][2] - inertia[1][2]*inertia[2][1];
-  inverse[0][1] = -(inertia[0][1]*inertia[2][2] - inertia[0][2]*inertia[2][1]);
-  inverse[0][2] = inertia[0][1]*inertia[1][2] - inertia[0][2]*inertia[1][1];
-
-  inverse[1][0] = -(inertia[1][0]*inertia[2][2] - inertia[1][2]*inertia[2][0]);
-  inverse[1][1] = inertia[0][0]*inertia[2][2] - inertia[0][2]*inertia[2][0];
-  inverse[1][2] = -(inertia[0][0]*inertia[1][2] - inertia[0][2]*inertia[1][0]);
-
-  inverse[2][0] = inertia[1][0]*inertia[2][1] - inertia[1][1]*inertia[2][0];
-  inverse[2][1] = -(inertia[0][0]*inertia[2][1] - inertia[0][1]*inertia[2][0]);
-  inverse[2][2] = inertia[0][0]*inertia[1][1] - inertia[0][1]*inertia[1][0];
-
-  double determinant = inertia[0][0]*inertia[1][1]*inertia[2][2] +
-    inertia[0][1]*inertia[1][2]*inertia[2][0] +
-    inertia[0][2]*inertia[1][0]*inertia[2][1] -
-    inertia[0][0]*inertia[1][2]*inertia[2][1] -
-    inertia[0][1]*inertia[1][0]*inertia[2][2] -
-    inertia[2][0]*inertia[1][1]*inertia[0][2];
-
-  if (determinant > 0.0)
-    for (int i = 0; i < 3; i++)
-      for (int j = 0; j < 3; j++)
-        inverse[i][j] /= determinant;
-
-  w[0] = inverse[0][0]*angmom[0] + inverse[0][1]*angmom[1] +
-    inverse[0][2]*angmom[2];
-  w[1] = inverse[1][0]*angmom[0] + inverse[1][1]*angmom[1] +
-    inverse[1][2]*angmom[2];
-  w[2] = inverse[2][0]*angmom[0] + inverse[2][1]*angmom[1] +
-    inverse[2][2]*angmom[2];
+  double idiag[3],ex[3],ey[3],ez[3],cross[3];
+  double evectors[3][3];
+  
+  int ierror = MathExtra::jacobi(inertia,idiag,evectors);
+  if (ierror) error->all(FLERR,
+                         "Insufficient Jacobi rotations for group::omega");
+
+  ex[0] = evectors[0][0];
+  ex[1] = evectors[1][0];
+  ex[2] = evectors[2][0];
+  ey[0] = evectors[0][1];
+  ey[1] = evectors[1][1];
+  ey[2] = evectors[2][1];
+  ez[0] = evectors[0][2];
+  ez[1] = evectors[1][2];
+  ez[2] = evectors[2][2];
+  
+  // enforce 3 evectors as a right-handed coordinate system
+  // flip 3rd vector if needed
+  
+  MathExtra::cross3(ex,ey,cross);
+  if (MathExtra::dot3(cross,ez) < 0.0) MathExtra::negate3(ez);
+  
+  // if any principal moment < scaled EPSILON, set to 0.0
+  
+  double max;
+  max = MAX(idiag[0],idiag[1]);
+  max = MAX(max,idiag[2]);
+  
+  if (idiag[0] < EPSILON*max) idiag[0] = 0.0;
+  if (idiag[1] < EPSILON*max) idiag[1] = 0.0;
+  if (idiag[2] < EPSILON*max) idiag[2] = 0.0;
+  
+  // calculate omega using diagonalized inertia matrix
+  
+  MathExtra::angmom_to_omega(angmom,ex,ey,ez,idiag,w);
 }
diff --git a/src/version.h b/src/version.h
index 9725014aa48ec35995f7546a46af5c62635903c8..006495e9f1dd4a46bc74632ba38743476a7e3f38 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1 +1 @@
-#define LAMMPS_VERSION "27 Aug 2016"
+#define LAMMPS_VERSION "7 Sep 2016"