diff --git a/doc/src/Errors.txt b/doc/src/Errors.txt
index 7bc520c19dbacc86aaa7a1bd4083f884bde53752..92a577c5f26fe57d83a66d32c7b14d135f7025d4 100644
--- a/doc/src/Errors.txt
+++ b/doc/src/Errors.txt
@@ -1,6 +1,6 @@
 "Previous Section"_Python.html - "LAMMPS WWW Site"_lws -
 "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
-Section"_Section_history.html :c
+Section"_Manual.html :c
 
 :link(lws,http://lammps.sandia.gov)
 :link(ld,Manual.html)
diff --git a/doc/src/Examples.txt b/doc/src/Examples.txt
index 467ddcc959ddd2656a2173ce9abea8a1f57162a7..b01b289d5e2926577ce8e63d755a6c52281d56fd 100644
--- a/doc/src/Examples.txt
+++ b/doc/src/Examples.txt
@@ -1,6 +1,6 @@
-"Previous Section"_Section_howto.html - "LAMMPS WWW Site"_lws -
-"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
-Section"_Section_perf.html :c
+"Previous Section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc - "Next
+Section"_Tools.html :c
 
 :link(lws,http://lammps.sandia.gov)
 :link(ld,Manual.html)
diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9a60d1ef4b8e8365683794e5bfc96d5fc325b32
--- /dev/null
+++ b/doc/src/Howto.txt
@@ -0,0 +1,128 @@
+"Previous Section"_Performance.html - "LAMMPS WWW Site"_lws -
+"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
+Section"_Examples.html :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands.html#comm)
+
+:line
+
+How to discussions :h2
+
+These doc pages describe how to perform various tasks with LAMMPS,
+both for users and developers.  The
+"glossary"_http://lammps.sandia.gov website page also lists MD
+terminology with links to corresponding LAMMPS manual pages.
+
+The example input scripts included in the examples dir of the LAMMPS
+distribution and highlighted on the "Examples"_Examples.html doc page
+also show how to setup and run various kinds of simulations.
+
+<!-- RST
+
+.. toctree::
+
+   Howto_github
+   Howto_pylammps
+   Howto_bash
+
+.. toctree::
+
+   Howto_restart
+   Howto_viz
+   Howto_multiple
+   Howto_replica
+   Howto_library
+   Howto_couple
+
+.. toctree::
+
+   Howto_output
+   Howto_chunk
+
+.. toctree::
+
+   Howto_2d
+   Howto_triclinic
+   Howto_walls
+   Howto_nemd
+   Howto_granular
+   Howto_spherical
+   Howto_dispersion
+
+.. toctree::
+
+   Howto_temperature
+   Howto_thermostat
+   Howto_barostat
+   Howto_elastic
+   Howto_kappa
+   Howto_viscosity
+   Howto_diffusion
+
+.. toctree::
+
+   Howto_bioFF
+   Howto_tip3p
+   Howto_tip4p
+   Howto_spc
+
+.. toctree::
+
+   Howto_body
+   Howto_polarizable
+   Howto_coreshell
+   Howto_drude
+   Howto_drude2
+   Howto_manifold
+   Howto_spins
+
+END_RST -->
+
+<!-- HTML_ONLY -->
+
+"Using GitHub with LAMMPS"_Howto_github.html
+"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html
+"Using LAMMPS with bash on Windows"_Howto_bash.html
+
+"Restart a simulation"_Howto_restart.html
+"Visualize LAMMPS snapshots"_Howto_viz.html
+"Run multiple simulations from one input script"_Howto_multiple.html
+"Multi-replica simulations"_Howto_replica.html
+"Library interface to LAMMPS"_Howto_library.html
+"Couple LAMMPS to other codes"_Howto_couple.html :all(b)
+
+"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html
+"Use chunks to calculate system properties"_Howto_chunk.html :all(b)
+
+"2d simulations"_Howto_2d.html
+"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html
+"Walls"_Howto_walls.html
+"NEMD simulations"_Howto_nemd.html
+"Granular models"_Howto_granular.html
+"Finite-size spherical and aspherical particles"_Howto_spherical.html
+"Long-range dispersion settings"_Howto_dispersion.html :all(b)
+
+"Calculate temperature"_Howto_temperature.html
+"Thermostats"_Howto_thermostat.html
+"Barostats"_Howto_barostat.html
+"Calculate elastic constants"_Howto_elastic.html
+"Calculate thermal conductivity"_Howto_kappa.html
+"Calculate viscosity"_Howto_viscosity.html
+"Calculate a diffusion coefficient"_Howto_diffusion.html :all(b)
+
+"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html
+"TIP3P water model"_Howto_tip3p.html
+"TIP4P water model"_Howto_tip4p.html
+"SPC water model"_Howto_spc.html :all(b)
+
+"Body style particles"_Howto_body.html
+"Polarizable models"_Howto_polarizable.html
+"Adiabatic core/shell model"_Howto_coreshell.html
+"Drude induced dipoles"_Howto_drude.html
+"Drude induced dipoles (extended)"_Howto_drude2.html :all(b)
+"Manifolds (surfaces)"_Howto_manifold.html
+"Magnetic spins"_Howto_spins.html
+
+<!-- END_HTML_ONLY -->
diff --git a/doc/src/Howto_2d.txt b/doc/src/Howto_2d.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ea11a7d54666114a2d2c78a99ed64228e879b0b8
--- /dev/null
+++ b/doc/src/Howto_2d.txt
@@ -0,0 +1,48 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+2d simulations :h3
+
+Use the "dimension"_dimension.html command to specify a 2d simulation.
+
+Make the simulation box periodic in z via the "boundary"_boundary.html
+command.  This is the default.
+
+If using the "create box"_create_box.html command to define a
+simulation box, set the z dimensions narrow, but finite, so that the
+create_atoms command will tile the 3d simulation box with a single z
+plane of atoms - e.g.
+
+"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre
+
+If using the "read data"_read_data.html command to read in a file of
+atom coordinates, set the "zlo zhi" values to be finite but narrow,
+similar to the create_box command settings just described.  For each
+atom in the file, assign a z coordinate so it falls inside the
+z-boundaries of the box - e.g. 0.0.
+
+Use the "fix enforce2d"_fix_enforce2d.html command as the last
+defined fix to insure that the z-components of velocities and forces
+are zeroed out every timestep.  The reason to make it the last fix is
+so that any forces induced by other fixes will be zeroed out.
+
+Many of the example input scripts included in the LAMMPS distribution
+are for 2d models.
+
+NOTE: Some models in LAMMPS treat particles as finite-size spheres, as
+opposed to point particles.  See the "atom_style
+sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html
+commands for details.  By default, for 2d simulations, such particles
+will still be modeled as 3d spheres, not 2d discs (circles), meaning
+their moment of inertia will be that of a sphere.  If you wish to
+model them as 2d discs, see the "set density/disc"_set.html command
+and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html,
+"fix nvt/sphere"_fix_nvt_sphere.html, "fix
+nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html
+commands.
diff --git a/doc/src/Howto_barostat.txt b/doc/src/Howto_barostat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b289ebfc4c5156d72a71f4b84992f3e36b35dc1c
--- /dev/null
+++ b/doc/src/Howto_barostat.txt
@@ -0,0 +1,75 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Barostats :h3
+
+Barostatting means controlling the pressure in an MD simulation.
+"Thermostatting"_Howto_thermostat.html means controlling the
+temperature of the particles.  Since the pressure includes a kinetic
+component due to particle velocities, both these operations require
+calculation of the temperature.  Typically a target temperature (T)
+and/or pressure (P) is specified by the user, and the thermostat or
+barostat attempts to equilibrate the system to the requested T and/or
+P.
+
+Barostatting in LAMMPS is performed by "fixes"_fix.html.  Two
+barosttating methods are currently available: Nose-Hoover (npt and
+nph) and Berendsen:
+
+"fix npt"_fix_nh.html
+"fix npt/sphere"_fix_npt_sphere.html
+"fix npt/asphere"_fix_npt_asphere.html
+"fix nph"_fix_nh.html
+"fix press/berendsen"_fix_press_berendsen.html :ul
+
+The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat
+and barostat.  "Fix nph"_fix_nh.html is just a Nose/Hoover barostat;
+it does no thermostatting.  Both "fix nph"_fix_nh.html and "fix
+press/berendsen"_fix_press_berendsen.html can be used in conjunction
+with any of the thermostatting fixes.
+
+As with the "thermostats"_Howto_thermostat.html, "fix npt"_fix_nh.html
+and "fix nph"_fix_nh.html only use translational motion of the
+particles in computing T and P and performing thermo/barostatting.
+"Fix npt/sphere"_fix_npt_sphere.html and "fix
+npt/asphere"_fix_npt_asphere.html thermo/barostat using not only
+translation velocities but also rotational velocities for spherical
+and aspherical particles.
+
+All of the barostatting fixes use the "compute
+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 component of the pressure.  The barostatting fixes can
+also use temperature computes that remove bias for the purpose of
+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.
+
+NOTE: As with the thermostats, the Nose/Hoover methods ("fix
+npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration.
+"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should
+be used with one of the constant NVE fixes or with one of the NVT
+fixes.
+
+Thermodynamic output, which can be setup via the
+"thermo_style"_thermo_style.html command, often includes pressure
+values.  As explained on the doc page for the
+"thermo_style"_thermo_style.html command, the default pressure is
+setup by the thermo command itself.  It is NOT the presure associated
+with any barostatting fix you have defined or with any compute you
+have defined that calculates a presure.  The doc pages for the
+barostatting fixes explain the ID of the pressure compute they create.
+Thus if you want to view these pressurse, you need to specify them
+explicitly via the "thermo_style custom"_thermo_style.html command.
+Or you can use the "thermo_modify"_thermo_modify.html command to
+re-define what pressure compute is used for default thermodynamic
+output.
diff --git a/doc/src/tutorial_bash_on_windows.txt b/doc/src/Howto_bash.txt
old mode 100644
new mode 100755
similarity index 99%
rename from doc/src/tutorial_bash_on_windows.txt
rename to doc/src/Howto_bash.txt
index 66712bdffafc8173bef83e5883bae8d3e0843ec0..572157ab554ab5624a108fe22d4ac5d0752cfc79
--- a/doc/src/tutorial_bash_on_windows.txt
+++ b/doc/src/Howto_bash.txt
@@ -10,6 +10,7 @@ Using LAMMPS with Bash on Windows :h3
 [written by Richard Berger]
 
 :line
+
 Starting with Windows 10 you can install Linux tools directly in Windows. This
 allows you to compile LAMMPS following the same procedure as on a real Ubuntu
 Linux installation. Software can be easily installed using the package manager
diff --git a/doc/src/Howto_bioFF.txt b/doc/src/Howto_bioFF.txt
new file mode 100644
index 0000000000000000000000000000000000000000..91d6eb0a8e190fbdb7f8380501d5f3e67a1c8072
--- /dev/null
+++ b/doc/src/Howto_bioFF.txt
@@ -0,0 +1,101 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+CHARMM, AMBER, and DREIDING force fields :h3
+
+A force field has 2 parts: the formulas that define it and the
+coefficients used for a particular system.  Here we only discuss
+formulas implemented in LAMMPS that correspond to formulas commonly
+used in the CHARMM, AMBER, and DREIDING force fields.  Setting
+coefficients is done in the input data file via the
+"read_data"_read_data.html command or in the input script with
+commands like "pair_coeff"_pair_coeff.html or
+"bond_coeff"_bond_coeff.html.  See the "Tools"_Tools.html doc page for
+additional tools that can use CHARMM or AMBER to assign force field
+coefficients and convert their output into LAMMPS input.
+
+See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force
+field.  See "(Cornell)"_#howto-Cornell for a description of the AMBER force
+field.
+
+:link(charmm,http://www.scripps.edu/brooks)
+:link(amber,http://amber.scripps.edu)
+
+These style choices compute force field formulas that are consistent
+with common options in CHARMM or AMBER.  See each command's
+documentation for the formula it computes.
+
+"bond_style"_bond_harmonic.html harmonic
+"angle_style"_angle_charmm.html charmm
+"dihedral_style"_dihedral_charmm.html charmmfsh
+"dihedral_style"_dihedral_charmm.html charmm
+"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh
+"pair_style"_pair_charmm.html lj/charmmfsw/coul/long
+"pair_style"_pair_charmm.html lj/charmm/coul/charmm
+"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit
+"pair_style"_pair_charmm.html lj/charmm/coul/long :ul
+
+"special_bonds"_special_bonds.html charmm
+"special_bonds"_special_bonds.html amber :ul
+
+NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were
+released in March 2017.  We recommend they be used instead of the
+older {charmm} styles.  See discussion of the differences on the "pair
+charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html
+doc pages.
+
+DREIDING is a generic force field developed by the "Goddard
+group"_http://www.wag.caltech.edu at Caltech and is useful for
+predicting structures and dynamics of organic, biological and
+main-group inorganic molecules. The philosophy in DREIDING is to use
+general force constants and geometry parameters based on simple
+hybridization considerations, rather than individual force constants
+and geometric parameters that depend on the particular combinations of
+atoms involved in the bond, angle, or torsion terms. DREIDING has an
+"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe
+interactions involving a hydrogen atom on very electronegative atoms
+(N, O, F).
+
+See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field
+
+These style choices compute force field formulas that are consistent
+with the DREIDING force field.  See each command's
+documentation for the formula it computes.
+
+"bond_style"_bond_harmonic.html harmonic
+"bond_style"_bond_morse.html morse :ul
+
+"angle_style"_angle_harmonic.html harmonic
+"angle_style"_angle_cosine.html cosine
+"angle_style"_angle_cosine_periodic.html cosine/periodic :ul
+
+"dihedral_style"_dihedral_charmm.html charmm
+"improper_style"_improper_umbrella.html umbrella :ul
+
+"pair_style"_pair_buck.html buck
+"pair_style"_pair_buck.html buck/coul/cut
+"pair_style"_pair_buck.html buck/coul/long
+"pair_style"_pair_lj.html lj/cut
+"pair_style"_pair_lj.html lj/cut/coul/cut
+"pair_style"_pair_lj.html lj/cut/coul/long :ul
+
+"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj
+"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul
+
+"special_bonds"_special_bonds.html dreiding :ul
+
+:line
+
+:link(howto-MacKerell)
+[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
+Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
+
+:link(howto-Mayo)
+[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
+(1990).
diff --git a/doc/src/Howto_body.txt b/doc/src/Howto_body.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3031563f98e7bb9b9cb9c3337778b64f54321503
--- /dev/null
+++ b/doc/src/Howto_body.txt
@@ -0,0 +1,456 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Body particles :h3
+
+[Overview:]
+
+In LAMMPS, body particles are generalized finite-size particles.
+Individual body particles can represent complex entities, such as
+surface meshes of discrete points, collections of sub-particles,
+deformable objects, etc.  Note that other kinds of finite-size
+spherical and aspherical particles are also supported by LAMMPS, such
+as spheres, ellipsoids, line segments, and triangles, but they are
+simpler entities that body particles.  See "Section
+6.14"_Section_howto.html#howto_14 for a general overview of all these
+particle types.
+
+Body particles are used via the "atom_style body"_atom_style.html
+command.  It takes a body style as an argument.  The current body
+styles supported by LAMMPS are as follows.  The name in the first
+column is used as the {bstyle} argument for the "atom_style
+body"_atom_style.html command.
+
+{nparticle} : rigid body with N sub-particles
+{rounded/polygon} : 2d polygons with N vertices
+{rounded/polyhedron} : 3d polyhedra with N vertices, E edges and F faces :tb(s=:)
+
+The body style determines what attributes are stored for each body and
+thus how they can be used to compute pairwise body/body or
+bond/non-body (point particle) interactions.  More details of each
+style are described below.
+
+More styles may be added in the future.  See the "Modify
+body"_Modify_body.html doc page for details on how to add a new body
+style to the code.
+
+:line
+
+[When to use body particles:]
+
+You should not use body particles to model a rigid body made of
+simpler particles (e.g. point, sphere, ellipsoid, line segment,
+triangular particles), if the interaction between pairs of rigid
+bodies is just the summation of pairwise interactions between the
+simpler particles.  LAMMPS already supports this kind of model via the
+"fix rigid"_fix_rigid.html command.  Any of the numerous pair styles
+that compute interactions between simpler particles can be used.  The
+"fix rigid"_fix_rigid.html command time integrates the motion of the
+rigid bodies.  All of the standard LAMMPS commands for thermostatting,
+adding constraints, performing output, etc will operate as expected on
+the simple particles.
+
+By contrast, when body particles are used, LAMMPS treats an entire
+body as a single particle for purposes of computing pairwise
+interactions, building neighbor lists, migrating particles between
+processors, output of particles to a dump file, etc.  This means that
+interactions between pairs of bodies or between a body and non-body
+(point) particle need to be encoded in an appropriate pair style.  If
+such a pair style were to mimic the "fix rigid"_fix_rigid.html model,
+it would need to loop over the entire collection of interactions
+between pairs of simple particles within the two bodies, each time a
+single body/body interaction was computed.
+
+Thus it only makes sense to use body particles and develop such a pair
+style, when particle/particle interactions are more complex than what
+the "fix rigid"_fix_rigid.html command can already calculate.  For
+example, consider particles with one or more of the following
+attributes:
+
+represented by a surface mesh
+represented by a collection of geometric entities (e.g. planes + spheres)
+deformable
+internal stress that induces fragmentation :ul
+
+For these models, the interaction between pairs of particles is likely
+to be more complex than the summation of simple pairwise interactions.
+An example is contact or frictional forces between particles with
+planar surfaces that inter-penetrate.  Likewise, the body particle may
+store internal state, such as a stress tensor used to compute a
+fracture criterion.
+
+These are additional LAMMPS commands that can be used with body
+particles of different styles
+
+"fix nve/body"_fix_nve_body.html : integrate motion of a body particle in NVE ensemble
+"fix nvt/body"_fix_nvt_body.html : ditto for NVT ensemble
+"fix npt/body"_fix_npt_body.html : ditto for NPT ensemble
+"fix nph/body"_fix_nph_body.html : ditto for NPH ensemble
+"compute body/local"_compute_body_local.html : store sub-particle attributes of a body particle
+"compute temp/body"_compute_temp_body.html : compute temperature of body particles
+"dump local"_dump.html : output sub-particle attributes of a body particle
+"dump image"_dump_image.html : output body particle attributes as an image :tb(s=:)
+
+The pair styles defined for use with specific body styles are listed
+in the sections below.
+
+:line
+
+[Specifics of body style nparticle:]
+
+The {nparticle} body style represents body particles as a rigid body
+with a variable number N of sub-particles.  It is provided as a
+vanilla, prototypical example of a body particle, although as
+mentioned above, the "fix rigid"_fix_rigid.html command already
+duplicates its functionality.
+
+The atom_style body command for this body style takes two additional
+arguments:
+
+atom_style body nparticle Nmin Nmax
+Nmin = minimum # of sub-particles in any body in the system
+Nmax = maximum # of sub-particles in any body in the system :pre
+
+The Nmin and Nmax arguments are used to bound the size of data
+structures used internally by each particle.
+
+When the "read_data"_read_data.html command reads a data file for this
+body style, the following information must be provided for each entry
+in the {Bodies} section of the data file:
+
+atom-ID 1 M
+N
+ixx iyy izz ixy ixz iyz
+x1 y1 z1
+...
+xN yN zN :pre
+
+where M = 6 + 3*N, and N is the number of sub-particles in the body
+particle.  
+
+The integer line has a single value N.  The floating point line(s)
+list 6 moments of inertia followed by the coordinates of the N
+sub-particles (x1 to zN) as 3N values.  These values can be listed on
+as many lines as you wish; see the "read_data"_read_data.html command
+for more details.
+
+The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
+values consistent with the current orientation of the rigid body
+around its center of mass.  The values are with respect to the
+simulation box XYZ axes, not with respect to the principal axes of the
+rigid body itself.  LAMMPS performs the latter calculation internally.
+The coordinates of each sub-particle are specified as its x,y,z
+displacement from the center-of-mass of the body particle.  The
+center-of-mass position of the particle is specified by the x,y,z
+values in the {Atoms} section of the data file, as is the total mass
+of the body particle.
+
+The "pair_style body/nparticle"_pair_body_nparticle.html command can be used
+with this body style to compute body/body and body/non-body interactions.
+
+For output purposes via the "compute
+body/local"_compute_body_local.html and "dump local"_dump.html
+commands, this body style produces one datum for each of the N
+sub-particles in a body particle.  The datum has 3 values:
+
+1 = x position of sub-particle
+2 = y position of sub-particle
+3 = z position of sub-particle :pre
+
+These values are the current position of the sub-particle within the
+simulation domain, not a displacement from the center-of-mass (COM) of
+the body particle itself.  These values are calculated using the
+current COM and orientation of the body particle.
+
+For images created by the "dump image"_dump_image.html command, if the
+{body} keyword is set, then each body particle is drawn as a
+collection of spheres, one for each sub-particle.  The size of each
+sphere is determined by the {bflag1} parameter for the {body} keyword.
+The {bflag2} argument is ignored.
+
+:line
+
+[Specifics of body style rounded/polygon:]
+
+The {rounded/polygon} body style represents body particles as a 2d
+polygon with a variable number of N vertices.  This style can only be
+used for 2d models; see the "boundary"_boundary.html command.  See the
+"pair_style body/rounded/polygon" doc page for a diagram of two
+squares with rounded circles at the vertices.  Special cases for N = 1
+(circle) and N = 2 (rod with rounded ends) can also be specified.
+
+One use of this body style is for 2d discrete element models, as
+described in "Fraige"_#body-Fraige.
+
+Similar to body style {nparticle}, the atom_style body command for
+this body style takes two additional arguments:
+
+atom_style body rounded/polygon Nmin Nmax
+Nmin = minimum # of vertices in any body in the system
+Nmax = maximum # of vertices in any body in the system :pre
+
+The Nmin and Nmax arguments are used to bound the size of data
+structures used internally by each particle.
+
+When the "read_data"_read_data.html command reads a data file for this
+body style, the following information must be provided for each entry
+in the {Bodies} section of the data file:
+
+atom-ID 1 M
+N
+ixx iyy izz ixy ixz iyz
+x1 y1 z1
+...
+xN yN zN
+i j j k k ...
+diameter :pre
+
+where M = 6 + 3*N + 2*N + 1, and N is the number of vertices in the
+body particle.
+
+The integer line has a single value N.  The floating point line(s)
+list 6 moments of inertia followed by the coordinates of the N
+vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by
+2N vertex indices corresponding to the end points of the N edges,
+followed by a single diameter value = the rounded diameter of the
+circle that surrounds each vertex. The diameter value can be different
+for each body particle. These floating-point values can be listed on
+as many lines as you wish; see the "read_data"_read_data.html command
+for more details.
+
+The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
+values consistent with the current orientation of the rigid body
+around its center of mass.  The values are with respect to the
+simulation box XYZ axes, not with respect to the principal axes of the
+rigid body itself.  LAMMPS performs the latter calculation internally.
+The coordinates of each vertex are specified as its x,y,z displacement
+from the center-of-mass of the body particle.  The center-of-mass
+position of the particle is specified by the x,y,z values in the
+{Atoms} section of the data file.
+
+For example, the following information would specify a square particle
+whose edge length is sqrt(2) and rounded diameter is 1.0.  The
+orientation of the square is aligned with the xy coordinate axes which
+is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz =
+1 1 4 0 0 0. Note that only Izz matters in 2D simulations.
+
+3 1 27
+4
+1 1 4 0 0 0
+-0.7071 -0.7071 0
+-0.7071 0.7071 0
+0.7071 0.7071 0
+0.7071 -0.7071 0
+0 1
+1 2
+2 3
+3 0
+1.0 :pre
+
+A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends
+by circles of diameter 0.5, is specified as follows:
+
+1 1 13
+2
+1 1 1.33333 0 0 0
+-2 0 0
+2 0 0
+0.5 :pre
+
+A disk, whose diameter is 3.0, mass 1.0, is specified as follows:
+
+1 1 10
+1
+1 1 4.5 0 0 0
+0 0 0
+3.0 :pre
+
+The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html
+command can be used with this body style to compute body/body
+interactions.  The "fix wall/body/polygon"_fix_wall_body_polygon.html
+command can be used with this body style to compute the interaction of
+body particles with a wall.
+
+:line
+
+[Specifics of body style rounded/polyhedron:]
+
+The {rounded/polyhedron} body style represents body particles as a 3d
+polyhedron with a variable number of N vertices, E edges and F faces.
+This style can only be used for 3d models; see the
+"boundary"_boundary.html command.  See the "pair_style
+body/rounded/polygon" doc page for a diagram of a two 2d squares with
+rounded circles at the vertices.  A 3d cube with rounded spheres at
+the 8 vertices and 12 rounded edges would be similar.  Special cases
+for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be
+specified.
+
+This body style is for 3d discrete element models, as described in
+"Wang"_#body-Wang.
+
+Similar to body style {rounded/polygon}, the atom_style body command
+for this body style takes two additional arguments:
+
+atom_style body rounded/polyhedron Nmin Nmax
+Nmin = minimum # of vertices in any body in the system
+Nmax = maximum # of vertices in any body in the system :pre
+
+The Nmin and Nmax arguments are used to bound the size of data
+structures used internally by each particle.
+
+When the "read_data"_read_data.html command reads a data file for this
+body style, the following information must be provided for each entry
+in the {Bodies} section of the data file:
+
+atom-ID 3 M
+N E F
+ixx iyy izz ixy ixz iyz
+x1 y1 z1
+...
+xN yN zN
+0 1
+1 2 
+2 3
+...
+0 1 2 -1
+0 2 3 -1
+...
+1 2 3 4
+diameter :pre
+
+where M = 6 + 3*N + 2*E + 4*F + 1, and N is the number of vertices in
+the body particle, E = number of edges, F = number of faces.
+
+The integer line has three values: number of vertices (N), number of
+edges (E) and number of faces (F). The floating point line(s) list 6
+moments of inertia followed by the coordinates of the N vertices (x1
+to zN) as 3N values, followed by 2N vertex indices corresponding to
+the end points of the E edges, then 4*F vertex indices defining F
+faces.  The last value is the diameter value = the rounded diameter of
+the sphere that surrounds each vertex. The diameter value can be
+different for each body particle. These floating-point values can be
+listed on as many lines as you wish; see the
+"read_data"_read_data.html command for more details.  Because the
+maxmimum vertices per face is hard-coded to be 4
+(i.e. quadrilaterals), faces with more than 4 vertices need to be
+split into triangles or quadrilaterals.  For triangular faces, the
+last vertex index should be set to -1.
+
+The ordering of the 4 vertices within a face should follow
+the right-hand rule so that the normal vector of the face points
+outwards from the center of mass.
+
+The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
+values consistent with the current orientation of the rigid body
+around its center of mass.  The values are with respect to the
+simulation box XYZ axes, not with respect to the principal axes of the
+rigid body itself.  LAMMPS performs the latter calculation internally.
+The coordinates of each vertex are specified as its x,y,z displacement
+from the center-of-mass of the body particle.  The center-of-mass
+position of the particle is specified by the x,y,z values in the
+{Atoms} section of the data file.
+
+For example, the following information would specify a cubic particle
+whose edge length is 2.0 and rounded diameter is 0.5.
+The orientation of the cube is aligned with the xyz coordinate axes
+which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz
+iyz = 0.667 0.667 0.667 0 0 0.
+
+1 3 79
+8 12 6
+0.667 0.667 0.667 0 0 0
+1 1 1
+1 -1 1
+-1 -1 1
+-1 1 1
+1 1 -1
+1 -1 -1
+-1 -1 -1
+-1 1 -1
+0 1
+1 2
+2 3
+3 0
+4 5
+5 6
+6 7
+7 4
+0 4
+1 5
+2 6
+3 7
+0 1 2 3
+4 5 6 7
+0 1 5 4
+1 2 6 5
+2 3 7 6
+3 0 4 7
+0.5 :pre
+
+A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends
+by circles of diameter 0.5, is specified as follows:
+
+1 1 13
+2
+0 1.33333 1.33333 0 0 0
+-2 0 0
+2 0 0
+0.5 :pre
+
+A sphere whose diameter is 3.0 and mass 1.0, is specified as follows:
+
+1 1 10
+1
+0.9 0.9 0.9 0 0 0
+0 0 0
+3.0 :pre
+
+The "pair_style
+body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can
+be used with this body style to compute body/body interactions.  The
+"fix wall/body/polyhedron"_fix_wall_body_polygon.html command can be
+used with this body style to compute the interaction of body particles
+with a wall.
+
+:line
+
+For output purposes via the "compute
+body/local"_compute_body_local.html and "dump local"_dump.html
+commands, this body style produces one datum for each of the N
+sub-particles in a body particle.  The datum has 3 values:
+
+1 = x position of vertex
+2 = y position of vertex
+3 = z position of vertex :pre
+
+These values are the current position of the vertex within the
+simulation domain, not a displacement from the center-of-mass (COM) of
+the body particle itself.  These values are calculated using the
+current COM and orientation of the body particle.
+
+For images created by the "dump image"_dump_image.html command, if the
+{body} keyword is set, then each body particle is drawn as a polygon
+consisting of N line segments.  Note that the line segments are drawn
+between the N vertices, which does not correspond exactly to the
+physical extent of the body (because the "pair_style
+rounded/polygon"_pair_body_rounded_polygon.html defines finite-size
+spheres at those point and the line segments between the spheres are
+tangent to the spheres).  The drawn diameter of each line segment is
+determined by the {bflag1} parameter for the {body} keyword.  The
+{bflag2} argument is ignored.
+
+:line
+
+:link(body-Fraige)
+[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds,
+Particuology, 6, 455 (2008).
+
+:link(body-Wang)
+[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular
+Matter, 13, 1 (2011).
diff --git a/doc/src/Howto_chunk.txt b/doc/src/Howto_chunk.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d757b2729cb732178161d2add46c68f77b0d641
--- /dev/null
+++ b/doc/src/Howto_chunk.txt
@@ -0,0 +1,166 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Use chunks to calculate system properties :h3
+
+In LAMMS, "chunks" are collections of atoms, as defined by the
+"compute chunk/atom"_compute_chunk_atom.html command, which assigns
+each atom to a chunk ID (or to no chunk at all).  The number of chunks
+and the assignment of chunk IDs to atoms can be static or change over
+time.  Examples of "chunks" are molecules or spatial bins or atoms
+with similar values (e.g. coordination number or potential energy).
+
+The per-atom chunk IDs can be used as input to two other kinds of
+commands, to calculate various properties of a system:
+
+"fix ave/chunk"_fix_ave_chunk.html
+any of the "compute */chunk"_compute.html commands :ul
+
+Here, each of the 3 kinds of chunk-related commands is briefly
+overviewed.  Then some examples are given of how to compute different
+properties with chunk commands.
+
+Compute chunk/atom command: :h4
+
+This compute can assign atoms to chunks of various styles.  Only atoms
+in the specified group and optional specified region are assigned to a
+chunk.  Here are some possible chunk definitions:
+
+atoms in same molecule | chunk ID = molecule ID |
+atoms of same atom type | chunk ID = atom type |
+all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom |
+atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command |
+atoms in same spatial bin | chunk ID = bin ID |
+atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies |
+atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html |
+atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2)
+
+Note that chunk IDs are integer values, so for atom properties or
+computes that produce a floating point value, they will be truncated
+to an integer.  You could also use the compute in a variable that
+scales the floating point value to spread it across multiple integers.
+
+Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
+pencils, 3d bins = boxes, spherical bins, cylindrical bins.
+
+This compute also calculates the number of chunks {Nchunk}, which is
+used by other commands to tally per-chunk data.  {Nchunk} can be a
+static value or change over time (e.g. the number of clusters).  The
+chunk ID for an individual atom can also be static (e.g. a molecule
+ID), or dynamic (e.g. what spatial bin an atom is in as it moves).
+
+Note that this compute allows the per-atom output of other
+"computes"_compute.html, "fixes"_fix.html, and
+"variables"_variable.html to be used to define chunk IDs for each
+atom.  This means you can write your own compute or fix to output a
+per-atom quantity to use as chunk ID.  See the "Modify"_Modify.html
+doc pages for info on how to do this.  You can also define a "per-atom
+variable"_variable.html in the input script that uses a formula to
+generate a chunk ID for each atom.
+
+Fix ave/chunk command: :h4
+
+This fix takes the ID of a "compute
+chunk/atom"_compute_chunk_atom.html command as input.  For each chunk,
+it then sums one or more specified per-atom values over the atoms in
+each chunk.  The per-atom values can be any atom property, such as
+velocity, force, charge, potential energy, kinetic energy, stress,
+etc.  Additional keywords are defined for per-chunk properties like
+density and temperature.  More generally any per-atom value generated
+by other "computes"_compute.html, "fixes"_fix.html, and "per-atom
+variables"_variable.html, can be summed over atoms in each chunk.
+
+Similar to other averaging fixes, this fix allows the summed per-chunk
+values to be time-averaged in various ways, and output to a file.  The
+fix produces a global array as output with one row of values per
+chunk.
+
+Compute */chunk commands: :h4
+
+Currently the following computes operate on chunks of atoms to produce
+per-chunk values.
+
+"compute com/chunk"_compute_com_chunk.html
+"compute gyration/chunk"_compute_gyration_chunk.html
+"compute inertia/chunk"_compute_inertia_chunk.html
+"compute msd/chunk"_compute_msd_chunk.html
+"compute property/chunk"_compute_property_chunk.html
+"compute temp/chunk"_compute_temp_chunk.html
+"compute torque/chunk"_compute_vcm_chunk.html
+"compute vcm/chunk"_compute_vcm_chunk.html :ul
+
+They each take the ID of a "compute
+chunk/atom"_compute_chunk_atom.html command as input.  As their names
+indicate, they calculate the center-of-mass, radius of gyration,
+moments of inertia, mean-squared displacement, temperature, torque,
+and velocity of center-of-mass for each chunk of atoms.  The "compute
+property/chunk"_compute_property_chunk.html command can tally the
+count of atoms in each chunk and extract other per-chunk properties.
+
+The reason these various calculations are not part of the "fix
+ave/chunk command"_fix_ave_chunk.html, is that each requires a more
+complicated operation than simply summing and averaging over per-atom
+values in each chunk.  For example, many of them require calculation
+of a center of mass, which requires summing mass*position over the
+atoms and then dividing by summed mass.
+
+All of these computes produce a global vector or global array as
+output, wih one or more values per chunk.  They can be used
+in various ways:
+
+As input to the "fix ave/time"_fix_ave_time.html command, which can
+write the values to a file and optionally time average them. :ulb,l
+
+As input to the "fix ave/histo"_fix_ave_histo.html command to
+histogram values across chunks.  E.g. a histogram of cluster sizes or
+molecule diffusion rates. :l
+
+As input to special functions of "equal-style
+variables"_variable.html, like sum() and max().  E.g. to find the
+largest cluster or fastest diffusing molecule. :l
+:ule
+
+Example calculations with chunks :h4
+
+Here are examples using chunk commands to calculate various
+properties:
+
+(1) Average velocity in each of 1000 2d spatial bins:
+
+compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
+fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre
+
+(2) Temperature in each spatial bin, after subtracting a flow
+velocity:
+
+compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
+compute vbias all temp/profile 1 0 0 y 10
+fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre
+
+(3) Center of mass of each molecule:
+
+compute cc1 all chunk/atom molecule
+compute myChunk all com/chunk cc1
+fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre
+
+(4) Total force on each molecule and ave/max across all molecules:
+
+compute cc1 all chunk/atom molecule
+fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out
+variable xave equal ave(f_1\[2\])
+variable xmax equal max(f_1\[2\])
+thermo 1000
+thermo_style custom step temp v_xave v_xmax :pre
+
+(5) Histogram of cluster sizes:
+
+compute cluster all cluster/atom 1.0
+compute cc1 all chunk/atom c_cluster compress yes
+compute size all property/chunk cc1 count
+fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre
diff --git a/doc/src/Howto_coreshell.txt b/doc/src/Howto_coreshell.txt
new file mode 100644
index 0000000000000000000000000000000000000000..273568418b2a4ce6b397adce4c32b9357fcac35c
--- /dev/null
+++ b/doc/src/Howto_coreshell.txt
@@ -0,0 +1,253 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Adiabatic core/shell model :h3
+
+The adiabatic core-shell model by "Mitchell and
+Fincham"_#MitchellFincham is a simple method for adding polarizability
+to a system.  In order to mimic the electron shell of an ion, a
+satellite particle is attached to it. This way the ions are split into
+a core and a shell where the latter is meant to react to the
+electrostatic environment inducing polarizability.  See the "Howto
+polarizable"_Howto_polarizable.html doc page for a discussion of all
+the polarizable models available in LAMMPS.
+
+Technically, shells are attached to the cores by a spring force f =
+k*r where k is a parametrized spring constant and r is the distance
+between the core and the shell. The charges of the core and the shell
+add up to the ion charge, thus q(ion) = q(core) + q(shell). This
+setup introduces the ion polarizability (alpha) given by
+alpha = q(shell)^2 / k. In a
+similar fashion the mass of the ion is distributed on the core and the
+shell with the core having the larger mass.
+
+To run this model in LAMMPS, "atom_style"_atom_style.html {full} can
+be used since atom charge and bonds are needed.  Each kind of
+core/shell pair requires two atom types and a bond type.  The core and
+shell of a core/shell pair should be bonded to each other with a
+harmonic bond that provides the spring force. For example, a data file
+for NaCl, as found in examples/coreshell, has this format:
+
+432   atoms  # core and shell atoms
+216   bonds  # number of core/shell springs :pre
+
+4     atom types  # 2 cores and 2 shells for Na and Cl
+2     bond types :pre
+
+0.0 24.09597 xlo xhi
+0.0 24.09597 ylo yhi
+0.0 24.09597 zlo zhi :pre
+
+Masses       # core/shell mass ratio = 0.1 :pre
+
+1 20.690784  # Na core
+2 31.90500   # Cl core
+3 2.298976   # Na shell
+4 3.54500    # Cl shell :pre
+
+Atoms :pre
+
+1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
+2    1    4  -2.5005    0.00000000   0.00000000   0.00000000 # shell of core/shell pair 1
+3    2    1   1.5056    4.01599500   4.01599500   4.01599500 # core of core/shell pair 2
+4    2    3  -0.5056    4.01599500   4.01599500   4.01599500 # shell of core/shell pair 2
+(...) :pre
+
+Bonds   # Bond topology for spring forces :pre
+
+1     2     1     2   # spring for core/shell pair 1
+2     2     3     4   # spring for core/shell pair 2
+(...) :pre
+
+Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only
+defined between the shells.  Coulombic interactions are defined
+between all cores and shells.  If desired, additional bonds can be
+specified between cores.
+
+The "special_bonds"_special_bonds.html command should be used to
+turn-off the Coulombic interaction within core/shell pairs, since that
+interaction is set by the bond spring.  This is done using the
+"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0,
+which is the default value.  It needs to be considered whether one has
+to adjust the "special_bonds"_special_bonds.html weighting according
+to the molecular topology since the interactions of the shells are
+bypassed over an extra bond.
+
+Note that this core/shell implementation does not require all ions to
+be polarized.  One can mix core/shell pairs and ions without a
+satellite particle if desired.
+
+Since the core/shell model permits distances of r = 0.0 between the
+core and shell, a pair style with a "cs" suffix needs to be used to
+implement a valid long-range Coulombic correction.  Several such pair
+styles are provided in the CORESHELL package.  See "this doc
+page"_pair_cs.html for details.  All of the core/shell enabled pair
+styles require the use of a long-range Coulombic solver, as specified
+by the "kspace_style"_kspace_style.html command.  Either the PPPM or
+Ewald solvers can be used.
+
+For the NaCL example problem, these pair style and bond style settings
+are used:
+
+pair_style      born/coul/long/cs 20.0 20.0
+pair_coeff      * *      0.0 1.000   0.00  0.00   0.00
+pair_coeff      3 3    487.0 0.23768 0.00  1.05   0.50 #Na-Na
+pair_coeff      3 4 145134.0 0.23768 0.00  6.99   8.70 #Na-Cl
+pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre
+
+bond_style      harmonic
+bond_coeff      1 63.014 0.0
+bond_coeff      2 25.724 0.0 :pre
+
+When running dynamics with the adiabatic core/shell model, the
+following issues should be considered.  The relative motion of
+the core and shell particles corresponds to the polarization,
+hereby an instantaneous relaxation of the shells is approximated
+and a fast core/shell spring frequency ensures a nearly constant
+internal kinetic energy during the simulation.
+Thermostats can alter this polarization behaviour, by scaling the
+internal kinetic energy, meaning the shell will not react freely to
+its electrostatic environment.
+Therefore it is typically desirable to decouple the relative motion of
+the core/shell pair, which is an imaginary degree of freedom, from the
+real physical system.  To do that, the "compute
+temp/cs"_compute_temp_cs.html command can be used, in conjunction with
+any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix
+langevin"_fix_langevin.  This compute uses the center-of-mass velocity
+of the core/shell pairs to calculate a temperature, and insures that
+velocity is what is rescaled for thermostatting purposes.  This
+compute also works for a system with both core/shell pairs and
+non-polarized ions (ions without an attached satellite particle).  The
+"compute temp/cs"_compute_temp_cs.html command requires input of two
+groups, one for the core atoms, another for the shell atoms.
+Non-polarized ions which might also be included in the treated system
+should not be included into either of these groups, they are taken
+into account by the {group-ID} (2nd argument) of the compute.  The
+groups can be defined using the "group {type}"_group.html command.
+Note that to perform thermostatting using this definition of
+temperature, the "fix modify temp"_fix_modify.html command should be
+used to assign the compute to the thermostat fix.  Likewise the
+"thermo_modify temp"_thermo_modify.html command can be used to make
+this temperature be output for the overall system.
+
+For the NaCl example, this can be done as follows:
+
+group cores type 1 2
+group shells type 3 4
+compute CSequ all temp/cs cores shells
+fix thermoberendsen all temp/berendsen 1427 1427 0.4    # thermostat for the true physical system
+fix thermostatequ all nve                               # integrator as needed for the berendsen thermostat
+fix_modify thermoberendsen temp CSequ
+thermo_modify temp CSequ                                # output of center-of-mass derived temperature :pre
+
+The pressure for the core/shell system is computed via the regular
+LAMMPS convention by "treating the cores and shells as individual
+particles"_#MitchellFincham2. For the thermo output of the pressure
+as well as for the application of a barostat, it is necessary to
+use an additional "pressure"_compute_pressure compute based on the
+default "temperature"_compute_temp and specifying it as a second
+argument in "fix modify"_fix_modify.html and
+"thermo_modify"_thermo_modify.html resulting in:
+
+(...)
+compute CSequ all temp/cs cores shells
+compute thermo_press_lmp all pressure thermo_temp       # pressure for individual particles
+thermo_modify temp CSequ press thermo_press_lmp         # modify thermo to regular pressure
+fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4
+fix_modify press_bar temp CSequ press thermo_press_lmp  # pressure modification for correct kinetic scalar :pre
+
+If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
+relative motion of the core and the shell should in theory be
+stable.  However numerical fluctuation can introduce a small
+momentum to the system, which is noticable over long trajectories.
+Therefore it is recommendable to use the "fix
+momentum"_fix_momentum.html command in combination with "compute
+temp/cs"_compute_temp_cs.html when equilibrating the system to
+prevent any drift.
+
+When initializing the velocities of a system with core/shell pairs, it
+is also desirable to not introduce energy into the relative motion of
+the core/shell particles, but only assign a center-of-mass velocity to
+the pairs.  This can be done by using the {bias} keyword of the
+"velocity create"_velocity.html command and assigning the "compute
+temp/cs"_compute_temp_cs.html command to the {temp} keyword of the
+"velocity"_velocity.html command, e.g.
+
+velocity all create 1427 134 bias yes temp CSequ
+velocity all scale 1427 temp CSequ :pre
+
+To maintain the correct polarizability of the core/shell pairs, the
+kinetic energy of the internal motion shall remain nearly constant.
+Therefore the choice of spring force and mass ratio need to ensure
+much faster relative motion of the 2 atoms within the core/shell pair
+than their center-of-mass velocity. This allows the shells to
+effectively react instantaneously to the electrostatic environment and
+limits energy transfer to or from the core/shell oscillators.
+This fast movement also dictates the timestep that can be used.
+
+The primary literature of the adiabatic core/shell model suggests that
+the fast relative motion of the core/shell pairs only allows negligible
+energy transfer to the environment.
+The mentioned energy transfer will typically lead to a small drift
+in total energy over time.  This internal energy can be monitored
+using the "compute chunk/atom"_compute_chunk_atom.html and "compute
+temp/chunk"_compute_temp_chunk.html commands.  The internal kinetic
+energies of each core/shell pair can then be summed using the sum()
+special function of the "variable"_variable.html command.  Or they can
+be time/averaged and output using the "fix ave/time"_fix_ave_time.html
+command.  To use these commands, each core/shell pair must be defined
+as a "chunk".  If each core/shell pair is defined as its own molecule,
+the molecule ID can be used to define the chunks.  If cores are bonded
+to each other to form larger molecules, the chunks can be identified
+by the "fix property/atom"_fix_property_atom.html via assigning a
+core/shell ID to each atom using a special field in the data file read
+by the "read_data"_read_data.html command.  This field can then be
+accessed by the "compute property/atom"_compute_property_atom.html
+command, to use as input to the "compute
+chunk/atom"_compute_chunk_atom.html command to define the core/shell
+pairs as chunks.
+
+For example if core/shell pairs are the only molecules:
+
+read_data NaCl_CS_x0.1_prop.data
+compute prop all property/atom molecule
+compute cs_chunk all chunk/atom c_prop
+compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0     # note the chosen degrees of freedom for the core/shell pairs
+fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre
+
+For example if core/shell pairs and other molecules are present:
+
+fix csinfo all property/atom i_CSID                       # property/atom command
+read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info  # atom property added in the data-file
+compute prop all property/atom i_CSID
+(...) :pre
+
+The additional section in the date file would be formatted like this:
+
+CS-Info         # header of additional section :pre
+
+1   1           # column 1 = atom ID, column 2 = core/shell ID
+2   1
+3   2
+4   2
+5   3
+6   3
+7   4
+8   4
+(...) :pre
+
+:line
+
+:link(MitchellFincham)
+[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter,
+5, 1031-1038 (1993).
+
+:link(MitchellFincham2)
+[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter,
+6, 393-404 (1994).
diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ec45bd129046b4f32497876059a5bde68a1c400f
--- /dev/null
+++ b/doc/src/Howto_couple.txt
@@ -0,0 +1,105 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Coupling LAMMPS to other codes :h3
+
+LAMMPS is designed to allow it to be coupled to other codes.  For
+example, a quantum mechanics code might compute forces on a subset of
+atoms and pass those forces to LAMMPS.  Or a continuum finite element
+(FE) simulation might use atom positions as boundary conditions on FE
+nodal points, compute a FE solution, and return interpolated forces on
+MD atoms.
+
+LAMMPS can be coupled to other codes in at least 3 ways.  Each has
+advantages and disadvantages, which you'll have to think about in the
+context of your application.
+
+(1) Define a new "fix"_fix.html command that calls the other code.  In
+this scenario, LAMMPS is the driver code.  During its timestepping,
+the fix is invoked, and can make library calls to the other code,
+which has been linked to LAMMPS as a library.  This is the way the
+"POEMS"_poems package that performs constrained rigid-body motion on
+groups of atoms is hooked to LAMMPS.  See the "fix
+poems"_fix_poems.html command for more details.  See the
+"Modify"_Modify.html doc pages for info on how to add a new fix to
+LAMMPS.
+
+:link(poems,http://www.rpi.edu/~anderk5/lab)
+
+(2) Define a new LAMMPS command that calls the other code.  This is
+conceptually similar to method (1), but in this case LAMMPS and the
+other code are on a more equal footing.  Note that now the other code
+is not called during the timestepping of a LAMMPS run, but between
+runs.  The LAMMPS input script can be used to alternate LAMMPS runs
+with calls to the other code, invoked via the new command.  The
+"run"_run.html command facilitates this with its {every} option, which
+makes it easy to run a few steps, invoke the command, run a few steps,
+invoke the command, etc.
+
+In this scenario, the other code can be called as a library, as in
+(1), or it could be a stand-alone code, invoked by a system() call
+made by the command (assuming your parallel machine allows one or more
+processors to start up another program).  In the latter case the
+stand-alone code could communicate with LAMMPS thru files that the
+command writes and reads.
+
+See the "Modify command"_Modify_command.html doc page for info on how
+to add a new command to LAMMPS.
+
+(3) Use LAMMPS as a library called by another code.  In this case the
+other code is the driver and calls LAMMPS as needed.  Or a wrapper
+code could link and call both LAMMPS and another code as libraries.
+Again, the "run"_run.html command has options that allow it to be
+invoked with minimal overhead (no setup or clean-up) if you wish to do
+multiple short runs, driven by another program.
+
+Examples of driver codes that call LAMMPS as a library are included in
+the examples/COUPLE directory of the LAMMPS distribution; see
+examples/COUPLE/README for more details:
+
+simple: simple driver programs in C++ and C which invoke LAMMPS as a
+library :ulb,l
+
+lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical
+MD with quantum forces calculated by a density functional code :l
+
+lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple
+a kinetic Monte Carlo model for grain growth using MD to calculate
+strain induced across grain boundaries :l
+:ule
+
+:link(quest,http://dft.sandia.gov/Quest)
+:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html)
+
+"This section"_Section_start.html#start_5 of the documentation
+describes how to build LAMMPS as a library.  Once this is done, you
+can interface with LAMMPS either via C++, C, Fortran, or Python (or
+any other language that supports a vanilla C-like interface).  For
+example, from C++ you could create one (or more) "instances" of
+LAMMPS, pass it an input script to process, or execute individual
+commands, all by invoking the correct class methods in LAMMPS.  From C
+or Fortran you can make function calls to do the same things.  See the
+"Python"_Python.html doc pages for a description of the Python wrapper
+provided with LAMMPS that operates through the LAMMPS library
+interface.
+
+The files src/library.cpp and library.h contain the C-style interface
+to LAMMPS.  See the "Howto library"_Howto_library.html doc page for a
+description of the interface and how to extend it for your needs.
+
+Note that the lammps_open() function that creates an instance of
+LAMMPS takes an MPI communicator as an argument.  This means that
+instance of LAMMPS will run on the set of processors in the
+communicator.  Thus the calling code can run LAMMPS on all or a subset
+of processors.  For example, a wrapper script might decide to
+alternate between LAMMPS and another code, allowing them both to run
+on all the processors.  Or it might allocate half the processors to
+LAMMPS and half to the other code and run both codes simultaneously
+before syncing them up periodically.  Or it might instantiate multiple
+instances of LAMMPS to perform different calculations.
diff --git a/doc/src/Howto_diffusion.txt b/doc/src/Howto_diffusion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e0e16e1042039f72ac66c0edf052df693590c153
--- /dev/null
+++ b/doc/src/Howto_diffusion.txt
@@ -0,0 +1,31 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Calculate a diffusion coefficient :h3
+
+The diffusion coefficient D of a material can be measured in at least
+2 ways using various options in LAMMPS.  See the examples/DIFFUSE
+directory for scripts that implement the 2 methods discussed here for
+a simple Lennard-Jones fluid model.
+
+The first method is to measure the mean-squared displacement (MSD) of
+the system, via the "compute msd"_compute_msd.html command.  The slope
+of the MSD versus time is proportional to the diffusion coefficient.
+The instantaneous MSD values can be accumulated in a vector via the
+"fix vector"_fix_vector.html command, and a line fit to the vector to
+compute its slope via the "variable slope"_variable.html function, and
+thus extract D.
+
+The second method is to measure the velocity auto-correlation function
+(VACF) of the system, via the "compute vacf"_compute_vacf.html
+command.  The time-integral of the VACF is proportional to the
+diffusion coefficient.  The instantaneous VACF values can be
+accumulated in a vector via the "fix vector"_fix_vector.html command,
+and time integrated via the "variable trap"_variable.html function,
+and thus extract D.
diff --git a/doc/src/Howto_dispersion.txt b/doc/src/Howto_dispersion.txt
new file mode 100644
index 0000000000000000000000000000000000000000..000f45076db1a458b279af52fa62d6302177c462
--- /dev/null
+++ b/doc/src/Howto_dispersion.txt
@@ -0,0 +1,108 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Long-raage dispersion settings :h3
+
+The PPPM method computes interactions by splitting the pair potential
+into two parts, one of which is computed in a normal pairwise fashion,
+the so-called real-space part, and one of which is computed using the
+Fourier transform, the so called reciprocal-space or kspace part.  For
+both parts, the potential is not computed exactly but is approximated.
+Thus, there is an error in both parts of the computation, the
+real-space and the kspace error. The just mentioned facts are true
+both for the PPPM for Coulomb as well as dispersion interactions. The
+deciding difference - and also the reason why the parameters for
+pppm/disp have to be selected with more care - is the impact of the
+errors on the results: The kspace error of the PPPM for Coulomb and
+dispersion interaction and the real-space error of the PPPM for
+Coulomb interaction have the character of noise. In contrast, the
+real-space error of the PPPM for dispersion has a clear physical
+interpretation: the underprediction of cohesion. As a consequence, the
+real-space error has a much stronger effect than the kspace error on
+simulation results for pppm/disp.  Parameters must thus be chosen in a
+way that this error is much smaller than the kspace error.
+
+When using pppm/disp and not making any specifications on the PPPM
+parameters via the kspace modify command, parameters will be tuned
+such that the real-space error and the kspace error are equal.  This
+will result in simulations that are either inaccurate or slow, both of
+which is not desirable. For selecting parameters for the pppm/disp
+that provide fast and accurate simulations, there are two approaches,
+which both have their up- and downsides.
+
+The first approach is to set desired real-space an kspace accuracies
+via the {kspace_modify force/disp/real} and {kspace_modify
+force/disp/kspace} commands. Note that the accuracies have to be
+specified in force units and are thus dependent on the chosen unit
+settings. For real units, 0.0001 and 0.002 seem to provide reasonable
+accurate and efficient computations for the real-space and kspace
+accuracies.  0.002 and 0.05 work well for most systems using lj
+units. PPPM parameters will be generated based on the desired
+accuracies. The upside of this approach is that it usually provides a
+good set of parameters and will work for both the {kspace_modify diff
+ad} and {kspace_modify diff ik} options.  The downside of the method
+is that setting the PPPM parameters will take some time during the
+initialization of the simulation.
+
+The second approach is to set the parameters for the pppm/disp
+explicitly using the {kspace_modify mesh/disp}, {kspace_modify
+order/disp}, and {kspace_modify gewald/disp} commands. This approach
+requires a more experienced user who understands well the impact of
+the choice of parameters on the simulation accuracy and
+performance. This approach provides a fast initialization of the
+simulation. However, it is sensitive to errors: A combination of
+parameters that will perform well for one system might result in
+far-from-optimal conditions for other simulations. For example,
+parameters that provide accurate and fast computations for
+all-atomistic force fields can provide insufficient accuracy or
+united-atomistic force fields (which is related to that the latter
+typically have larger dispersion coefficients).
+
+To avoid inaccurate or inefficient simulations, the pppm/disp stops
+simulations with an error message if no action is taken to control the
+PPPM parameters. If the automatic parameter generation is desired and
+real-space and kspace accuracies are desired to be equal, this error
+message can be suppressed using the {kspace_modify disp/auto yes}
+command.
+
+A reasonable approach that combines the upsides of both methods is to
+make the first run using the {kspace_modify force/disp/real} and
+{kspace_modify force/disp/kspace} commands, write down the PPPM
+parameters from the outut, and specify these parameters using the
+second approach in subsequent runs (which have the same composition,
+force field, and approximately the same volume).
+
+Concerning the performance of the pppm/disp there are two more things
+to consider. The first is that when using the pppm/disp, the cutoff
+parameter does no longer affect the accuracy of the simulation
+(subject to that gewald/disp is adjusted when changing the cutoff).
+The performance can thus be increased by examining different values
+for the cutoff parameter. A lower bound for the cutoff is only set by
+the truncation error of the repulsive term of pair potentials.
+
+The second is that the mixing rule of the pair style has an impact on
+the computation time when using the pppm/disp. Fastest computations
+are achieved when using the geometric mixing rule. Using the
+arithmetic mixing rule substantially increases the computational cost.
+The computational overhead can be reduced using the {kspace_modify
+mix/disp geom} and {kspace_modify splittol} commands. The first
+command simply enforces geometric mixing of the dispersion
+coefficients in kspace computations.  This introduces some error in
+the computations but will also significantly speed-up the
+simulations. The second keyword sets the accuracy with which the
+dispersion coefficients are approximated using a matrix factorization
+approach.  This may result in better accuracy then using the first
+command, but will usually also not provide an equally good increase of
+efficiency.
+
+Finally, pppm/disp can also be used when no mixing rules apply.
+This can be achieved using the {kspace_modify mix/disp none} command.
+Note that the code does not check automatically whether any mixing
+rule is fulfilled. If mixing rules do not apply, the user will have
+to specify this command explicitly.
diff --git a/doc/src/Howto_drude.txt b/doc/src/Howto_drude.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e9c30db772caa8dfa01473259b7c41e675daeb2a
--- /dev/null
+++ b/doc/src/Howto_drude.txt
@@ -0,0 +1,77 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Drude induced dipoles :h3
+
+The thermalized Drude model represents induced dipoles by a pair of
+charges (the core atom and the Drude particle) connected by a harmonic
+spring.  See the "Howto polarizable"_Howto_polarizable.html doc page
+for a discussion of all the polarizable models available in LAMMPS.
+
+The Drude model has a number of features aimed at its use in
+molecular systems ("Lamoureux and Roux"_#howto-Lamoureux):
+
+Thermostating of the additional degrees of freedom associated with the
+induced dipoles at very low temperature, in terms of the reduced
+coordinates of the Drude particles with respect to their cores. This
+makes the trajectory close to that of relaxed induced dipoles. :ulb,l
+
+Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle
+pair represents a single (polarizable) atom, so the special screening
+factors in a covalent structure should be the same for the core and
+the Drude particle.  Drude particles have to inherit the 1-2, 1-3, 1-4
+special neighbor relations from their respective cores. :l
+
+Stabilization of the interactions between induced dipoles. Drude
+dipoles on covalently bonded atoms interact too strongly due to the
+short distances, so an atom may capture the Drude particle of a
+neighbor, or the induced dipoles within the same molecule may align
+too much. To avoid this, damping at short range can be done by Thole
+functions (for which there are physical grounds). This Thole damping
+is applied to the point charges composing the induced dipole (the
+charge of the Drude particle and the opposite charge on the core, not
+to the total charge of the core atom). :l,ule
+
+A detailed tutorial covering the usage of Drude induced dipoles in
+LAMMPS is on the "Howto drude2e"_Howto_drude2.html doc page.
+
+As with the core-shell model, the cores and Drude particles should
+appear in the data file as standard atoms. The same holds for the
+springs between them, which are described by standard harmonic bonds.
+The nature of the atoms (core, Drude particle or non-polarizable) is
+specified via the "fix drude"_fix_drude.html command.  The special
+list of neighbors is automatically refactored to account for the
+equivalence of core and Drude particles as regards special 1-2 to 1-4
+screening. It may be necessary to use the {extra/special/per/atom}
+keyword of the "read_data"_read_data.html command. If using "fix
+shake"_fix_shake.html, make sure no Drude particle is in this fix
+group.
+
+There are two ways to thermostat the Drude particles at a low
+temperature: use either "fix langevin/drude"_fix_langevin_drude.html
+for a Langevin thermostat, or "fix
+drude/transform/*"_fix_drude_transform.html for a Nose-Hoover
+thermostat. The former requires use of the command "comm_modify vel
+yes"_comm_modify.html. The latter requires two separate integration
+fixes like {nvt} or {npt}. The correct temperatures of the reduced
+degrees of freedom can be calculated using the "compute
+temp/drude"_compute_temp_drude.html. This requires also to use the
+command {comm_modify vel yes}.
+
+Short-range damping of the induced dipole interactions can be achieved
+using Thole functions through the "pair style
+thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html
+with a Coulomb pair style. It may be useful to use {coul/long/cs} or
+similar from the CORESHELL package if the core and Drude particle come
+too close, which can cause numerical issues.
+
+:line
+
+:link(howto-Lamoureux)
+[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
diff --git a/doc/src/tutorial_drude.txt b/doc/src/Howto_drude2.txt
similarity index 100%
rename from doc/src/tutorial_drude.txt
rename to doc/src/Howto_drude2.txt
diff --git a/doc/src/Howto_elastic.txt b/doc/src/Howto_elastic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4dda13fa53245a17bd887a8c9ab08e1b4cf49597
--- /dev/null
+++ b/doc/src/Howto_elastic.txt
@@ -0,0 +1,47 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Calculate elastic constants :h3
+
+Elastic constants characterize the stiffness of a material. The formal
+definition is provided by the linear relation that holds between the
+stress and strain tensors in the limit of infinitesimal deformation.
+In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where
+the repeated indices imply summation. s_ij are the elements of the
+symmetric stress tensor. e_kl are the elements of the symmetric strain
+tensor. C_ijkl are the elements of the fourth rank tensor of elastic
+constants. In three dimensions, this tensor has 3^4=81 elements. Using
+Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij
+is now the derivative of s_i w.r.t. e_j. Because s_i is itself a
+derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at
+most 7*6/2 = 21 distinct elements.
+
+At zero temperature, it is easy to estimate these derivatives by
+deforming the simulation box in one of the six directions using the
+"change_box"_change_box.html command and measuring the change in the
+stress tensor. A general-purpose script that does this is given in the
+examples/elastic directory described on the "Examples"_Examples.html
+doc page.
+
+Calculating elastic constants at finite temperature is more
+challenging, because it is necessary to run a simulation that perfoms
+time averages of differential properties. One way to do this is to
+measure the change in average stress tensor in an NVT simulations when
+the cell volume undergoes a finite deformation. In order to balance
+the systematic and statistical errors in this method, the magnitude of
+the deformation must be chosen judiciously, and care must be taken to
+fully equilibrate the deformed cell before sampling the stress
+tensor. Another approach is to sample the triclinic cell fluctuations
+that occur in an NPT simulation. This method can also be slow to
+converge and requires careful post-processing "(Shinoda)"_#Shinoda1
+
+:line
+
+:link(Shinoda1)
+[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
diff --git a/doc/src/tutorial_github.txt b/doc/src/Howto_github.txt
similarity index 98%
rename from doc/src/tutorial_github.txt
rename to doc/src/Howto_github.txt
index fc261bdb958e18bdb19511f4a0ec8ecad8ad8c3e..191242205ea9c7742087bb3fe7e96aa3cc282f4c 100644
--- a/doc/src/tutorial_github.txt
+++ b/doc/src/Howto_github.txt
@@ -25,8 +25,8 @@ or improvements to LAMMPS, as it significantly reduces the amount of
 work required by the LAMMPS developers. Consequently, creating a pull
 request will increase your chances to have your contribution included
 and will reduce the time until the integration is complete. For more
-information on the requirements to have your code included in LAMMPS,
-see the "Modify contribute"_Modify_contribute.html doc page.
+information on the requirements to have your code included into LAMMPS
+please see the "Modify contribute"_Modify_contribute.html doc page.
 
 :line
 
@@ -124,7 +124,7 @@ unrelated feature, you should switch branches!
 
 After everything is done, add the files to the branch and commit them:
 
- $ git add doc/src/tutorial_github.txt
+ $ git add doc/src/Howto_github.txt
  $ git add doc/src/JPG/tutorial*.png :pre
 
 IMPORTANT NOTE: Do not use {git commit -a} (or {git add -A}).  The -a
@@ -318,7 +318,7 @@ Because the changes are OK with us, we are going to merge by clicking on
 Now, since in the meantime our local text for the tutorial also changed,
 we need to pull Axel's change back into our branch, and merge them:
 
- $ git add tutorial_github.txt
+ $ git add Howto_github.txt
  $ git add JPG/tutorial_reverse_pull_request*.png
  $ git commit -m "Updated text and images on reverse pull requests"
  $ git pull :pre
@@ -331,7 +331,7 @@ With Axel's changes merged in and some final text updates, our feature
 branch is now perfect as far as we are concerned, so we are going to
 commit and push again:
 
- $ git add tutorial_github.txt
+ $ git add Howto_github.txt
  $ git add JPG/tutorial_reverse_pull_request6.png
  $ git commit -m "Merged Axel's suggestions and updated text"
  $ git push git@github.com:Pakketeretet2/lammps :pre
diff --git a/doc/src/Howto_granular.txt b/doc/src/Howto_granular.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cfa01bcb632ba10b31fbadf8362772edbaad6f56
--- /dev/null
+++ b/doc/src/Howto_granular.txt
@@ -0,0 +1,57 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Granular models :h3
+
+Granular system are composed of spherical particles with a diameter,
+as opposed to point particles.  This means they have an angular
+velocity and torque can be imparted to them to cause them to rotate.
+
+To run a simulation of a granular model, you will want to use
+the following commands:
+
+"atom_style sphere"_atom_style.html
+"fix nve/sphere"_fix_nve_sphere.html
+"fix gravity"_fix_gravity.html :ul
+
+This compute
+
+"compute erotate/sphere"_compute_erotate_sphere.html :ul
+
+calculates rotational kinetic energy which can be "output with
+thermodynamic info"_Howto_output.html.
+
+Use one of these 3 pair potentials, which compute forces and torques
+between interacting pairs of particles:
+
+"pair_style"_pair_style.html gran/history
+"pair_style"_pair_style.html gran/no_history
+"pair_style"_pair_style.html gran/hertzian :ul
+
+These commands implement fix options specific to granular systems:
+
+"fix freeze"_fix_freeze.html
+"fix pour"_fix_pour.html
+"fix viscous"_fix_viscous.html
+"fix wall/gran"_fix_wall_gran.html :ul
+
+The fix style {freeze} zeroes both the force and torque of frozen
+atoms, and should be used for granular system instead of the fix style
+{setforce}.
+
+For computational efficiency, you can eliminate needless pairwise
+computations between frozen atoms by using this command:
+
+"neigh_modify"_neigh_modify.html exclude :ul
+
+NOTE: By default, for 2d systems, granular particles are still modeled
+as 3d spheres, not 2d discs (circles), meaning their moment of inertia
+will be the same as in 3d.  If you wish to model granular particles in
+2d as 2d discs, see the note on this topic on the "Howto 2d"_Howto_2d
+doc page, where 2d simulations are discussed.
diff --git a/doc/src/Howto_kappa.txt b/doc/src/Howto_kappa.txt
new file mode 100644
index 0000000000000000000000000000000000000000..949901f21a8639a5f78c8330bd23ad46595a49c6
--- /dev/null
+++ b/doc/src/Howto_kappa.txt
@@ -0,0 +1,90 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Calculate thermal conductivity :h3
+
+The thermal conductivity kappa of a material can be measured in at
+least 4 ways using various options in LAMMPS.  See the examples/KAPPA
+directory for scripts that implement the 4 methods discussed here for
+a simple Lennard-Jones fluid model.  Also, see the "Howto
+viscosity"_Howto_viscosity.html doc page for an analogous discussion
+for viscosity.
+
+The thermal conductivity tensor kappa is a measure of the propensity
+of a material to transmit heat energy in a diffusive manner as given
+by Fourier's law
+
+J = -kappa grad(T)
+
+where J is the heat flux in units of energy per area per time and
+grad(T) is the spatial gradient of temperature.  The thermal
+conductivity thus has units of energy per distance per time per degree
+K and is often approximated as an isotropic quantity, i.e. as a
+scalar.
+
+The first method is to setup two thermostatted regions at opposite
+ends of a simulation box, or one in the middle and one at the end of a
+periodic box.  By holding the two regions at different temperatures
+with a "thermostatting fix"_Howto_thermostat.html, the energy added to
+the hot region should equal the energy subtracted from the cold region
+and be proportional to the heat flux moving between the regions.  See
+the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji and
+"Wirnsberger et al"_#howto-Wirnsberger for details of this idea.  Note
+that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix
+langevin"_fix_langevin.html, and "fix
+temp/rescale"_fix_temp_rescale.html store the cumulative energy they
+add/subtract.
+
+Alternatively, as a second method, the "fix heat"_fix_heat.html or
+"fix ehex"_fix_ehex.html commands can be used in place of thermostats
+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/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
+using the "fix thermal/conductivity"_fix_thermal_conductivity.html
+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/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
+details.
+
+The fourth method is based on the Green-Kubo (GK) formula which
+relates the ensemble average of the auto-correlation of the heat flux
+to kappa.  The heat flux can be calculated from the fluctuations of
+per-atom potential and kinetic energies and per-atom stress tensor in
+a steady-state equilibrated simulation.  This is in contrast to the
+two preceding non-equilibrium methods, where energy flows continuously
+between hot and cold regions of the simulation box.
+
+The "compute heat/flux"_compute_heat_flux.html command can calculate
+the needed heat flux and describes how to implement the Green_Kubo
+formalism using additional LAMMPS commands, such as the "fix
+ave/correlate"_fix_ave_correlate.html command to calculate the needed
+auto-correlation.  See the doc page for the "compute
+heat/flux"_compute_heat_flux.html command for an example input script
+that calculates the thermal conductivity of solid Ar via the GK
+formalism.
+
+:line
+
+:link(howto-Ikeshoji)
+[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
+(1994).
+
+:link(howto-Wirnsberger)
+[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
+(2015).
diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b15aadd2145082ca39e9451a30f5f6a45147002e
--- /dev/null
+++ b/doc/src/Howto_library.txt
@@ -0,0 +1,208 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Library interface to LAMMPS :h3
+
+As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can
+be built as a library, so that it can be called by another code, used
+in a "coupled manner"_Howto_couple.html with other codes, or driven
+through a "Python interface"_Python.html.
+
+All of these methodologies use a C-style interface to LAMMPS that is
+provided in the files src/library.cpp and src/library.h.  The
+functions therein have a C-style argument list, but contain C++ code
+you could write yourself in a C++ application that was invoking LAMMPS
+directly.  The C++ code in the functions illustrates how to invoke
+internal LAMMPS operations.  Note that LAMMPS classes are defined
+within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++
+application.
+
+The examples/COUPLE and python/examples directories have example C++
+and C and Python codes which show how a driver code can link to LAMMPS
+as a library, run LAMMPS on a subset of processors, grab data from
+LAMMPS, change it, and put it back into LAMMPS.
+
+The file src/library.cpp contains the following functions for creating
+and destroying an instance of LAMMPS and sending it commands to
+execute.  See the documentation in the src/library.cpp file for
+details.
+
+NOTE: You can write code for additional functions as needed to define
+how your code talks to LAMMPS and add them to src/library.cpp and
+src/library.h, as well as to the "Python interface"_Python.html.  The
+added functions can access or change any internal LAMMPS data you
+wish.
+
+void lammps_open(int, char **, MPI_Comm, void **)
+void lammps_open_no_mpi(int, char **, void **)
+void lammps_close(void *)
+int lammps_version(void *)
+void lammps_file(void *, char *)
+char *lammps_command(void *, char *)
+void lammps_commands_list(void *, int, char **)
+void lammps_commands_string(void *, char *)
+void lammps_free(void *) :pre
+
+The lammps_open() function is used to initialize LAMMPS, passing in a
+list of strings as if they were "command-line
+arguments"_Section_start.html#start_6 when LAMMPS is run in
+stand-alone mode from the command line, and a MPI communicator for
+LAMMPS to run under.  It returns a ptr to the LAMMPS object that is
+created, and which is used in subsequent library calls.  The
+lammps_open() function can be called multiple times, to create
+multiple instances of LAMMPS.
+
+LAMMPS will run on the set of processors in the communicator.  This
+means the calling code can run LAMMPS on all or a subset of
+processors.  For example, a wrapper script might decide to alternate
+between LAMMPS and another code, allowing them both to run on all the
+processors.  Or it might allocate half the processors to LAMMPS and
+half to the other code and run both codes simultaneously before
+syncing them up periodically.  Or it might instantiate multiple
+instances of LAMMPS to perform different calculations.
+
+The lammps_open_no_mpi() function is similar except that no MPI
+communicator is passed from the caller.  Instead, MPI_COMM_WORLD is
+used to instantiate LAMMPS, and MPI is initialized if necessary.
+
+The lammps_close() function is used to shut down an instance of LAMMPS
+and free all its memory.
+
+The lammps_version() function can be used to determined the specific
+version of the underlying LAMMPS code. This is particularly useful
+when loading LAMMPS as a shared library via dlopen(). The code using
+the library interface can than use this information to adapt to
+changes to the LAMMPS command syntax between versions. The returned
+LAMMPS version code is an integer (e.g. 2 Sep 2015 results in
+20150902) that grows with every new LAMMPS version.
+
+The lammps_file(), lammps_command(), lammps_commands_list(), and
+lammps_commands_string() functions are used to pass one or more
+commands to LAMMPS to execute, the same as if they were coming from an
+input script.
+
+Via these functions, the calling code can read or generate a series of
+LAMMPS commands one or multiple at a time and pass it thru the library
+interface to setup a problem and then run it in stages.  The caller
+can interleave the command function calls with operations it performs,
+calls to extract information from or set information within LAMMPS, or
+calls to another code's library.
+
+The lammps_file() function passes the filename of an input script.
+The lammps_command() function passes a single command as a string.
+The lammps_commands_list() function passes multiple commands in a
+char** list.  In both lammps_command() and lammps_commands_list(),
+individual commands may or may not have a trailing newline.  The
+lammps_commands_string() function passes multiple commands
+concatenated into one long string, separated by newline characters.
+In both lammps_commands_list() and lammps_commands_string(), a single
+command can be spread across multiple lines, if the last printable
+character of all but the last line is "&", the same as if the lines
+appeared in an input script.
+
+The lammps_free() function is a clean-up function to free memory that
+the library allocated previously via other function calls.  See
+comments in src/library.cpp file for which other functions need this
+clean-up.
+
+The file src/library.cpp also contains these functions for extracting
+information from LAMMPS and setting value within LAMMPS.  Again, see
+the documentation in the src/library.cpp file for details, including
+which quantities can be queried by name:
+
+int lammps_extract_setting(void *, char *)
+void *lammps_extract_global(void *, char *)
+void lammps_extract_box(void *, double *, double *,
+                        double *, double *, double *, int *, int *)
+void *lammps_extract_atom(void *, char *)
+void *lammps_extract_compute(void *, char *, int, int)
+void *lammps_extract_fix(void *, char *, int, int, int, int)
+void *lammps_extract_variable(void *, char *, char *) :pre
+
+The extract_setting() function returns info on the size
+of data types (e.g. 32-bit or 64-bit atom IDs) used
+by the LAMMPS executable (a compile-time choice).
+
+The other extract functions return a pointer to various global or
+per-atom quantities stored in LAMMPS or to values calculated by a
+compute, fix, or variable.  The pointer returned by the
+extract_global() function can be used as a permanent reference to a
+value which may change.  For the extract_atom() method, see the
+extract() method in the src/atom.cpp file for a list of valid per-atom
+properties.  New names could easily be added if the property you want
+is not listed.  For the other extract functions, the underlying
+storage may be reallocated as LAMMPS runs, so you need to re-call the
+function to assure a current pointer or returned value(s).
+
+double lammps_get_thermo(void *, char *)
+int lammps_get_natoms(void *) :pre
+
+int lammps_set_variable(void *, char *, char *)
+void lammps_reset_box(void *, double *, double *, double, double, double) :pre
+
+The lammps_get_thermo() function returns the current value of a thermo
+keyword as a double precision value.
+
+The lammps_get_natoms() function returns the total number of atoms in
+the system and can be used by the caller to allocate memory for the
+lammps_gather_atoms() and lammps_scatter_atoms() functions.
+
+The lammps_set_variable() function can set an existing string-style
+variable to a new string value, so that subsequent LAMMPS commands can
+access the variable.
+
+The lammps_reset_box() function resets the size and shape of the
+simulation box, e.g. as part of restoring a previously extracted and
+saved state of a simulation.
+
+void lammps_gather_atoms(void *, char *, int, int, void *)
+void lammps_gather_atoms_concat(void *, char *, int, int, void *)
+void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *)
+void lammps_scatter_atoms(void *, char *, int, int, void *)
+void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre
+
+void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
+                         imageint *, int) :pre
+
+The gather functions collect peratom info of the requested type (atom
+coords, atom types, forces, etc) from all processors, and returns the
+same vector of values to each callling processor.  The scatter
+functions do the inverse.  They distribute a vector of peratom values,
+passed by all calling processors, to invididual atoms, which may be
+owned by different processos.
+
+The lammps_gather_atoms() function does this for all N atoms in the
+system, ordered by atom ID, from 1 to N.  The
+lammps_gather_atoms_concat() function does it for all N atoms, but
+simply concatenates the subset of atoms owned by each processor.  The
+resulting vector is not ordered by atom ID.  Atom IDs can be requetsed
+by the same function if the caller needs to know the ordering.  The
+lammps_gather_subset() function allows the caller to request values
+for only a subset of atoms (identified by ID).
+For all 3 gather function, per-atom image flags can be retrieved in 2 ways.
+If the count is specified as 1, they are returned 
+in a packed format with all three image flags stored in a single integer.
+If the count is specified as 3, the values are unpacked into xyz flags
+by the library before returning them.
+
+The lammps_scatter_atoms() function takes a list of values for all N
+atoms in the system, ordered by atom ID, from 1 to N, and assigns
+those values to each atom in the system.  The
+lammps_scatter_atoms_subset() function takes a subset of IDs as an
+argument and only scatters those values to the owning atoms.
+
+The lammps_create_atoms() function takes a list of N atoms as input
+with atom types and coords (required), an optionally atom IDs and
+velocities and image flags.  It uses the coords of each atom to assign
+it as a new atom to the processor that owns it.  This function is
+useful to add atoms to a simulation or (in tandem with
+lammps_reset_box()) to restore a previously extracted and saved state
+of a simulation.  Additional properties for the new atoms can then be
+assigned via the lammps_scatter_atoms() or lammps_extract_atom()
+functions.
diff --git a/doc/src/Howto_manifold.txt b/doc/src/Howto_manifold.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c9bb1ce57f850242b8940365a4a4cebfff4fa162
--- /dev/null
+++ b/doc/src/Howto_manifold.txt
@@ -0,0 +1,41 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Manifolds (surfaces) :h3
+
+[Overview:]
+
+This doc page is not about a LAMMPS input script command, but about
+manifolds, which are generalized surfaces, as defined and used by the
+USER-MANIFOLD package, to track particle motion on the manifolds.  See
+the src/USER-MANIFOLD/README file for more details about the package
+and its commands.
+
+Below is a list of currently supported manifolds by the USER-MANIFOLD
+package, their parameters and a short description of them.  The
+parameters listed here are in the same order as they should be passed
+to the relevant fixes.
+
+{manifold} @ {parameters} @ {equation} @ {description}
+cylinder @ R @ x^2 + y^2 - R^2 = 0 @ Cylinder along z-axis, axis going through (0,0,0)
+cylinder_dent @ R l a @ x^2 + y^2 - r(z)^2 = 0, r(x) = R if | z | > l, r(z) = R - a*(1 + cos(z/l))/2 otherwise @ A cylinder with a dent around z = 0
+dumbbell @ a A B c @ -( x^2 + y^2 ) + (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 @ A dumbbell
+ellipsoid @ a  b c @ (x/a)^2 + (y/b)^2 + (z/c)^2 = 0 @ An ellipsoid
+gaussian_bump @ A l rc1 rc2 @ if( x < rc1) -z + A * exp( -x^2 / (2 l^2) ); else if( x < rc2 ) -z + a + b*x + c*x^2 + d*x^3; else z @ A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0.
+plane @ a b c x0 y0 z0 @ a*(x-x0) + b*(y-y0) + c*(z-z0) = 0 @ A plane with normal (a,b,c) going through point (x0,y0,z0)
+plane_wiggle @ a w @ z - a*sin(w*x) = 0 @ A plane with a sinusoidal modulation on z along x.
+sphere @ R @ x^2 + y^2 + z^2 - R^2 = 0 @ A sphere of radius R
+supersphere @ R q @ | x |^q + | y |^q + | z |^q - R^q = 0 @ A supersphere of hyperradius R
+spine @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise  @ An approximation to a dendtritic spine
+spine_two @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise  @ Another approximation to a dendtritic spine
+thylakoid @ wB LB lB @ Various, see "(Paquay)"_#Paquay1 @ A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB
+torus @ R r  @  (R - sqrt( x^2 + y^2 ) )^2 + z^2 - r^2  @ A torus with large radius R and small radius r, centered on (0,0,0) :tb(s=@)
+
+:link(Paquay1)
+[(Paquay)] Paquay and Kusters, Biophys. J., 110, 6, (2016).
+preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/.
diff --git a/doc/src/Howto_multiple.txt b/doc/src/Howto_multiple.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3516debb71df6a1da7eabc4960f83d3cc26346dc
--- /dev/null
+++ b/doc/src/Howto_multiple.txt
@@ -0,0 +1,95 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Run multiple simulations from one input script :h3
+
+This can be done in several ways.  See the documentation for
+individual commands for more details on how these examples work.
+
+If "multiple simulations" means continue a previous simulation for
+more timesteps, then you simply use the "run"_run.html command
+multiple times.  For example, this script
+
+units lj
+atom_style atomic
+read_data data.lj
+run 10000
+run 10000
+run 10000
+run 10000
+run 10000 :pre
+
+would run 5 successive simulations of the same system for a total of
+50,000 timesteps.
+
+If you wish to run totally different simulations, one after the other,
+the "clear"_clear.html command can be used in between them to
+re-initialize LAMMPS.  For example, this script
+
+units lj
+atom_style atomic
+read_data data.lj
+run 10000
+clear
+units lj
+atom_style atomic
+read_data data.lj.new
+run 10000 :pre
+
+would run 2 independent simulations, one after the other.
+
+For large numbers of independent simulations, you can use
+"variables"_variable.html and the "next"_next.html and
+"jump"_jump.html commands to loop over the same input script
+multiple times with different settings.  For example, this
+script, named in.polymer
+
+variable d index run1 run2 run3 run4 run5 run6 run7 run8
+shell cd $d
+read_data data.polymer
+run 10000
+shell cd ..
+clear
+next d
+jump in.polymer :pre
+
+would run 8 simulations in different directories, using a data.polymer
+file in each directory.  The same concept could be used to run the
+same system at 8 different temperatures, using a temperature variable
+and storing the output in different log and dump files, for example
+
+variable a loop 8
+variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
+log log.$a
+read data.polymer
+velocity all create $t 352839
+fix 1 all nvt $t $t 100.0
+dump 1 all atom 1000 dump.$a
+run 100000
+clear
+next t
+next a
+jump in.polymer :pre
+
+All of the above examples work whether you are running on 1 or
+multiple processors, but assumed you are running LAMMPS on a single
+partition of processors.  LAMMPS can be run on multiple partitions via
+the "-partition" command-line switch as described in "this
+section"_Section_start.html#start_6 of the manual.
+
+In the last 2 examples, if LAMMPS were run on 3 partitions, the same
+scripts could be used if the "index" and "loop" variables were
+replaced with {universe}-style variables, as described in the
+"variable"_variable.html command.  Also, the "next t" and "next a"
+commands would need to be replaced with a single "next a t" command.
+With these modifications, the 8 simulations of each script would run
+on the 3 partitions one after the other until all were finished.
+Initially, 3 simulations would be started simultaneously, one on each
+partition.  When one finished, that partition would then start
+the 4th simulation, and so forth, until all 8 were completed.
diff --git a/doc/src/Howto_nemd.txt b/doc/src/Howto_nemd.txt
new file mode 100644
index 0000000000000000000000000000000000000000..efb3a5cd735f745eb52c7b2ca7aecb28693fbad3
--- /dev/null
+++ b/doc/src/Howto_nemd.txt
@@ -0,0 +1,48 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+NEMD simulations :h3
+
+Non-equilibrium molecular dynamics or NEMD simulations are typically
+used to measure a fluid's rheological properties such as viscosity.
+In LAMMPS, such simulations can be performed by first setting up a
+non-orthogonal simulation box (see the preceding Howto section).
+
+A shear strain can be applied to the simulation box at a desired
+strain rate by using the "fix deform"_fix_deform.html command.  The
+"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat
+the sheared fluid and integrate the SLLOD equations of motion for the
+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/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
+LAMMPS for computational efficiency to be 1/2 of the parallel box
+length.  However, "fix deform"_fix_deform.html can continuously strain
+a box by an arbitrary amount.  As discussed in the "fix
+deform"_fix_deform.html command, when the tilt value reaches a limit,
+the box is flipped to the opposite limit which is an equivalent tiling
+of periodic space.  The strain rate can then continue to change as
+before.  In a long NEMD simulation these box re-shaping events may
+occur many times.
+
+In a NEMD simulation, the "remap" option of "fix
+deform"_fix_deform.html should be set to "remap v", since that is what
+"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity
+profile consistent with the applied shear strain rate.
+
+An alternative method for calculating viscosities is provided via the
+"fix viscosity"_fix_viscosity.html command.
+
+NEMD simulations can also be used to measure transport properties of a fluid
+through a pore or channel. Simulations of steady-state flow can be performed
+using the "fix flow/gauss"_fix_flow_gauss.html command.
diff --git a/doc/src/Howto_output.txt b/doc/src/Howto_output.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ed2a78ee19de4a1380fef40180e51024df080727
--- /dev/null
+++ b/doc/src/Howto_output.txt
@@ -0,0 +1,307 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Output from LAMMPS (thermo, dumps, computes, fixes, variables) :h3
+
+There are four basic kinds of LAMMPS output:
+
+"Thermodynamic output"_thermo_style.html, which is a list
+of quantities printed every few timesteps to the screen and logfile. :ulb,l
+
+"Dump files"_dump.html, which contain snapshots of atoms and various
+per-atom values and are written at a specified frequency. :l
+
+Certain fixes can output user-specified quantities to files: "fix
+ave/time"_fix_ave_time.html for time averaging, "fix
+ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix
+print"_fix_print.html for single-line output of
+"variables"_variable.html.  Fix print can also output to the
+screen. :l
+
+"Restart files"_restart.html. :l
+:ule
+
+A simulation prints one set of thermodynamic output and (optionally)
+restart files.  It can generate any number of dump files and fix
+output files, depending on what "dump"_dump.html and "fix"_fix.html
+commands you specify.
+
+As discussed below, LAMMPS gives you a variety of ways to determine
+what quantities are computed and printed when the thermodynamics,
+dump, or fix commands listed above perform output.  Throughout this
+discussion, note that users can also "add their own computes and fixes
+to LAMMPS"_Modify.html which can then generate values that can then be
+output with these commands.
+
+The following sub-sections discuss different LAMMPS command related
+to output and the kind of data they operate on and produce:
+
+"Global/per-atom/local data"_#global
+"Scalar/vector/array data"_#scalar
+"Thermodynamic output"_#thermo
+"Dump file output"_#dump
+"Fixes that write output files"_#fixoutput
+"Computes that process output quantities"_#computeoutput
+"Fixes that process output quantities"_#fixprocoutput
+"Computes that generate values to output"_#compute
+"Fixes that generate values to output"_#fix
+"Variables that generate values to output"_#variable
+"Summary table of output options and data flow between commands"_#table :ul
+
+Global/per-atom/local data :h4,link(global)
+
+Various output-related commands work with three different styles of
+data: global, per-atom, or local.  A global datum is one or more
+system-wide values, e.g. the temperature of the system.  A per-atom
+datum is one or more values per atom, e.g. the kinetic energy of each
+atom.  Local datums are calculated by each processor based on the
+atoms it owns, but there may be zero or more per atom, e.g. a list of
+bond distances.
+
+Scalar/vector/array data :h4,link(scalar)
+
+Global, per-atom, and local datums can each come in three kinds: a
+single scalar value, a vector of values, or a 2d array of values.  The
+doc page for a "compute" or "fix" or "variable" that generates data
+will specify both the style and kind of data it produces, e.g. a
+per-atom vector.
+
+When a quantity is accessed, as in many of the output commands
+discussed below, it can be referenced via the following bracket
+notation, where ID in this case is the ID of a compute.  The leading
+"c_" would be replaced by "f_" for a fix, or "v_" for a variable:
+
+c_ID | entire scalar, vector, or array
+c_ID\[I\] | one element of vector, one column of array
+c_ID\[I\]\[J\] | one element of array :tb(s=|)
+
+In other words, using one bracket reduces the dimension of the data
+once (vector -> scalar, array -> vector).  Using two brackets reduces
+the dimension twice (array -> scalar).  Thus a command that uses
+scalar values as input can typically also process elements of a vector
+or array.
+
+Thermodynamic output :h4,link(thermo)
+
+The frequency and format of thermodynamic output is set by the
+"thermo"_thermo.html, "thermo_style"_thermo_style.html, and
+"thermo_modify"_thermo_modify.html commands.  The
+"thermo_style"_thermo_style.html command also specifies what values
+are calculated and written out.  Pre-defined keywords can be specified
+(e.g. press, etotal, etc).  Three additional kinds of keywords can
+also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html
+or "fix"_fix.html or "variable"_variable.html provides the value to be
+output.  In each case, the compute, fix, or variable must generate
+global values for input to the "thermo_style custom"_dump.html
+command.
+
+Note that thermodynamic output values can be "extensive" or
+"intensive".  The former scale with the number of atoms in the system
+(e.g. total energy), the latter do not (e.g. temperature).  The
+setting for "thermo_modify norm"_thermo_modify.html determines whether
+extensive quantities are normalized or not.  Computes and fixes
+produce either extensive or intensive values; see their individual doc
+pages for details.  "Equal-style variables"_variable.html produce only
+intensive values; you can include a division by "natoms" in the
+formula if desired, to make an extensive calculation produce an
+intensive result.
+
+Dump file output :h4,link(dump)
+
+Dump file output is specified by the "dump"_dump.html and
+"dump_modify"_dump_modify.html commands.  There are several
+pre-defined formats (dump atom, dump xtc, etc).
+
+There is also a "dump custom"_dump.html format where the user
+specifies what values are output with each atom.  Pre-defined atom
+attributes can be specified (id, x, fx, etc).  Three additional kinds
+of keywords can also be specified (c_ID, f_ID, v_name), where a
+"compute"_compute.html or "fix"_fix.html or "variable"_variable.html
+provides the values to be output.  In each case, the compute, fix, or
+variable must generate per-atom values for input to the "dump
+custom"_dump.html command.
+
+There is also a "dump local"_dump.html format where the user specifies
+what local values to output.  A pre-defined index keyword can be
+specified to enumerate the local values.  Two additional kinds of
+keywords can also be specified (c_ID, f_ID), where a
+"compute"_compute.html or "fix"_fix.html or "variable"_variable.html
+provides the values to be output.  In each case, the compute or fix
+must generate local values for input to the "dump local"_dump.html
+command.
+
+Fixes that write output files :h4,link(fixoutput)
+
+Several fixes take various quantities as input and can write output
+files: "fix ave/time"_fix_ave_time.html, "fix
+ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html,
+"fix ave/correlate"_fix_ave_correlate.html, and "fix
+print"_fix_print.html.
+
+The "fix ave/time"_fix_ave_time.html command enables direct output to
+a file and/or time-averaging of global scalars or vectors.  The user
+specifies one or more quantities as input.  These can be global
+"compute"_compute.html values, global "fix"_fix.html values, or
+"variables"_variable.html of any style except the atom style which
+produces per-atom values.  Since a variable can refer to keywords used
+by the "thermo_style custom"_thermo_style.html command (like temp or
+press) and individual per-atom values, a wide variety of quantities
+can be time averaged and/or output in this way.  If the inputs are one
+or more scalar values, then the fix generate a global scalar or vector
+of output.  If the inputs are one or more vector values, then the fix
+generates a global vector or array of output.  The time-averaged
+output of this fix can also be used as input to other output commands.
+
+The "fix ave/chunk"_fix_ave_chunk.html command enables direct output
+to a file of chunk-averaged per-atom quantities like those output in
+dump files.  Chunks can represent spatial bins or other collections of
+atoms, e.g. individual molecules.  The per-atom quantities can be atom
+density (mass or number) or atom attributes such as position,
+velocity, force.  They can also be per-atom quantities calculated by a
+"compute"_compute.html, by a "fix"_fix.html, or by an atom-style
+"variable"_variable.html.  The chunk-averaged output of this fix can
+also be used as input to other output commands.
+
+The "fix ave/histo"_fix_ave_histo.html command enables direct output
+to a file of histogrammed quantities, which can be global or per-atom
+or local quantities.  The histogram output of this fix can also be
+used as input to other output commands.
+
+The "fix ave/correlate"_fix_ave_correlate.html command enables direct
+output to a file of time-correlated quantities, which can be global
+values.  The correlation matrix output of this fix can also be used as
+input to other output commands.
+
+The "fix print"_fix_print.html command can generate a line of output
+written to the screen and log file or to a separate file, periodically
+during a running simulation.  The line can contain one or more
+"variable"_variable.html values for any style variable except the
+vector or atom styles).  As explained above, variables themselves can
+contain references to global values generated by "thermodynamic
+keywords"_thermo_style.html, "computes"_compute.html,
+"fixes"_fix.html, or other "variables"_variable.html, or to per-atom
+values for a specific atom.  Thus the "fix print"_fix_print.html
+command is a means to output a wide variety of quantities separate
+from normal thermodynamic or dump file output.
+
+Computes that process output quantities :h4,link(computeoutput)
+
+The "compute reduce"_compute_reduce.html and "compute
+reduce/region"_compute_reduce.html commands take one or more per-atom
+or local vector quantities as inputs and "reduce" them (sum, min, max,
+ave) to scalar quantities.  These are produced as output values which
+can be used as input to other output commands.
+
+The "compute slice"_compute_slice.html command take one or more global
+vector or array quantities as inputs and extracts a subset of their
+values to create a new vector or array.  These are produced as output
+values which can be used as input to other output commands.
+
+The "compute property/atom"_compute_property_atom.html command takes a
+list of one or more pre-defined atom attributes (id, x, fx, etc) and
+stores the values in a per-atom vector or array.  These are produced
+as output values which can be used as input to other output commands.
+The list of atom attributes is the same as for the "dump
+custom"_dump.html command.
+
+The "compute property/local"_compute_property_local.html command takes
+a list of one or more pre-defined local attributes (bond info, angle
+info, etc) and stores the values in a local vector or array.  These
+are produced as output values which can be used as input to other
+output commands.
+
+Fixes that process output quantities :h4,link(fixprocoutput)
+
+The "fix vector"_fix_vector.html command can create global vectors as
+output from global scalars as input, accumulating them one element at
+a time.
+
+The "fix ave/atom"_fix_ave_atom.html command performs time-averaging
+of per-atom vectors.  The per-atom quantities can be atom attributes
+such as position, velocity, force.  They can also be per-atom
+quantities calculated by a "compute"_compute.html, by a
+"fix"_fix.html, or by an atom-style "variable"_variable.html.  The
+time-averaged per-atom output of this fix can be used as input to
+other output commands.
+
+The "fix store/state"_fix_store_state.html command can archive one or
+more per-atom attributes at a particular time, so that the old values
+can be used in a future calculation or output.  The list of atom
+attributes is the same as for the "dump custom"_dump.html command,
+including per-atom quantities calculated by a "compute"_compute.html,
+by a "fix"_fix.html, or by an atom-style "variable"_variable.html.
+The output of this fix can be used as input to other output commands.
+
+Computes that generate values to output :h4,link(compute)
+
+Every "compute"_compute.html in LAMMPS produces either global or
+per-atom or local values.  The values can be scalars or vectors or
+arrays of data.  These values can be output using the other commands
+described in this section.  The doc page for each compute command
+describes what it produces.  Computes that produce per-atom or local
+values have the word "atom" or "local" in their style name.  Computes
+without the word "atom" or "local" produce global values.
+
+Fixes that generate values to output :h4,link(fix)
+
+Some "fixes"_fix.html in LAMMPS produces either global or per-atom or
+local values which can be accessed by other commands.  The values can
+be scalars or vectors or arrays of data.  These values can be output
+using the other commands described in this section.  The doc page for
+each fix command tells whether it produces any output quantities and
+describes them.
+
+Variables that generate values to output :h4,link(variable)
+
+"Variables"_variable.html defined in an input script can store one or
+more strings.  But equal-style, vector-style, and atom-style or
+atomfile-style variables generate a global scalar value, global vector
+or values, or a per-atom vector, respectively, when accessed.  The
+formulas used to define these variables can contain references to the
+thermodynamic keywords and to global and per-atom data generated by
+computes, fixes, and other variables.  The values generated by
+variables can be used as input to and thus output by the other
+commands described in this section.
+
+Summary table of output options and data flow between commands :h4,link(table)
+
+This table summarizes the various commands that can be used for
+generating output from LAMMPS.  Each command produces output data of
+some kind and/or writes data to a file.  Most of the commands can take
+data from other commands as input.  Thus you can link many of these
+commands together in pipeline form, where data produced by one command
+is used as input to another command and eventually written to the
+screen or to a file.  Note that to hook two commands together the
+output and input data types must match, e.g. global/per-atom/local
+data and scalar/vector/array data.
+
+Also note that, as described above, when a command takes a scalar as
+input, that could be an element of a vector or array.  Likewise a
+vector input could be a column of an array.
+
+Command: Input: Output:
+"thermo_style custom"_thermo_style.html: global scalars: screen, log file:
+"dump custom"_dump.html: per-atom vectors: dump file:
+"dump local"_dump.html: local vectors: dump file:
+"fix print"_fix_print.html: global scalar from variable: screen, file:
+"print"_print.html: global scalar from variable: screen:
+"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array:
+"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array:
+"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector:
+"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector:
+"compute slice"_compute_slice.html: global vectors/arrays: global vector/array:
+"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array:
+"compute property/local"_compute_property_local.html: local vectors: local vector/array:
+"fix vector"_fix_vector.html: global scalars: global vector:
+"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array:
+"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file:
+"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file:
+"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file:
+"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file:
+"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:)
diff --git a/doc/src/Howto_polarizable.txt b/doc/src/Howto_polarizable.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ec96ddc9a9daab076fc6fb04584408cdc8bec51f
--- /dev/null
+++ b/doc/src/Howto_polarizable.txt
@@ -0,0 +1,81 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Polarizable models :h3
+
+In polarizable force fields the charge distributions in molecules and
+materials respond to their electrostatic environments. Polarizable
+systems can be simulated in LAMMPS using three methods:
+
+the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html
+package, :ulb,l
+the adiabatic core-shell method, implemented in the
+"CORESHELL"_Howto_coreshell.html package, :l
+the thermalized Drude dipole method, implemented in the
+"USER-DRUDE"_Howto_drude.html package. :l,ule
+
+The fluctuating charge method calculates instantaneous charges on
+interacting atoms based on the electronegativity equalization
+principle. It is implemented in the "fix qeq"_fix_qeq.html which is
+available in several variants. It is a relatively efficient technique
+since no additional particles are introduced. This method allows for
+charge transfer between molecules or atom groups. However, because the
+charges are located at the interaction sites, off-plane components of
+polarization cannot be represented in planar molecules or atom groups.
+
+The two other methods share the same basic idea: polarizable atoms are
+split into one core atom and one satellite particle (called shell or
+Drude particle) attached to it by a harmonic spring.  Both atoms bear
+a charge and they represent collectively an induced electric dipole.
+These techniques are computationally more expensive than the QEq
+method because of additional particles and bonds. These two
+charge-on-spring methods differ in certain features, with the
+core-shell model being normally used for ionic/crystalline materials,
+whereas the so-called Drude model is normally used for molecular
+systems and fluid states.
+
+The core-shell model is applicable to crystalline materials where the
+high symmetry around each site leads to stable trajectories of the
+core-shell pairs. However, bonded atoms in molecules can be so close
+that a core would interact too strongly or even capture the Drude
+particle of a neighbor. The Drude dipole model is relatively more
+complex in order to remediate this and other issues. Specifically, the
+Drude model includes specific thermostating of the core-Drude pairs
+and short-range damping of the induced dipoles.
+
+The three polarization methods can be implemented through a
+self-consistent calculation of charges or induced dipoles at each
+timestep. In the fluctuating charge scheme this is done by the matrix
+inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell
+or Drude-dipoles the relaxed-dipoles technique would require an slow
+iterative procedure. These self-consistent solutions yield accurate
+trajectories since the additional degrees of freedom representing
+polarization are massless.  An alternative is to attribute a mass to
+the additional degrees of freedom and perform time integration using
+an extended Lagrangian technique. For the fluctuating charge scheme
+this is done by "fix qeq/dynamic"_fix_qeq.html, and for the
+charge-on-spring models by the methods outlined in the next two
+sections. The assignment of masses to the additional degrees of
+freedom can lead to unphysical trajectories if care is not exerted in
+choosing the parameters of the polarizable models and the simulation
+conditions.
+
+In the core-shell model the vibration of the shells is kept faster
+than the ionic vibrations to mimic the fast response of the
+polarizable electrons.  But in molecular systems thermalizing the
+core-Drude pairs at temperatures comparable to the rest of the
+simulation leads to several problems (kinetic energy transfer, too
+short a timestep, etc.) In order to avoid these problems the relative
+motion of the Drude particles with respect to their cores is kept
+"cold" so the vibration of the core-Drude pairs is very slow,
+approaching the self-consistent regime.  In both models the
+temperature is regulated using the velocities of the center of mass of
+core+shell (or Drude) pairs, but in the Drude model the actual
+relative core-Drude particle motion is thermostated separately as
+well.
diff --git a/doc/src/tutorial_pylammps.txt b/doc/src/Howto_pylammps.txt
similarity index 95%
rename from doc/src/tutorial_pylammps.txt
rename to doc/src/Howto_pylammps.txt
index 11cddb3cbf3fa7abc4350c9fe0cfb685f19b7b47..abf7c52d05b4f61e903c3cb9959e225c8667d970 100644
--- a/doc/src/tutorial_pylammps.txt
+++ b/doc/src/Howto_pylammps.txt
@@ -15,13 +15,19 @@ END_RST -->
 
 Overview :h4
 
-PyLammps is a Python wrapper class which can be created on its own or use an
-existing lammps Python object. It creates a simpler, Python-like interface to
-common LAMMPS functionality. Unlike the original flat C-types interface, it
-exposes a discoverable API. It no longer requires knowledge of the underlying
-C++ code implementation.  Finally, the IPyLammps wrapper builds on top of
-PyLammps and adds some additional features for IPython integration into IPython
-notebooks, e.g. for embedded visualization output from dump/image.
+PyLammps is a Python wrapper class which can be created on its own or
+use an existing lammps Python object.  It creates a simpler,
+Python-like interface to common LAMMPS functionality, in contrast to
+the lammps.py wrapper on the C-style LAMMPS library interface which is
+written using Python ctypes.  The lammps.py wrapper is discussed on
+the "Python library"_Python_library.html doc page.
+
+Unlike the flat ctypes interface, PyLammps exposes a discoverable API.
+It no longer requires knowledge of the underlying C++ code
+implementation.  Finally, the IPyLammps wrapper builds on top of
+PyLammps and adds some additional features for IPython integration
+into IPython notebooks, e.g. for embedded visualization output from
+dump/image.
 
 Comparison of lammps and PyLammps interfaces :h5
 
@@ -40,7 +46,6 @@ communication with LAMMPS is hidden from API user
 shorter, more concise Python
 better IPython integration, designed for quick prototyping :ul
 
-
 Quick Start :h4
 
 System-wide Installation :h5
diff --git a/doc/src/Howto_replica.txt b/doc/src/Howto_replica.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b2f0faa209306f11618b31be220f331bc55f548a
--- /dev/null
+++ b/doc/src/Howto_replica.txt
@@ -0,0 +1,61 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Multi-replica simulations :h3
+
+Several commands in LAMMPS run mutli-replica simulations, meaning
+that multiple instances (replicas) of your simulation are run
+simultaneously, with small amounts of data exchanged between replicas
+periodically.
+
+These are the relevant commands:
+
+"neb"_neb.html for nudged elastic band calculations
+"prd"_prd.html for parallel replica dynamics
+"tad"_tad.html for temperature accelerated dynamics
+"temper"_temper.html for parallel tempering
+"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul
+
+NEB is a method for finding transition states and barrier energies.
+PRD and TAD are methods for performing accelerated dynamics to find
+and perform infrequent events.  Parallel tempering or replica exchange
+runs different replicas at a series of temperature to facilitate
+rare-event sampling.
+
+These commands can only be used if LAMMPS was built with the REPLICA
+package.  See the "Making LAMMPS"_Section_start.html#start_3 section
+for more info on packages.
+
+PIMD runs different replicas whose individual particles are coupled
+together by springs to model a system or ring-polymers.
+
+This commands can only be used if LAMMPS was built with the USER-MISC
+package.  See the "Making LAMMPS"_Section_start.html#start_3 section
+for more info on packages.
+
+In all these cases, you must run with one or more processors per
+replica.  The processors assigned to each replica are determined at
+run-time by using the "-partition command-line
+switch"_Section_start.html#start_6 to launch LAMMPS on multiple
+partitions, which in this context are the same as replicas.  E.g.
+these commands:
+
+mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
+mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre
+
+would each run 8 replicas, on either 16 or 8 processors.  Note the use
+of the "-in command-line switch"_Section_start.html#start_6 to specify
+the input script which is required when running in multi-replica mode.
+
+Also note that with MPI installed on a machine (e.g. your desktop),
+you can run on more (virtual) processors than you have physical
+processors.  Thus the above commands could be run on a
+single-processor (or few-processor) desktop so that you can run
+a multi-replica simulation on more replicas than you have
+physical processors.
diff --git a/doc/src/Howto_restart.txt b/doc/src/Howto_restart.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d2a993fcd335863271cb6d0e4ade4c264c5dbf17
--- /dev/null
+++ b/doc/src/Howto_restart.txt
@@ -0,0 +1,97 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Restart a simulation :h3
+
+There are 3 ways to continue a long LAMMPS simulation.  Multiple
+"run"_run.html commands can be used in the same input script.  Each
+run will continue from where the previous run left off.  Or binary
+restart files can be saved to disk using the "restart"_restart.html
+command.  At a later time, these binary files can be read via a
+"read_restart"_read_restart.html command in a new script.  Or they can
+be converted to text data files using the "-r command-line
+switch"_Section_start.html#start_6 and read by a
+"read_data"_read_data.html command in a new script.
+
+Here we give examples of 2 scripts that read either a binary restart
+file or a converted data file and then issue a new run command to
+continue where the previous run left off.  They illustrate what
+settings must be made in the new script.  Details are discussed in the
+documentation for the "read_restart"_read_restart.html and
+"read_data"_read_data.html commands.
+
+Look at the {in.chain} input script provided in the {bench} directory
+of the LAMMPS distribution to see the original script that these 2
+scripts are based on.  If that script had the line
+
+restart         50 tmp.restart :pre
+
+added to it, it would produce 2 binary restart files (tmp.restart.50
+and tmp.restart.100) as it ran.
+
+This script could be used to read the 1st restart file and re-run the
+last 50 timesteps:
+
+read_restart    tmp.restart.50 :pre
+
+neighbor        0.4 bin
+neigh_modify    every 1 delay 1 :pre
+
+fix             1 all nve
+fix             2 all langevin 1.0 1.0 10.0 904297 :pre
+
+timestep        0.012 :pre
+
+run             50 :pre
+
+Note that the following commands do not need to be repeated because
+their settings are included in the restart file: {units, atom_style,
+special_bonds, pair_style, bond_style}.  However these commands do
+need to be used, since their settings are not in the restart file:
+{neighbor, fix, timestep}.
+
+If you actually use this script to perform a restarted run, you will
+notice that the thermodynamic data match at step 50 (if you also put a
+"thermo 50" command in the original script), but do not match at step
+100.  This is because the "fix langevin"_fix_langevin.html command
+uses random numbers in a way that does not allow for perfect restarts.
+
+As an alternate approach, the restart file could be converted to a data
+file as follows:
+
+lmp_g++ -r tmp.restart.50 tmp.restart.data :pre
+
+Then, this script could be used to re-run the last 50 steps:
+
+units           lj
+atom_style      bond
+pair_style      lj/cut 1.12
+pair_modify     shift yes
+bond_style      fene
+special_bonds   0.0 1.0 1.0 :pre
+
+read_data       tmp.restart.data :pre
+
+neighbor        0.4 bin
+neigh_modify    every 1 delay 1 :pre
+
+fix             1 all nve
+fix             2 all langevin 1.0 1.0 10.0 904297 :pre
+
+timestep        0.012 :pre
+
+reset_timestep  50
+run             50 :pre
+
+Note that nearly all the settings specified in the original {in.chain}
+script must be repeated, except the {pair_coeff} and {bond_coeff}
+commands since the new data file lists the force field coefficients.
+Also, the "reset_timestep"_reset_timestep.html command is used to tell
+LAMMPS the current timestep.  This value is stored in restart files,
+but not in data files.
diff --git a/doc/src/Howto_spc.txt b/doc/src/Howto_spc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6a63c1f6a65a61852770baad356c36bc89a79823
--- /dev/null
+++ b/doc/src/Howto_spc.txt
@@ -0,0 +1,54 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+SPC water model :h3
+
+The SPC water model specifies a 3-site rigid water molecule with
+charges and Lennard-Jones parameters assigned to each of the 3 atoms.
+In LAMMPS the "fix shake"_fix_shake.html command can be used to hold
+the two O-H bonds and the H-O-H angle rigid.  A bond style of
+{harmonic} and an angle style of {harmonic} or {charmm} should also be
+used.
+
+These are the additional parameters (in real units) to set for O and H
+atoms and the water molecule to run a rigid SPC model.
+
+O mass = 15.9994
+H mass = 1.008
+O charge = -0.820
+H charge = 0.410
+LJ epsilon of OO = 0.1553
+LJ sigma of OO = 3.166
+LJ epsilon, sigma of OH, HH = 0.0
+r0 of OH bond = 1.0
+theta of HOH angle = 109.47 :all(b),p
+
+Note that as originally proposed, the SPC model was run with a 9
+Angstrom cutoff for both LJ and Coulommbic terms.  It can also be used
+with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing
+any of the parameters above, though it becomes a different model in
+that mode of usage.
+
+The SPC/E (extended) water model is the same, except
+the partial charge assignments change:
+
+O charge = -0.8476
+H charge = 0.4238 :all(b),p
+
+See the "(Berendsen)"_#howto-Berendsen reference for more details on both
+the SPC and SPC/E models.
+
+Wikipedia also has a nice article on "water
+models"_http://en.wikipedia.org/wiki/Water_model.
+
+:line
+
+:link(howto-Berendsen)
+[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91,
+6269-6271 (1987).
diff --git a/doc/src/Howto_spherical.txt b/doc/src/Howto_spherical.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c239f72c2ab1e4178613ae70edaae442a2eeb9ae
--- /dev/null
+++ b/doc/src/Howto_spherical.txt
@@ -0,0 +1,243 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Finite-size spherical and aspherical particles :h3
+
+Typical MD models treat atoms or particles as point masses.  Sometimes
+it is desirable to have a model with finite-size particles such as
+spheroids or ellipsoids or generalized aspherical bodies.  The
+difference is that such particles have a moment of inertia, rotational
+energy, and angular momentum.  Rotation is induced by torque coming
+from interactions with other particles.
+
+LAMMPS has several options for running simulations with these kinds of
+particles.  The following aspects are discussed in turn:
+
+atom styles
+pair potentials
+time integration
+computes, thermodynamics, and dump output
+rigid bodies composed of finite-size particles :ul
+
+Example input scripts for these kinds of models are in the body,
+colloid, dipole, ellipse, line, peri, pour, and tri directories of the
+"examples directory"_Examples.html in the LAMMPS distribution.
+
+Atom styles :h4
+
+There are several "atom styles"_atom_style.html that allow for
+definition of finite-size particles: sphere, dipole, ellipsoid, line,
+tri, peri, and body.
+
+The sphere style defines particles that are spheriods and each
+particle can have a unique diameter and mass (or density).  These
+particles store an angular velocity (omega) and can be acted upon by
+torque.  The "set" command can be used to modify the diameter and mass
+of individual particles, after then are created.
+
+The dipole style does not actually define finite-size particles, but
+is often used in conjunction with spherical particles, via a command
+like
+
+atom_style hybrid sphere dipole :pre
+
+This is because when dipoles interact with each other, they induce
+torques, and a particle must be finite-size (i.e. have a moment of
+inertia) in order to respond and rotate.  See the "atom_style
+dipole"_atom_style.html command for details.  The "set" command can be
+used to modify the orientation and length of the dipole moment of
+individual particles, after then are created.
+
+The ellipsoid style defines particles that are ellipsoids and thus can
+be aspherical.  Each particle has a shape, specified by 3 diameters,
+and mass (or density).  These particles store an angular momentum and
+their orientation (quaternion), and can be acted upon by torque.  They
+do not store an angular velocity (omega), which can be in a different
+direction than angular momentum, rather they compute it as needed.
+The "set" command can be used to modify the diameter, orientation, and
+mass of individual particles, after then are created.  It also has a
+brief explanation of what quaternions are.
+
+The line style defines line segment particles with two end points and
+a mass (or density).  They can be used in 2d simulations, and they can
+be joined together to form rigid bodies which represent arbitrary
+polygons.
+
+The tri style defines triangular particles with three corner points
+and a mass (or density).  They can be used in 3d simulations, and they
+can be joined together to form rigid bodies which represent arbitrary
+particles with a triangulated surface.
+
+The peri style is used with "Peridynamic models"_pair_peri.html and
+defines particles as having a volume, that is used internally in the
+"pair_style peri"_pair_peri.html potentials.
+
+The body style allows for definition of particles which can represent
+complex entities, such as surface meshes of discrete points,
+collections of sub-particles, deformable objects, etc.  The body style
+is discussed in more detail on the "Howto body"_Howto_body.html doc
+page.
+
+Note that if one of these atom styles is used (or multiple styles via
+the "atom_style hybrid"_atom_style.html command), not all particles in
+the system are required to be finite-size or aspherical.
+
+For example, in the ellipsoid style, if the 3 shape parameters are set
+to the same value, the particle will be a sphere rather than an
+ellipsoid.  If the 3 shape parameters are all set to 0.0 or if the
+diameter is set to 0.0, it will be a point particle.  In the line or
+tri style, if the lineflag or triflag is specified as 0, then it
+will be a point particle.
+
+Some of the pair styles used to compute pairwise interactions between
+finite-size particles also compute the correct interaction with point
+particles as well, e.g. the interaction between a point particle and a
+finite-size particle or between two point particles.  If necessary,
+"pair_style hybrid"_pair_hybrid.html can be used to insure the correct
+interactions are computed for the appropriate style of interactions.
+Likewise, using groups to partition particles (ellipsoids versus
+spheres versus point particles) will allow you to use the appropriate
+time integrators and temperature computations for each class of
+particles.  See the doc pages for various commands for details.
+
+Also note that for "2d simulations"_dimension.html, atom styles sphere
+and ellipsoid still use 3d particles, rather than as circular disks or
+ellipses.  This means they have the same moment of inertia as the 3d
+object.  When temperature is computed, the correct degrees of freedom
+are used for rotation in a 2d versus 3d system.
+
+Pair potentials :h4
+
+When a system with finite-size particles is defined, the particles
+will only rotate and experience torque if the force field computes
+such interactions.  These are the various "pair
+styles"_pair_style.html that generate torque:
+
+"pair_style gran/history"_pair_gran.html
+"pair_style gran/hertzian"_pair_gran.html
+"pair_style gran/no_history"_pair_gran.html
+"pair_style dipole/cut"_pair_dipole.html
+"pair_style gayberne"_pair_gayberne.html
+"pair_style resquared"_pair_resquared.html
+"pair_style brownian"_pair_brownian.html
+"pair_style lubricate"_pair_lubricate.html
+"pair_style line/lj"_pair_line_lj.html
+"pair_style tri/lj"_pair_tri_lj.html
+"pair_style body/nparticle"_pair_body_nparticle.html :ul
+
+The granular pair styles are used with spherical particles.  The
+dipole pair style is used with the dipole atom style, which could be
+applied to spherical or ellipsoidal particles.  The GayBerne and
+REsquared potentials require ellipsoidal particles, though they will
+also work if the 3 shape parameters are the same (a sphere).  The
+Brownian and lubrication potentials are used with spherical particles.
+The line, tri, and body potentials are used with line segment,
+triangular, and body particles respectively.
+
+Time integration :h4
+
+There are several fixes that perform time integration on finite-size
+spherical particles, meaning the integrators update the rotational
+orientation and angular velocity or angular momentum of the particles:
+
+"fix nve/sphere"_fix_nve_sphere.html
+"fix nvt/sphere"_fix_nvt_sphere.html
+"fix npt/sphere"_fix_npt_sphere.html :ul
+
+Likewise, there are 3 fixes that perform time integration on
+ellipsoidal particles:
+
+"fix nve/asphere"_fix_nve_asphere.html
+"fix nvt/asphere"_fix_nvt_asphere.html
+"fix npt/asphere"_fix_npt_asphere.html :ul
+
+The advantage of these fixes is that those which thermostat the
+particles include the rotational degrees of freedom in the temperature
+calculation and thermostatting.  The "fix langevin"_fix_langevin
+command can also be used with its {omgea} or {angmom} options to
+thermostat the rotational degrees of freedom for spherical or
+ellipsoidal particles.  Other thermostatting fixes only operate on the
+translational kinetic energy of finite-size particles.
+
+These fixes perform constant NVE time integration on line segment,
+triangular, and body particles:
+
+"fix nve/line"_fix_nve_line.html
+"fix nve/tri"_fix_nve_tri.html
+"fix nve/body"_fix_nve_body.html :ul
+
+Note that for mixtures of point and finite-size particles, these
+integration fixes can only be used with "groups"_group.html which
+contain finite-size particles.
+
+Computes, thermodynamics, and dump output :h4
+
+There are several computes that calculate the temperature or
+rotational energy of spherical or ellipsoidal particles:
+
+"compute temp/sphere"_compute_temp_sphere.html
+"compute temp/asphere"_compute_temp_asphere.html
+"compute erotate/sphere"_compute_erotate_sphere.html
+"compute erotate/asphere"_compute_erotate_asphere.html :ul
+
+These include rotational degrees of freedom in their computation.  If
+you wish the thermodynamic output of temperature or pressure to use
+one of these computes (e.g. for a system entirely composed of
+finite-size particles), then the compute can be defined and the
+"thermo_modify"_thermo_modify.html command used.  Note that by default
+thermodynamic quantities will be calculated with a temperature that
+only includes translational degrees of freedom.  See the
+"thermo_style"_thermo_style.html command for details.
+
+These commands can be used to output various attributes of finite-size
+particles:
+
+"dump custom"_dump.html
+"compute property/atom"_compute_property_atom.html
+"dump local"_dump.html
+"compute body/local"_compute_body_local.html :ul
+
+Attributes include the dipole moment, the angular velocity, the
+angular momentum, the quaternion, the torque, the end-point and
+corner-point coordinates (for line and tri particles), and
+sub-particle attributes of body particles.
+
+Rigid bodies composed of finite-size particles :h4
+
+The "fix rigid"_fix_rigid.html command treats a collection of
+particles as a rigid body, computes its inertia tensor, sums the total
+force and torque on the rigid body each timestep due to forces on its
+constituent particles, and integrates the motion of the rigid body.
+
+If any of the constituent particles of a rigid body are finite-size
+particles (spheres or ellipsoids or line segments or triangles), then
+their contribution to the inertia tensor of the body is different than
+if they were point particles.  This means the rotational dynamics of
+the rigid body will be different.  Thus a model of a dimer is
+different if the dimer consists of two point masses versus two
+spheroids, even if the two particles have the same mass.  Finite-size
+particles that experience torque due to their interaction with other
+particles will also impart that torque to a rigid body they are part
+of.
+
+See the "fix rigid" command for example of complex rigid-body models
+it is possible to define in LAMMPS.
+
+Note that the "fix shake"_fix_shake.html command can also be used to
+treat 2, 3, or 4 particles as a rigid body, but it always assumes the
+particles are point masses.
+
+Also note that body particles cannot be modeled with the "fix
+rigid"_fix_rigid.html command.  Body particles are treated by LAMMPS
+as single particles, though they can store internal state, such as a
+list of sub-particles.  Individual body partices are typically treated
+as rigid bodies, and their motion integrated with a command like "fix
+nve/body"_fix_nve_body.html.  Interactions between pairs of body
+particles are computed via a command like "pair_style
+body/nparticle"_pair_body_nparticle.html.
diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3cb9e480b205535d4fed5969baf479e9282b38f9
--- /dev/null
+++ b/doc/src/Howto_spins.txt
@@ -0,0 +1,59 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Magnetic spins :h3
+
+The magnetic spin simualtions are enabled by the SPIN package, whose
+implementation is detailed in "Tranchida"_#Tranchida7.
+
+The model representents the simulation of atomic magnetic spins coupled 
+to lattice vibrations. The dynamics of those magnetic spins can be used 
+to simulate a broad range a phenomena related to magneto-elasticity, or 
+or to study the influence of defects on the magnetic properties of 
+materials. 
+
+The magnetic spins are interacting with each others and with the 
+lattice via pair interactions. Typically, the magnetic exchange 
+interaction can be defined using the 
+"pair/spin/exchange"_pair_spin_exchange.html command. This exchange
+applies a magnetic torque to a given spin, considering the orientation
+of its neighboring spins and their relative distances. 
+It also applies a force on the atoms as a function of the spin 
+orientations and their associated inter-atomic distances. 
+ 
+The command "fix precession/spin"_fix_precession_spin.html allows to
+apply a constant magnetic torque on all the spins in the system. This
+torque can be an external magnetic field (Zeeman interaction), or an
+uniaxial magnetic anisotropy. 
+
+A Langevin thermostat can be applied to those magnetic spins using 
+"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat 
+can be coupled to another Langevin thermostat applied to the atoms 
+using "fix langevin"_fix_langevin.html in order to simulate 
+thermostated spin-lattice system. 
+
+The magnetic Gilbert damping can also be applied using "fix 
+langevin/spin"_fix_langevin_spin.html. It allows to either dissipate 
+the thermal energy of the Langevin thermostat, or to perform a 
+relaxation of the magnetic configuration toward an equilibrium state.
+
+All the computed magnetic properties can be outputed by two main 
+commands. The first one is "compute spin"_compute_spin.html, that 
+enables to evaluate magnetic averaged quantities, such as the total 
+magnetization of the system along x, y, or z, the spin temperature, or
+the magnetic energy. The second command is "compute 
+property/atom"_compute_property_atom.html. It enables to output all the
+per atom magnetic quantities. Typically, the orientation of a given 
+magnetic spin, or the magnetic force acting on this spin.
+
+:line
+
+:link(Tranchida7)
+[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, 
+arXiv preprint arXiv:1801.10233, (2018).
diff --git a/doc/src/Howto_temperature.txt b/doc/src/Howto_temperature.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3d1bd8a2d605cecb04bab5ae87819971fff8bdf0
--- /dev/null
+++ b/doc/src/Howto_temperature.txt
@@ -0,0 +1,40 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Calcalate temperature :h3
+
+Temperature is computed as kinetic energy divided by some number of
+degrees of freedom (and the Boltzmann constant).  Since kinetic energy
+is a function of particle velocity, there is often a need to
+distinguish between a particle's advection velocity (due to some
+aggregate motion of particles) and its thermal velocity.  The sum of
+the two is the particle's total velocity, but the latter is often what
+is wanted to compute a temperature.
+
+LAMMPS has several options for computing temperatures, any of which can be used in "thermostatting"_Howto_thermostat.html and "barostatting"_Howto_barostat.html.  These "compute commands"_compute.html calculate temperature:
+
+"compute temp"_compute_temp.html
+"compute temp/sphere"_compute_temp_sphere.html
+"compute temp/asphere"_compute_temp_asphere.html
+"compute temp/com"_compute_temp_com.html
+"compute temp/deform"_compute_temp_deform.html
+"compute temp/partial"_compute_temp_partial.html
+"compute temp/profile"_compute_temp_profile.html
+"compute temp/ramp"_compute_temp_ramp.html
+"compute temp/region"_compute_temp_region.html :ul
+
+All but the first 3 calculate velocity biases directly (e.g. advection
+velocities) that are removed when computing the thermal temperature.
+"Compute temp/sphere"_compute_temp_sphere.html and "compute
+temp/asphere"_compute_temp_asphere.html compute kinetic energy for
+finite-size particles that includes rotational degrees of freedom.
+They both allow for velocity biases indirectly, via an optional extra
+argument which is another temperature compute that subtracts a velocity bias.
+This allows the translational velocity of spherical or aspherical
+particles to be adjusted in prescribed ways.
diff --git a/doc/src/Howto_thermostat.txt b/doc/src/Howto_thermostat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c1887d9738ddfc062a3da1f37ddc6a386fa3a74c
--- /dev/null
+++ b/doc/src/Howto_thermostat.txt
@@ -0,0 +1,89 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Thermostats :h3
+
+Thermostatting means controlling the temperature of particles in an MD
+simulation.  "Barostatting"_Howto_barostat.html means controlling the
+pressure.  Since the pressure includes a kinetic component due to
+particle velocities, both these operations require calculation of the
+temperature.  Typically a target temperature (T) and/or pressure (P)
+is specified by the user, and the thermostat or barostat attempts to
+equilibrate the system to the requested T and/or P.
+
+Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one
+case by a pair style.  Several thermostatting fixes are available:
+Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling
+(temp/rescale).  Dissipative particle dynamics (DPD) thermostatting
+can be invoked via the {dpd/tstat} pair style:
+
+"fix nvt"_fix_nh.html
+"fix nvt/sphere"_fix_nvt_sphere.html
+"fix nvt/asphere"_fix_nvt_asphere.html
+"fix nvt/sllod"_fix_nvt_sllod.html
+"fix temp/berendsen"_fix_temp_berendsen.html
+"fix temp/csvr"_fix_temp_csvr.html
+"fix langevin"_fix_langevin.html
+"fix temp/rescale"_fix_temp_rescale.html
+"pair_style dpd/tstat"_pair_dpd.html :ul
+
+"Fix nvt"_fix_nh.html only thermostats the translational velocity of
+particles.  "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except
+that it subtracts out a velocity bias due to a deforming box and
+integrates the SLLOD equations of motion.  See the "Howto
+nemd"_Howto_nemd.html doc page for further details.  "Fix
+nvt/sphere"_fix_nvt_sphere.html and "fix
+nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
+velocities but also rotational velocities for spherical and aspherical
+particles.
+
+DPD thermostatting alters pairwise interactions in a manner analogous
+to the per-particle thermostatting of "fix
+langevin"_fix_langevin.html.
+
+Any of the thermostatting fixes can use "temperature
+computes"_Howto_thermostat.html that remove bias which has two
+effects.  First, the current calculated temperature, which is compared
+to the requested target temperature, is calculated with the velocity
+bias removed.  Second, the thermostat adjusts only the thermal
+temperature component of the particle's velocities, which are the
+velocities with the bias removed.  The removed bias is then added back
+to the adjusted velocities.  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 compute to a
+thermostatting fix.  For example, you can apply a thermostat to only
+the x and z components of velocity by using it in conjunction with
+"compute temp/partial"_compute_temp_partial.html.  Of you could
+thermostat only the thermal temperature of a streaming flow of
+particles without affecting the streaming velocity, by using "compute
+temp/profile"_compute_temp_profile.html.
+
+NOTE: Only the nvt fixes perform time integration, meaning they update
+the velocities and positions of particles due to forces and velocities
+respectively.  The other thermostat fixes only adjust velocities; they
+do NOT perform time integration updates.  Thus they should be used in
+conjunction with a constant NVE integration fix such as these:
+
+"fix nve"_fix_nve.html
+"fix nve/sphere"_fix_nve_sphere.html
+"fix nve/asphere"_fix_nve_asphere.html :ul
+
+Thermodynamic output, which can be setup via the
+"thermo_style"_thermo_style.html command, often includes temperature
+values.  As explained on the doc page for the
+"thermo_style"_thermo_style.html command, the default temperature is
+setup by the thermo command itself.  It is NOT the temperature
+associated with any thermostatting fix you have defined or with any
+compute you have defined that calculates a temperature.  The doc pages
+for the thermostatting fixes explain the ID of the temperature compute
+they create.  Thus if you want to view these temperatures, you need to
+specify them explicitly via the "thermo_style
+custom"_thermo_style.html command.  Or you can use the
+"thermo_modify"_thermo_modify.html command to re-define what
+temperature compute is used for default thermodynamic output.
diff --git a/doc/src/Howto_tip3p.txt b/doc/src/Howto_tip3p.txt
new file mode 100644
index 0000000000000000000000000000000000000000..23ab604d1f676decfcf5bc62ae0bc996f3b3b051
--- /dev/null
+++ b/doc/src/Howto_tip3p.txt
@@ -0,0 +1,69 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+TIP3P water model :h3
+
+The TIP3P water model as implemented in CHARMM
+"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with
+charges and Lennard-Jones parameters assigned to each of the 3 atoms.
+In LAMMPS the "fix shake"_fix_shake.html command can be used to hold
+the two O-H bonds and the H-O-H angle rigid.  A bond style of
+{harmonic} and an angle style of {harmonic} or {charmm} should also be
+used.
+
+These are the additional parameters (in real units) to set for O and H
+atoms and the water molecule to run a rigid TIP3P-CHARMM model with a
+cutoff.  The K values can be used if a flexible TIP3P model (without
+fix shake) is desired.  If the LJ epsilon and sigma for HH and OH are
+set to 0.0, it corresponds to the original 1983 TIP3P model
+"(Jorgensen)"_#Jorgensen1.
+
+O mass = 15.9994
+H mass = 1.008
+O charge = -0.834
+H charge = 0.417
+LJ epsilon of OO = 0.1521
+LJ sigma of OO = 3.1507
+LJ epsilon of HH = 0.0460
+LJ sigma of HH = 0.4000
+LJ epsilon of OH = 0.0836
+LJ sigma of OH = 1.7753
+K of OH bond = 450
+r0 of OH bond = 0.9572
+K of HOH angle = 55
+theta of HOH angle = 104.52 :all(b),p
+
+These are the parameters to use for TIP3P with a long-range Coulombic
+solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for
+details:
+
+O mass = 15.9994
+H mass = 1.008
+O charge = -0.830
+H charge = 0.415
+LJ epsilon of OO = 0.102
+LJ sigma of OO = 3.188
+LJ epsilon, sigma of OH, HH = 0.0
+K of OH bond = 450
+r0 of OH bond = 0.9572
+K of HOH angle = 55
+theta of HOH angle = 104.52 :all(b),p
+
+Wikipedia also has a nice article on "water
+models"_http://en.wikipedia.org/wiki/Water_model.
+
+:line
+
+:link(Jorgensen1)
+[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
+Phys, 79, 926 (1983).
+
+:link(Price1)
+[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004).
+
diff --git a/doc/src/Howto_tip4p.txt b/doc/src/Howto_tip4p.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a471bdc91896df0d495702efae46a5525fc36834
--- /dev/null
+++ b/doc/src/Howto_tip4p.txt
@@ -0,0 +1,112 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+TIP4P water model :h3
+
+The four-point TIP4P rigid water model extends the traditional
+three-point TIP3P model by adding an additional site, usually
+massless, where the charge associated with the oxygen atom is placed.
+This site M is located at a fixed distance away from the oxygen along
+the bisector of the HOH bond angle.  A bond style of {harmonic} and an
+angle style of {harmonic} or {charmm} should also be used.
+
+A TIP4P model is run with LAMMPS using either this command
+for a cutoff model:
+
+"pair_style lj/cut/tip4p/cut"_pair_lj.html
+
+or these two commands for a long-range model:
+
+"pair_style lj/cut/tip4p/long"_pair_lj.html
+"kspace_style pppm/tip4p"_kspace_style.html :ul
+
+For both models, the bond lengths and bond angles should be held fixed
+using the "fix shake"_fix_shake.html command.
+
+These are the additional parameters (in real units) to set for O and H
+atoms and the water molecule to run a rigid TIP4P model with a cutoff
+"(Jorgensen)"_#Jorgensen1.  Note that the OM distance is specified in
+the "pair_style"_pair_style.html command, not as part of the pair
+coefficients.
+
+O mass = 15.9994
+H mass = 1.008
+O charge = -1.040
+H charge = 0.520
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.15
+LJ epsilon of O-O = 0.1550
+LJ sigma of O-O = 3.1536
+LJ epsilon, sigma of OH, HH = 0.0
+Coulombic cutoff = 8.5 :all(b),p
+
+For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005);
+http://dx.doi.org/10.1063/1.1931662) these values can be used:
+
+O mass = 15.9994
+H mass =  1.008
+O charge = -1.1794
+H charge =  0.5897
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.1577
+LJ epsilon of O-O = 0.21084
+LJ sigma of O-O = 3.1668
+LJ epsilon, sigma of OH, HH = 0.0
+Coulombic cutoff = 8.5 :all(b),p
+
+For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005);
+http://dx.doi.org/10.1063/1.2121687), these values can be used:
+
+O mass = 15.9994
+H mass =  1.008
+O charge = -1.1128
+H charge = 0.5564
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.1546
+LJ epsilon of O-O = 0.1852
+LJ sigma of O-O = 3.1589
+LJ epsilon, sigma of OH, HH = 0.0
+Coulombic cutoff = 8.5 :all(b),p
+
+These are the parameters to use for TIP4P with a long-range Coulombic
+solver (e.g. Ewald or PPPM in LAMMPS):
+
+O mass = 15.9994
+H mass = 1.008
+O charge = -1.0484
+H charge = 0.5242
+r0 of OH bond = 0.9572
+theta of HOH angle = 104.52
+OM distance = 0.1250
+LJ epsilon of O-O = 0.16275
+LJ sigma of O-O = 3.16435
+LJ epsilon, sigma of OH, HH = 0.0 :all(b),p
+
+Note that the when using the TIP4P pair style, the neighbor list
+cutoff for Coulomb interactions is effectively extended by a distance
+2 * (OM distance), to account for the offset distance of the
+fictitious charges on O atoms in water molecules.  Thus it is
+typically best in an efficiency sense to use a LJ cutoff >= Coulomb
+cutoff + 2*(OM distance), to shrink the size of the neighbor list.
+This leads to slightly larger cost for the long-range calculation, so
+you can test the trade-off for your model.  The OM distance and the LJ
+and Coulombic cutoffs are set in the "pair_style
+lj/cut/tip4p/long"_pair_lj.html command.
+
+Wikipedia also has a nice article on "water
+models"_http://en.wikipedia.org/wiki/Water_model.
+
+:line
+
+:link(Jorgensen1)
+[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
+Phys, 79, 926 (1983).
diff --git a/doc/src/Howto_triclinic.txt b/doc/src/Howto_triclinic.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10bcc5e9d1cae14a63de8c60bbb2f6278dcf557c
--- /dev/null
+++ b/doc/src/Howto_triclinic.txt
@@ -0,0 +1,213 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+Triclinic (non-orthogonal) simulation boxes :h3
+
+By default, LAMMPS uses an orthogonal simulation box to encompass the
+particles.  The "boundary"_boundary.html command sets the boundary
+conditions of the box (periodic, non-periodic, etc).  The orthogonal
+box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors
+starting from the origin given by [a] = (xhi-xlo,0,0); [b] =
+(0,yhi-ylo,0); [c] = (0,0,zhi-zlo).  The 6 parameters
+(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box
+is created, e.g. by the "create_box"_create_box.html or
+"read_data"_read_data.html or "read_restart"_read_restart.html
+commands.  Additionally, LAMMPS defines box size parameters lx,ly,lz
+where lx = xhi-xlo, and similarly in the y and z dimensions.  The 6
+parameters, as well as lx,ly,lz, can be output via the "thermo_style
+custom"_thermo_style.html command.
+
+LAMMPS also allows simulations to be performed in triclinic
+(non-orthogonal) simulation boxes shaped as a parallelepiped with
+triclinic symmetry.  The parallelepiped has its "origin" at
+(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the
+origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] =
+(xz,yz,zhi-zlo).  {xy,xz,yz} can be 0.0 or positive or negative values
+and are called "tilt factors" because they are the amount of
+displacement applied to faces of an originally orthogonal box to
+transform it into the parallelepiped.  In LAMMPS the triclinic
+simulation box edge vectors [a], [b], and [c] cannot be arbitrary
+vectors.  As indicated, [a] must lie on the positive x axis.  [b] must
+lie in the xy plane, with strictly positive y component. [c] may have
+any orientation with strictly positive z component.  The requirement
+that [a], [b], and [c] have strictly positive x, y, and z components,
+respectively, ensures that [a], [b], and [c] form a complete
+right-handed basis.  These restrictions impose no loss of generality,
+since it is possible to rotate/invert any set of 3 crystal basis
+vectors so that they conform to the restrictions.
+
+For example, assume that the 3 vectors [A],[B],[C] are the edge
+vectors of a general parallelepiped, where there is no restriction on
+[A],[B],[C] other than they form a complete right-handed basis i.e.
+[A] x [B] . [C] > 0.  The equivalent LAMMPS [a],[b],[c] are a linear
+rotation of [A], [B], and [C] and can be computed as follows:
+
+:c,image(Eqs/transform.jpg)
+
+where A = | [A] | indicates the scalar length of [A]. The hat symbol (^)
+indicates the corresponding unit vector. {beta} and {gamma} are angles
+between the vectors described below. Note that by construction,
+[a], [b], and [c] have strictly positive x, y, and z components, respectively.
+If it should happen that
+[A], [B], and [C] form a left-handed basis, then the above equations
+are not valid for [c]. In this case, it is necessary
+to first apply an inversion. This can be achieved
+by interchanging two basis vectors or by changing the sign of one of them.
+
+For consistency, the same rotation/inversion applied to the basis vectors
+must also be applied to atom positions, velocities,
+and any other vector quantities.
+This can be conveniently achieved by first converting to
+fractional coordinates in the
+old basis and then converting to distance coordinates in the new basis.
+The transformation is given by the following equation:
+
+:c,image(Eqs/rotate.jpg)
+
+where {V} is the volume of the box, [X] is the original vector quantity and
+[x] is the vector in the LAMMPS basis.
+
+There is no requirement that a triclinic box be periodic in any
+dimension, though it typically should be in at least the 2nd dimension
+of the tilt (y in xy) if you want to enforce a shift in periodic
+boundary conditions across that boundary.  Some commands that work
+with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix
+npt"_fix_nh.html commands, require periodicity or non-shrink-wrap
+boundary conditions in specific dimensions.  See the command doc pages
+for details.
+
+The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
+time the simulation box is created.  This happens in one of 3 ways.
+If the "create_box"_create_box.html command is used with a region of
+style {prism}, then a triclinic box is setup.  See the
+"region"_region.html command for details.  If the
+"read_data"_read_data.html command is used to define the simulation
+box, and the header of the data file contains a line with the "xy xz
+yz" keyword, then a triclinic box is setup.  See the
+"read_data"_read_data.html command for details.  Finally, if the
+"read_restart"_read_restart.html command reads a restart file which
+was written from a simulation using a triclinic box, then a triclinic
+box will be setup for the restarted simulation.
+
+Note that you can define a triclinic box with all 3 tilt factors =
+0.0, so that it is initially orthogonal.  This is necessary if the box
+will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or
+"fix deform"_fix_deform.html commands.  Alternatively, you can use the
+"change_box"_change_box.html command to convert a simulation box from
+orthogonal to triclinic and vice versa.
+
+As with orthogonal boxes, LAMMPS defines triclinic box size parameters
+lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions.
+The 9 parameters, as well as lx,ly,lz, can be output via the
+"thermo_style custom"_thermo_style.html command.
+
+To avoid extremely tilted boxes (which would be computationally
+inefficient), LAMMPS normally requires that no tilt factor can skew
+the box more than half the distance of the parallel box length, which
+is the 1st dimension in the tilt factor (x for xz).  This is required
+both when the simulation box is created, e.g. via the
+"create_box"_create_box.html or "read_data"_read_data.html commands,
+as well as when the box shape changes dynamically during a simulation,
+e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html
+commands.
+
+For example, if xlo = 2 and xhi = 12, then the x box length is 10 and
+the xy tilt factor must be between -5 and 5.  Similarly, both xz and
+yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2.  Note that this is
+not a limitation, since if the maximum tilt factor is 5 (as in this
+example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
+... are geometrically all equivalent.  If the box tilt exceeds this
+limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html
+command), then the box is "flipped" to an equivalent shape with a tilt
+factor within the bounds, so the run can continue.  See the "fix
+deform"_fix_deform.html doc page for further details.
+
+One exception to this rule is if the 1st dimension in the tilt
+factor (x for xy) is non-periodic.  In that case, the limits on the
+tilt factor are not enforced, since flipping the box in that dimension
+does not change the atom positions due to non-periodicity.  In this
+mode, if you tilt the system to extreme angles, the simulation will
+simply become inefficient, due to the highly skewed simulation box.
+
+The limitation on not creating a simulation box with a tilt factor
+skewing the box more than half the distance of the parallel box length
+can be overridden via the "box"_box.html command.  Setting the {tilt}
+keyword to {large} allows any tilt factors to be specified.
+
+Box flips that may occur using the "fix deform"_fix_deform.html or
+"fix npt"_fix_nh.html commands can be turned off using the {flip no}
+option with either of the commands.
+
+Note that if a simulation box has a large tilt factor, LAMMPS will run
+less efficiently, due to the large volume of communication needed to
+acquire ghost atoms around a processor's irregular-shaped sub-domain.
+For extreme values of tilt, LAMMPS may also lose atoms and generate an
+error.
+
+Triclinic crystal structures are often defined using three lattice
+constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and
+{gamma}. Note that in this nomenclature, the a, b, and c lattice
+constants are the scalar lengths of the edge vectors [a], [b], and [c]
+defined above.  The relationship between these 6 quantities
+(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) =
+(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
+
+:c,image(Eqs/box.jpg)
+
+The inverse relationship can be written as follows:
+
+:c,image(Eqs/box_inverse.jpg)
+
+The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed
+out or accessed by computes using the
+"thermo_style custom"_thermo_style.html keywords
+{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma},
+respectively.
+
+As discussed on the "dump"_dump.html command doc page, when the BOX
+BOUNDS for a snapshot is written to a dump file for a triclinic box,
+an orthogonal bounding box which encloses the triclinic simulation box
+is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic
+box, formatted as follows:
+
+ITEM: BOX BOUNDS xy xz yz
+xlo_bound xhi_bound xy
+ylo_bound yhi_bound xz
+zlo_bound zhi_bound yz :pre
+
+This bounding box is convenient for many visualization programs and is
+calculated from the 9 triclinic box parameters
+(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:
+
+xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
+xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
+ylo_bound = ylo + MIN(0.0,yz)
+yhi_bound = yhi + MAX(0.0,yz)
+zlo_bound = zlo
+zhi_bound = zhi :pre
+
+These formulas can be inverted if you need to convert the bounding box
+back into the triclinic box parameters, e.g. xlo = xlo_bound -
+MIN(0.0,xy,xz,xy+xz).
+
+One use of triclinic simulation boxes is to model solid-state crystals
+with triclinic symmetry.  The "lattice"_lattice.html command can be
+used with non-orthogonal basis vectors to define a lattice that will
+tile a triclinic simulation box via the
+"create_atoms"_create_atoms.html command.
+
+A second use is to run Parinello-Rahman dynamics via the "fix
+npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt
+factors to compensate for off-diagonal components of the pressure
+tensor.  The analog for an "energy minimization"_minimize.html is
+the "fix box/relax"_fix_box_relax.html command.
+
+A third use is to shear a bulk solid to study the response of the
+material.  The "fix deform"_fix_deform.html command can be used for
+this purpose.  It allows dynamic control of the xy, xz, yz tilt
+factors as a simulation runs.  This is discussed in the next section
+on non-equilibrium MD (NEMD) simulations.
diff --git a/doc/src/Howto_viscosity.txt b/doc/src/Howto_viscosity.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4760607fd574a5d8bc094675236d1f47394f50d6
--- /dev/null
+++ b/doc/src/Howto_viscosity.txt
@@ -0,0 +1,133 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Calculate viscosity :h3
+
+The shear viscosity eta of a fluid can be measured in at least 5 ways
+using various options in LAMMPS.  See the examples/VISCOSITY directory
+for scripts that implement the 5 methods discussed here for a simple
+Lennard-Jones fluid model.  Also, see the "Howto
+kappa"_Howto_kappa.html doc page for an analogous discussion for
+thermal conductivity.
+
+Eta is a measure of the propensity of a fluid to transmit momentum in
+a direction perpendicular to the direction of velocity or momentum
+flow.  Alternatively it is the resistance the fluid has to being
+sheared.  It is given by
+
+J = -eta grad(Vstream)
+
+where J is the momentum flux in units of momentum per area per time.
+and grad(Vstream) is the spatial gradient of the velocity of the fluid
+moving in another direction, normal to the area through which the
+momentum flows.  Viscosity thus has units of pressure-time.
+
+The first method is to perform a non-equilibrium MD (NEMD) simulation
+by shearing the simulation box via the "fix deform"_fix_deform.html
+command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to
+thermostat the fluid via the SLLOD equations of motion.
+Alternatively, as a second method, one or more moving walls can be
+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.
+
+In both cases, the velocity profile setup in the fluid by this
+procedure can be monitored by the "fix 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 tensor, as calculated by the "compute
+pressure"_compute_pressure.html command, can also be monitored, which
+is the J term in the equation above.  See the "Howto
+nemd"_Howto_nemd.html doc page for details on NEMD simulations.
+
+The third method is to perform a reverse non-equilibrium MD simulation
+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/chunk"_fix_ave_chunk.html command.
+The fix tallies the cumulative momentum transfer that it performs.
+See the "fix viscosity"_fix_viscosity.html command for details.
+
+The fourth method is based on the Green-Kubo (GK) formula which
+relates the ensemble average of the auto-correlation of the
+stress/pressure tensor to eta.  This can be done in a fully
+equilibrated simulation which is in contrast to the two preceding
+non-equilibrium methods, where momentum flows continuously through the
+simulation box.
+
+Here is an example input script that calculates the viscosity of
+liquid Ar via the GK formalism:
+
+# Sample LAMMPS input script for viscosity of liquid Ar :pre
+
+units       real
+variable    T equal 86.4956
+variable    V equal vol
+variable    dt equal 4.0
+variable    p equal 400     # correlation length
+variable    s equal 5       # sample interval
+variable    d equal $p*$s   # dump interval :pre
+
+# convert from LAMMPS real units to SI :pre
+
+variable    kB equal 1.3806504e-23    # \[J/K/] Boltzmann
+variable    atm2Pa equal 101325.0
+variable    A2m equal 1.0e-10
+variable    fs2s equal 1.0e-15
+variable    convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre
+
+# setup problem :pre
+
+dimension    3
+boundary     p p p
+lattice      fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
+region       box block 0 4 0 4 0 4
+create_box   1 box
+create_atoms 1 box
+mass         1 39.948
+pair_style   lj/cut 13.0
+pair_coeff   * * 0.2381 3.405
+timestep     $\{dt\}
+thermo       $d :pre
+
+# equilibration and thermalization :pre
+
+velocity     all create $T 102486 mom yes rot yes dist gaussian
+fix          NVT all nvt temp $T $T 10 drag 0.2
+run          8000 :pre
+
+# viscosity calculation, switch to NVE if desired :pre
+
+#unfix       NVT
+#fix         NVE all nve :pre
+
+reset_timestep 0
+variable     pxy equal pxy
+variable     pxz equal pxz
+variable     pyz equal pyz
+fix          SS all ave/correlate $s $p $d &
+             v_pxy v_pxz v_pyz type auto file S0St.dat ave running
+variable     scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\}
+variable     v11 equal trap(f_SS\[3\])*$\{scale\}
+variable     v22 equal trap(f_SS\[4\])*$\{scale\}
+variable     v33 equal trap(f_SS\[5\])*$\{scale\}
+thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33
+run          100000
+variable     v equal (v_v11+v_v22+v_v33)/3.0
+variable     ndens equal count(all)/vol
+print        "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre
+
+The fifth method is related to the above Green-Kubo method,
+but uses the Einstein formulation, analogous to the Einstein
+mean-square-displacement formulation for self-diffusivity. The
+time-integrated momentum fluxes play the role of Cartesian
+coordinates, whose mean-square displacement increases linearly
+with time at sufficiently long times.
diff --git a/doc/src/Howto_viz.txt b/doc/src/Howto_viz.txt
new file mode 100644
index 0000000000000000000000000000000000000000..53635442c8ca5afb4fa802a506b609d6f88ff7d2
--- /dev/null
+++ b/doc/src/Howto_viz.txt
@@ -0,0 +1,40 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Visualize LAMMPS snapshots :h3
+
+LAMMPS itself does not do visualization, but snapshots from LAMMPS
+simulations can be visualized (and analyzed) in a variety of ways.
+
+Mention dump image and dump movie.
+
+LAMMPS snapshots are created by the "dump"_dump.html command which can
+create files in several formats. The native LAMMPS dump format is a
+text file (see "dump atom" or "dump custom") which can be visualized
+by several popular visualization tools. The "dump
+image"_dump_image.html and "dump movie"_dump_image.html styles can
+output internally rendered images and convert a sequence of them to a
+movie during the MD run.  Several programs included with LAMMPS as
+auxiliary tools can convert between LAMMPS format files and other
+formats.  See the "Tools"_Tools.html doc page for details.
+
+A Python-based toolkit distributed by our group can read native LAMMPS
+dump files, including custom dump files with additional columns of
+user-specified atom information, and convert them to various formats
+or pipe them into visualization software directly.  See the "Pizza.py
+WWW site"_pizza for details.  Specifically, Pizza.py can convert
+LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats.
+Pizza.py can pipe LAMMPS dump files directly into the Raster3d and
+RasMol visualization programs.  Pizza.py has tools that do interactive
+3d OpenGL visualization and one that creates SVG images of dump file
+snapshots.
+
+:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
+:link(ensight,http://www.ensight.com)
+:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A)
diff --git a/doc/src/Howto_walls.txt b/doc/src/Howto_walls.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b0f8c0cfa751cf534ffcb657e219241c0860939
--- /dev/null
+++ b/doc/src/Howto_walls.txt
@@ -0,0 +1,80 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Walls :h3
+
+Walls in an MD simulation are typically used to bound particle motion,
+i.e. to serve as a boundary condition.
+
+Walls in LAMMPS can be of rough (made of particles) or idealized
+surfaces.  Ideal walls can be smooth, generating forces only in the
+normal direction, or frictional, generating forces also in the
+tangential direction.
+
+Rough walls, built of particles, can be created in various ways.  The
+particles themselves can be generated like any other particle, via the
+"lattice"_lattice.html and "create_atoms"_create_atoms.html commands,
+or read in via the "read_data"_read_data.html command.
+
+Their motion can be constrained by many different commands, so that
+they do not move at all, move together as a group at constant velocity
+or in response to a net force acting on them, move in a prescribed
+fashion (e.g. rotate around a point), etc.  Note that if a time
+integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html
+is not used with the group that contains wall particles, their
+positions and velocities will not be updated.
+
+"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together
+"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0
+"fix freeze"_fix_freeze.html - freeze particles for use as granular walls
+"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force
+"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul
+
+The "fix move"_fix_move.html command offers the most generality, since
+the motion of individual particles can be specified with
+"variable"_variable.html formula which depends on time and/or the
+particle position.
+
+For rough walls, it may be useful to turn off pairwise interactions
+between wall particles via the "neigh_modify
+exclude"_neigh_modify.html command.
+
+Rough walls can also be created by specifying frozen particles that do
+not move and do not interact with mobile particles, and then tethering
+other particles to the fixed particles, via a "bond"_bond_style.html.
+The bonded particles do interact with other mobile particles.
+
+Idealized walls can be specified via several fix commands.  "Fix
+wall/gran"_fix_wall_gran.html creates frictional walls for use with
+granular particles; all the other commands create smooth walls.
+
+"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls
+"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential
+"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential
+"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential
+"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential
+"fix wall/region"_fix_wall_region.html - use region surface as wall
+"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul
+
+The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the
+flat walls to move with a constant velocity, or oscillate in time.
+The "fix wall/region"_fix_wall_region.html command offers the most
+generality, since the region surface is treated as a wall, and the
+geometry of the region can be a simple primitive volume (e.g. a
+sphere, or cube, or plane), or a complex volume made from the union
+and intersection of primitive volumes.  "Regions"_region.html can also
+specify a volume "interior" or "exterior" to the specified primitive
+shape or {union} or {intersection}.  "Regions"_region.html can also be
+"dynamic" meaning they move with constant velocity, oscillate, or
+rotate.
+
+The only frictional idealized walls currently in LAMMPS are flat or
+curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html
+command.  At some point we plan to allow regoin surfaces to be used as
+frictional walls, as well as triangulated surfaces.
diff --git a/doc/src/Intro.txt b/doc/src/Intro.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e3eaa404376015a1bec4d63d34397456b9c425dd
--- /dev/null
+++ b/doc/src/Intro.txt
@@ -0,0 +1,37 @@
+"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws -
+"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
+Section"_Install.html :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands.html#comm)
+
+:line
+
+Introduction :h2
+
+These pages provide a brief introduction to LAMMPS.
+
+<!-- RST
+
+.. toctree::
+
+   Intro_overview
+   Intro_features
+   Intro_nonfeatures
+   Intro_opensource
+   Intro_authors
+   Intro_website
+
+END_RST -->
+
+<!-- HTML_ONLY -->
+
+"Overview of LAMMPS"_Intro_overview.html
+"LAMMPS features"_Intro_features.html
+"LAMMPS non-features"_Intro_nonfeatures.html
+"LAMMPS open-source license"_Intro_license.html
+"LAMMPS authors"_Intro_authors.html
+"Additional website links"_Intro_website.html :all(b)
+
+<!-- END_HTML_ONLY -->
diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt
new file mode 100644
index 0000000000000000000000000000000000000000..96b4b861ca399a47f10a98a3339d6098fd9eb606
--- /dev/null
+++ b/doc/src/Intro_authors.txt
@@ -0,0 +1,379 @@
+"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+LAMMPS authors :h3
+
+The primary LAMMPS developers are at Sandia National Labs and Temple
+University:
+
+"Steve Plimpton"_sjp, sjplimp at sandia.gov
+Aidan Thompson, athomps at sandia.gov
+Stan Moore, stamoor at sandia.gov
+Axel Kohlmeyer, akohlmey at gmail.com :ul
+
+:link(sjp,http://www.cs.sandia.gov/~sjplimp)
+
+Past developers include Paul Crozier and Mark Stevens, both at Sandia,
+and Ray Shan, now at Materials Design.
+
+:line
+
+The following folks are responsible for significant contributions to
+the code, or other aspects of the LAMMPS development effort.  Many of
+the packages they have written are somewhat unique to LAMMPS and the
+code would not be as general-purpose as it is without their expertise
+and efforts.
+
+Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM packages
+Roy Pollock (LLNL), Ewald and PPPM solvers
+Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages
+Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
+Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
+Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
+Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
+Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
+Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages
+Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
+Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
+Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
+Georg Gunzenmueller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages
+Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul
+
+:line
+
+As discussed on the "History
+page"_http://lammps.sandia.gov/history.html of the website, LAMMPS
+originated as a cooperative project between DOE labs and industrial
+partners.  Folks involved in the design and testing of the original
+version of LAMMPS were the following:
+    
+John Carpenter (Mayo Clinic, formerly at Cray Research)
+Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
+Steve Lustig (Dupont)
+Jim Belak and Roy Pollock (LLNL) :ul
+
+:line
+:line
+
+Here is a timeline for when various individuals contributed to a new
+feature or command or tool added to LAMMPS:
+
+Jul18 : DEM polygonal and polyhedron particles : Trung Nguyen (Northwestern U)
+Jun18 : SPIN package : Julien Tranchida (Sandia and CEA)
+Jun18 : compute entropy/atom : Pablo Piaggi (EPLF, Switzerland)
+May18 : fix bond/react : Jake Gissinger (CU Boulder)
+Apr18 : USER-BOCS package : Nicholas Dunn and Michael DeLyser (Penn State U)
+Mar18: pair coul/shield, kolmogorov/crespi/full, ilp/graphene/hbn : Wengen Ouyang (Tel Aviv U) 
+Feb18 : pair lj/cut/coul/wolf : Vishal Boddu (U of Erlangen-Nuremberg)
+Feb18 : USER-MOFFF package : Hendrik Heenen (Technical U of Munich) and Rochus Schmid (Ruhr-University Bochum)
+Feb18 : pair ufm : Rodolfo Paula Leite and Maurice de Koning (Unicamp/Brazil)
+Dec17 : fix python/move : Richard Berger (Temple U)
+Nov17 : pair extep : Jaap Kroes (Radboud U)
+Oct17 : USER-UEF package : David Nicholson (MIT)
+Oct17 : fix rhok : Ulf Pederson (Roskilde U)
+Oct17 : bond gromos : Axel Kohlmeyer (Temple U)
+Oct17 : pair born/coul/wolf/cs and coul/wolf/cs : Vishal Boddu
+Sep17 : fix latte : Christian Negre (LANL)
+Sep17 : temper_npt : Amulya Pervaje and Cody Addington (NCSU)
+Aug17 : USER-MESO package : Zhen Li (Brown University)
+Aug17 : compute aggregate/atom & fragment/atom : Axel Kohlmeyer (Temple U)
+Jul17 : pair meam/c : Sebastian Hutter (Otto-von-Guericke University)
+Jun17 : pair reaxc/omp : Metin Aktulga (MSU) and Axel Kohlmeyer (Temple U)
+Jun17 : pair vashishita/gpu : Anders Hafreager (UiO)
+Jun17 : kspace pppm/disp/intel and pair lj/long/coul/long/intel : Mike Brown (Intel) and William McDoniel (RWTH Aachen U)
+Jun17 : compute cnp/atom : Paulo Branicio (USC)
+May17 : fix python and pair python : Richard Berger (Temple U)
+May17 : pair edip/multi : Chao Jiang (U Wisconsin)
+May17 : pair gw and gw/zbl : German Samolyuk (ORNL)
+Mar17 : pair charmm fsw and fsh : Robert Meissner & Lucio Colombi Ciacchi (Bremen U), Robert Latour (Clemson U)
+Mar17 : pair momb : Ya Zhou, Kristen Fichthorn, and Tonnam Balankura (PSU)
+Mar17 : fix filter/corotate : Lukas Fath (KIT)
+Mar17 : pair kolmogorov/crespi/z : Jaap Kroes (Radboud Universiteit)
+Feb17 : Kokkos versions of the class2 bond/angle/dihedral/improper : Ray Shan (Materials Design)
+Jan17 : USER-CGDNA package : Oliver Henrich (U Edinburgh)
+Jan17 : fix mscg : Lauren Abbott (Sandia)
+Nov16 : temper/grem and fix grem : David Stelter (BU), Edyta Malolepsza (Broad Institute), Tom Keyes (BU)
+Nov16 : pair agni : Axel Kohlmeyer (Temple U) and Venkatesh Botu
+Nov16 : pair tersoff/mod.c : Ganga P Purja Pun (George Mason University)
+Nov16 : pair born/coul/dsf and pair born/coul/dsf/cs : Ariel Lozano
+Nov16 : fix reaxc/species/kk & fix reaxc/bonds/kk : Stan Moore (Sandia)
+Oct16 : fix wall/gran/region : Dan Bolintineanu (Sandia)
+Sep16 : weight options for balance & fix balance : Axel Kohlmeyer (Temple U) & Iain Bethune (EPCC)
+Sep16 : fix cmap : Xiaohu Hu (ORNL), David Hyde-Volpe & Tigran Abramyan & Robert Latour (Clemson U), Chris Lorenz (Kings College, London)
+Sep16 : pair vashishta/table : Anders Hafreager (U Oslo)
+Sep16 : kspace pppm/kk : Stan Moore (Sandia)
+Aug16 : fix flow/gauss : Steve Strong and Joel Eaves (U Colorado)
+Aug16 : fix controller : Aidan Thompson (Sandia)
+Jul16 : dipole integration by DLM method : Iain Bethune (EPCC)
+Jul16 : dihedral spherical : Andrew Jewett
+Jun16 : pair reax/c/kk : Ray Shan (Materials Design), Stan Moore (Sandia)
+Jun16 : fix orient/bcc : Tegar Wicaksono (UBC) 
+Jun16 : fix ehex : Peter Wirnsberger (University of Cambridge)
+Jun16 : reactive DPD extensions to USER-DPD : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL), Christopher Stone (Computational Science & Engineering, LLC)
+May16 : USER-MANIFOLD package : Stefan Paquay (Eindhoven U of Tech, The Netherlands)
+Apr16 : write_coeff : Axel Kohlmeyer (Temple U)
+Apr16 : pair morse/soft : Stefan Paquay (Eindhoven U of Tech, The Netherlands)
+Apr16 : compute dipole/chunk : Axel Kohlmeyer (Temple U)
+Apr16 : bond write : Axel Kohlmeyer (Temple U)
+Mar16 : pair morse/smooth/linear : Stefan Paquay (Eindhoven U of Tech, The Netherlands)
+Feb16 : pair/bond/angle/dihedral/improper zero : Carsten Svaneborg (SDU)
+Feb16 : dump custom/vtk : Richard Berger (JKU) and Daniel Queteschiner (DCS Computing)
+Feb16 : fix (nvt/npt/nph)/body and compute temp/body : Trung Nguyen
+Feb16 : USER-DPD package : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL)
+Dec15 : fix qeq/fire : Ray Shan (Sandia)
+Dec15 : pair lj/mdf, pair lennard/mdf, pair buck/mdf, improper distance : Paolo Raiteri (Curtin University)
+Nov15 : compute orientorder/atom : Aidan Thompson (Sandia) and Axel Kohlmeyer (U Temple)
+Nov15 : compute hexorder/atom : Aidan Thompson (Sandia)
+Oct15 : displace_atoms variable option : Reese Jones (Sandia)
+Oct15 : pair mgpt & USER-MGPT package : Tomas Oppelstrup and John Moriarty (LLNL)
+Oct15 : pair smtbq & USER-SMTBQ package : Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS)
+Oct15 : fix ave/correlate/long command : Jorge Ramirez (UPM) and Alexei Likhtman (U Reading)
+Oct15 : pair vashishta command : Aidan Thompson (Sandia) and Yongnan Xiong (HNU)
+Aug15 : USER-TALLY package : Axel Kohlmeyer (Temple U)
+Aug15 : timer command : Axel Kohlmeyer (Temple U)
+Aug15 : USER-H5MD package : Pierre de Buyl (KU Leuven)
+Aug15 : COMPRESS package : Axel Kohlmeyer (Temple U)
+Aug15 : USER-SMD package : Georg Gunzenmueller (EMI)
+Jul15 : new HTML format for "doc pages"_doc/Manual.html with search option : Richard Berger (JKU)
+Jul15 : rRESPA with pair hybrid : Sam Genheden (U of Southampton)
+Jul15 : pair_modify special : Axel Kohlmeyer (Temple U)
+Jul15 : pair polymorphic : Xiaowang Zhou and Reese Jones (Sandia)
+Jul15 : USER-DRUDE package : Alain Dequidt and Agilio Padua (U Blaise Pascal Clermont-Ferrand) and Julien Devemy (CNRS)
+Jul15 : USER-QTB package : Yuan Shen, Tingting Qi, and Evan Reed (Stanford U)
+Jul15 : USER-DIFFRACTION package : Shawn Coleman (ARL)
+Mar15 : fix temp/csld : Axel Kohlmeyer (Temple U)
+Mar15 : CORESHELL package : Hendrik Heenen (Technical University of Munich)
+Feb15 : pair quip for GAP and other potentials : Albert Bartok-Partay (U Cambridge)
+Feb15 : pair coul/streitz for Streitz-Mintmire potential : Ray Shan (Sandia)
+Feb15 : fix tfmc : Kristof Bal (U of Antwerp) 
+Feb15 : fix ttm/mod : Sergey Starikov and Vasily Pisarev (JIHT of RAS)
+Jan15 : fix atom/swap for MC swaps of atom types/charge : Paul Crozier (Sandia)
+Nov14 : fix pimd for path-integral MD : Chris Knight and Yuxing Peng (U Chicago)
+Nov14 : fix gle and fix ipi for path-integral MD : Michele Ceriotti (EPFL)
+Nov14 : pair style srp : Tim Sirk (ARL) and Pieter in 't Veld (BASF) 
+Nov14 : fix ave/spatial/sphere : Niall Jackson (Imperial College)
+Sep14 : QEQ package and several fix qeq/variant styles : Ray Shan (Sandia)
+Sep14 : SNAP package and pair style : Aidan Thompson (Sandia) and collaborators
+Aug14 : USER-INTEL package : Mike Brown (Intel)
+May14 : KOKKOS pacakge : Christian Trott and Carter Edwards (Sandia)
+May14 : USER-FEP pacakge : Agilio Padua (U Blaise Pascal Clermont-Ferrand)
+Apr14 : fix rigid/small NVE/NVT/NPH/NPT : Trung Nguyen (ORNL)
+Apr14 : fix qmmm for QM/MM coupling : Axel Kohlmeyer (Temple U)
+Mar14 : kspace_modify collective for faster FFTs on BG/Q : Paul Coffman (IBM)
+Mar14 : fix temp/csvr and fix oneway : Axel Kohlmeyer (Temple U)
+Feb14 : pair peri/eps, compute dilatation/atom, compute plasticity/atom : Rezwanur Rahman and John Foster (UTSA)
+Jan14 : MPI-IO options for dump and restart files : Paul Coffman (IBM)
+Nov13 : USER-LB package for Lattice Boltzmann : Francis Mackay and Colin Denniston (U Western Ontario)
+Nov13 : fix ti/rs and ti/spring : Rodrigo Freitas (UC Berkeley)
+Nov13 : pair comb3 : Ray Shan (Sandia), Tao Liang and Dundar Yilmaz (U Florida)
+Nov13 : write_dump and dump movie : Axel Kohlmeyer (Temple U)
+Sep13 : xmgrace tool : Vikas Varshney
+Sep13 : pair zbl : Aidan Thompson and Stephen Foiles (Sandia)
+Aug13 : pair nm and variants : Julien Devemy (ICCF)
+Aug13 : fix wall/lj1043 : Jonathan Lee (Sandia)
+Jul13 : pair peri/ves : Rezwan Rahman, JT Foster (U Texas San Antonio)
+Jul13 : pair tersoff/mod : Vitaly Dozhdikov (JIHT of RAS)
+Jul13 : compute basal/atom : Christopher Barrett,(Mississippi State)
+Jul13 : polybond tool : Zachary Kraus (Georgia Tech)
+Jul13 : fix gld : Stephen Bond and Andrew Baczewski (Sandia) 
+Jun13 : pair nb3b/harmonic : Todd Zeitler (Sandia)
+Jun13 : kspace_style pppm/stagger : Stan Moore (Sandia)
+Jun13 : fix tune/kspace : Paul Crozier (Sandia)
+Jun13 : long-range point dipoles : Stan Moore (Sandia) and Pieter in 't Veld (BASF)
+May13 : compute msd/nongauss : Rob Hoy
+May13 : pair list : Axel Kohlmeyer (Temple U)
+May13 : triclinic support for long-range solvers : Stan Moore (Sandia)
+Apr13 : dump_modify nfile and fileper : Christopher Knight
+Mar13 : fix phonon : Ling-Ti Kong (Shanghai Jiao Tong University)
+Mar13 : pair_style lj/cut/tip4p/cut : Pavel Elkind (Gothenburg University)
+Feb13 : immediate variables in input script : Daniel Moller (Autonomous University of Barcelona)
+Feb13 : fix species : Ray Shan (Sandia)
+Jan13 : compute voronoi/atom : Daniel Schwen
+Nov12 : pair_style mie/cut : Cassiano Aimoli Petrobras (U Notre Dame)
+Oct12 : pair_style meam/sw/spline : Robert Rudd (LLNL)
+Oct12 : angle_style fourier and fourier/simple and quartic : Loukas Peristeras (Scienomics)
+Oct12 : dihedral_style fourier and nharmonic and quadratic : Loukas Peristeras (Scienomics)
+Oct12 : improper_style fourier : Loukas Peristeras (Scienomics)
+Oct12 : kspace_style pppm/disp for 1/r^6 : Rolf Isele-Holder (Aachen University)
+Oct12 : moltemplate molecular builder tool : Andrew Jewett (UCSB)
+Sep12 : pair_style lj/cut/coul/dsf and coul/dsf : Trung Nguyen (ORNL)
+Sep12 : multi-level summation long-range solver : Stan Moore, Stephen Bond, and Paul Crozier (Sandia)
+Aug12 : fix rigid/npt and fix rigid/nph : Trung Nguyen (ORNL)
+Aug12 : Fortran wrapper on lib interface : Karl Hammond (UT, Knoxville)
+Aug12 : kspace_modify diff for 2-FFT PPPM : Rolf Isele-Holder (Aachen University), Stan Moore (BYU), Paul Crozier (Sandia)
+Jun12 : pair_style bop : Don Ward and Xiaowang Zhou (Sandia)
+Jun12 : USER-MOLFILE package : Axel Kohlmeyer (U Temple)
+Jun12 : USER-COLVARS package : Axel Kohlmeyer (U Temple)
+May12 : read_dump : Tim Sirk (ARL)
+May12 : improper_style cossq and ring : Georgios Vogiatzis (CoMSE, NTU Athens)
+May12 : pair_style lcbop : Dominik Wojt (Wroclaw University of Technology)
+Feb12 : PPPM per-atom energy/virial : Stan Moore (BYU)
+Feb12 : Ewald per-atom energy/virial : German Samolyuk (ORNL), Stan Moore (BYU)
+Feb12 : minimize forcezero linesearch : Asad Hasan (CMU)
+Feb12 : pair_style beck : Jon Zimmerman (Sandia)
+Feb12 : pair_style meam/spline : Alex Stukowski (LLNL)
+Jan12 : pair_style kim : Valeriu Smirichinski, Ryan Elliott, Ellad Tadmor (U Minn)
+Jan12 : dihedral_style table : Andrew Jewett (UCSB)
+Jan12 : angle_style dipole : Mario Orsi
+Jan12 : pair_style lj/smooth/linear : Jon Zimmerman (Sandia)
+Jan12 : fix reax/c/bond : Tzu-Ray Shan (Sandia)
+Dec11 : pair_style coul/wolf : Yongfeng Zhang (INL)
+Dec11 : run_style verlet/split : Yuxing Peng and Chris Knight (U Chicago)
+Dec11 : pair_style tersoff/table : Luca Ferraro (CASPUR)
+Nov11 : per-atom energy/stress for reax/c : Tzu-Ray Shan (Sandia)
+Oct11 : Fast Lubrication Dynamics (FLD) package: Amit Kumar, Michael Bybee, Jonathan Higdon (UIUC)
+Oct11 : USER-OMP package : Axel Kohlmeyer (Temple U)
+Sep11 : pair_style edip : Luca Ferraro (CASPUR)
+Aug11 : USER-SPH package : Georg Ganzenmuller (FIHSD, EMI, Germany)
+Aug11 : fix restrain : Craig Tenney (Sandia)
+Aug11 : USER-CUDA package : Christian Trott (U Tech Ilmenau)
+Aug11 : pair_style lj/sf : Laurent Joly (U Lyon)
+Aug11 : bond_style harmonic/shift and harmonic/shift/cut : Carsten Svaneborg
+Aug11 : angle_style cosine/shift and cosine/shift/exp : Carsten Svaneborg
+Aug11 : dihedral_style cosine/shift/exp : Carsten Svaneborg
+Aug11 : pair_style dipole/sf : Mario Orsi
+Aug11 : fix addtorque and compute temp/rotate : Laurent Joly (U Lyon)
+Aug11 : FFT support via FFTW3, MKL, ACML, KISSFFT libraries : \
+  Axel Kohlmeyer (Temple U)
+Jun11 : pair_style adp : Chris Weinberger (Sandia), Stephen Foiles (Sandia), \
+  Chandra Veer Singh (Cornell)
+Jun11 : Windows build option via Microsoft Visual Studio : \
+  Ilya Valuev (JIHT, Moscow, Russia)
+Jun11 : antisymmetrized wave packet MD : Ilya Valuev (JIHT, Moscow, Russia)
+Jun11 : dump image : Nathan Fabian (Sandia)
+May11 : pppm GPU single and double : Mike Brown (ORNL)
+May11 : pair_style lj/expand/gpu : Inderaj Bains (NVIDIA)
+2010 : pair_style reax/c and fix qeq/reax : Metin Aktulga (Purdue, now LBNL)
+- : DREIDING force field, pair_style hbond/dreiding, etc : Tod Pascal (Caltech)
+- : fix adapt and compute ti for thermodynamic integration for \
+  free energies : Sai Jayaraman (Sandia)
+- : pair_style born and gauss : Sai Jayaraman (Sandia)
+- : stochastic rotation dynamics (SRD) via fix srd : \
+  Jeremy Lechman (Sandia) and Pieter in 't Veld (BASF)
+- : ipp Perl script tool : Reese Jones (Sandia)
+- : eam_database and createatoms tools : Xiaowang Zhou (Sandia)
+- : electron force field (eFF) : Andres Jaramillo-Botero and Julius Su (Caltech)
+- : embedded ion method (EIM) potential : Xiaowang Zhou (Sandia)
+- : COMB potential with charge equilibration : Tzu-Ray Shan (U Florida)
+- : fix ave/correlate :  Benoit Leblanc, Dave Rigby, \
+  Paul Saxe (Materials Design) and Reese Jones (Sandia)
+- : pair_style peri/lps : Mike Parks (Sandia)
+- : fix msst : Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford)
+- : thermo_style custom tpcpu & spcpu keywords : Axel Kohlmeyer (Temple U) 
+- : fix rigid/nve, fix rigid/nvt : Tony Sheh and Trung Dac Nguyen (U Michigan)
+- : public SVN & Git repositories for LAMMPS : \
+  Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia)
+- : compute heat/flux : German Samolyuk (ORNL) and \
+  Mario Pinto (Computational Research Lab, Pune, India)
+- : pair_style yukawa/colloid : Randy Schunk (Sandia)
+- : fix wall/colloid : Jeremy Lechman (Sandia)
+2009 : fix imd for real-time viz and interactive MD : Axel Kohlmeyer (Temple Univ)
+- : concentration-dependent EAM potential : \
+  Alexander Stukowski (Technical University of Darmstadt)
+- : parallel replica dymamics (PRD) : Mike Brown (Sandia)
+- : min_style hftn : Todd Plantenga (Sandia)
+- : fix atc : Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia)
+- : dump cfg : Liang Wan (Chinese Academy of Sciences)
+- : fix nvt with Nose/Hoover chains : Andy Ballard (U Maryland)
+- : pair_style lj/cut/gpu, pair_style gayberne/gpu : Mike Brown (Sandia)
+- : pair_style lj96/cut, bond_style table, angle_style table : Chuanfu Luo
+- : fix langevin tally : Carolyn Phillips (U Michigan)
+- : compute heat/flux for Green-Kubo : Reese Jones (Sandia), \
+  Philip Howell (Siemens), Vikas Varsney (AFRL)
+- : region cone : Pim Schravendijk
+- : pair_style born/coul/long : Ahmed Ismail (Sandia)
+- : fix ttm : Paul Crozier (Sandia) and Carolyn Phillips (U Michigan)
+- : fix box/relax : Aidan Thompson and David Olmsted (Sandia)
+- : ReaxFF potential : Aidan Thompson (Sandia) and Hansohl Cho (MIT)
+- : compute cna/atom : Liang Wan (Chinese Academy of Sciences)
+2008 : Tersoff/ZBL potential : Dave Farrell (Northwestern U)
+- : peridynamics : Mike Parks (Sandia)
+- : fix smd for steered MD : Axel Kohlmeyer (U Penn)
+- : GROMACS pair potentials : Mark Stevens (Sandia)
+- : lmp2vmd tool : Axel Kohlmeyer (U Penn)
+- : compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U)
+- : USER-CG-CMM package for coarse-graining : Axel Kohlmeyer (U Penn)
+- : cosine/delta angle potential : Axel Kohlmeyer (U Penn)
+- : VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain
+- : pair_style lubricate : Randy Schunk (Sandia)
+- : compute ackland/atom : Gerolf Ziegenhain
+- : kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \
+  Pieter in 't Veld (Sandia)
+- : AI-REBO bond-order potential : Ase Henry (MIT)
+- : making LAMMPS a true "object" that can be instantiated \
+  multiple times, e.g. as a library : Ben FrantzDale (RPI)
+- : pymol_asphere viz tool : Mike Brown (Sandia)
+2007 : NEMD SLLOD integration : Pieter in 't Veld (Sandia)
+- : tensile and shear deformations : Pieter in 't Veld (Sandia)
+- : GayBerne potential : Mike Brown (Sandia)
+- : ellipsoidal particles : Mike Brown (Sandia)
+- : colloid potentials : Pieter in 't Veld (Sandia)
+- : fix heat : Paul Crozier and Ed Webb (Sandia)
+- : neighbor multi and communicate multi : Pieter in 't Veld (Sandia)
+- : MATLAB post-processing scripts : Arun Subramaniyan (Purdue)
+- : triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia)
+- : thermo_extract tool: Vikas Varshney (Wright Patterson AFB)
+- : fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia)
+- : MEAM potential : Greg Wagner (Sandia)
+- : optimized pair potentials for lj/cut, charmm/long, eam, morse : \
+  James Fischer (High Performance Technologies), \
+  David Richie and Vincent Natoli (Stone Ridge Technologies)
+2006 : fix wall/lj126 : Mark Stevens (Sandia)
+- : Stillinger-Weber and Tersoff potentials : \
+  Aidan Thompson and Xiaowang Zhou (Sandia)
+- : region prism : Pieter in 't Veld (Sandia)
+- : fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U)
+- : multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U)
+- : OPLS dihedral potential: Mark Stevens (Sandia)
+- : POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI)
+- : faster pair hybrid potential: James Fischer \
+    (High Performance Technologies, Inc), Vincent Natoli and \
+    David Richie (Stone Ridge Technology)
+- : breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia)
+- : DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U)
+- : grain boundary orientation fix : Koenraad Janssens and \
+  David Olmsted (Sandia)
+- : pair_style lj/smooth potential : Craig Maloney (UCSB) 
+- : radius-of-gyration spring fix : Naveen Michaud-Agrawal \
+  (Johns Hopkins U) and Paul Crozier (Sandia)
+- : self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U)
+- : EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea)
+- : cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U)
+- : helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \
+    Mark Stevens (Sandia)
+- : Finnis/Sinclair EAM: Tim Lau (MIT)
+- : dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \
+    Frank van Swol (Sandia)
+- : TIP4P potential (4-site water): Ahmed Ismail and \
+  Amalie Frischknecht (Sandia)
+2005 : uniaxial strain fix: Carsten Svaneborg (Max Planck Institute)
+- : compressed dump files: Erik Luijten (U Illinois)
+- : cylindrical indenter fix: Ravi Agrawal (Northwestern U)
+- : electric field fix: Christina Payne (Vanderbilt U)
+- : AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \
+  Vikas Varshney (U Akron)
+- : CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia)
+- : Morse bond potential: Jeff Greathouse (Sandia)
+- : radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia)
+- : force tables for long-range Coulombics: Paul Crozier (Sandia)
+2004 : targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \
+  Christian Burisch (Bochum University, Germany)
+- : FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech)
+- : lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \
+    Andrey Kalinichev (Sandia)
+- : parallel tempering: Mark Sears (Sandia)
+earlier : granular force fields and BC: Leo Silbert & Gary Grest (Sandia)
+- : multi-harmonic dihedral potential: Mathias Putz (Sandia)
+- : embedded atom method (EAM) potential: Stephen Foiles (Sandia)
+- : msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray)
+- : HTFN energy minimizer: Todd Plantenga (Sandia)
+- : class 2 force fields: Eric Simon (Cray)
+- : NVT/NPT integrators: Mark Stevens (Sandia)
+- : rRESPA: Mark Stevens & Paul Crozier (Sandia)
+- : Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:,ca1=c)
diff --git a/doc/src/Intro_features.txt b/doc/src/Intro_features.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a405ebf775ba3b1174c66b0ac70ee3f4ab6006b
--- /dev/null
+++ b/doc/src/Intro_features.txt
@@ -0,0 +1,202 @@
+"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+LAMMPS features :h3
+
+LAMMPS is a classical molecular dynamics (MD) code with these general
+classes of functionality:
+
+"General features"_#general
+"Particle and model types"_#particle
+"Interatomic potentials (force fields)"_#ff
+"Atom creation"_#create
+"Ensembles, constraints, and boundary conditions"_#ensemble
+"Integrators"_#integrate
+"Diagnostics"_#diag
+"Output"_#output
+"Multi-replica models"_#replica
+"Pre- and post-processing"_#prepost
+"Specialized features (beyond MD itself)"_#special :ul
+
+:line
+
+General features :h4,link(general)
+
+  runs on a single processor or in parallel
+  distributed-memory message-passing parallelism (MPI)
+  spatial-decomposition of simulation domain for parallelism
+  open-source distribution
+  highly portable C++
+  optional libraries used: MPI and single-processor FFT
+  GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features
+  easy to extend with new features and functionality
+  runs from an input script
+  syntax for defining and using variables and formulas
+  syntax for looping over runs and breaking out of loops
+  run one or multiple simulations simultaneously (in parallel) from one script
+  build as library, invoke LAMMPS thru library interface or provided Python wrapper
+  couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul
+
+Particle and model types :h4,link(particle)
+("atom style"_atom_style.html command)
+
+  atoms
+  coarse-grained particles (e.g. bead-spring polymers)
+  united-atom polymers or organic molecules
+  all-atom polymers, organic molecules, proteins, DNA
+  metals
+  granular materials
+  coarse-grained mesoscale models
+  finite-size spherical and ellipsoidal particles
+  finite-size  line segment (2d) and triangle (3d) particles
+  point dipole particles
+  rigid collections of particles
+  hybrid combinations of these :ul
+
+Interatomic potentials (force fields) :h4,link(ff)
+("pair style"_pair_style.html, "bond style"_bond_style.html,
+"angle style"_angle_style.html, "dihedral style"_dihedral_style.html,
+"improper style"_improper_style.html, "kspace style"_kspace_style.html
+commands)
+
+  pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \
+    Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
+  charged pairwise potentials: Coulombic, point-dipole
+  manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \
+    embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \
+    REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic
+  long-range interactions for charge, point-dipoles, and LJ dispersion: \
+    Ewald, Wolf, PPPM (similar to particle-mesh Ewald)
+  polarization models: "QEq"_fix_qeq.html, \
+    "core/shell model"_Section_howto.html#howto_26, \
+    "Drude dipole model"_Section_howto.html#howto_27
+  charge equilibration (QEq via dynamic, point, shielded, Slater methods)
+  coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
+  mesoscopic potentials: granular, Peridynamics, SPH
+  electron force field (eFF, AWPMD)
+  bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \
+    quartic (breakable)
+  angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \
+    class 2 (COMPASS)
+  dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \
+    class 2 (COMPASS), OPLS
+  improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)
+  polymer potentials: all-atom, united-atom, bead-spring, breakable
+  water potentials: TIP3P, TIP4P, SPC
+  implicit solvent potentials: hydrodynamic lubrication, Debye
+  force-field compatibility with common CHARMM, AMBER, DREIDING, \
+    OPLS, GROMACS, COMPASS options
+  access to "KIM archive"_http://openkim.org of potentials via \
+    "pair kim"_pair_kim.html
+  hybrid potentials: multiple pair, bond, angle, dihedral, improper \
+    potentials can be used in one simulation
+  overlaid potentials: superposition of multiple pair potentials :ul
+
+Atom creation :h4,link(create)
+("read_data"_read_data.html, "lattice"_lattice.html,
+"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html,
+"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands)
+
+  read in atom coords from files
+  create atoms on one or more lattices (e.g. grain boundaries)
+  delete geometric or logical groups of atoms (e.g. voids)
+  replicate existing atoms multiple times
+  displace atoms :ul
+
+Ensembles, constraints, and boundary conditions :h4,link(ensemble)
+("fix"_fix.html command) 
+
+  2d or 3d systems
+  orthogonal or non-orthogonal (triclinic symmetry) simulation domains
+  constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators
+  thermostatting options for groups and geometric regions of atoms
+  pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions
+  simulation box deformation (tensile and shear)
+  harmonic (umbrella) constraint forces
+  rigid body constraints
+  SHAKE bond and angle constraints
+  Monte Carlo bond breaking, formation, swapping
+  atom/molecule insertion and deletion
+  walls of various kinds
+  non-equilibrium molecular dynamics (NEMD)
+  variety of additional boundary conditions and constraints :ul
+
+Integrators :h4,link(integrate)
+("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands) 
+
+  velocity-Verlet integrator
+  Brownian dynamics
+  rigid body integration
+  energy minimization via conjugate gradient or steepest descent relaxation
+  rRESPA hierarchical timestepping
+  rerun command for post-processing of dump files :ul
+
+Diagnostics :h4,link(diag)
+
+  see various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul
+
+Output :h4,link(output)
+("dump"_dump.html, "restart"_restart.html commands) 
+
+  log file of thermodynamic info
+  text dump files of atom coords, velocities, other per-atom quantities
+  binary restart files
+  parallel I/O of dump and restart files
+  per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)
+  user-defined system-wide (log file) or per-atom (dump file) calculations
+  spatial and time averaging of per-atom quantities
+  time averaging of system-wide quantities
+  atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul
+
+Multi-replica models :h4,link(replica)
+
+"nudged elastic band"_neb.html
+"parallel replica dynamics"_prd.html
+"temperature accelerated dynamics"_tad.html
+"parallel tempering"_temper.html :ul
+
+Pre- and post-processing :h4,link(prepost)
+
+A handful of pre- and post-processing tools are packaged with LAMMPS,
+some of which can convert input and output files to/from formats used
+by other codes; see the "Toos"_Tools.html doc page. :ulb,l
+
+Our group has also written and released a separate toolkit called
+"Pizza.py"_pizza which provides tools for doing setup, analysis,
+plotting, and visualization for LAMMPS simulations.  Pizza.py is
+written in "Python"_python and is available for download from "the
+Pizza.py WWW site"_pizza. :l,ule
+
+:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
+:link(python,http://www.python.org)
+
+Specialized features :h4,link(special)
+
+LAMMPS can be built with optional packages which implement a variety
+of additional capabilities.  See the "Packages"_Packages.html doc
+page for details.
+
+These are LAMMPS capabilities which you may not think of as typical
+classical MD options:
+
+"static"_balance.html and "dynamic load-balancing"_fix_balance.html
+"generalized aspherical particles"_body.html
+"stochastic rotation dynamics (SRD)"_fix_srd.html
+"real-time visualization and interactive MD"_fix_imd.html
+calculate "virtual diffraction patterns"_compute_xrd.html
+"atom-to-continuum coupling"_fix_atc.html with finite elements
+coupled rigid body integration via the "POEMS"_fix_poems.html library
+"QM/MM coupling"_fix_qmmm.html
+Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_swap.html
+"path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.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
+"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics
+"two-temperature electron model"_fix_ttm.html :ul
diff --git a/doc/src/Intro_nonfeatures.txt b/doc/src/Intro_nonfeatures.txt
new file mode 100644
index 0000000000000000000000000000000000000000..29b2eacf083e92d7a587fb8d96ebc109a1b76ea5
--- /dev/null
+++ b/doc/src/Intro_nonfeatures.txt
@@ -0,0 +1,83 @@
+"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+LAMMPS non-features :h3
+
+LAMMPS is designed to be a fast, parallel engine for molecular
+dynamics (MD) simulations.  It provides only a modest amount of
+functionality for setting up simulations and analyzing their output.
+
+Specifically, LAMMPS does not:
+
+run thru a GUI
+build molecular systems
+assign force-field coefficients automagically
+perform sophisticated analyses of your MD simulation
+visualize your MD simulation interactively
+plot your output data :ul
+
+Here are suggestions on how to perform these tasks:
+
+GUI: LAMMPS can be built as a library and a Python wrapper that wraps
+the library interface is provided.  Thus, GUI interfaces can be
+written in Python (or C or C++ if desired) that run LAMMPS and
+visualize or plot its output.  Examples of this are provided in the
+python directory and described on the "Python"_Python.html doc
+page. :ulb,l
+
+Builder: Several pre-processing tools are packaged with LAMMPS.  Some
+of them convert input files in formats produced by other MD codes such
+as CHARMM, AMBER, or Insight into LAMMPS input formats.  Some of them
+are simple programs that will build simple molecular systems, such as
+linear bead-spring polymer chains.  The moltemplate program is a true
+molecular builder that will generate complex molecular models.  See
+the "Tools"_Tools.html doc page for details on tools packaged with
+LAMMPS.  The "Pre/post processing
+page"_http:/lammps.sandia.gov/prepost.html of the LAMMPS website
+describes a variety of 3rd party tools for this task. :l
+
+Force-field assignment: The conversion tools described in the previous
+bullet for CHARMM, AMBER, and Insight will also assign force field
+coefficients in the LAMMPS format, assuming you provide CHARMM, AMBER,
+or Accelerys force field files. :l
+
+Simulation analyses: If you want to perform analyses on-the-fly as
+your simulation runs, see the "compute"_compute.html and
+"fix"_fix.html doc pages, which list commands that can be used in a
+LAMMPS input script.  Also see the "Modify"_Modify.html doc page for
+info on how to add your own analysis code or algorithms to LAMMPS.
+For post-processing, LAMMPS output such as "dump file
+snapshots"_dump.html can be converted into formats used by other MD or
+post-processing codes.  Some post-processing tools packaged with
+LAMMPS will do these conversions.  Scripts provided with the {python}
+tool in the tools directory can extract and massage data in dump files
+to make it easier to import into other programs.  See the
+"Tools"_Tools.html doc page for details on these various options. :l
+
+Visualization: LAMMPS can produce JPG or PNG snapshot images
+on-the-fly via its "dump image"_dump_image.html command.  For
+high-quality, interactive visualization there are many excellent and
+free tools available.  See the "Other Codes
+page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for
+visualization packages that can use LAMMPS output data. :l
+
+Plotting: See the next bullet about Pizza.py as well as the
+"Python"_Python.html doc page for examples of plotting LAMMPS output.
+Scripts provided with the {python} tool in the tools directory will
+extract and massage data in log and dump files to make it easier to
+analyze and plot.  See the "Tools"_Tools.html doc page for more
+discussion of the various tools. :l
+
+Pizza.py: Our group has also written a separate toolkit called
+"Pizza.py"_http://pizza.sandia.gov which can do certain kinds of
+setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
+simulations.  It thus provides some functionality for several of the
+above bullets.  Pizza.py is written in "Python"_http://www.python.org
+and is available for download from "this
+page"_http://www.cs.sandia.gov/~sjplimp/download.html. :l,ule
diff --git a/doc/src/Intro_opensource.txt b/doc/src/Intro_opensource.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83384a22a2690bdd80ef9fd44f88b330f936e2dd
--- /dev/null
+++ b/doc/src/Intro_opensource.txt
@@ -0,0 +1,44 @@
+"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+LAMMPS open-source license :h3
+
+LAMMPS is a freely-available open-source code, distributed under the
+terms of the "GNU Public License"_gnu, which means you can use or
+modify the code however you wish.
+
+LAMMPS comes with no warranty of any kind.  As each source file states
+in its header, it is a copyrighted code that is distributed free-of-
+charge, under the terms of the "GNU Public License"_gnu (GPL).  This
+is often referred to as open-source distribution - see
+"www.gnu.org"_gnuorg or "www.opensource.org"_opensource.  The legal
+text of the GPL is in the LICENSE file included in the LAMMPS
+distribution.
+
+:link(gnu,http://www.gnu.org/copyleft/gpl.html)
+:link(gnuorg,http://www.gnu.org)
+:link(opensource,http://www.opensource.org)
+
+Here is a summary of what the GPL means for LAMMPS users:
+
+(1) Anyone is free to use, modify, or extend LAMMPS in any way they
+choose, including for commercial purposes.
+
+(2) If you distribute a modified version of LAMMPS, it must remain
+open-source, meaning you distribute it under the terms of the GPL.
+You should clearly annotate such a code as a derivative version of
+LAMMPS.
+
+(3) If you release any code that includes LAMMPS source code, then it
+must also be open-sourced, meaning you distribute it under the terms
+of the GPL.
+
+(4) If you give LAMMPS files to someone else, the GPL LICENSE file and
+source file headers (including the copyright and GPL notices) should
+remain part of the code.
diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt
new file mode 100644
index 0000000000000000000000000000000000000000..51ad21821621ed2499ef61b95ecb6cd878a88abd
--- /dev/null
+++ b/doc/src/Intro_overview.txt
@@ -0,0 +1,58 @@
+"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Overview of LAMMPS :h3
+
+LAMMPS is a classical molecular dynamics (MD) code that models
+ensembles of particles in a liquid, solid, or gaseous state.  It can
+model atomic, polymeric, biological, solid-state (metals, ceramics,
+oxides), granular, coarse-grained, or macroscopic systems using a
+variety of interatomic potentials (force fields) and boundary
+conditions.  It can model 2d or 3d systems with only a few particles
+up to millions or billions.
+
+LAMMPS can be built and run on a laptop or destop machine, but is
+designed for parallel computers.  It will run on any parallel machine
+that supports the "MPI"_mpi message-passing library.  This includes
+shared-memory boxes and distributed-memory clusters and
+supercomputers.
+
+:link(mpi,http://www-unix.mcs.anl.gov/mpi)
+
+LAMMPS is written in C++.  Earlier versions were written in F77 and
+F90.  See the "History page"_http://lammps.sandia.gov/history.html of
+the website for details.  All versions can be downloaded from the
+"LAMMPS website"_lws.
+
+LAMMPS is designed to be easy to modify or extend with new
+capabilities, such as new force fields, atom types, boundary
+conditions, or diagnostics.  See the "Modify"_Modify.html doc page for
+more details.
+
+In the most general sense, LAMMPS integrates Newton's equations of
+motion for a collection of interacting particles.  A single particle
+can be an atom or molecule or electron, a coarse-grained cluster of
+atoms, or a mesoscopic or macroscopic clump of material.  The
+interaction models that LAMMPS includes are mostly short-range in
+nature; some long-range models are included as well.
+
+LAMMPS uses neighbor lists to keep track of nearby particles.  The
+lists are optimized for systems with particles that are repulsive at
+short distances, so that the local density of particles never becomes
+too large.  This is in contrast to methods used for modeling plasmas
+or gravitational bodies (e.g. galaxy formation).
+
+On parallel machines, LAMMPS uses spatial-decomposition techniques to
+partition the simulation domain into small sub-domains of equal
+computational cost, one of which is assigned to each processor.
+Processors communicate and store "ghost" atom information for atoms
+that border their sub-domain.
+
+
+
diff --git a/doc/src/Intro_website.txt b/doc/src/Intro_website.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61c9babe1c493ac40b8029f8a936eb915ae18955
--- /dev/null
+++ b/doc/src/Intro_website.txt
@@ -0,0 +1,42 @@
+"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+Additional website links :h3
+
+The "LAMMPS website"_lws has a variety of additional info about
+LAMMPS, beyond what is in this manual.  Some of the other pages in
+this Intr are included in this list.
+
+"Brief intro and recently added significant features"_lws
+"List of features"_http://lammps.sandia.gov/features.html
+"List of non-features"_http://lammps.sandia.gov/non_features.html
+"Recent bug fixes and new features"_http://lammps.sandia.gov/bug.html :ul
+
+"Download info"_http://lammps.sandia.gov/download.html
+"GitHub site"_https://github.com/lammps/lammps
+"SourceForge site"_https://sourceforge.net/projects/lammps
+"LAMMPS open-source license"_http://lammps.sandia.gov/open_source.html :ul
+
+"Glossary of MD terms relevant to LAMMPS"_http://lammps.sandia.gov/glossary.html
+"LAMMPS highlights with images"_http://lammps.sandia.gov/pictures.html
+"LAMMPS highlights with movies"_http://lammps.sandia.gov/movies.html
+"Mail list"_http://lammps.sandia.gov/mail.html
+"Workshops"_http://lammps.sandia.gov/workshops.html
+"Tutorials"_http://lammps.sandia.gov/tutorials.html
+"Developer guide"_http://lammps.sandia.gov/Developer.pdf :ul
+
+"Pre- and post-processing tools for LAMMPS"_http://lammps.sandia.gov/prepost.html
+"Other software usable with LAMMPS"_http://lammps.sandia.gov/offsite.html
+"Viz tools usable with LAMMPS"_http://lammps.sandia.gov/viz.html :ul
+
+"Benchmark performance"_http://lammps.sandia.gov/bench.html
+"Publications that have cited LAMMPS"_http://lammps.sandia.gov/papers.html
+"Authors of LAMMPS"_http://lammps.sandia.gov/authors.html
+"History of LAMMPS development"_http://lammps.sandia.gov/history.html
+"Funding for LAMMPS"_http://lammps.sandia.gov/funding.html :ul
diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt
index fd31c83c017eb3ac8c4ba0c95e0dfff03f51b58f..ddb9b152ec1dea0ad8168a5865bb8088960c0f05 100644
--- a/doc/src/Manual.txt
+++ b/doc/src/Manual.txt
@@ -1,5 +1,5 @@
 <!-- HTML_ONLY -->
-<
+<HEAD>
 <TITLE>LAMMPS Users Manual</TITLE>
 <META NAME="docnumber" CONTENT="2 Aug 2018 version">
 <META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
@@ -18,86 +18,49 @@
 
 :line
 
+<H1></H1>
+
 LAMMPS Documentation :c,h1
 2 Aug 2018 version :c,h2
 
-Version info: :h3
-
-The LAMMPS "version" is the date when it was released, such as 1 May
-2010. LAMMPS is updated continuously.  Whenever we fix a bug or add a
-feature, we release it immediately, and post a notice on "this page of
-the WWW site"_bug. Every 2-4 months one of the incremental releases
-is subjected to more thorough testing and labeled as a {stable} version.
-
-Each dated copy of LAMMPS contains all the
-features and bug-fixes up to and including that version date. The
-version date is printed to the screen and logfile every time you run
-LAMMPS. It is also in the file src/version.h and in the LAMMPS
-directory name created when you unpack a tarball, and at the top of
-the first page of the manual (this page).
-
-If you browse the HTML doc pages on the LAMMPS WWW site, they always
-describe the most current [development] version of LAMMPS. :ulb,l
-
-If you browse the HTML doc pages included in your tarball, they
-describe the version you have. :l
-
-The "PDF file"_Manual.pdf on the WWW site or in the tarball is updated
-about once per month.  This is because it is large, and we don't want
-it to be part of every patch. :l
-
-There is also a "Developer.pdf"_Developer.pdf file in the doc
-directory, which describes the internal structure and algorithms of
-LAMMPS.  :l
-:ule
+"What is a LAMMPS version?"_Manual_version.html
 
 LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel
 Simulator.
 
-LAMMPS is a classical molecular dynamics simulation code designed to
-run efficiently on parallel computers.  It was developed at Sandia
-National Laboratories, a US Department of Energy facility, with
-funding from the DOE.  It is an open-source code, distributed freely
-under the terms of the GNU Public License (GPL).
+LAMMPS is a classical molecular dynamics simulation code with a focus
+on materials modeling.  It was designed to run efficiently on parallel
+computers.  It was developed originally at Sandia National
+Laboratories, a US Department of Energy facility.  The majority of
+funding for LAMMPS has come from the US Department of Energy (DOE).
+LAMMPS is an open-source code, distributed freely under the terms of
+the GNU Public License (GPL).
+
+The "LAMMPS website"_lws has a variety of information about the code.
+It includes links to an on-line version of this manual, a "mail
+list"_http://lammps.sandia.gov/mail.html where users can post
+questions, and a "GitHub site"https://github.com/lammps/lammps where
+all LAMMPS development is coordinated.
 
-The current core group of LAMMPS developers is at Sandia National
-Labs and Temple University:
+:line
 
-"Steve Plimpton"_sjp, sjplimp at sandia.gov :ulb,l
-Aidan Thompson, athomps at sandia.gov :l
-Stan Moore, stamoor at sandia.gov :l
-"Axel Kohlmeyer"_ako, akohlmey at gmail.com :l
-:ule
+"PDF file"_Manual.pdf of the entire manual, generated by
+"htmldoc"_http://freecode.com/projects/htmldoc
 
-Past core developers include Paul Crozier, Ray Shan and Mark Stevens,
-all at Sandia. The [LAMMPS home page] at
-"http://lammps.sandia.gov"_http://lammps.sandia.gov has more information
-about the code and its uses. Interaction with external LAMMPS developers,
-bug reports and feature requests are mainly coordinated through the
-"LAMMPS project on GitHub."_https://github.com/lammps/lammps
-The lammps.org domain, currently hosting "public continuous integration
-testing"_https://ci.lammps.org/job/lammps/ and "precompiled Linux
-RPM and Windows installer packages"_http://packages.lammps.org is located
-at Temple University and managed by Richard Berger,
-richard.berger at temple.edu.
+The content for this manual is part of the LAMMPS distribution.
+You can build a local copy of the Manual as HTML pages or a PDF file,
+by following the steps on the "this page"_Build_manual.html.
 
-:link(bug,http://lammps.sandia.gov/bug.html)
-:link(sjp,http://www.sandia.gov/~sjplimp)
-:link(ako,http://goo.gl/1wk0)
+There is also a "Developer.pdf"_Developer.pdf document which gives
+a brief description of the basic code structure of LAMMPS.
 
 :line
 
-The LAMMPS documentation is organized into the following sections.  If
-you find errors or omissions in this manual or have suggestions for
-useful information to add, please send an email to the developers so
-we can improve the LAMMPS documentation.
+This manual is organized into the following sections.
 
 Once you are familiar with LAMMPS, you may want to bookmark "this
-page"_Section_commands.html#comm at Section_commands.html#comm since
-it gives quick access to documentation for all LAMMPS commands.
-
-"PDF file"_Manual.pdf of the entire manual, generated by
-"htmldoc"_http://freecode.com/projects/htmldoc
+page"_Commands.html since it gives quick access to a doc page for
+every LAMMPS command.
 
 <!-- RST
 
@@ -108,25 +71,23 @@ it gives quick access to documentation for all LAMMPS commands.
    :name: userdoc
    :includehidden:
 
-   Section_intro
+   Intro
    Section_start
    Section_commands
    Packages
    Speed
-   Section_howto
+   Howto
    Examples
    Tools
    Modify
    Python
    Errors
-   Section_history
 
 .. toctree::
    :caption: Index
    :name: index
    :hidden:
 
-   tutorials
    commands
    fixes
    computes
@@ -145,12 +106,7 @@ Indices and tables
 END_RST -->
 
 <!-- HTML_ONLY -->
-"Introduction"_Section_intro.html :olb,l
-  1.1 "What is LAMMPS"_intro_1 :ulb,b
-  1.2 "LAMMPS features"_intro_2 :b
-  1.3 "LAMMPS non-features"_intro_3 :b
-  1.4 "Open source distribution"_intro_4 :b
-  1.5 "Acknowledgments and citations"_intro_5 :ule,b
+"Introduction"_Intro.html :olb,l
 "Getting started"_Section_start.html :l
   2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b
   2.2 "Making LAMMPS"_start_2 :b
@@ -168,50 +124,14 @@ END_RST -->
   3.5 "Commands listed alphabetically"_cmd_5 :ule,b
 "Optional packages"_Packages.html :l
 "Accelerate performance"_Speed.html :l
-"How-to discussions"_Section_howto.html :l
-  6.1 "Restarting a simulation"_howto_1 :ulb,b
-  6.2 "2d simulations"_howto_2 :b
-  6.3 "CHARMM and AMBER force fields"_howto_3 :b
-  6.4 "Running multiple simulations from one input script"_howto_4 :b
-  6.5 "Multi-replica simulations"_howto_5 :b
-  6.6 "Granular models"_howto_6 :b
-  6.7 "TIP3P water model"_howto_7 :b
-  6.8 "TIP4P water model"_howto_8 :b
-  6.9 "SPC water model"_howto_9 :b
-  6.10 "Coupling LAMMPS to other codes"_howto_10 :b
-  6.11 "Visualizing LAMMPS snapshots"_howto_11 :b
-  6.12 "Triclinic (non-orthogonal) simulation boxes"_howto_12 :b
-  6.13 "NEMD simulations"_howto_13 :b
-  6.14 "Finite-size spherical and aspherical particles"_howto_14 :b
-  6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_howto_15 :b
-  6.16 "Thermostatting, barostatting, and compute temperature"_howto_16 :b
-  6.17 "Walls"_howto_17 :b
-  6.18 "Elastic constants"_howto_18 :b
-  6.19 "Library interface to LAMMPS"_howto_19 :b
-  6.20 "Calculating thermal conductivity"_howto_20 :b
-  6.21 "Calculating viscosity"_howto_21 :b
-  6.22 "Calculating a diffusion coefficient"_howto_22 :b
-  6.23 "Using chunks to calculate system properties"_howto_23 :b
-  6.24 "Setting parameters for pppm/disp"_howto_24 :b
-  6.25 "Polarizable models"_howto_25 :b
-  6.26 "Adiabatic core/shell model"_howto_26 :b
-  6.27 "Drude induced dipoles"_howto_27 :ule,b
+"How-to discussions"_Howto.html :l
 "Example scripts"_Examples.html :l
 "Auxiliary tools"_Tools.html :l
 "Modify & extend LAMMPS"_Modify.html :l
 "Use Python with LAMMPS"_Python.html :l
 "Errors"_Errors.html :l
-"Future and history"_Section_history.html :l
-  13.1 "Coming attractions"_hist_1 :ulb,b
-  13.2 "Past versions"_hist_2 :ule,b
 :ole
 
-:link(intro_1,Section_intro.html#intro_1)
-:link(intro_2,Section_intro.html#intro_2)
-:link(intro_3,Section_intro.html#intro_3)
-:link(intro_4,Section_intro.html#intro_4)
-:link(intro_5,Section_intro.html#intro_5)
-
 :link(start_1,Section_start.html#start_1)
 :link(start_2,Section_start.html#start_2)
 :link(start_3,Section_start.html#start_3)
@@ -227,36 +147,6 @@ END_RST -->
 :link(cmd_4,Section_commands.html#cmd_4)
 :link(cmd_5,Section_commands.html#cmd_5)
 
-:link(howto_1,Section_howto.html#howto_1)
-:link(howto_2,Section_howto.html#howto_2)
-:link(howto_3,Section_howto.html#howto_3)
-:link(howto_4,Section_howto.html#howto_4)
-:link(howto_5,Section_howto.html#howto_5)
-:link(howto_6,Section_howto.html#howto_6)
-:link(howto_7,Section_howto.html#howto_7)
-:link(howto_8,Section_howto.html#howto_8)
-:link(howto_9,Section_howto.html#howto_9)
-:link(howto_10,Section_howto.html#howto_10)
-:link(howto_11,Section_howto.html#howto_11)
-:link(howto_12,Section_howto.html#howto_12)
-:link(howto_13,Section_howto.html#howto_13)
-:link(howto_14,Section_howto.html#howto_14)
-:link(howto_15,Section_howto.html#howto_15)
-:link(howto_16,Section_howto.html#howto_16)
-:link(howto_17,Section_howto.html#howto_17)
-:link(howto_18,Section_howto.html#howto_18)
-:link(howto_19,Section_howto.html#howto_19)
-:link(howto_20,Section_howto.html#howto_20)
-:link(howto_21,Section_howto.html#howto_21)
-:link(howto_22,Section_howto.html#howto_22)
-:link(howto_23,Section_howto.html#howto_23)
-:link(howto_24,Section_howto.html#howto_24)
-:link(howto_25,Section_howto.html#howto_25)
-:link(howto_26,Section_howto.html#howto_26)
-:link(howto_27,Section_howto.html#howto_27)
-
-:link(hist_1,Section_history.html#hist_1)
-:link(hist_2,Section_history.html#hist_2)
 <!-- END_HTML_ONLY -->
 
 </BODY>
diff --git a/doc/src/Manual_version.txt b/doc/src/Manual_version.txt
new file mode 100644
index 0000000000000000000000000000000000000000..db4301b6ea960ebc63eae6cc80b31e9c9a58b5e5
--- /dev/null
+++ b/doc/src/Manual_version.txt
@@ -0,0 +1,33 @@
+"Higher level section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Section_commands.html#comm)
+
+:line
+
+What does a LAMMPS version mean: :h3
+
+The LAMMPS "version" is the date when it was released, such as 1 May
+2014. LAMMPS is updated continuously.  Whenever we fix a bug or add a
+feature, we release it in the next {patch} release, which are
+typically made every couple of weeks.  Info on patch releases are on
+"this website page"_http://lammps.sandia.gov/bug.html. Every few
+months, the latest patch release is subjected to more thorough testing
+and labeled as a {stable} version.
+
+Each version of LAMMPS contains all the features and bug-fixes up to
+and including its version date.
+
+The version date is printed to the screen and logfile every time you
+run LAMMPS. It is also in the file src/version.h and in the LAMMPS
+directory name created when you unpack a tarball.  And it is on the
+first page of the "manual"_Manual.html.
+
+If you browse the HTML doc pages on the LAMMPS WWW site, they always
+describe the most current patch release of LAMMPS. :ulb,l
+
+If you browse the HTML doc pages included in your tarball, they
+describe the version you have, which may be older. :l,ule
+
diff --git a/doc/src/Modify_body.txt b/doc/src/Modify_body.txt
index b1dc8130cd6ad46318fe7a9c336b7e8978cbdbe5..a0627ebddaade42e44b1f6fbce694dde042680d8 100644
--- a/doc/src/Modify_body.txt
+++ b/doc/src/Modify_body.txt
@@ -14,10 +14,9 @@ Body particles can represent complex entities, such as surface meshes
 of discrete points, collections of sub-particles, deformable objects,
 etc.
 
-See "Section 6.14"_Section_howto.html#howto_14 of the manual for
-an overview of using body particles and the "body"_body.html doc page
-for details on the various body styles LAMMPS supports.  New styles
-can be created to add new kinds of body particles to LAMMPS.
+See the "Howto body"_Howto_body.html doc page for an overview of using
+body particles and the various body styles LAMMPS supports.  New
+styles can be created to add new kinds of body particles to LAMMPS.
 
 Body_nparticle.cpp is an example of a body particle that is treated as
 a rigid body containing N sub-particles.
diff --git a/doc/src/Modify_contribute.txt b/doc/src/Modify_contribute.txt
index 80795b5e205332fdfac501c74bee8153706ad33e..9d47b082511a9a2097c553ecc855687937fc3376 100644
--- a/doc/src/Modify_contribute.txt
+++ b/doc/src/Modify_contribute.txt
@@ -32,14 +32,14 @@ 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
+typical requirements. Once you have prepared everything, see the
+"Howto github"_Howto_github.html doc page 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
@@ -54,8 +54,9 @@ packages by typing "make package" in the LAMMPS src directory.
 
 Note that by providing us files to release, you are agreeing to make
 them open-source, i.e. we can release them under the terms of the GPL,
-used as a license for the rest of LAMMPS.  See "Section
-1.4"_Section_intro.html#intro_4 for details.
+used as a license for the rest of LAMMPS.  See the "Open
+source"_http://lammps.sandia.gov/open_source.html page on the LAMMPS
+website for details.
 
 With user packages and files, all we are really providing (aside from
 the fame and fortune that accompanies having your name in the source
diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt
index af18d097d9041654b2cc3b6c457bd4e487a82605..2b8980972178b97ba55086ec3dfb5d23b06c660c 100644
--- a/doc/src/Packages_details.txt
+++ b/doc/src/Packages_details.txt
@@ -53,6 +53,7 @@ as contained in the file name.
 "RIGID"_#RIGID,
 "SHOCK"_#SHOCK,
 "SNAP"_#SNAP,
+"SPIN"_#SPIN,
 "SRD"_#SRD,
 "VORONOI"_#VORONOI :tb(c=6,ea=c)
 
@@ -112,7 +113,7 @@ make machine :pre
 [Supporting info:]
 
 src/ASPHERE: filenames -> commands
-"Section 6.14"_Section_howto.html#howto_14
+"Howto spherical"_Howto_spherical.html
 "pair_style gayberne"_pair_gayberne.html
 "pair_style resquared"_pair_resquared.html
 "doc/PDF/pair_gayberne_extra.pdf"_PDF/pair_gayberne_extra.pdf
@@ -130,7 +131,8 @@ BODY package :link(BODY),h4
 
 Body-style particles with internal structure.  Computes,
 time-integration fixes, pair styles, as well as the body styles
-themselves.  See the "body"_body.html doc page for an overview.
+themselves.  See the "Howto body"_Howto_body.html doc page for an
+overview.
 
 [Install or un-install:]
 
@@ -143,10 +145,10 @@ make machine :pre
 [Supporting info:]
 
 src/BODY filenames -> commands
-"body"_body.html
+"Howto_body"_Howto_body.html
 "atom_style body"_atom_style.html
 "fix nve/body"_fix_nve_body.html
-"pair_style body"_pair_body.html
+"pair_style body/nparticle"_pair_body_nparticle.html
 examples/body :ul
 
 :line
@@ -258,9 +260,9 @@ Compute and pair styles that implement the adiabatic core/shell model
 for polarizability.  The pair styles augment Born, Buckingham, and
 Lennard-Jones styles with core/shell capabilities.  The "compute
 temp/cs"_compute_temp_cs.html command calculates the temperature of a
-system with core/shell particles.  See "Section
-6.26"_Section_howto.html#howto_26 for an overview of how to use this
-package.
+system with core/shell particles.  See the "Howto
+coreshell"_Howto_coreshell.html doc page for an overview of how to use
+this package.
 
 [Author:] Hendrik Heenen (Technical U of Munich).
 
@@ -275,8 +277,8 @@ make machine :pre
 [Supporting info:]
 
 src/CORESHELL: filenames -> commands
-"Section 6.26"_Section_howto.html#howto_26
-"Section 6.25"_Section_howto.html#howto_25
+"Howto coreshell"_Howto_coreshell.html
+"Howto polarizable"_Howto_polarizable.html
 "compute temp/cs"_compute_temp_cs.html
 "pair_style born/coul/long/cs"_pair_cs.html
 "pair_style buck/coul/long/cs"_pair_cs.html
@@ -418,7 +420,7 @@ make machine :pre
 [Supporting info:]
 
 src/GRANULAR: filenames -> commands
-"Section 6.6"_Section_howto.html#howto_6,
+"Howto granular"_Howto_granular.html
 "fix pour"_fix_pour.html
 "fix wall/gran"_fix_wall_gran.html
 "pair_style gran/hooke"_pair_gran.html
@@ -625,9 +627,9 @@ make machine :pre
 src/KSPACE: filenames -> commands
 "kspace_style"_kspace_style.html
 "doc/PDF/kspace.pdf"_PDF/kspace.pdf
-"Section 6.7"_Section_howto.html#howto_7
-"Section 6.8"_Section_howto.html#howto_8
-"Section 6.9"_Section_howto.html#howto_9
+"Howto tip3p"_Howto_tip3p.html
+"Howto tip4p"_Howto_tip4p.html
+"Howto spc"_Howto_spc.html
 "pair_style coul"_pair_coul.html
 Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 with "long" or "msm" in pair style name
 examples/peptide
@@ -876,7 +878,7 @@ src/MOLECULE: filenames -> commands
 "improper_style"_improper_style.html
 "pair_style hbond/dreiding/lj"_pair_hbond_dreiding.html
 "pair_style lj/charmm/coul/charmm"_pair_charmm.html
-"Section 6.3"_Section_howto.html#howto_3
+"Howto bioFF"_Howto_bioFF.html
 examples/cmap
 examples/dreiding
 examples/micelle,
@@ -1114,10 +1116,10 @@ PYTHON package :link(PYTHON),h4
 
 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
-11.2"_Section_python.html#py_2 for an overview of using Python from
-LAMMPS in this manner and the entire section for other ways to use
-LAMMPS and Python together.
+embedded in the input script itself.  See the "Python
+call"_Python_call.html doc page for an overview of using Python from
+LAMMPS in this manner and all the "Python"_Python.html doc pages for
+other ways to use LAMMPS and Python together.
 
 [Install or un-install:]
 
@@ -1138,7 +1140,7 @@ to Makefile.lammps) if the LAMMPS build fails.
 [Supporting info:]
 
 src/PYTHON: filenames -> commands
-"Section 11"_Section_python.html
+"Python call"_Python.html
 lib/python/README
 examples/python :ul
 
@@ -1228,8 +1230,8 @@ REPLICA package :link(REPLICA),h4
 [Contents:]
 
 A collection of multi-replica methods which can be used when running
-multiple LAMMPS simulations (replicas).  See "Section
-6.5"_Section_howto.html#howto_5 for an overview of how to run
+multiple LAMMPS simulations (replicas).  See the "Howto
+replica"_Howto_replica.html doc page for an overview of how to run
 multi-replica simulations in LAMMPS.  Methods in the package include
 nudged elastic band (NEB), parallel replica dynamics (PRD),
 temperature accelerated dynamics (TAD), parallel tempering, and a
@@ -1248,7 +1250,7 @@ make machine :pre
 [Supporting info:]
 
 src/REPLICA: filenames -> commands
-"Section 6.5"_Section_howto.html#howto_5
+"Howto replica"_Howto_replica.html
 "neb"_neb.html
 "prd"_prd.html
 "tad"_tad.html
@@ -1351,6 +1353,38 @@ examples/snap :ul
 
 :line
 
+SPIN package :link(SPIN),h4
+
+[Contents:]
+
+Model atomic magnetic spins classically, coupled to atoms moving in
+the usual manner via MD.  Various pair, fix, and compute styles.
+
+[Author:] Julian Tranchida (Sandia).
+
+[Install or un-install:]
+
+make yes-spin
+make machine :pre
+
+make no-spin
+make machine :pre
+
+[Supporting info:]
+
+src/SPIN: filenames -> commands
+"Howto spin"_Howto_spin.html
+"pair_style spin/dmi"_pair_spin_dmi.html
+"pair_style spin/exchange"_pair_spin_exchange.html
+"pair_style spin/magelec"_pair_spin_magelec.html
+"pair_style spin/neel"_pair_spin_neel.html
+"fix nve/spin"_fix_nve_spin.html
+"fix precession/spin"_fix_precession_spin.html
+"compute spin"_compute_spin.html
+examples/SPIN :ul
+
+:line
+
 SRD package :link(SRD),h4
 
 [Contents:]
@@ -1798,10 +1832,10 @@ USER-DRUDE package :link(USER-DRUDE),h4
 [Contents:]
 
 Fixes, pair styles, and a compute to simulate thermalized Drude
-oscillators as a model of polarization.  See "Section
-6.27"_Section_howto.html#howto_27 for an overview of how to use the
-package.  There are auxiliary tools for using this package in
-tools/drude.
+oscillators as a model of polarization.  See the "Howto
+drude"_Howto_drude.html and "Howto drude2"_Howto_drude2.html doc pages
+for an overview of how to use the package.  There are auxiliary tools
+for using this package in tools/drude.
 
 [Authors:] Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien
 Devemy (CNRS), and Agilio Padua (U Blaise Pascal).
@@ -1817,8 +1851,9 @@ make machine :pre
 [Supporting info:]
 
 src/USER-DRUDE: filenames -> commands
-"Section 6.27"_Section_howto.html#howto_27
-"Section 6.25"_Section_howto.html#howto_25
+"Howto drude"_Howto_drude.html
+"Howto drude2"_Howto_drude2.html
+"Howto polarizable"_Howto_polarizable.html
 src/USER-DRUDE/README
 "fix drude"_fix_drude.html
 "fix drude/transform/*"_fix_drude_transform.html
@@ -2158,7 +2193,7 @@ make machine :pre
 
 src/USER-MANIFOLD: filenames -> commands
 src/USER-MANIFOLD/README
-"doc/manifolds"_manifolds.html
+"Howto manifold"_Howto_manifold.html
 "fix manifoldforce"_fix_manifoldforce.html
 "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html
 "fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html
diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt
index 095bf699a62b0dd3eca98952bcff2e7230ae498c..cff2d38273ae131ba7c8a12c35652462feb32cf3 100644
--- a/doc/src/Packages_standard.txt
+++ b/doc/src/Packages_standard.txt
@@ -31,15 +31,15 @@ int = internal library: provided with LAMMPS, but you may need to build it
 ext = external library: you will need to download and install it on your machine :ul
 
 Package, Description, Doc page, Example, Library
-"ASPHERE"_Packages_details.html#ASPHERE, aspherical particle models, "Section 6.6.14"_Section_howto.html#howto_14, ellipse, -
-"BODY"_Packages_details.html#BODY, body-style particles, "body"_body.html, body, -
+"ASPHERE"_Packages_details.html#ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, -
+"BODY"_Packages_details.html#BODY, body-style particles, "Howto body"_Howto_body.html, body, -
 "CLASS2"_Packages_details.html#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, -
 "COLLOID"_Packages_details.html#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, -
 "COMPRESS"_Packages_details.html#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys
-"CORESHELL"_Packages_details.html#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, -
+"CORESHELL"_Packages_details.html#CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, -
 "DIPOLE"_Packages_details.html#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, -
 "GPU"_Packages_details.html#GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int
-"GRANULAR"_Packages_details.html#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, -
+"GRANULAR"_Packages_details.html#GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, -
 "KIM"_Packages_details.html#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext
 "KOKKOS"_Packages_details.html#KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
 "KSPACE"_Packages_details.html#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, -
@@ -48,7 +48,7 @@ Package, Description, Doc page, Example, Library
 "MC"_Packages_details.html#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, -
 "MEAM"_Packages_details.html#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
 "MISC"_Packages_details.html#MISC, miscellanous single-file commands, -, -, -
-"MOLECULE"_Packages_details.html#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, -
+"MOLECULE"_Packages_details.html#MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, -
 "MPIIO"_Packages_details.html#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, -
 "MSCG"_Packages_details.html#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext
 "OPT"_Packages_details.html#OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
@@ -57,9 +57,9 @@ Package, Description, Doc page, Example, Library
 "PYTHON"_Packages_details.html#PYTHON, embed Python code in an input script, "python"_python.html, python, sys
 "QEQ"_Packages_details.html#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, -
 "REAX"_Packages_details.html#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int
-"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, -
+"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Howto replica"_Howto_replica.html, tad, -
 "RIGID"_Packages_details.html#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, -
 "SHOCK"_Packages_details.html#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, -
 "SNAP"_Packages_details.html#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, -
-"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, -
+"SPIN"_#SPIN, magnetic atomic spin dynamics, "Howto spin"_Howto_spin.html, SPIN, -"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, -
 "VORONOI"_Packages_details.html#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l)
diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt
index 73c7fdb65d95e084f5e4fdcf1df0458f1687ecc8..046529698049a756e27fa9f971eeba9e09c2de8f 100644
--- a/doc/src/Packages_user.txt
+++ b/doc/src/Packages_user.txt
@@ -46,7 +46,7 @@ Package, Description, Doc page, Example, Library
 "USER-COLVARS"_Packages_details.html#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int
 "USER-DIFFRACTION"_Packages_details.html#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, -
 "USER-DPD"_Packages_details.html#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, -
-"USER-DRUDE"_Packages_details.html#USER-DRUDE, Drude oscillators, "tutorial"_tutorial_drude.html, USER/drude, -
+"USER-DRUDE"_Packages_details.html#USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, -
 "USER-EFF"_Packages_details.html#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, -
 "USER-FEP"_Packages_details.html#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, -
 "USER-H5MD"_Packages_details.html#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext
diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt
index 4babbb746cc3c1753f85ef6f5146dfdc51e8ee9a..db16c39a478830911f522051f895549803c9da1d 100644
--- a/doc/src/Python_library.txt
+++ b/doc/src/Python_library.txt
@@ -21,8 +21,8 @@ from lammps import lammps :pre
 These are the methods defined by the lammps module.  If you look at
 the files src/library.cpp and src/library.h you will see they
 correspond one-to-one with calls you can make to the LAMMPS library
-from a C++ or C or Fortran program, and which are described in
-"Section 6.19"_Section_howto.html#howto_19 of the manual.
+from a C++ or C or Fortran program, and which are described on the
+"Howto library"_Howto_library.html doc page.
 
 The python/examples directory has Python scripts which show how Python
 can run LAMMPS, grab data, change it, and put it back into LAMMPS.
@@ -165,11 +165,11 @@ subscripting.  The one exception is that for a fix that calculates a
 global vector or array, a single double value from the vector or array
 is returned, indexed by I (vector) or I and J (array).  I,J are
 zero-based indices.  The I,J arguments can be left out if not needed.
-See "Section 6.15"_Section_howto.html#howto_15 of the manual for a
-discussion of global, per-atom, and local data, and of scalar, vector,
-and array data types.  See the doc pages for individual
-"computes"_compute.html and "fixes"_fix.html for a description of what
-they calculate and store.
+See the "Howto output"_Howto_output.html doc page for a discussion of
+global, per-atom, and local data, and of scalar, vector, and array
+data types.  See the doc pages for individual "computes"_compute.html
+and "fixes"_fix.html for a description of what they calculate and
+store.
 
 For extract_variable(), an "equal-style or atom-style
 variable"_variable.html is evaluated and its result returned.
diff --git a/doc/src/Python_pylammps.txt b/doc/src/Python_pylammps.txt
index ad5ed192ee669f0b14fcaa10ccd9097391e74f54..cdc8e2c086c37ddefa3a0d7c3bdbecaa4a4eb932 100644
--- a/doc/src/Python_pylammps.txt
+++ b/doc/src/Python_pylammps.txt
@@ -10,5 +10,5 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
 PyLammps interface :h3
 
 PyLammps is a Python wrapper class which can be created on its own or
-use an existing lammps Python object.  It has its own "PyLammps
-Tutorial"_tutorial_pylammps.html doc page.
+use an existing lammps Python object.  It has its own "Howto
+pylammps"_Howto_pylammps.html doc page.
diff --git a/doc/src/Section_history.txt b/doc/src/Section_history.txt
deleted file mode 100644
index 6bbd1e4d99a8d02e89147b5a240f1479252c2940..0000000000000000000000000000000000000000
--- a/doc/src/Section_history.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-"Previous Section"_Errors.html - "LAMMPS WWW Site"_lws -
-"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
-Section"_Manual.html :c
-
-:link(lws,http://lammps.sandia.gov)
-:link(ld,Manual.html)
-:link(lc,Section_commands.html#comm)
-
-:line
-
-13. Future and history :h2
-
-This section lists features we plan to add to LAMMPS, features of
-previous versions of LAMMPS, and features of other parallel molecular
-dynamics codes our group has distributed.
-
-13.1 "Coming attractions"_#hist_1
-13.2 "Past versions"_#hist_2 :all(b)
-
-:line
-:line
-
-13.1 Coming attractions :h3,link(hist_1)
-
-As of summer 2016 we are using the "LAMMPS project issue tracker
-on GitHub"_https://github.com/lammps/lammps/issues for keeping
-track of suggested, planned or pending new features. This includes
-discussions of how to best implement them, or why they would be
-useful. Especially if a planned or proposed feature is non-trivial
-to add, e.g. because it requires changes to some of the core
-classes of LAMMPS, people planning to contribute a new feature to
-LAMMS are encouraged to submit an issue about their planned
-implementation this way in order to receive feedback from the
-LAMMPS core developers. They will provide suggestions about
-the validity of the proposed approach and possible improvements,
-pitfalls or alternatives.
-
-Please see some of the closed issues for examples of how to
-suggest code enhancements, submit proposed changes, or report
-possible bugs and how they are resolved.
-
-As an alternative to using GitHub, you may e-mail the
-"core developers"_http://lammps.sandia.gov/authors.html or send
-an e-mail to the "LAMMPS Mail list"_http://lammps.sandia.gov/mail.html
-if you want to have your suggestion added to the list.
-
-:line
-
-13.2 Past versions :h3,link(hist_2)
-
-LAMMPS development began in the mid 1990s under a cooperative research
-& development agreement (CRADA) between two DOE labs (Sandia and LLNL)
-and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was
-to develop a large-scale parallel classical MD code; the coding effort
-was led by Steve Plimpton at Sandia.
-
-After the CRADA ended, a final F77 version, LAMMPS 99, was
-released. As development of LAMMPS continued at Sandia, its memory
-management was converted to F90; a final F90 version was released as
-LAMMPS 2001.
-
-The current LAMMPS is a rewrite in C++ and was first publicly released
-as an open source code in 2004. It includes many new features beyond
-those in LAMMPS 99 or 2001. It also includes features from older
-parallel MD codes written at Sandia, namely ParaDyn, Warp, and
-GranFlow (see below).
-
-In late 2006 we began merging new capabilities into LAMMPS that were
-developed by Aidan Thompson at Sandia for his MD code GRASP, which has
-a parallel framework similar to LAMMPS. Most notably, these have
-included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF -
-and the associated charge-equilibration routines needed for ReaxFF.
-
-The "History link"_http://lammps.sandia.gov/history.html on the
-LAMMPS WWW page gives a timeline of features added to the
-C++ open-source version of LAMMPS over the last several years.
-
-These older codes are available for download from the "LAMMPS WWW
-site"_lws, except for Warp & GranFlow which were primarily used
-internally.  A brief listing of their features is given here.
-
-LAMMPS 2001
-
-    F90 + MPI
-    dynamic memory
-    spatial-decomposition parallelism
-    NVE, NVT, NPT, NPH, rRESPA integrators
-    LJ and Coulombic pairwise force fields
-    all-atom, united-atom, bead-spring polymer force fields
-    CHARMM-compatible force fields
-    class 2 force fields
-    3d/2d Ewald & PPPM
-    various force and temperature constraints
-    SHAKE
-    Hessian-free truncated-Newton minimizer
-    user-defined diagnostics :ul
-
-LAMMPS 99
-
-    F77 + MPI
-    static memory allocation
-    spatial-decomposition parallelism
-    most of the LAMMPS 2001 features with a few exceptions
-    no 2d Ewald & PPPM
-    molecular force fields are missing a few CHARMM terms
-    no SHAKE :ul
-
-Warp
-
-    F90 + MPI
-    spatial-decomposition parallelism
-    embedded atom method (EAM) metal potentials + LJ
-    lattice and grain-boundary atom creation
-    NVE, NVT integrators
-    boundary conditions for applying shear stresses
-    temperature controls for actively sheared systems
-    per-atom energy and centro-symmetry computation and output :ul
-
-ParaDyn
-
-    F77 + MPI
-    atom- and force-decomposition parallelism
-    embedded atom method (EAM) metal potentials
-    lattice atom creation
-    NVE, NVT, NPT integrators
-    all serial DYNAMO features for controls and constraints :ul
-
-GranFlow
-
-    F90 + MPI
-    spatial-decomposition parallelism
-    frictional granular potentials
-    NVE integrator
-    boundary conditions for granular flow and packing and walls
-    particle insertion :ul
diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt
deleted file mode 100644
index 337880ccee186f3b7c3500627b8d5c6f43af8224..0000000000000000000000000000000000000000
--- a/doc/src/Section_howto.txt
+++ /dev/null
@@ -1,3011 +0,0 @@
-"Previous Section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Examples.html :c
-
-:link(lws,http://lammps.sandia.gov)
-:link(ld,Manual.html)
-:link(lc,Section_commands.html#comm)
-
-:line
-
-6. How-to discussions :h2
-
-This section describes how to perform common tasks using LAMMPS.
-
-6.1 "Restarting a simulation"_#howto_1
-6.2 "2d simulations"_#howto_2
-6.3 "CHARMM, AMBER, and DREIDING force fields"_#howto_3
-6.4 "Running multiple simulations from one input script"_#howto_4
-6.5 "Multi-replica simulations"_#howto_5
-6.6 "Granular models"_#howto_6
-6.7 "TIP3P water model"_#howto_7
-6.8 "TIP4P water model"_#howto_8
-6.9 "SPC water model"_#howto_9
-6.10 "Coupling LAMMPS to other codes"_#howto_10
-6.11 "Visualizing LAMMPS snapshots"_#howto_11
-6.12 "Triclinic (non-orthogonal) simulation boxes"_#howto_12
-6.13 "NEMD simulations"_#howto_13
-6.14 "Finite-size spherical and aspherical particles"_#howto_14
-6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_#howto_15
-6.16 "Thermostatting, barostatting and computing temperature"_#howto_16
-6.17 "Walls"_#howto_17
-6.18 "Elastic constants"_#howto_18
-6.19 "Library interface to LAMMPS"_#howto_19
-6.20 "Calculating thermal conductivity"_#howto_20
-6.21 "Calculating viscosity"_#howto_21
-6.22 "Calculating a diffusion coefficient"_#howto_22
-6.23 "Using chunks to calculate system properties"_#howto_23
-6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24
-6.25 "Polarizable models"_#howto_25
-6.26 "Adiabatic core/shell model"_#howto_26
-6.27 "Drude induced dipoles"_#howto_27
-6.28 "Magnetic spins"_#howto_28 :all(b)
-
-The example input scripts included in the LAMMPS distribution and
-highlighted on the "Examples"_Examples.html doc page also show how to
-setup and run various kinds of simulations.
-
-:line
-:line
-
-6.1 Restarting a simulation :link(howto_1),h4
-
-There are 3 ways to continue a long LAMMPS simulation.  Multiple
-"run"_run.html commands can be used in the same input script.  Each
-run will continue from where the previous run left off.  Or binary
-restart files can be saved to disk using the "restart"_restart.html
-command.  At a later time, these binary files can be read via a
-"read_restart"_read_restart.html command in a new script.  Or they can
-be converted to text data files using the "-r command-line
-switch"_Section_start.html#start_6 and read by a
-"read_data"_read_data.html command in a new script.
-
-Here we give examples of 2 scripts that read either a binary restart
-file or a converted data file and then issue a new run command to
-continue where the previous run left off.  They illustrate what
-settings must be made in the new script.  Details are discussed in the
-documentation for the "read_restart"_read_restart.html and
-"read_data"_read_data.html commands.
-
-Look at the {in.chain} input script provided in the {bench} directory
-of the LAMMPS distribution to see the original script that these 2
-scripts are based on.  If that script had the line
-
-restart         50 tmp.restart :pre
-
-added to it, it would produce 2 binary restart files (tmp.restart.50
-and tmp.restart.100) as it ran.
-
-This script could be used to read the 1st restart file and re-run the
-last 50 timesteps:
-
-read_restart    tmp.restart.50 :pre
-
-neighbor        0.4 bin
-neigh_modify    every 1 delay 1 :pre
-
-fix             1 all nve
-fix             2 all langevin 1.0 1.0 10.0 904297 :pre
-
-timestep        0.012 :pre
-
-run             50 :pre
-
-Note that the following commands do not need to be repeated because
-their settings are included in the restart file: {units, atom_style,
-special_bonds, pair_style, bond_style}.  However these commands do
-need to be used, since their settings are not in the restart file:
-{neighbor, fix, timestep}.
-
-If you actually use this script to perform a restarted run, you will
-notice that the thermodynamic data match at step 50 (if you also put a
-"thermo 50" command in the original script), but do not match at step
-100.  This is because the "fix langevin"_fix_langevin.html command
-uses random numbers in a way that does not allow for perfect restarts.
-
-As an alternate approach, the restart file could be converted to a data
-file as follows:
-
-lmp_g++ -r tmp.restart.50 tmp.restart.data :pre
-
-Then, this script could be used to re-run the last 50 steps:
-
-units           lj
-atom_style      bond
-pair_style      lj/cut 1.12
-pair_modify     shift yes
-bond_style      fene
-special_bonds   0.0 1.0 1.0 :pre
-
-read_data       tmp.restart.data :pre
-
-neighbor        0.4 bin
-neigh_modify    every 1 delay 1 :pre
-
-fix             1 all nve
-fix             2 all langevin 1.0 1.0 10.0 904297 :pre
-
-timestep        0.012 :pre
-
-reset_timestep  50
-run             50 :pre
-
-Note that nearly all the settings specified in the original {in.chain}
-script must be repeated, except the {pair_coeff} and {bond_coeff}
-commands since the new data file lists the force field coefficients.
-Also, the "reset_timestep"_reset_timestep.html command is used to tell
-LAMMPS the current timestep.  This value is stored in restart files,
-but not in data files.
-
-:line
-
-6.2 2d simulations :link(howto_2),h4
-
-Use the "dimension"_dimension.html command to specify a 2d simulation.
-
-Make the simulation box periodic in z via the "boundary"_boundary.html
-command.  This is the default.
-
-If using the "create box"_create_box.html command to define a
-simulation box, set the z dimensions narrow, but finite, so that the
-create_atoms command will tile the 3d simulation box with a single z
-plane of atoms - e.g.
-
-"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre
-
-If using the "read data"_read_data.html command to read in a file of
-atom coordinates, set the "zlo zhi" values to be finite but narrow,
-similar to the create_box command settings just described.  For each
-atom in the file, assign a z coordinate so it falls inside the
-z-boundaries of the box - e.g. 0.0.
-
-Use the "fix enforce2d"_fix_enforce2d.html command as the last
-defined fix to insure that the z-components of velocities and forces
-are zeroed out every timestep.  The reason to make it the last fix is
-so that any forces induced by other fixes will be zeroed out.
-
-Many of the example input scripts included in the LAMMPS distribution
-are for 2d models.
-
-NOTE: Some models in LAMMPS treat particles as finite-size spheres, as
-opposed to point particles.  See the "atom_style
-sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html
-commands for details.  By default, for 2d simulations, such particles
-will still be modeled as 3d spheres, not 2d discs (circles), meaning
-their moment of inertia will be that of a sphere.  If you wish to
-model them as 2d discs, see the "set density/disc"_set.html command
-and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html,
-"fix nvt/sphere"_fix_nvt_sphere.html, "fix
-nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html
-commands.
-
-:line
-
-6.3 CHARMM, AMBER, and DREIDING force fields :link(howto_3),h4
-
-A force field has 2 parts: the formulas that define it and the
-coefficients used for a particular system.  Here we only discuss
-formulas implemented in LAMMPS that correspond to formulas commonly
-used in the CHARMM, AMBER, and DREIDING force fields.  Setting
-coefficients is done in the input data file via the
-"read_data"_read_data.html command or in the input script with
-commands like "pair_coeff"_pair_coeff.html or
-"bond_coeff"_bond_coeff.html.  See the "Tools"_Tools.html doc page for
-additional tools that can use CHARMM or AMBER to assign force field
-coefficients and convert their output into LAMMPS input.
-
-See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force
-field.  See "(Cornell)"_#howto-Cornell for a description of the AMBER force
-field.
-
-:link(charmm,http://www.scripps.edu/brooks)
-:link(amber,http://amber.scripps.edu)
-
-These style choices compute force field formulas that are consistent
-with common options in CHARMM or AMBER.  See each command's
-documentation for the formula it computes.
-
-"bond_style"_bond_harmonic.html harmonic
-"angle_style"_angle_charmm.html charmm
-"dihedral_style"_dihedral_charmm.html charmmfsh
-"dihedral_style"_dihedral_charmm.html charmm
-"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh
-"pair_style"_pair_charmm.html lj/charmmfsw/coul/long
-"pair_style"_pair_charmm.html lj/charmm/coul/charmm
-"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit
-"pair_style"_pair_charmm.html lj/charmm/coul/long :ul
-
-"special_bonds"_special_bonds.html charmm
-"special_bonds"_special_bonds.html amber :ul
-
-NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were
-released in March 2017.  We recommend they be used instead of the
-older {charmm} styles.  See discussion of the differences on the "pair
-charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html
-doc pages.
-
-DREIDING is a generic force field developed by the "Goddard
-group"_http://www.wag.caltech.edu at Caltech and is useful for
-predicting structures and dynamics of organic, biological and
-main-group inorganic molecules. The philosophy in DREIDING is to use
-general force constants and geometry parameters based on simple
-hybridization considerations, rather than individual force constants
-and geometric parameters that depend on the particular combinations of
-atoms involved in the bond, angle, or torsion terms. DREIDING has an
-"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe
-interactions involving a hydrogen atom on very electronegative atoms
-(N, O, F).
-
-See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field
-
-These style choices compute force field formulas that are consistent
-with the DREIDING force field.  See each command's
-documentation for the formula it computes.
-
-"bond_style"_bond_harmonic.html harmonic
-"bond_style"_bond_morse.html morse :ul
-
-"angle_style"_angle_harmonic.html harmonic
-"angle_style"_angle_cosine.html cosine
-"angle_style"_angle_cosine_periodic.html cosine/periodic :ul
-
-"dihedral_style"_dihedral_charmm.html charmm
-"improper_style"_improper_umbrella.html umbrella :ul
-
-"pair_style"_pair_buck.html buck
-"pair_style"_pair_buck.html buck/coul/cut
-"pair_style"_pair_buck.html buck/coul/long
-"pair_style"_pair_lj.html lj/cut
-"pair_style"_pair_lj.html lj/cut/coul/cut
-"pair_style"_pair_lj.html lj/cut/coul/long :ul
-
-"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj
-"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul
-
-"special_bonds"_special_bonds.html dreiding :ul
-
-:line
-
-6.4 Running multiple simulations from one input script :link(howto_4),h4
-
-This can be done in several ways.  See the documentation for
-individual commands for more details on how these examples work.
-
-If "multiple simulations" means continue a previous simulation for
-more timesteps, then you simply use the "run"_run.html command
-multiple times.  For example, this script
-
-units lj
-atom_style atomic
-read_data data.lj
-run 10000
-run 10000
-run 10000
-run 10000
-run 10000 :pre
-
-would run 5 successive simulations of the same system for a total of
-50,000 timesteps.
-
-If you wish to run totally different simulations, one after the other,
-the "clear"_clear.html command can be used in between them to
-re-initialize LAMMPS.  For example, this script
-
-units lj
-atom_style atomic
-read_data data.lj
-run 10000
-clear
-units lj
-atom_style atomic
-read_data data.lj.new
-run 10000 :pre
-
-would run 2 independent simulations, one after the other.
-
-For large numbers of independent simulations, you can use
-"variables"_variable.html and the "next"_next.html and
-"jump"_jump.html commands to loop over the same input script
-multiple times with different settings.  For example, this
-script, named in.polymer
-
-variable d index run1 run2 run3 run4 run5 run6 run7 run8
-shell cd $d
-read_data data.polymer
-run 10000
-shell cd ..
-clear
-next d
-jump in.polymer :pre
-
-would run 8 simulations in different directories, using a data.polymer
-file in each directory.  The same concept could be used to run the
-same system at 8 different temperatures, using a temperature variable
-and storing the output in different log and dump files, for example
-
-variable a loop 8
-variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
-log log.$a
-read data.polymer
-velocity all create $t 352839
-fix 1 all nvt $t $t 100.0
-dump 1 all atom 1000 dump.$a
-run 100000
-clear
-next t
-next a
-jump in.polymer :pre
-
-All of the above examples work whether you are running on 1 or
-multiple processors, but assumed you are running LAMMPS on a single
-partition of processors.  LAMMPS can be run on multiple partitions via
-the "-partition" command-line switch as described in "this
-section"_Section_start.html#start_6 of the manual.
-
-In the last 2 examples, if LAMMPS were run on 3 partitions, the same
-scripts could be used if the "index" and "loop" variables were
-replaced with {universe}-style variables, as described in the
-"variable"_variable.html command.  Also, the "next t" and "next a"
-commands would need to be replaced with a single "next a t" command.
-With these modifications, the 8 simulations of each script would run
-on the 3 partitions one after the other until all were finished.
-Initially, 3 simulations would be started simultaneously, one on each
-partition.  When one finished, that partition would then start
-the 4th simulation, and so forth, until all 8 were completed.
-
-:line
-
-6.5 Multi-replica simulations :link(howto_5),h4
-
-Several commands in LAMMPS run mutli-replica simulations, meaning
-that multiple instances (replicas) of your simulation are run
-simultaneously, with small amounts of data exchanged between replicas
-periodically.
-
-These are the relevant commands:
-
-"neb"_neb.html for nudged elastic band calculations
-"prd"_prd.html for parallel replica dynamics
-"tad"_tad.html for temperature accelerated dynamics
-"temper"_temper.html for parallel tempering
-"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul
-
-NEB is a method for finding transition states and barrier energies.
-PRD and TAD are methods for performing accelerated dynamics to find
-and perform infrequent events.  Parallel tempering or replica exchange
-runs different replicas at a series of temperature to facilitate
-rare-event sampling.
-
-These commands can only be used if LAMMPS was built with the REPLICA
-package.  See the "Making LAMMPS"_Section_start.html#start_3 section
-for more info on packages.
-
-PIMD runs different replicas whose individual particles are coupled
-together by springs to model a system or ring-polymers.
-
-This commands can only be used if LAMMPS was built with the USER-MISC
-package.  See the "Making LAMMPS"_Section_start.html#start_3 section
-for more info on packages.
-
-In all these cases, you must run with one or more processors per
-replica.  The processors assigned to each replica are determined at
-run-time by using the "-partition command-line
-switch"_Section_start.html#start_6 to launch LAMMPS on multiple
-partitions, which in this context are the same as replicas.  E.g.
-these commands:
-
-mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
-mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre
-
-would each run 8 replicas, on either 16 or 8 processors.  Note the use
-of the "-in command-line switch"_Section_start.html#start_6 to specify
-the input script which is required when running in multi-replica mode.
-
-Also note that with MPI installed on a machine (e.g. your desktop),
-you can run on more (virtual) processors than you have physical
-processors.  Thus the above commands could be run on a
-single-processor (or few-processor) desktop so that you can run
-a multi-replica simulation on more replicas than you have
-physical processors.
-
-:line
-
-6.6 Granular models :link(howto_6),h4
-
-Granular system are composed of spherical particles with a diameter,
-as opposed to point particles.  This means they have an angular
-velocity and torque can be imparted to them to cause them to rotate.
-
-To run a simulation of a granular model, you will want to use
-the following commands:
-
-"atom_style sphere"_atom_style.html
-"fix nve/sphere"_fix_nve_sphere.html
-"fix gravity"_fix_gravity.html :ul
-
-This compute
-
-"compute erotate/sphere"_compute_erotate_sphere.html :ul
-
-calculates rotational kinetic energy which can be "output with
-thermodynamic info"_Section_howto.html#howto_15.
-
-Use one of these 3 pair potentials, which compute forces and torques
-between interacting pairs of particles:
-
-"pair_style"_pair_style.html gran/history
-"pair_style"_pair_style.html gran/no_history
-"pair_style"_pair_style.html gran/hertzian :ul
-
-These commands implement fix options specific to granular systems:
-
-"fix freeze"_fix_freeze.html
-"fix pour"_fix_pour.html
-"fix viscous"_fix_viscous.html
-"fix wall/gran"_fix_wall_gran.html :ul
-
-The fix style {freeze} zeroes both the force and torque of frozen
-atoms, and should be used for granular system instead of the fix style
-{setforce}.
-
-For computational efficiency, you can eliminate needless pairwise
-computations between frozen atoms by using this command:
-
-"neigh_modify"_neigh_modify.html exclude :ul
-
-NOTE: By default, for 2d systems, granular particles are still modeled
-as 3d spheres, not 2d discs (circles), meaning their moment of inertia
-will be the same as in 3d.  If you wish to model granular particles in
-2d as 2d discs, see the note on this topic in "Section
-6.2"_Section_howto.html#howto_2, where 2d simulations are discussed.
-
-:line
-
-6.7 TIP3P water model :link(howto_7),h4
-
-The TIP3P water model as implemented in CHARMM
-"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with
-charges and Lennard-Jones parameters assigned to each of the 3 atoms.
-In LAMMPS the "fix shake"_fix_shake.html command can be used to hold
-the two O-H bonds and the H-O-H angle rigid.  A bond style of
-{harmonic} and an angle style of {harmonic} or {charmm} should also be
-used.
-
-These are the additional parameters (in real units) to set for O and H
-atoms and the water molecule to run a rigid TIP3P-CHARMM model with a
-cutoff.  The K values can be used if a flexible TIP3P model (without
-fix shake) is desired.  If the LJ epsilon and sigma for HH and OH are
-set to 0.0, it corresponds to the original 1983 TIP3P model
-"(Jorgensen)"_#Jorgensen1.
-
-O mass = 15.9994
-H mass = 1.008
-O charge = -0.834
-H charge = 0.417
-LJ epsilon of OO = 0.1521
-LJ sigma of OO = 3.1507
-LJ epsilon of HH = 0.0460
-LJ sigma of HH = 0.4000
-LJ epsilon of OH = 0.0836
-LJ sigma of OH = 1.7753
-K of OH bond = 450
-r0 of OH bond = 0.9572
-K of HOH angle = 55
-theta of HOH angle = 104.52 :all(b),p
-
-These are the parameters to use for TIP3P with a long-range Coulombic
-solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for
-details:
-
-O mass = 15.9994
-H mass = 1.008
-O charge = -0.830
-H charge = 0.415
-LJ epsilon of OO = 0.102
-LJ sigma of OO = 3.188
-LJ epsilon, sigma of OH, HH = 0.0
-K of OH bond = 450
-r0 of OH bond = 0.9572
-K of HOH angle = 55
-theta of HOH angle = 104.52 :all(b),p
-
-Wikipedia also has a nice article on "water
-models"_http://en.wikipedia.org/wiki/Water_model.
-
-:line
-
-6.8 TIP4P water model :link(howto_8),h4
-
-The four-point TIP4P rigid water model extends the traditional
-three-point TIP3P model by adding an additional site, usually
-massless, where the charge associated with the oxygen atom is placed.
-This site M is located at a fixed distance away from the oxygen along
-the bisector of the HOH bond angle.  A bond style of {harmonic} and an
-angle style of {harmonic} or {charmm} should also be used.
-
-A TIP4P model is run with LAMMPS using either this command
-for a cutoff model:
-
-"pair_style lj/cut/tip4p/cut"_pair_lj.html
-
-or these two commands for a long-range model:
-
-"pair_style lj/cut/tip4p/long"_pair_lj.html
-"kspace_style pppm/tip4p"_kspace_style.html :ul
-
-For both models, the bond lengths and bond angles should be held fixed
-using the "fix shake"_fix_shake.html command.
-
-These are the additional parameters (in real units) to set for O and H
-atoms and the water molecule to run a rigid TIP4P model with a cutoff
-"(Jorgensen)"_#Jorgensen1.  Note that the OM distance is specified in
-the "pair_style"_pair_style.html command, not as part of the pair
-coefficients.
-
-O mass = 15.9994
-H mass = 1.008
-O charge = -1.040
-H charge = 0.520
-r0 of OH bond = 0.9572
-theta of HOH angle = 104.52
-OM distance = 0.15
-LJ epsilon of O-O = 0.1550
-LJ sigma of O-O = 3.1536
-LJ epsilon, sigma of OH, HH = 0.0
-Coulombic cutoff = 8.5 :all(b),p
-
-For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005);
-http://dx.doi.org/10.1063/1.1931662) these values can be used:
-
-O mass = 15.9994
-H mass =  1.008
-O charge = -1.1794
-H charge =  0.5897
-r0 of OH bond = 0.9572
-theta of HOH angle = 104.52
-OM distance = 0.1577
-LJ epsilon of O-O = 0.21084
-LJ sigma of O-O = 3.1668
-LJ epsilon, sigma of OH, HH = 0.0
-Coulombic cutoff = 8.5 :all(b),p
-
-For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005);
-http://dx.doi.org/10.1063/1.2121687), these values can be used:
-
-O mass = 15.9994
-H mass =  1.008
-O charge = -1.1128
-H charge = 0.5564
-r0 of OH bond = 0.9572
-theta of HOH angle = 104.52
-OM distance = 0.1546
-LJ epsilon of O-O = 0.1852
-LJ sigma of O-O = 3.1589
-LJ epsilon, sigma of OH, HH = 0.0
-Coulombic cutoff = 8.5 :all(b),p
-
-These are the parameters to use for TIP4P with a long-range Coulombic
-solver (e.g. Ewald or PPPM in LAMMPS):
-
-O mass = 15.9994
-H mass = 1.008
-O charge = -1.0484
-H charge = 0.5242
-r0 of OH bond = 0.9572
-theta of HOH angle = 104.52
-OM distance = 0.1250
-LJ epsilon of O-O = 0.16275
-LJ sigma of O-O = 3.16435
-LJ epsilon, sigma of OH, HH = 0.0 :all(b),p
-
-Note that the when using the TIP4P pair style, the neighbor list
-cutoff for Coulomb interactions is effectively extended by a distance
-2 * (OM distance), to account for the offset distance of the
-fictitious charges on O atoms in water molecules.  Thus it is
-typically best in an efficiency sense to use a LJ cutoff >= Coulomb
-cutoff + 2*(OM distance), to shrink the size of the neighbor list.
-This leads to slightly larger cost for the long-range calculation, so
-you can test the trade-off for your model.  The OM distance and the LJ
-and Coulombic cutoffs are set in the "pair_style
-lj/cut/tip4p/long"_pair_lj.html command.
-
-Wikipedia also has a nice article on "water
-models"_http://en.wikipedia.org/wiki/Water_model.
-
-:line
-
-6.9 SPC water model :link(howto_9),h4
-
-The SPC water model specifies a 3-site rigid water molecule with
-charges and Lennard-Jones parameters assigned to each of the 3 atoms.
-In LAMMPS the "fix shake"_fix_shake.html command can be used to hold
-the two O-H bonds and the H-O-H angle rigid.  A bond style of
-{harmonic} and an angle style of {harmonic} or {charmm} should also be
-used.
-
-These are the additional parameters (in real units) to set for O and H
-atoms and the water molecule to run a rigid SPC model.
-
-O mass = 15.9994
-H mass = 1.008
-O charge = -0.820
-H charge = 0.410
-LJ epsilon of OO = 0.1553
-LJ sigma of OO = 3.166
-LJ epsilon, sigma of OH, HH = 0.0
-r0 of OH bond = 1.0
-theta of HOH angle = 109.47 :all(b),p
-
-Note that as originally proposed, the SPC model was run with a 9
-Angstrom cutoff for both LJ and Coulommbic terms.  It can also be used
-with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing
-any of the parameters above, though it becomes a different model in
-that mode of usage.
-
-The SPC/E (extended) water model is the same, except
-the partial charge assignments change:
-
-O charge = -0.8476
-H charge = 0.4238 :all(b),p
-
-See the "(Berendsen)"_#howto-Berendsen reference for more details on both
-the SPC and SPC/E models.
-
-Wikipedia also has a nice article on "water
-models"_http://en.wikipedia.org/wiki/Water_model.
-
-:line
-
-6.10 Coupling LAMMPS to other codes :link(howto_10),h4
-
-LAMMPS is designed to allow it to be coupled to other codes.  For
-example, a quantum mechanics code might compute forces on a subset of
-atoms and pass those forces to LAMMPS.  Or a continuum finite element
-(FE) simulation might use atom positions as boundary conditions on FE
-nodal points, compute a FE solution, and return interpolated forces on
-MD atoms.
-
-LAMMPS can be coupled to other codes in at least 3 ways.  Each has
-advantages and disadvantages, which you'll have to think about in the
-context of your application.
-
-(1) Define a new "fix"_fix.html command that calls the other code.  In
-this scenario, LAMMPS is the driver code.  During its timestepping,
-the fix is invoked, and can make library calls to the other code,
-which has been linked to LAMMPS as a library.  This is the way the
-"POEMS"_poems package that performs constrained rigid-body motion on
-groups of atoms is hooked to LAMMPS.  See the "fix
-poems"_fix_poems.html command for more details.  See the
-"Modify"_Modify.html doc page for info on how to add a new fix to
-LAMMPS.
-
-:link(poems,http://www.rpi.edu/~anderk5/lab)
-
-(2) Define a new LAMMPS command that calls the other code.  This is
-conceptually similar to method (1), but in this case LAMMPS and the
-other code are on a more equal footing.  Note that now the other code
-is not called during the timestepping of a LAMMPS run, but between
-runs.  The LAMMPS input script can be used to alternate LAMMPS runs
-with calls to the other code, invoked via the new command.  The
-"run"_run.html command facilitates this with its {every} option, which
-makes it easy to run a few steps, invoke the command, run a few steps,
-invoke the command, etc.
-
-In this scenario, the other code can be called as a library, as in
-(1), or it could be a stand-alone code, invoked by a system() call
-made by the command (assuming your parallel machine allows one or more
-processors to start up another program).  In the latter case the
-stand-alone code could communicate with LAMMPS thru files that the
-command writes and reads.
-
-See the "Modify"_Modify.html doc page for how to add a new command to
-LAMMPS.
-
-(3) Use LAMMPS as a library called by another code.  In this case the
-other code is the driver and calls LAMMPS as needed.  Or a wrapper
-code could link and call both LAMMPS and another code as libraries.
-Again, the "run"_run.html command has options that allow it to be
-invoked with minimal overhead (no setup or clean-up) if you wish to do
-multiple short runs, driven by another program.
-
-Examples of driver codes that call LAMMPS as a library are included in
-the examples/COUPLE directory of the LAMMPS distribution; see
-examples/COUPLE/README for more details:
-
-simple: simple driver programs in C++ and C which invoke LAMMPS as a
-library :ulb,l
-
-lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical
-MD with quantum forces calculated by a density functional code :l
-
-lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple
-a kinetic Monte Carlo model for grain growth using MD to calculate
-strain induced across grain boundaries :l
-:ule
-
-:link(quest,http://dft.sandia.gov/Quest)
-:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html)
-
-"This section"_Section_start.html#start_5 of the documentation
-describes how to build LAMMPS as a library.  Once this is done, you
-can interface with LAMMPS either via C++, C, Fortran, or Python (or
-any other language that supports a vanilla C-like interface).  For
-example, from C++ you could create one (or more) "instances" of
-LAMMPS, pass it an input script to process, or execute individual
-commands, all by invoking the correct class methods in LAMMPS.  From C
-or Fortran you can make function calls to do the same things.  See the
-"Python"_Python.html doc page for a description of the Python wrapper
-provided with LAMMPS that operates through the LAMMPS library
-interface.
-
-The files src/library.cpp and library.h contain the C-style interface
-to LAMMPS.  See "Section 6.19"_Section_howto.html#howto_19 of the
-manual for a description of the interface and how to extend it for
-your needs.
-
-Note that the lammps_open() function that creates an instance of
-LAMMPS takes an MPI communicator as an argument.  This means that
-instance of LAMMPS will run on the set of processors in the
-communicator.  Thus the calling code can run LAMMPS on all or a subset
-of processors.  For example, a wrapper script might decide to
-alternate between LAMMPS and another code, allowing them both to run
-on all the processors.  Or it might allocate half the processors to
-LAMMPS and half to the other code and run both codes simultaneously
-before syncing them up periodically.  Or it might instantiate multiple
-instances of LAMMPS to perform different calculations.
-
-:line
-
-6.11 Visualizing LAMMPS snapshots :link(howto_11),h4
-
-LAMMPS itself does not do visualization, but snapshots from LAMMPS
-simulations can be visualized (and analyzed) in a variety of ways.
-
-LAMMPS snapshots are created by the "dump"_dump.html command which can
-create files in several formats. The native LAMMPS dump format is a
-text file (see "dump atom" or "dump custom") which can be visualized
-by several popular visualization tools. The "dump
-image"_dump_image.html and "dump movie"_dump_image.html styles can
-output internally rendered images and convert a sequence of them to a
-movie during the MD run.  Several programs included with LAMMPS as
-auxiliary tools can convert between LAMMPS format files and other
-formats.  See the "Tools"_Tools.html doc page for details.
-
-A Python-based toolkit distributed by our group can read native LAMMPS
-dump files, including custom dump files with additional columns of
-user-specified atom information, and convert them to various formats
-or pipe them into visualization software directly.  See the "Pizza.py
-WWW site"_pizza for details.  Specifically, Pizza.py can convert
-LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats.
-Pizza.py can pipe LAMMPS dump files directly into the Raster3d and
-RasMol visualization programs.  Pizza.py has tools that do interactive
-3d OpenGL visualization and one that creates SVG images of dump file
-snapshots.
-
-:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
-:link(ensight,http://www.ensight.com)
-:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A)
-
-:line
-
-6.12 Triclinic (non-orthogonal) simulation boxes :link(howto_12),h4
-
-By default, LAMMPS uses an orthogonal simulation box to encompass the
-particles.  The "boundary"_boundary.html command sets the boundary
-conditions of the box (periodic, non-periodic, etc).  The orthogonal
-box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors
-starting from the origin given by [a] = (xhi-xlo,0,0); [b] =
-(0,yhi-ylo,0); [c] = (0,0,zhi-zlo).  The 6 parameters
-(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box
-is created, e.g. by the "create_box"_create_box.html or
-"read_data"_read_data.html or "read_restart"_read_restart.html
-commands.  Additionally, LAMMPS defines box size parameters lx,ly,lz
-where lx = xhi-xlo, and similarly in the y and z dimensions.  The 6
-parameters, as well as lx,ly,lz, can be output via the "thermo_style
-custom"_thermo_style.html command.
-
-LAMMPS also allows simulations to be performed in triclinic
-(non-orthogonal) simulation boxes shaped as a parallelepiped with
-triclinic symmetry.  The parallelepiped has its "origin" at
-(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the
-origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] =
-(xz,yz,zhi-zlo).  {xy,xz,yz} can be 0.0 or positive or negative values
-and are called "tilt factors" because they are the amount of
-displacement applied to faces of an originally orthogonal box to
-transform it into the parallelepiped.  In LAMMPS the triclinic
-simulation box edge vectors [a], [b], and [c] cannot be arbitrary
-vectors.  As indicated, [a] must lie on the positive x axis.  [b] must
-lie in the xy plane, with strictly positive y component. [c] may have
-any orientation with strictly positive z component.  The requirement
-that [a], [b], and [c] have strictly positive x, y, and z components,
-respectively, ensures that [a], [b], and [c] form a complete
-right-handed basis.  These restrictions impose no loss of generality,
-since it is possible to rotate/invert any set of 3 crystal basis
-vectors so that they conform to the restrictions.
-
-For example, assume that the 3 vectors [A],[B],[C] are the edge
-vectors of a general parallelepiped, where there is no restriction on
-[A],[B],[C] other than they form a complete right-handed basis i.e.
-[A] x [B] . [C] > 0.  The equivalent LAMMPS [a],[b],[c] are a linear
-rotation of [A], [B], and [C] and can be computed as follows:
-
-:c,image(Eqs/transform.jpg)
-
-where A = | [A] | indicates the scalar length of [A]. The hat symbol (^)
-indicates the corresponding unit vector. {beta} and {gamma} are angles
-between the vectors described below. Note that by construction,
-[a], [b], and [c] have strictly positive x, y, and z components, respectively.
-If it should happen that
-[A], [B], and [C] form a left-handed basis, then the above equations
-are not valid for [c]. In this case, it is necessary
-to first apply an inversion. This can be achieved
-by interchanging two basis vectors or by changing the sign of one of them.
-
-For consistency, the same rotation/inversion applied to the basis vectors
-must also be applied to atom positions, velocities,
-and any other vector quantities.
-This can be conveniently achieved by first converting to
-fractional coordinates in the
-old basis and then converting to distance coordinates in the new basis.
-The transformation is given by the following equation:
-
-:c,image(Eqs/rotate.jpg)
-
-where {V} is the volume of the box, [X] is the original vector quantity and
-[x] is the vector in the LAMMPS basis.
-
-There is no requirement that a triclinic box be periodic in any
-dimension, though it typically should be in at least the 2nd dimension
-of the tilt (y in xy) if you want to enforce a shift in periodic
-boundary conditions across that boundary.  Some commands that work
-with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix
-npt"_fix_nh.html commands, require periodicity or non-shrink-wrap
-boundary conditions in specific dimensions.  See the command doc pages
-for details.
-
-The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
-time the simulation box is created.  This happens in one of 3 ways.
-If the "create_box"_create_box.html command is used with a region of
-style {prism}, then a triclinic box is setup.  See the
-"region"_region.html command for details.  If the
-"read_data"_read_data.html command is used to define the simulation
-box, and the header of the data file contains a line with the "xy xz
-yz" keyword, then a triclinic box is setup.  See the
-"read_data"_read_data.html command for details.  Finally, if the
-"read_restart"_read_restart.html command reads a restart file which
-was written from a simulation using a triclinic box, then a triclinic
-box will be setup for the restarted simulation.
-
-Note that you can define a triclinic box with all 3 tilt factors =
-0.0, so that it is initially orthogonal.  This is necessary if the box
-will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or
-"fix deform"_fix_deform.html commands.  Alternatively, you can use the
-"change_box"_change_box.html command to convert a simulation box from
-orthogonal to triclinic and vice versa.
-
-As with orthogonal boxes, LAMMPS defines triclinic box size parameters
-lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions.
-The 9 parameters, as well as lx,ly,lz, can be output via the
-"thermo_style custom"_thermo_style.html command.
-
-To avoid extremely tilted boxes (which would be computationally
-inefficient), LAMMPS normally requires that no tilt factor can skew
-the box more than half the distance of the parallel box length, which
-is the 1st dimension in the tilt factor (x for xz).  This is required
-both when the simulation box is created, e.g. via the
-"create_box"_create_box.html or "read_data"_read_data.html commands,
-as well as when the box shape changes dynamically during a simulation,
-e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html
-commands.
-
-For example, if xlo = 2 and xhi = 12, then the x box length is 10 and
-the xy tilt factor must be between -5 and 5.  Similarly, both xz and
-yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2.  Note that this is
-not a limitation, since if the maximum tilt factor is 5 (as in this
-example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
-... are geometrically all equivalent.  If the box tilt exceeds this
-limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html
-command), then the box is "flipped" to an equivalent shape with a tilt
-factor within the bounds, so the run can continue.  See the "fix
-deform"_fix_deform.html doc page for further details.
-
-One exception to this rule is if the 1st dimension in the tilt
-factor (x for xy) is non-periodic.  In that case, the limits on the
-tilt factor are not enforced, since flipping the box in that dimension
-does not change the atom positions due to non-periodicity.  In this
-mode, if you tilt the system to extreme angles, the simulation will
-simply become inefficient, due to the highly skewed simulation box.
-
-The limitation on not creating a simulation box with a tilt factor
-skewing the box more than half the distance of the parallel box length
-can be overridden via the "box"_box.html command.  Setting the {tilt}
-keyword to {large} allows any tilt factors to be specified.
-
-Box flips that may occur using the "fix deform"_fix_deform.html or
-"fix npt"_fix_nh.html commands can be turned off using the {flip no}
-option with either of the commands.
-
-Note that if a simulation box has a large tilt factor, LAMMPS will run
-less efficiently, due to the large volume of communication needed to
-acquire ghost atoms around a processor's irregular-shaped sub-domain.
-For extreme values of tilt, LAMMPS may also lose atoms and generate an
-error.
-
-Triclinic crystal structures are often defined using three lattice
-constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and
-{gamma}. Note that in this nomenclature, the a, b, and c lattice
-constants are the scalar lengths of the edge vectors [a], [b], and [c]
-defined above.  The relationship between these 6 quantities
-(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) =
-(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
-
-:c,image(Eqs/box.jpg)
-
-The inverse relationship can be written as follows:
-
-:c,image(Eqs/box_inverse.jpg)
-
-The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed
-out or accessed by computes using the
-"thermo_style custom"_thermo_style.html keywords
-{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma},
-respectively.
-
-As discussed on the "dump"_dump.html command doc page, when the BOX
-BOUNDS for a snapshot is written to a dump file for a triclinic box,
-an orthogonal bounding box which encloses the triclinic simulation box
-is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic
-box, formatted as follows:
-
-ITEM: BOX BOUNDS xy xz yz
-xlo_bound xhi_bound xy
-ylo_bound yhi_bound xz
-zlo_bound zhi_bound yz :pre
-
-This bounding box is convenient for many visualization programs and is
-calculated from the 9 triclinic box parameters
-(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:
-
-xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
-xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
-ylo_bound = ylo + MIN(0.0,yz)
-yhi_bound = yhi + MAX(0.0,yz)
-zlo_bound = zlo
-zhi_bound = zhi :pre
-
-These formulas can be inverted if you need to convert the bounding box
-back into the triclinic box parameters, e.g. xlo = xlo_bound -
-MIN(0.0,xy,xz,xy+xz).
-
-One use of triclinic simulation boxes is to model solid-state crystals
-with triclinic symmetry.  The "lattice"_lattice.html command can be
-used with non-orthogonal basis vectors to define a lattice that will
-tile a triclinic simulation box via the
-"create_atoms"_create_atoms.html command.
-
-A second use is to run Parinello-Rahman dynamics via the "fix
-npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt
-factors to compensate for off-diagonal components of the pressure
-tensor.  The analog for an "energy minimization"_minimize.html is
-the "fix box/relax"_fix_box_relax.html command.
-
-A third use is to shear a bulk solid to study the response of the
-material.  The "fix deform"_fix_deform.html command can be used for
-this purpose.  It allows dynamic control of the xy, xz, yz tilt
-factors as a simulation runs.  This is discussed in the next section
-on non-equilibrium MD (NEMD) simulations.
-
-:line
-
-6.13 NEMD simulations :link(howto_13),h4
-
-Non-equilibrium molecular dynamics or NEMD simulations are typically
-used to measure a fluid's rheological properties such as viscosity.
-In LAMMPS, such simulations can be performed by first setting up a
-non-orthogonal simulation box (see the preceding Howto section).
-
-A shear strain can be applied to the simulation box at a desired
-strain rate by using the "fix deform"_fix_deform.html command.  The
-"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat
-the sheared fluid and integrate the SLLOD equations of motion for the
-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/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
-LAMMPS for computational efficiency to be 1/2 of the parallel box
-length.  However, "fix deform"_fix_deform.html can continuously strain
-a box by an arbitrary amount.  As discussed in the "fix
-deform"_fix_deform.html command, when the tilt value reaches a limit,
-the box is flipped to the opposite limit which is an equivalent tiling
-of periodic space.  The strain rate can then continue to change as
-before.  In a long NEMD simulation these box re-shaping events may
-occur many times.
-
-In a NEMD simulation, the "remap" option of "fix
-deform"_fix_deform.html should be set to "remap v", since that is what
-"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity
-profile consistent with the applied shear strain rate.
-
-An alternative method for calculating viscosities is provided via the
-"fix viscosity"_fix_viscosity.html command.
-
-NEMD simulations can also be used to measure transport properties of a fluid
-through a pore or channel. Simulations of steady-state flow can be performed
-using the "fix flow/gauss"_fix_flow_gauss.html command.
-
-:line
-
-6.14 Finite-size spherical and aspherical particles :link(howto_14),h4
-
-Typical MD models treat atoms or particles as point masses.  Sometimes
-it is desirable to have a model with finite-size particles such as
-spheroids or ellipsoids or generalized aspherical bodies.  The
-difference is that such particles have a moment of inertia, rotational
-energy, and angular momentum.  Rotation is induced by torque coming
-from interactions with other particles.
-
-LAMMPS has several options for running simulations with these kinds of
-particles.  The following aspects are discussed in turn:
-
-atom styles
-pair potentials
-time integration
-computes, thermodynamics, and dump output
-rigid bodies composed of finite-size particles :ul
-
-Example input scripts for these kinds of models are in the body,
-colloid, dipole, ellipse, line, peri, pour, and tri directories of the
-"examples directory"_Examples.html in the LAMMPS distribution.
-
-Atom styles :h4
-
-There are several "atom styles"_atom_style.html that allow for
-definition of finite-size particles: sphere, dipole, ellipsoid, line,
-tri, peri, and body.
-
-The sphere style defines particles that are spheriods and each
-particle can have a unique diameter and mass (or density).  These
-particles store an angular velocity (omega) and can be acted upon by
-torque.  The "set" command can be used to modify the diameter and mass
-of individual particles, after then are created.
-
-The dipole style does not actually define finite-size particles, but
-is often used in conjunction with spherical particles, via a command
-like
-
-atom_style hybrid sphere dipole :pre
-
-This is because when dipoles interact with each other, they induce
-torques, and a particle must be finite-size (i.e. have a moment of
-inertia) in order to respond and rotate.  See the "atom_style
-dipole"_atom_style.html command for details.  The "set" command can be
-used to modify the orientation and length of the dipole moment of
-individual particles, after then are created.
-
-The ellipsoid style defines particles that are ellipsoids and thus can
-be aspherical.  Each particle has a shape, specified by 3 diameters,
-and mass (or density).  These particles store an angular momentum and
-their orientation (quaternion), and can be acted upon by torque.  They
-do not store an angular velocity (omega), which can be in a different
-direction than angular momentum, rather they compute it as needed.
-The "set" command can be used to modify the diameter, orientation, and
-mass of individual particles, after then are created.  It also has a
-brief explanation of what quaternions are.
-
-The line style defines line segment particles with two end points and
-a mass (or density).  They can be used in 2d simulations, and they can
-be joined together to form rigid bodies which represent arbitrary
-polygons.
-
-The tri style defines triangular particles with three corner points
-and a mass (or density).  They can be used in 3d simulations, and they
-can be joined together to form rigid bodies which represent arbitrary
-particles with a triangulated surface.
-
-The peri style is used with "Peridynamic models"_pair_peri.html and
-defines particles as having a volume, that is used internally in the
-"pair_style peri"_pair_peri.html potentials.
-
-The body style allows for definition of particles which can represent
-complex entities, such as surface meshes of discrete points,
-collections of sub-particles, deformable objects, etc.  The body style
-is discussed in more detail on the "body"_body.html doc page.
-
-Note that if one of these atom styles is used (or multiple styles via
-the "atom_style hybrid"_atom_style.html command), not all particles in
-the system are required to be finite-size or aspherical.
-
-For example, in the ellipsoid style, if the 3 shape parameters are set
-to the same value, the particle will be a sphere rather than an
-ellipsoid.  If the 3 shape parameters are all set to 0.0 or if the
-diameter is set to 0.0, it will be a point particle.  In the line or
-tri style, if the lineflag or triflag is specified as 0, then it
-will be a point particle.
-
-Some of the pair styles used to compute pairwise interactions between
-finite-size particles also compute the correct interaction with point
-particles as well, e.g. the interaction between a point particle and a
-finite-size particle or between two point particles.  If necessary,
-"pair_style hybrid"_pair_hybrid.html can be used to insure the correct
-interactions are computed for the appropriate style of interactions.
-Likewise, using groups to partition particles (ellipsoids versus
-spheres versus point particles) will allow you to use the appropriate
-time integrators and temperature computations for each class of
-particles.  See the doc pages for various commands for details.
-
-Also note that for "2d simulations"_dimension.html, atom styles sphere
-and ellipsoid still use 3d particles, rather than as circular disks or
-ellipses.  This means they have the same moment of inertia as the 3d
-object.  When temperature is computed, the correct degrees of freedom
-are used for rotation in a 2d versus 3d system.
-
-Pair potentials :h4
-
-When a system with finite-size particles is defined, the particles
-will only rotate and experience torque if the force field computes
-such interactions.  These are the various "pair
-styles"_pair_style.html that generate torque:
-
-"pair_style gran/history"_pair_gran.html
-"pair_style gran/hertzian"_pair_gran.html
-"pair_style gran/no_history"_pair_gran.html
-"pair_style dipole/cut"_pair_dipole.html
-"pair_style gayberne"_pair_gayberne.html
-"pair_style resquared"_pair_resquared.html
-"pair_style brownian"_pair_brownian.html
-"pair_style lubricate"_pair_lubricate.html
-"pair_style line/lj"_pair_line_lj.html
-"pair_style tri/lj"_pair_tri_lj.html
-"pair_style body"_pair_body_nparticle.html :ul
-
-The granular pair styles are used with spherical particles.  The
-dipole pair style is used with the dipole atom style, which could be
-applied to spherical or ellipsoidal particles.  The GayBerne and
-REsquared potentials require ellipsoidal particles, though they will
-also work if the 3 shape parameters are the same (a sphere).  The
-Brownian and lubrication potentials are used with spherical particles.
-The line, tri, and body potentials are used with line segment,
-triangular, and body particles respectively.
-
-Time integration :h4
-
-There are several fixes that perform time integration on finite-size
-spherical particles, meaning the integrators update the rotational
-orientation and angular velocity or angular momentum of the particles:
-
-"fix nve/sphere"_fix_nve_sphere.html
-"fix nvt/sphere"_fix_nvt_sphere.html
-"fix npt/sphere"_fix_npt_sphere.html :ul
-
-Likewise, there are 3 fixes that perform time integration on
-ellipsoidal particles:
-
-"fix nve/asphere"_fix_nve_asphere.html
-"fix nvt/asphere"_fix_nvt_asphere.html
-"fix npt/asphere"_fix_npt_asphere.html :ul
-
-The advantage of these fixes is that those which thermostat the
-particles include the rotational degrees of freedom in the temperature
-calculation and thermostatting.  The "fix langevin"_fix_langevin
-command can also be used with its {omgea} or {angmom} options to
-thermostat the rotational degrees of freedom for spherical or
-ellipsoidal particles.  Other thermostatting fixes only operate on the
-translational kinetic energy of finite-size particles.
-
-These fixes perform constant NVE time integration on line segment,
-triangular, and body particles:
-
-"fix nve/line"_fix_nve_line.html
-"fix nve/tri"_fix_nve_tri.html
-"fix nve/body"_fix_nve_body.html :ul
-
-Note that for mixtures of point and finite-size particles, these
-integration fixes can only be used with "groups"_group.html which
-contain finite-size particles.
-
-Computes, thermodynamics, and dump output :h4
-
-There are several computes that calculate the temperature or
-rotational energy of spherical or ellipsoidal particles:
-
-"compute temp/sphere"_compute_temp_sphere.html
-"compute temp/asphere"_compute_temp_asphere.html
-"compute erotate/sphere"_compute_erotate_sphere.html
-"compute erotate/asphere"_compute_erotate_asphere.html :ul
-
-These include rotational degrees of freedom in their computation.  If
-you wish the thermodynamic output of temperature or pressure to use
-one of these computes (e.g. for a system entirely composed of
-finite-size particles), then the compute can be defined and the
-"thermo_modify"_thermo_modify.html command used.  Note that by default
-thermodynamic quantities will be calculated with a temperature that
-only includes translational degrees of freedom.  See the
-"thermo_style"_thermo_style.html command for details.
-
-These commands can be used to output various attributes of finite-size
-particles:
-
-"dump custom"_dump.html
-"compute property/atom"_compute_property_atom.html
-"dump local"_dump.html
-"compute body/local"_compute_body_local.html :ul
-
-Attributes include the dipole moment, the angular velocity, the
-angular momentum, the quaternion, the torque, the end-point and
-corner-point coordinates (for line and tri particles), and
-sub-particle attributes of body particles.
-
-Rigid bodies composed of finite-size particles :h4
-
-The "fix rigid"_fix_rigid.html command treats a collection of
-particles as a rigid body, computes its inertia tensor, sums the total
-force and torque on the rigid body each timestep due to forces on its
-constituent particles, and integrates the motion of the rigid body.
-
-If any of the constituent particles of a rigid body are finite-size
-particles (spheres or ellipsoids or line segments or triangles), then
-their contribution to the inertia tensor of the body is different than
-if they were point particles.  This means the rotational dynamics of
-the rigid body will be different.  Thus a model of a dimer is
-different if the dimer consists of two point masses versus two
-spheroids, even if the two particles have the same mass.  Finite-size
-particles that experience torque due to their interaction with other
-particles will also impart that torque to a rigid body they are part
-of.
-
-See the "fix rigid" command for example of complex rigid-body models
-it is possible to define in LAMMPS.
-
-Note that the "fix shake"_fix_shake.html command can also be used to
-treat 2, 3, or 4 particles as a rigid body, but it always assumes the
-particles are point masses.
-
-Also note that body particles cannot be modeled with the "fix
-rigid"_fix_rigid.html command.  Body particles are treated by LAMMPS
-as single particles, though they can store internal state, such as a
-list of sub-particles.  Individual body partices are typically treated
-as rigid bodies, and their motion integrated with a command like "fix
-nve/body"_fix_nve_body.html.  Interactions between pairs of body
-particles are computed via a command like "pair_style
-body"_pair_body_nparticle.html.
-
-:line
-
-6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) :link(howto_15),h4
-
-There are four basic kinds of LAMMPS output:
-
-"Thermodynamic output"_thermo_style.html, which is a list
-of quantities printed every few timesteps to the screen and logfile. :ulb,l
-
-"Dump files"_dump.html, which contain snapshots of atoms and various
-per-atom values and are written at a specified frequency. :l
-
-Certain fixes can output user-specified quantities to files: "fix
-ave/time"_fix_ave_time.html for time averaging, "fix
-ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix
-print"_fix_print.html for single-line output of
-"variables"_variable.html.  Fix print can also output to the
-screen. :l
-
-"Restart files"_restart.html. :l
-:ule
-
-A simulation prints one set of thermodynamic output and (optionally)
-restart files.  It can generate any number of dump files and fix
-output files, depending on what "dump"_dump.html and "fix"_fix.html
-commands you specify.
-
-As discussed below, LAMMPS gives you a variety of ways to determine
-what quantities are computed and printed when the thermodynamics,
-dump, or fix commands listed above perform output.  Throughout this
-discussion, note that users can also "add their own computes and fixes
-to LAMMPS"_Modify.html which can then generate values that can then be
-output with these commands.
-
-The following sub-sections discuss different LAMMPS command related
-to output and the kind of data they operate on and produce:
-
-"Global/per-atom/local data"_#global
-"Scalar/vector/array data"_#scalar
-"Thermodynamic output"_#thermo
-"Dump file output"_#dump
-"Fixes that write output files"_#fixoutput
-"Computes that process output quantities"_#computeoutput
-"Fixes that process output quantities"_#fixprocoutput
-"Computes that generate values to output"_#compute
-"Fixes that generate values to output"_#fix
-"Variables that generate values to output"_#variable
-"Summary table of output options and data flow between commands"_#table :ul
-
-Global/per-atom/local data :h4,link(global)
-
-Various output-related commands work with three different styles of
-data: global, per-atom, or local.  A global datum is one or more
-system-wide values, e.g. the temperature of the system.  A per-atom
-datum is one or more values per atom, e.g. the kinetic energy of each
-atom.  Local datums are calculated by each processor based on the
-atoms it owns, but there may be zero or more per atom, e.g. a list of
-bond distances.
-
-Scalar/vector/array data :h4,link(scalar)
-
-Global, per-atom, and local datums can each come in three kinds: a
-single scalar value, a vector of values, or a 2d array of values.  The
-doc page for a "compute" or "fix" or "variable" that generates data
-will specify both the style and kind of data it produces, e.g. a
-per-atom vector.
-
-When a quantity is accessed, as in many of the output commands
-discussed below, it can be referenced via the following bracket
-notation, where ID in this case is the ID of a compute.  The leading
-"c_" would be replaced by "f_" for a fix, or "v_" for a variable:
-
-c_ID | entire scalar, vector, or array
-c_ID\[I\] | one element of vector, one column of array
-c_ID\[I\]\[J\] | one element of array :tb(s=|)
-
-In other words, using one bracket reduces the dimension of the data
-once (vector -> scalar, array -> vector).  Using two brackets reduces
-the dimension twice (array -> scalar).  Thus a command that uses
-scalar values as input can typically also process elements of a vector
-or array.
-
-Thermodynamic output :h4,link(thermo)
-
-The frequency and format of thermodynamic output is set by the
-"thermo"_thermo.html, "thermo_style"_thermo_style.html, and
-"thermo_modify"_thermo_modify.html commands.  The
-"thermo_style"_thermo_style.html command also specifies what values
-are calculated and written out.  Pre-defined keywords can be specified
-(e.g. press, etotal, etc).  Three additional kinds of keywords can
-also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html
-or "fix"_fix.html or "variable"_variable.html provides the value to be
-output.  In each case, the compute, fix, or variable must generate
-global values for input to the "thermo_style custom"_dump.html
-command.
-
-Note that thermodynamic output values can be "extensive" or
-"intensive".  The former scale with the number of atoms in the system
-(e.g. total energy), the latter do not (e.g. temperature).  The
-setting for "thermo_modify norm"_thermo_modify.html determines whether
-extensive quantities are normalized or not.  Computes and fixes
-produce either extensive or intensive values; see their individual doc
-pages for details.  "Equal-style variables"_variable.html produce only
-intensive values; you can include a division by "natoms" in the
-formula if desired, to make an extensive calculation produce an
-intensive result.
-
-Dump file output :h4,link(dump)
-
-Dump file output is specified by the "dump"_dump.html and
-"dump_modify"_dump_modify.html commands.  There are several
-pre-defined formats (dump atom, dump xtc, etc).
-
-There is also a "dump custom"_dump.html format where the user
-specifies what values are output with each atom.  Pre-defined atom
-attributes can be specified (id, x, fx, etc).  Three additional kinds
-of keywords can also be specified (c_ID, f_ID, v_name), where a
-"compute"_compute.html or "fix"_fix.html or "variable"_variable.html
-provides the values to be output.  In each case, the compute, fix, or
-variable must generate per-atom values for input to the "dump
-custom"_dump.html command.
-
-There is also a "dump local"_dump.html format where the user specifies
-what local values to output.  A pre-defined index keyword can be
-specified to enumerate the local values.  Two additional kinds of
-keywords can also be specified (c_ID, f_ID), where a
-"compute"_compute.html or "fix"_fix.html or "variable"_variable.html
-provides the values to be output.  In each case, the compute or fix
-must generate local values for input to the "dump local"_dump.html
-command.
-
-Fixes that write output files :h4,link(fixoutput)
-
-Several fixes take various quantities as input and can write output
-files: "fix ave/time"_fix_ave_time.html, "fix
-ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html,
-"fix ave/correlate"_fix_ave_correlate.html, and "fix
-print"_fix_print.html.
-
-The "fix ave/time"_fix_ave_time.html command enables direct output to
-a file and/or time-averaging of global scalars or vectors.  The user
-specifies one or more quantities as input.  These can be global
-"compute"_compute.html values, global "fix"_fix.html values, or
-"variables"_variable.html of any style except the atom style which
-produces per-atom values.  Since a variable can refer to keywords used
-by the "thermo_style custom"_thermo_style.html command (like temp or
-press) and individual per-atom values, a wide variety of quantities
-can be time averaged and/or output in this way.  If the inputs are one
-or more scalar values, then the fix generate a global scalar or vector
-of output.  If the inputs are one or more vector values, then the fix
-generates a global vector or array of output.  The time-averaged
-output of this fix can also be used as input to other output commands.
-
-The "fix ave/chunk"_fix_ave_chunk.html command enables direct output
-to a file of chunk-averaged per-atom quantities like those output in
-dump files.  Chunks can represent spatial bins or other collections of
-atoms, e.g. individual molecules.  The per-atom quantities can be atom
-density (mass or number) or atom attributes such as position,
-velocity, force.  They can also be per-atom quantities calculated by a
-"compute"_compute.html, by a "fix"_fix.html, or by an atom-style
-"variable"_variable.html.  The chunk-averaged output of this fix can
-also be used as input to other output commands.
-
-The "fix ave/histo"_fix_ave_histo.html command enables direct output
-to a file of histogrammed quantities, which can be global or per-atom
-or local quantities.  The histogram output of this fix can also be
-used as input to other output commands.
-
-The "fix ave/correlate"_fix_ave_correlate.html command enables direct
-output to a file of time-correlated quantities, which can be global
-values.  The correlation matrix output of this fix can also be used as
-input to other output commands.
-
-The "fix print"_fix_print.html command can generate a line of output
-written to the screen and log file or to a separate file, periodically
-during a running simulation.  The line can contain one or more
-"variable"_variable.html values for any style variable except the
-vector or atom styles).  As explained above, variables themselves can
-contain references to global values generated by "thermodynamic
-keywords"_thermo_style.html, "computes"_compute.html,
-"fixes"_fix.html, or other "variables"_variable.html, or to per-atom
-values for a specific atom.  Thus the "fix print"_fix_print.html
-command is a means to output a wide variety of quantities separate
-from normal thermodynamic or dump file output.
-
-Computes that process output quantities :h4,link(computeoutput)
-
-The "compute reduce"_compute_reduce.html and "compute
-reduce/region"_compute_reduce.html commands take one or more per-atom
-or local vector quantities as inputs and "reduce" them (sum, min, max,
-ave) to scalar quantities.  These are produced as output values which
-can be used as input to other output commands.
-
-The "compute slice"_compute_slice.html command take one or more global
-vector or array quantities as inputs and extracts a subset of their
-values to create a new vector or array.  These are produced as output
-values which can be used as input to other output commands.
-
-The "compute property/atom"_compute_property_atom.html command takes a
-list of one or more pre-defined atom attributes (id, x, fx, etc) and
-stores the values in a per-atom vector or array.  These are produced
-as output values which can be used as input to other output commands.
-The list of atom attributes is the same as for the "dump
-custom"_dump.html command.
-
-The "compute property/local"_compute_property_local.html command takes
-a list of one or more pre-defined local attributes (bond info, angle
-info, etc) and stores the values in a local vector or array.  These
-are produced as output values which can be used as input to other
-output commands.
-
-Fixes that process output quantities :h4,link(fixprocoutput)
-
-The "fix vector"_fix_vector.html command can create global vectors as
-output from global scalars as input, accumulating them one element at
-a time.
-
-The "fix ave/atom"_fix_ave_atom.html command performs time-averaging
-of per-atom vectors.  The per-atom quantities can be atom attributes
-such as position, velocity, force.  They can also be per-atom
-quantities calculated by a "compute"_compute.html, by a
-"fix"_fix.html, or by an atom-style "variable"_variable.html.  The
-time-averaged per-atom output of this fix can be used as input to
-other output commands.
-
-The "fix store/state"_fix_store_state.html command can archive one or
-more per-atom attributes at a particular time, so that the old values
-can be used in a future calculation or output.  The list of atom
-attributes is the same as for the "dump custom"_dump.html command,
-including per-atom quantities calculated by a "compute"_compute.html,
-by a "fix"_fix.html, or by an atom-style "variable"_variable.html.
-The output of this fix can be used as input to other output commands.
-
-Computes that generate values to output :h4,link(compute)
-
-Every "compute"_compute.html in LAMMPS produces either global or
-per-atom or local values.  The values can be scalars or vectors or
-arrays of data.  These values can be output using the other commands
-described in this section.  The doc page for each compute command
-describes what it produces.  Computes that produce per-atom or local
-values have the word "atom" or "local" in their style name.  Computes
-without the word "atom" or "local" produce global values.
-
-Fixes that generate values to output :h4,link(fix)
-
-Some "fixes"_fix.html in LAMMPS produces either global or per-atom or
-local values which can be accessed by other commands.  The values can
-be scalars or vectors or arrays of data.  These values can be output
-using the other commands described in this section.  The doc page for
-each fix command tells whether it produces any output quantities and
-describes them.
-
-Variables that generate values to output :h4,link(variable)
-
-"Variables"_variable.html defined in an input script can store one or
-more strings.  But equal-style, vector-style, and atom-style or
-atomfile-style variables generate a global scalar value, global vector
-or values, or a per-atom vector, respectively, when accessed.  The
-formulas used to define these variables can contain references to the
-thermodynamic keywords and to global and per-atom data generated by
-computes, fixes, and other variables.  The values generated by
-variables can be used as input to and thus output by the other
-commands described in this section.
-
-Summary table of output options and data flow between commands :h4,link(table)
-
-This table summarizes the various commands that can be used for
-generating output from LAMMPS.  Each command produces output data of
-some kind and/or writes data to a file.  Most of the commands can take
-data from other commands as input.  Thus you can link many of these
-commands together in pipeline form, where data produced by one command
-is used as input to another command and eventually written to the
-screen or to a file.  Note that to hook two commands together the
-output and input data types must match, e.g. global/per-atom/local
-data and scalar/vector/array data.
-
-Also note that, as described above, when a command takes a scalar as
-input, that could be an element of a vector or array.  Likewise a
-vector input could be a column of an array.
-
-Command: Input: Output:
-"thermo_style custom"_thermo_style.html: global scalars: screen, log file:
-"dump custom"_dump.html: per-atom vectors: dump file:
-"dump local"_dump.html: local vectors: dump file:
-"fix print"_fix_print.html: global scalar from variable: screen, file:
-"print"_print.html: global scalar from variable: screen:
-"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array:
-"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array:
-"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector:
-"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector:
-"compute slice"_compute_slice.html: global vectors/arrays: global vector/array:
-"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array:
-"compute property/local"_compute_property_local.html: local vectors: local vector/array:
-"fix vector"_fix_vector.html: global scalars: global vector:
-"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array:
-"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file:
-"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file:
-"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file:
-"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file:
-"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:)
-
-:line
-
-6.16 Thermostatting, barostatting, and computing temperature :link(howto_16),h4
-
-Thermostatting means controlling the temperature of particles in an MD
-simulation.  Barostatting means controlling the pressure.  Since the
-pressure includes a kinetic component due to particle velocities, both
-these operations require calculation of the temperature.  Typically a
-target temperature (T) and/or pressure (P) is specified by the user,
-and the thermostat or barostat attempts to equilibrate the system to
-the requested T and/or P.
-
-Temperature is computed as kinetic energy divided by some number of
-degrees of freedom (and the Boltzmann constant).  Since kinetic energy
-is a function of particle velocity, there is often a need to
-distinguish between a particle's advection velocity (due to some
-aggregate motion of particles) and its thermal velocity.  The sum of
-the two is the particle's total velocity, but the latter is often what
-is wanted to compute a temperature.
-
-LAMMPS has several options for computing temperatures, any of which
-can be used in thermostatting and barostatting.  These "compute
-commands"_compute.html calculate temperature, and the "compute
-pressure"_compute_pressure.html command calculates pressure.
-
-"compute temp"_compute_temp.html
-"compute temp/sphere"_compute_temp_sphere.html
-"compute temp/asphere"_compute_temp_asphere.html
-"compute temp/com"_compute_temp_com.html
-"compute temp/deform"_compute_temp_deform.html
-"compute temp/partial"_compute_temp_partial.html
-"compute temp/profile"_compute_temp_profile.html
-"compute temp/ramp"_compute_temp_ramp.html
-"compute temp/region"_compute_temp_region.html :ul
-
-All but the first 3 calculate velocity biases directly (e.g. advection
-velocities) that are removed when computing the thermal temperature.
-"Compute temp/sphere"_compute_temp_sphere.html and "compute
-temp/asphere"_compute_temp_asphere.html compute kinetic energy for
-finite-size particles that includes rotational degrees of freedom.
-They both allow for velocity biases indirectly, via an optional extra
-argument, another temperature compute that subtracts a velocity bias.
-This allows the translational velocity of spherical or aspherical
-particles to be adjusted in prescribed ways.
-
-Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one
-case by a pair style.  Several thermostatting fixes are available:
-Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling
-(temp/rescale).  Dissipative particle dynamics (DPD) thermostatting
-can be invoked via the {dpd/tstat} pair style:
-
-"fix nvt"_fix_nh.html
-"fix nvt/sphere"_fix_nvt_sphere.html
-"fix nvt/asphere"_fix_nvt_asphere.html
-"fix nvt/sllod"_fix_nvt_sllod.html
-"fix temp/berendsen"_fix_temp_berendsen.html
-"fix temp/csvr"_fix_temp_csvr.html
-"fix langevin"_fix_langevin.html
-"fix temp/rescale"_fix_temp_rescale.html
-"pair_style dpd/tstat"_pair_dpd.html :ul
-
-"Fix nvt"_fix_nh.html only thermostats the translational velocity of
-particles.  "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except
-that it subtracts out a velocity bias due to a deforming box and
-integrates the SLLOD equations of motion.  See the "NEMD
-simulations"_#howto_13 section of this page for further details.  "Fix
-nvt/sphere"_fix_nvt_sphere.html and "fix
-nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
-velocities but also rotational velocities for spherical and aspherical
-particles.
-
-DPD thermostatting alters pairwise interactions in a manner analogous
-to the per-particle thermostatting of "fix
-langevin"_fix_langevin.html.
-
-Any of the thermostatting fixes can use temperature computes that
-remove bias which has two effects.  First, the current calculated
-temperature, which is compared to the requested target temperature, is
-calculated with the velocity bias removed.  Second, the thermostat
-adjusts only the thermal temperature component of the particle's
-velocities, which are the velocities with the bias removed.  The
-removed bias is then added back to the adjusted velocities.  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 compute to a thermostatting fix.  For example, you can
-apply a thermostat to only the x and z components of velocity by using
-it in conjunction with "compute
-temp/partial"_compute_temp_partial.html.  Of you could thermostat only
-the thermal temperature of a streaming flow of particles without
-affecting the streaming velocity, by using "compute
-temp/profile"_compute_temp_profile.html.
-
-NOTE: Only the nvt fixes perform time integration, meaning they update
-the velocities and positions of particles due to forces and velocities
-respectively.  The other thermostat fixes only adjust velocities; they
-do NOT perform time integration updates.  Thus they should be used in
-conjunction with a constant NVE integration fix such as these:
-
-"fix nve"_fix_nve.html
-"fix nve/sphere"_fix_nve_sphere.html
-"fix nve/asphere"_fix_nve_asphere.html :ul
-
-Barostatting in LAMMPS is also performed by "fixes"_fix.html.  Two
-barosttating methods are currently available: Nose-Hoover (npt and
-nph) and Berendsen:
-
-"fix npt"_fix_nh.html
-"fix npt/sphere"_fix_npt_sphere.html
-"fix npt/asphere"_fix_npt_asphere.html
-"fix nph"_fix_nh.html
-"fix press/berendsen"_fix_press_berendsen.html :ul
-
-The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat
-and barostat.  "Fix nph"_fix_nh.html is just a Nose/Hoover barostat;
-it does no thermostatting.  Both "fix nph"_fix_nh.html and "fix
-press/berendsen"_fix_press_berendsen.html can be used in conjunction
-with any of the thermostatting fixes.
-
-As with the thermostats, "fix npt"_fix_nh.html and "fix
-nph"_fix_nh.html only use translational motion of the particles in
-computing T and P and performing thermo/barostatting.  "Fix
-npt/sphere"_fix_npt_sphere.html and "fix
-npt/asphere"_fix_npt_asphere.html thermo/barostat using not only
-translation velocities but also rotational velocities for spherical
-and aspherical particles.
-
-All of the barostatting fixes use the "compute
-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 component of the pressure.  The barostatting fixes can
-also use temperature computes that remove bias for the purpose of
-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.
-
-NOTE: As with the thermostats, the Nose/Hoover methods ("fix
-npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration.
-"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should
-be used with one of the constant NVE fixes or with one of the NVT
-fixes.
-
-Finally, thermodynamic output, which can be setup via the
-"thermo_style"_thermo_style.html command, often includes temperature
-and pressure values.  As explained on the doc page for the
-"thermo_style"_thermo_style.html command, the default T and P are
-setup by the thermo command itself.  They are NOT the ones associated
-with any thermostatting or barostatting fix you have defined or with
-any compute that calculates a temperature or pressure.  Thus if you
-want to view these values of T and P, you need to specify them
-explicitly via a "thermo_style custom"_thermo_style.html command.  Or
-you can use the "thermo_modify"_thermo_modify.html command to
-re-define what temperature or pressure compute is used for default
-thermodynamic output.
-
-:line
-
-6.17 Walls :link(howto_17),h4
-
-Walls in an MD simulation are typically used to bound particle motion,
-i.e. to serve as a boundary condition.
-
-Walls in LAMMPS can be of rough (made of particles) or idealized
-surfaces.  Ideal walls can be smooth, generating forces only in the
-normal direction, or frictional, generating forces also in the
-tangential direction.
-
-Rough walls, built of particles, can be created in various ways.  The
-particles themselves can be generated like any other particle, via the
-"lattice"_lattice.html and "create_atoms"_create_atoms.html commands,
-or read in via the "read_data"_read_data.html command.
-
-Their motion can be constrained by many different commands, so that
-they do not move at all, move together as a group at constant velocity
-or in response to a net force acting on them, move in a prescribed
-fashion (e.g. rotate around a point), etc.  Note that if a time
-integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html
-is not used with the group that contains wall particles, their
-positions and velocities will not be updated.
-
-"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together
-"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0
-"fix freeze"_fix_freeze.html - freeze particles for use as granular walls
-"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force
-"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul
-
-The "fix move"_fix_move.html command offers the most generality, since
-the motion of individual particles can be specified with
-"variable"_variable.html formula which depends on time and/or the
-particle position.
-
-For rough walls, it may be useful to turn off pairwise interactions
-between wall particles via the "neigh_modify
-exclude"_neigh_modify.html command.
-
-Rough walls can also be created by specifying frozen particles that do
-not move and do not interact with mobile particles, and then tethering
-other particles to the fixed particles, via a "bond"_bond_style.html.
-The bonded particles do interact with other mobile particles.
-
-Idealized walls can be specified via several fix commands.  "Fix
-wall/gran"_fix_wall_gran.html creates frictional walls for use with
-granular particles; all the other commands create smooth walls.
-
-"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls
-"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential
-"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential
-"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential
-"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential
-"fix wall/region"_fix_wall_region.html - use region surface as wall
-"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul
-
-The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the
-flat walls to move with a constant velocity, or oscillate in time.
-The "fix wall/region"_fix_wall_region.html command offers the most
-generality, since the region surface is treated as a wall, and the
-geometry of the region can be a simple primitive volume (e.g. a
-sphere, or cube, or plane), or a complex volume made from the union
-and intersection of primitive volumes.  "Regions"_region.html can also
-specify a volume "interior" or "exterior" to the specified primitive
-shape or {union} or {intersection}.  "Regions"_region.html can also be
-"dynamic" meaning they move with constant velocity, oscillate, or
-rotate.
-
-The only frictional idealized walls currently in LAMMPS are flat or
-curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html
-command.  At some point we plan to allow regoin surfaces to be used as
-frictional walls, as well as triangulated surfaces.
-
-:line
-
-6.18 Elastic constants :link(howto_18),h4
-
-Elastic constants characterize the stiffness of a material. The formal
-definition is provided by the linear relation that holds between the
-stress and strain tensors in the limit of infinitesimal deformation.
-In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where
-the repeated indices imply summation. s_ij are the elements of the
-symmetric stress tensor. e_kl are the elements of the symmetric strain
-tensor. C_ijkl are the elements of the fourth rank tensor of elastic
-constants. In three dimensions, this tensor has 3^4=81 elements. Using
-Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij
-is now the derivative of s_i w.r.t. e_j. Because s_i is itself a
-derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at
-most 7*6/2 = 21 distinct elements.
-
-At zero temperature, it is easy to estimate these derivatives by
-deforming the simulation box in one of the six directions using the
-"change_box"_change_box.html command and measuring the change in the
-stress tensor. A general-purpose script that does this is given in the
-examples/elastic directory described on the "Examples"_Examples.html
-doc page.
-
-Calculating elastic constants at finite temperature is more
-challenging, because it is necessary to run a simulation that perfoms
-time averages of differential properties. One way to do this is to
-measure the change in average stress tensor in an NVT simulations when
-the cell volume undergoes a finite deformation. In order to balance
-the systematic and statistical errors in this method, the magnitude of
-the deformation must be chosen judiciously, and care must be taken to
-fully equilibrate the deformed cell before sampling the stress
-tensor. Another approach is to sample the triclinic cell fluctuations
-that occur in an NPT simulation. This method can also be slow to
-converge and requires careful post-processing "(Shinoda)"_#Shinoda1
-
-:line
-
-6.19 Library interface to LAMMPS :link(howto_19),h4
-
-As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can
-be built as a library, so that it can be called by another code, used
-in a "coupled manner"_Section_howto.html#howto_10 with other codes, or
-driven through a "Python interface"_Python.html.
-
-All of these methodologies use a C-style interface to LAMMPS that is
-provided in the files src/library.cpp and src/library.h.  The
-functions therein have a C-style argument list, but contain C++ code
-you could write yourself in a C++ application that was invoking LAMMPS
-directly.  The C++ code in the functions illustrates how to invoke
-internal LAMMPS operations.  Note that LAMMPS classes are defined
-within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++
-application.
-
-The examples/COUPLE and python/examples directories have example C++
-and C and Python codes which show how a driver code can link to LAMMPS
-as a library, run LAMMPS on a subset of processors, grab data from
-LAMMPS, change it, and put it back into LAMMPS.
-
-The file src/library.cpp contains the following functions for creating
-and destroying an instance of LAMMPS and sending it commands to
-execute.  See the documentation in the src/library.cpp file for
-details.
-
-NOTE: You can write code for additional functions as needed to define
-how your code talks to LAMMPS and add them to src/library.cpp and
-src/library.h, as well as to the "Python interface"_Python.html.  The
-added functions can access or change any internal LAMMPS data you
-wish.
-
-void lammps_open(int, char **, MPI_Comm, void **)
-void lammps_open_no_mpi(int, char **, void **)
-void lammps_close(void *)
-int lammps_version(void *)
-void lammps_file(void *, char *)
-char *lammps_command(void *, char *)
-void lammps_commands_list(void *, int, char **)
-void lammps_commands_string(void *, char *)
-void lammps_free(void *) :pre
-
-The lammps_open() function is used to initialize LAMMPS, passing in a
-list of strings as if they were "command-line
-arguments"_Section_start.html#start_6 when LAMMPS is run in
-stand-alone mode from the command line, and a MPI communicator for
-LAMMPS to run under.  It returns a ptr to the LAMMPS object that is
-created, and which is used in subsequent library calls.  The
-lammps_open() function can be called multiple times, to create
-multiple instances of LAMMPS.
-
-LAMMPS will run on the set of processors in the communicator.  This
-means the calling code can run LAMMPS on all or a subset of
-processors.  For example, a wrapper script might decide to alternate
-between LAMMPS and another code, allowing them both to run on all the
-processors.  Or it might allocate half the processors to LAMMPS and
-half to the other code and run both codes simultaneously before
-syncing them up periodically.  Or it might instantiate multiple
-instances of LAMMPS to perform different calculations.
-
-The lammps_open_no_mpi() function is similar except that no MPI
-communicator is passed from the caller.  Instead, MPI_COMM_WORLD is
-used to instantiate LAMMPS, and MPI is initialized if necessary.
-
-The lammps_close() function is used to shut down an instance of LAMMPS
-and free all its memory.
-
-The lammps_version() function can be used to determined the specific
-version of the underlying LAMMPS code. This is particularly useful
-when loading LAMMPS as a shared library via dlopen(). The code using
-the library interface can than use this information to adapt to
-changes to the LAMMPS command syntax between versions. The returned
-LAMMPS version code is an integer (e.g. 2 Sep 2015 results in
-20150902) that grows with every new LAMMPS version.
-
-The lammps_file(), lammps_command(), lammps_commands_list(), and
-lammps_commands_string() functions are used to pass one or more
-commands to LAMMPS to execute, the same as if they were coming from an
-input script.
-
-Via these functions, the calling code can read or generate a series of
-LAMMPS commands one or multiple at a time and pass it thru the library
-interface to setup a problem and then run it in stages.  The caller
-can interleave the command function calls with operations it performs,
-calls to extract information from or set information within LAMMPS, or
-calls to another code's library.
-
-The lammps_file() function passes the filename of an input script.
-The lammps_command() function passes a single command as a string.
-The lammps_commands_list() function passes multiple commands in a
-char** list.  In both lammps_command() and lammps_commands_list(),
-individual commands may or may not have a trailing newline.  The
-lammps_commands_string() function passes multiple commands
-concatenated into one long string, separated by newline characters.
-In both lammps_commands_list() and lammps_commands_string(), a single
-command can be spread across multiple lines, if the last printable
-character of all but the last line is "&", the same as if the lines
-appeared in an input script.
-
-The lammps_free() function is a clean-up function to free memory that
-the library allocated previously via other function calls.  See
-comments in src/library.cpp file for which other functions need this
-clean-up.
-
-The file src/library.cpp also contains these functions for extracting
-information from LAMMPS and setting value within LAMMPS.  Again, see
-the documentation in the src/library.cpp file for details, including
-which quantities can be queried by name:
-
-int lammps_extract_setting(void *, char *)
-void *lammps_extract_global(void *, char *)
-void lammps_extract_box(void *, double *, double *,
-                        double *, double *, double *, int *, int *)
-void *lammps_extract_atom(void *, char *)
-void *lammps_extract_compute(void *, char *, int, int)
-void *lammps_extract_fix(void *, char *, int, int, int, int)
-void *lammps_extract_variable(void *, char *, char *) :pre
-
-The extract_setting() function returns info on the size
-of data types (e.g. 32-bit or 64-bit atom IDs) used
-by the LAMMPS executable (a compile-time choice).
-
-The other extract functions return a pointer to various global or
-per-atom quantities stored in LAMMPS or to values calculated by a
-compute, fix, or variable.  The pointer returned by the
-extract_global() function can be used as a permanent reference to a
-value which may change.  For the extract_atom() method, see the
-extract() method in the src/atom.cpp file for a list of valid per-atom
-properties.  New names could easily be added if the property you want
-is not listed.  For the other extract functions, the underlying
-storage may be reallocated as LAMMPS runs, so you need to re-call the
-function to assure a current pointer or returned value(s).
-
-double lammps_get_thermo(void *, char *)
-int lammps_get_natoms(void *) :pre
-
-int lammps_set_variable(void *, char *, char *)
-void lammps_reset_box(void *, double *, double *, double, double, double) :pre
-
-The lammps_get_thermo() function returns the current value of a thermo
-keyword as a double precision value.
-
-The lammps_get_natoms() function returns the total number of atoms in
-the system and can be used by the caller to allocate memory for the
-lammps_gather_atoms() and lammps_scatter_atoms() functions.
-
-The lammps_set_variable() function can set an existing string-style
-variable to a new string value, so that subsequent LAMMPS commands can
-access the variable.
-
-The lammps_reset_box() function resets the size and shape of the
-simulation box, e.g. as part of restoring a previously extracted and
-saved state of a simulation.
-
-void lammps_gather_atoms(void *, char *, int, int, void *)
-void lammps_gather_atoms_concat(void *, char *, int, int, void *)
-void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *)
-void lammps_scatter_atoms(void *, char *, int, int, void *)
-void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre
-
-void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
-                         imageint *, int) :pre
-
-The gather functions collect peratom info of the requested type (atom
-coords, atom types, forces, etc) from all processors, and returns the
-same vector of values to each callling processor.  The scatter
-functions do the inverse.  They distribute a vector of peratom values,
-passed by all calling processors, to invididual atoms, which may be
-owned by different processos.
-
-The lammps_gather_atoms() function does this for all N atoms in the
-system, ordered by atom ID, from 1 to N.  The
-lammps_gather_atoms_concat() function does it for all N atoms, but
-simply concatenates the subset of atoms owned by each processor.  The
-resulting vector is not ordered by atom ID.  Atom IDs can be requetsed
-by the same function if the caller needs to know the ordering.  The
-lammps_gather_subset() function allows the caller to request values
-for only a subset of atoms (identified by ID).
-For all 3 gather function, per-atom image flags can be retrieved in 2 ways.
-If the count is specified as 1, they are returned 
-in a packed format with all three image flags stored in a single integer.
-If the count is specified as 3, the values are unpacked into xyz flags
-by the library before returning them.
-
-The lammps_scatter_atoms() function takes a list of values for all N
-atoms in the system, ordered by atom ID, from 1 to N, and assigns
-those values to each atom in the system.  The
-lammps_scatter_atoms_subset() function takes a subset of IDs as an
-argument and only scatters those values to the owning atoms.
-
-The lammps_create_atoms() function takes a list of N atoms as input
-with atom types and coords (required), an optionally atom IDs and
-velocities and image flags.  It uses the coords of each atom to assign
-it as a new atom to the processor that owns it.  This function is
-useful to add atoms to a simulation or (in tandem with
-lammps_reset_box()) to restore a previously extracted and saved state
-of a simulation.  Additional properties for the new atoms can then be
-assigned via the lammps_scatter_atoms() or lammps_extract_atom()
-functions.
-
-:line
-
-6.20 Calculating thermal conductivity :link(howto_20),h4
-
-The thermal conductivity kappa of a material can be measured in at
-least 4 ways using various options in LAMMPS.  See the examples/KAPPA
-directory for scripts that implement the 4 methods discussed here for
-a simple Lennard-Jones fluid model.  Also, see "this
-section"_Section_howto.html#howto_21 of the manual for an analogous
-discussion for viscosity.
-
-The thermal conductivity tensor kappa is a measure of the propensity
-of a material to transmit heat energy in a diffusive manner as given
-by Fourier's law
-
-J = -kappa grad(T)
-
-where J is the heat flux in units of energy per area per time and
-grad(T) is the spatial gradient of temperature.  The thermal
-conductivity thus has units of energy per distance per time per degree
-K and is often approximated as an isotropic quantity, i.e. as a
-scalar.
-
-The first method is to setup two thermostatted regions at opposite
-ends of a simulation box, or one in the middle and one at the end of a
-periodic box.  By holding the two regions at different temperatures
-with a "thermostatting fix"_Section_howto.html#howto_13, the energy
-added to the hot region should equal the energy subtracted from the
-cold region and be proportional to the heat flux moving between the
-regions.  See the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji
-and "Wirnsberger et al"_#howto-Wirnsberger for details of this idea.
-Note that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix
-langevin"_fix_langevin.html, and "fix
-temp/rescale"_fix_temp_rescale.html store the cumulative energy they
-add/subtract.
-
-Alternatively, as a second method, the "fix heat"_fix_heat.html or
-"fix ehex"_fix_ehex.html commands can be used in place of thermostats
-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/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
-using the "fix thermal/conductivity"_fix_thermal_conductivity.html
-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/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
-details.
-
-The fourth method is based on the Green-Kubo (GK) formula which
-relates the ensemble average of the auto-correlation of the heat flux
-to kappa.  The heat flux can be calculated from the fluctuations of
-per-atom potential and kinetic energies and per-atom stress tensor in
-a steady-state equilibrated simulation.  This is in contrast to the
-two preceding non-equilibrium methods, where energy flows continuously
-between hot and cold regions of the simulation box.
-
-The "compute heat/flux"_compute_heat_flux.html command can calculate
-the needed heat flux and describes how to implement the Green_Kubo
-formalism using additional LAMMPS commands, such as the "fix
-ave/correlate"_fix_ave_correlate.html command to calculate the needed
-auto-correlation.  See the doc page for the "compute
-heat/flux"_compute_heat_flux.html command for an example input script
-that calculates the thermal conductivity of solid Ar via the GK
-formalism.
-
-:line
-
-6.21 Calculating viscosity :link(howto_21),h4
-
-The shear viscosity eta of a fluid can be measured in at least 5 ways
-using various options in LAMMPS.  See the examples/VISCOSITY directory
-for scripts that implement the 5 methods discussed here for a simple
-Lennard-Jones fluid model.  Also, see "this
-section"_Section_howto.html#howto_20 of the manual for an analogous
-discussion for thermal conductivity.
-
-Eta is a measure of the propensity of a fluid to transmit momentum in
-a direction perpendicular to the direction of velocity or momentum
-flow.  Alternatively it is the resistance the fluid has to being
-sheared.  It is given by
-
-J = -eta grad(Vstream)
-
-where J is the momentum flux in units of momentum per area per time.
-and grad(Vstream) is the spatial gradient of the velocity of the fluid
-moving in another direction, normal to the area through which the
-momentum flows.  Viscosity thus has units of pressure-time.
-
-The first method is to perform a non-equilibrium MD (NEMD) simulation
-by shearing the simulation box via the "fix deform"_fix_deform.html
-command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to
-thermostat the fluid via the SLLOD equations of motion.
-Alternatively, as a second method, one or more moving walls can be
-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.
-
-In both cases, the velocity profile setup in the fluid by this
-procedure can be monitored by the "fix
-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
-tensor, as calculated by the "compute pressure"_compute_pressure.html
-command, can also be monitored, which is the J term in the equation
-above.  See "this section"_Section_howto.html#howto_13 of the manual
-for details on NEMD simulations.
-
-The third method is to perform a reverse non-equilibrium MD simulation
-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/chunk"_fix_ave_chunk.html command.
-The fix tallies the cumulative momentum transfer that it performs.
-See the "fix viscosity"_fix_viscosity.html command for details.
-
-The fourth method is based on the Green-Kubo (GK) formula which
-relates the ensemble average of the auto-correlation of the
-stress/pressure tensor to eta.  This can be done in a fully
-equilibrated simulation which is in contrast to the two preceding
-non-equilibrium methods, where momentum flows continuously through the
-simulation box.
-
-Here is an example input script that calculates the viscosity of
-liquid Ar via the GK formalism:
-
-# Sample LAMMPS input script for viscosity of liquid Ar :pre
-
-units       real
-variable    T equal 86.4956
-variable    V equal vol
-variable    dt equal 4.0
-variable    p equal 400     # correlation length
-variable    s equal 5       # sample interval
-variable    d equal $p*$s   # dump interval :pre
-
-# convert from LAMMPS real units to SI :pre
-
-variable    kB equal 1.3806504e-23    # \[J/K/] Boltzmann
-variable    atm2Pa equal 101325.0
-variable    A2m equal 1.0e-10
-variable    fs2s equal 1.0e-15
-variable    convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre
-
-# setup problem :pre
-
-dimension    3
-boundary     p p p
-lattice      fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
-region       box block 0 4 0 4 0 4
-create_box   1 box
-create_atoms 1 box
-mass         1 39.948
-pair_style   lj/cut 13.0
-pair_coeff   * * 0.2381 3.405
-timestep     $\{dt\}
-thermo       $d :pre
-
-# equilibration and thermalization :pre
-
-velocity     all create $T 102486 mom yes rot yes dist gaussian
-fix          NVT all nvt temp $T $T 10 drag 0.2
-run          8000 :pre
-
-# viscosity calculation, switch to NVE if desired :pre
-
-#unfix       NVT
-#fix         NVE all nve :pre
-
-reset_timestep 0
-variable     pxy equal pxy
-variable     pxz equal pxz
-variable     pyz equal pyz
-fix          SS all ave/correlate $s $p $d &
-             v_pxy v_pxz v_pyz type auto file S0St.dat ave running
-variable     scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\}
-variable     v11 equal trap(f_SS\[3\])*$\{scale\}
-variable     v22 equal trap(f_SS\[4\])*$\{scale\}
-variable     v33 equal trap(f_SS\[5\])*$\{scale\}
-thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33
-run          100000
-variable     v equal (v_v11+v_v22+v_v33)/3.0
-variable     ndens equal count(all)/vol
-print        "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre
-
-The fifth method is related to the above Green-Kubo method,
-but uses the Einstein formulation, analogous to the Einstein
-mean-square-displacement formulation for self-diffusivity. The
-time-integrated momentum fluxes play the role of Cartesian
-coordinates, whose mean-square displacement increases linearly
-with time at sufficiently long times.
-
-:line
-
-6.22 Calculating a diffusion coefficient :link(howto_22),h4
-
-The diffusion coefficient D of a material can be measured in at least
-2 ways using various options in LAMMPS.  See the examples/DIFFUSE
-directory for scripts that implement the 2 methods discussed here for
-a simple Lennard-Jones fluid model.
-
-The first method is to measure the mean-squared displacement (MSD) of
-the system, via the "compute msd"_compute_msd.html command.  The slope
-of the MSD versus time is proportional to the diffusion coefficient.
-The instantaneous MSD values can be accumulated in a vector via the
-"fix vector"_fix_vector.html command, and a line fit to the vector to
-compute its slope via the "variable slope"_variable.html function, and
-thus extract D.
-
-The second method is to measure the velocity auto-correlation function
-(VACF) of the system, via the "compute vacf"_compute_vacf.html
-command.  The time-integral of the VACF is proportional to the
-diffusion coefficient.  The instantaneous VACF values can be
-accumulated in a vector via the "fix vector"_fix_vector.html command,
-and time integrated via the "variable trap"_variable.html function,
-and thus extract D.
-
-:line
-
-6.23 Using chunks to calculate system properties :link(howto_23),h4
-
-In LAMMS, "chunks" are collections of atoms, as defined by the
-"compute chunk/atom"_compute_chunk_atom.html command, which assigns
-each atom to a chunk ID (or to no chunk at all).  The number of chunks
-and the assignment of chunk IDs to atoms can be static or change over
-time.  Examples of "chunks" are molecules or spatial bins or atoms
-with similar values (e.g. coordination number or potential energy).
-
-The per-atom chunk IDs can be used as input to two other kinds of
-commands, to calculate various properties of a system:
-
-"fix ave/chunk"_fix_ave_chunk.html
-any of the "compute */chunk"_compute.html commands :ul
-
-Here, each of the 3 kinds of chunk-related commands is briefly
-overviewed.  Then some examples are given of how to compute different
-properties with chunk commands.
-
-Compute chunk/atom command: :h4
-
-This compute can assign atoms to chunks of various styles.  Only atoms
-in the specified group and optional specified region are assigned to a
-chunk.  Here are some possible chunk definitions:
-
-atoms in same molecule | chunk ID = molecule ID |
-atoms of same atom type | chunk ID = atom type |
-all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom |
-atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command |
-atoms in same spatial bin | chunk ID = bin ID |
-atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies |
-atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html |
-atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2)
-
-Note that chunk IDs are integer values, so for atom properties or
-computes that produce a floating point value, they will be truncated
-to an integer.  You could also use the compute in a variable that
-scales the floating point value to spread it across multiple integers.
-
-Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
-pencils, 3d bins = boxes, spherical bins, cylindrical bins.
-
-This compute also calculates the number of chunks {Nchunk}, which is
-used by other commands to tally per-chunk data.  {Nchunk} can be a
-static value or change over time (e.g. the number of clusters).  The
-chunk ID for an individual atom can also be static (e.g. a molecule
-ID), or dynamic (e.g. what spatial bin an atom is in as it moves).
-
-Note that this compute allows the per-atom output of other
-"computes"_compute.html, "fixes"_fix.html, and
-"variables"_variable.html to be used to define chunk IDs for each
-atom.  This means you can write your own compute or fix to output a
-per-atom quantity to use as chunk ID.  See the "Modify"_Modify.html
-doc page for how to do this.  You can also define a "per-atom
-variable"_variable.html in the input script that uses a formula to
-generate a chunk ID for each atom.
-
-Fix ave/chunk command: :h4
-
-This fix takes the ID of a "compute
-chunk/atom"_compute_chunk_atom.html command as input.  For each chunk,
-it then sums one or more specified per-atom values over the atoms in
-each chunk.  The per-atom values can be any atom property, such as
-velocity, force, charge, potential energy, kinetic energy, stress,
-etc.  Additional keywords are defined for per-chunk properties like
-density and temperature.  More generally any per-atom value generated
-by other "computes"_compute.html, "fixes"_fix.html, and "per-atom
-variables"_variable.html, can be summed over atoms in each chunk.
-
-Similar to other averaging fixes, this fix allows the summed per-chunk
-values to be time-averaged in various ways, and output to a file.  The
-fix produces a global array as output with one row of values per
-chunk.
-
-Compute */chunk commands: :h4
-
-Currently the following computes operate on chunks of atoms to produce
-per-chunk values.
-
-"compute com/chunk"_compute_com_chunk.html
-"compute gyration/chunk"_compute_gyration_chunk.html
-"compute inertia/chunk"_compute_inertia_chunk.html
-"compute msd/chunk"_compute_msd_chunk.html
-"compute property/chunk"_compute_property_chunk.html
-"compute temp/chunk"_compute_temp_chunk.html
-"compute torque/chunk"_compute_vcm_chunk.html
-"compute vcm/chunk"_compute_vcm_chunk.html :ul
-
-They each take the ID of a "compute
-chunk/atom"_compute_chunk_atom.html command as input.  As their names
-indicate, they calculate the center-of-mass, radius of gyration,
-moments of inertia, mean-squared displacement, temperature, torque,
-and velocity of center-of-mass for each chunk of atoms.  The "compute
-property/chunk"_compute_property_chunk.html command can tally the
-count of atoms in each chunk and extract other per-chunk properties.
-
-The reason these various calculations are not part of the "fix
-ave/chunk command"_fix_ave_chunk.html, is that each requires a more
-complicated operation than simply summing and averaging over per-atom
-values in each chunk.  For example, many of them require calculation
-of a center of mass, which requires summing mass*position over the
-atoms and then dividing by summed mass.
-
-All of these computes produce a global vector or global array as
-output, wih one or more values per chunk.  They can be used
-in various ways:
-
-As input to the "fix ave/time"_fix_ave_time.html command, which can
-write the values to a file and optionally time average them. :ulb,l
-
-As input to the "fix ave/histo"_fix_ave_histo.html command to
-histogram values across chunks.  E.g. a histogram of cluster sizes or
-molecule diffusion rates. :l
-
-As input to special functions of "equal-style
-variables"_variable.html, like sum() and max().  E.g. to find the
-largest cluster or fastest diffusing molecule. :l
-:ule
-
-Example calculations with chunks :h4
-
-Here are examples using chunk commands to calculate various
-properties:
-
-(1) Average velocity in each of 1000 2d spatial bins:
-
-compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
-fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre
-
-(2) Temperature in each spatial bin, after subtracting a flow
-velocity:
-
-compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
-compute vbias all temp/profile 1 0 0 y 10
-fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre
-
-(3) Center of mass of each molecule:
-
-compute cc1 all chunk/atom molecule
-compute myChunk all com/chunk cc1
-fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre
-
-(4) Total force on each molecule and ave/max across all molecules:
-
-compute cc1 all chunk/atom molecule
-fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out
-variable xave equal ave(f_1\[2\])
-variable xmax equal max(f_1\[2\])
-thermo 1000
-thermo_style custom step temp v_xave v_xmax :pre
-
-(5) Histogram of cluster sizes:
-
-compute cluster all cluster/atom 1.0
-compute cc1 all chunk/atom c_cluster compress yes
-compute size all property/chunk cc1 count
-fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre
-
-:line
-
-6.24 Setting parameters for the "kspace_style pppm/disp"_kspace_style.html command :link(howto_24),h4
-
-The PPPM method computes interactions by splitting the pair potential
-into two parts, one of which is computed in a normal pairwise fashion,
-the so-called real-space part, and one of which is computed using the
-Fourier transform, the so called reciprocal-space or kspace part.  For
-both parts, the potential is not computed exactly but is approximated.
-Thus, there is an error in both parts of the computation, the
-real-space and the kspace error. The just mentioned facts are true
-both for the PPPM for Coulomb as well as dispersion interactions. The
-deciding difference - and also the reason why the parameters for
-pppm/disp have to be selected with more care - is the impact of the
-errors on the results: The kspace error of the PPPM for Coulomb and
-dispersion interaction and the real-space error of the PPPM for
-Coulomb interaction have the character of noise. In contrast, the
-real-space error of the PPPM for dispersion has a clear physical
-interpretation: the underprediction of cohesion. As a consequence, the
-real-space error has a much stronger effect than the kspace error on
-simulation results for pppm/disp.  Parameters must thus be chosen in a
-way that this error is much smaller than the kspace error.
-
-When using pppm/disp and not making any specifications on the PPPM
-parameters via the kspace modify command, parameters will be tuned
-such that the real-space error and the kspace error are equal.  This
-will result in simulations that are either inaccurate or slow, both of
-which is not desirable. For selecting parameters for the pppm/disp
-that provide fast and accurate simulations, there are two approaches,
-which both have their up- and downsides.
-
-The first approach is to set desired real-space an kspace accuracies
-via the {kspace_modify force/disp/real} and {kspace_modify
-force/disp/kspace} commands. Note that the accuracies have to be
-specified in force units and are thus dependent on the chosen unit
-settings. For real units, 0.0001 and 0.002 seem to provide reasonable
-accurate and efficient computations for the real-space and kspace
-accuracies.  0.002 and 0.05 work well for most systems using lj
-units. PPPM parameters will be generated based on the desired
-accuracies. The upside of this approach is that it usually provides a
-good set of parameters and will work for both the {kspace_modify diff
-ad} and {kspace_modify diff ik} options.  The downside of the method
-is that setting the PPPM parameters will take some time during the
-initialization of the simulation.
-
-The second approach is to set the parameters for the pppm/disp
-explicitly using the {kspace_modify mesh/disp}, {kspace_modify
-order/disp}, and {kspace_modify gewald/disp} commands. This approach
-requires a more experienced user who understands well the impact of
-the choice of parameters on the simulation accuracy and
-performance. This approach provides a fast initialization of the
-simulation. However, it is sensitive to errors: A combination of
-parameters that will perform well for one system might result in
-far-from-optimal conditions for other simulations. For example,
-parameters that provide accurate and fast computations for
-all-atomistic force fields can provide insufficient accuracy or
-united-atomistic force fields (which is related to that the latter
-typically have larger dispersion coefficients).
-
-To avoid inaccurate or inefficient simulations, the pppm/disp stops
-simulations with an error message if no action is taken to control the
-PPPM parameters. If the automatic parameter generation is desired and
-real-space and kspace accuracies are desired to be equal, this error
-message can be suppressed using the {kspace_modify disp/auto yes}
-command.
-
-A reasonable approach that combines the upsides of both methods is to
-make the first run using the {kspace_modify force/disp/real} and
-{kspace_modify force/disp/kspace} commands, write down the PPPM
-parameters from the outut, and specify these parameters using the
-second approach in subsequent runs (which have the same composition,
-force field, and approximately the same volume).
-
-Concerning the performance of the pppm/disp there are two more things
-to consider. The first is that when using the pppm/disp, the cutoff
-parameter does no longer affect the accuracy of the simulation
-(subject to that gewald/disp is adjusted when changing the cutoff).
-The performance can thus be increased by examining different values
-for the cutoff parameter. A lower bound for the cutoff is only set by
-the truncation error of the repulsive term of pair potentials.
-
-The second is that the mixing rule of the pair style has an impact on
-the computation time when using the pppm/disp. Fastest computations
-are achieved when using the geometric mixing rule. Using the
-arithmetic mixing rule substantially increases the computational cost.
-The computational overhead can be reduced using the {kspace_modify
-mix/disp geom} and {kspace_modify splittol} commands. The first
-command simply enforces geometric mixing of the dispersion
-coefficients in kspace computations.  This introduces some error in
-the computations but will also significantly speed-up the
-simulations. The second keyword sets the accuracy with which the
-dispersion coefficients are approximated using a matrix factorization
-approach.  This may result in better accuracy then using the first
-command, but will usually also not provide an equally good increase of
-efficiency.
-
-Finally, pppm/disp can also be used when no mixing rules apply.
-This can be achieved using the {kspace_modify mix/disp none} command.
-Note that the code does not check automatically whether any mixing
-rule is fulfilled. If mixing rules do not apply, the user will have
-to specify this command explicitly.
-
-:line
-
-6.25 Polarizable models :link(howto_25),h4
-
-In polarizable force fields the charge distributions in molecules and
-materials respond to their electrostatic environments. Polarizable
-systems can be simulated in LAMMPS using three methods:
-
-the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html
-package, :ulb,l
-the adiabatic core-shell method, implemented in the
-"CORESHELL"_#howto_26 package, :l
-the thermalized Drude dipole method, implemented in the
-"USER-DRUDE"_#howto_27 package. :l
-:ule
-
-The fluctuating charge method calculates instantaneous charges on
-interacting atoms based on the electronegativity equalization
-principle. It is implemented in the "fix qeq"_fix_qeq.html which is
-available in several variants. It is a relatively efficient technique
-since no additional particles are introduced. This method allows for
-charge transfer between molecules or atom groups. However, because the
-charges are located at the interaction sites, off-plane components of
-polarization cannot be represented in planar molecules or atom groups.
-
-The two other methods share the same basic idea: polarizable atoms are
-split into one core atom and one satellite particle (called shell or
-Drude particle) attached to it by a harmonic spring.  Both atoms bear
-a charge and they represent collectively an induced electric dipole.
-These techniques are computationally more expensive than the QEq
-method because of additional particles and bonds. These two
-charge-on-spring methods differ in certain features, with the
-core-shell model being normally used for ionic/crystalline materials,
-whereas the so-called Drude model is normally used for molecular
-systems and fluid states.
-
-The core-shell model is applicable to crystalline materials where the
-high symmetry around each site leads to stable trajectories of the
-core-shell pairs. However, bonded atoms in molecules can be so close
-that a core would interact too strongly or even capture the Drude
-particle of a neighbor. The Drude dipole model is relatively more
-complex in order to remediate this and other issues. Specifically, the
-Drude model includes specific thermostating of the core-Drude pairs
-and short-range damping of the induced dipoles.
-
-The three polarization methods can be implemented through a
-self-consistent calculation of charges or induced dipoles at each
-timestep. In the fluctuating charge scheme this is done by the matrix
-inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell
-or Drude-dipoles the relaxed-dipoles technique would require an slow
-iterative procedure. These self-consistent solutions yield accurate
-trajectories since the additional degrees of freedom representing
-polarization are massless.  An alternative is to attribute a mass to
-the additional degrees of freedom and perform time integration using
-an extended Lagrangian technique. For the fluctuating charge scheme
-this is done by "fix qeq/dynamic"_fix_qeq.html, and for the
-charge-on-spring models by the methods outlined in the next two
-sections. The assignment of masses to the additional degrees of
-freedom can lead to unphysical trajectories if care is not exerted in
-choosing the parameters of the polarizable models and the simulation
-conditions.
-
-In the core-shell model the vibration of the shells is kept faster
-than the ionic vibrations to mimic the fast response of the
-polarizable electrons.  But in molecular systems thermalizing the
-core-Drude pairs at temperatures comparable to the rest of the
-simulation leads to several problems (kinetic energy transfer, too
-short a timestep, etc.) In order to avoid these problems the relative
-motion of the Drude particles with respect to their cores is kept
-"cold" so the vibration of the core-Drude pairs is very slow,
-approaching the self-consistent regime.  In both models the
-temperature is regulated using the velocities of the center of mass of
-core+shell (or Drude) pairs, but in the Drude model the actual
-relative core-Drude particle motion is thermostated separately as
-well.
-
-:line
-
-6.26 Adiabatic core/shell model :link(howto_26),h4
-
-The adiabatic core-shell model by "Mitchell and
-Fincham"_#MitchellFincham is a simple method for adding
-polarizability to a system.  In order to mimic the electron shell of
-an ion, a satellite particle is attached to it. This way the ions are
-split into a core and a shell where the latter is meant to react to
-the electrostatic environment inducing polarizability.
-
-Technically, shells are attached to the cores by a spring force f =
-k*r where k is a parametrized spring constant and r is the distance
-between the core and the shell. The charges of the core and the shell
-add up to the ion charge, thus q(ion) = q(core) + q(shell). This
-setup introduces the ion polarizability (alpha) given by
-alpha = q(shell)^2 / k. In a
-similar fashion the mass of the ion is distributed on the core and the
-shell with the core having the larger mass.
-
-To run this model in LAMMPS, "atom_style"_atom_style.html {full} can
-be used since atom charge and bonds are needed.  Each kind of
-core/shell pair requires two atom types and a bond type.  The core and
-shell of a core/shell pair should be bonded to each other with a
-harmonic bond that provides the spring force. For example, a data file
-for NaCl, as found in examples/coreshell, has this format:
-
-432   atoms  # core and shell atoms
-216   bonds  # number of core/shell springs :pre
-
-4     atom types  # 2 cores and 2 shells for Na and Cl
-2     bond types :pre
-
-0.0 24.09597 xlo xhi
-0.0 24.09597 ylo yhi
-0.0 24.09597 zlo zhi :pre
-
-Masses       # core/shell mass ratio = 0.1 :pre
-
-1 20.690784  # Na core
-2 31.90500   # Cl core
-3 2.298976   # Na shell
-4 3.54500    # Cl shell :pre
-
-Atoms :pre
-
-1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
-2    1    4  -2.5005    0.00000000   0.00000000   0.00000000 # shell of core/shell pair 1
-3    2    1   1.5056    4.01599500   4.01599500   4.01599500 # core of core/shell pair 2
-4    2    3  -0.5056    4.01599500   4.01599500   4.01599500 # shell of core/shell pair 2
-(...) :pre
-
-Bonds   # Bond topology for spring forces :pre
-
-1     2     1     2   # spring for core/shell pair 1
-2     2     3     4   # spring for core/shell pair 2
-(...) :pre
-
-Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only
-defined between the shells.  Coulombic interactions are defined
-between all cores and shells.  If desired, additional bonds can be
-specified between cores.
-
-The "special_bonds"_special_bonds.html command should be used to
-turn-off the Coulombic interaction within core/shell pairs, since that
-interaction is set by the bond spring.  This is done using the
-"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0,
-which is the default value.  It needs to be considered whether one has
-to adjust the "special_bonds"_special_bonds.html weighting according
-to the molecular topology since the interactions of the shells are
-bypassed over an extra bond.
-
-Note that this core/shell implementation does not require all ions to
-be polarized.  One can mix core/shell pairs and ions without a
-satellite particle if desired.
-
-Since the core/shell model permits distances of r = 0.0 between the
-core and shell, a pair style with a "cs" suffix needs to be used to
-implement a valid long-range Coulombic correction.  Several such pair
-styles are provided in the CORESHELL package.  See "this doc
-page"_pair_cs.html for details.  All of the core/shell enabled pair
-styles require the use of a long-range Coulombic solver, as specified
-by the "kspace_style"_kspace_style.html command.  Either the PPPM or
-Ewald solvers can be used.
-
-For the NaCL example problem, these pair style and bond style settings
-are used:
-
-pair_style      born/coul/long/cs 20.0 20.0
-pair_coeff      * *      0.0 1.000   0.00  0.00   0.00
-pair_coeff      3 3    487.0 0.23768 0.00  1.05   0.50 #Na-Na
-pair_coeff      3 4 145134.0 0.23768 0.00  6.99   8.70 #Na-Cl
-pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre
-
-bond_style      harmonic
-bond_coeff      1 63.014 0.0
-bond_coeff      2 25.724 0.0 :pre
-
-When running dynamics with the adiabatic core/shell model, the
-following issues should be considered.  The relative motion of
-the core and shell particles corresponds to the polarization,
-hereby an instantaneous relaxation of the shells is approximated
-and a fast core/shell spring frequency ensures a nearly constant
-internal kinetic energy during the simulation.
-Thermostats can alter this polarization behaviour, by scaling the
-internal kinetic energy, meaning the shell will not react freely to
-its electrostatic environment.
-Therefore it is typically desirable to decouple the relative motion of
-the core/shell pair, which is an imaginary degree of freedom, from the
-real physical system.  To do that, the "compute
-temp/cs"_compute_temp_cs.html command can be used, in conjunction with
-any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix
-langevin"_fix_langevin.  This compute uses the center-of-mass velocity
-of the core/shell pairs to calculate a temperature, and insures that
-velocity is what is rescaled for thermostatting purposes.  This
-compute also works for a system with both core/shell pairs and
-non-polarized ions (ions without an attached satellite particle).  The
-"compute temp/cs"_compute_temp_cs.html command requires input of two
-groups, one for the core atoms, another for the shell atoms.
-Non-polarized ions which might also be included in the treated system
-should not be included into either of these groups, they are taken
-into account by the {group-ID} (2nd argument) of the compute.  The
-groups can be defined using the "group {type}"_group.html command.
-Note that to perform thermostatting using this definition of
-temperature, the "fix modify temp"_fix_modify.html command should be
-used to assign the compute to the thermostat fix.  Likewise the
-"thermo_modify temp"_thermo_modify.html command can be used to make
-this temperature be output for the overall system.
-
-For the NaCl example, this can be done as follows:
-
-group cores type 1 2
-group shells type 3 4
-compute CSequ all temp/cs cores shells
-fix thermoberendsen all temp/berendsen 1427 1427 0.4    # thermostat for the true physical system
-fix thermostatequ all nve                               # integrator as needed for the berendsen thermostat
-fix_modify thermoberendsen temp CSequ
-thermo_modify temp CSequ                                # output of center-of-mass derived temperature :pre
-
-The pressure for the core/shell system is computed via the regular
-LAMMPS convention by "treating the cores and shells as individual
-particles"_#MitchellFincham2. For the thermo output of the pressure
-as well as for the application of a barostat, it is necessary to
-use an additional "pressure"_compute_pressure compute based on the
-default "temperature"_compute_temp and specifying it as a second
-argument in "fix modify"_fix_modify.html and
-"thermo_modify"_thermo_modify.html resulting in:
-
-(...)
-compute CSequ all temp/cs cores shells
-compute thermo_press_lmp all pressure thermo_temp       # pressure for individual particles
-thermo_modify temp CSequ press thermo_press_lmp         # modify thermo to regular pressure
-fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4
-fix_modify press_bar temp CSequ press thermo_press_lmp  # pressure modification for correct kinetic scalar :pre
-
-If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
-relative motion of the core and the shell should in theory be
-stable.  However numerical fluctuation can introduce a small
-momentum to the system, which is noticable over long trajectories.
-Therefore it is recommendable to use the "fix
-momentum"_fix_momentum.html command in combination with "compute
-temp/cs"_compute_temp_cs.html when equilibrating the system to
-prevent any drift.
-
-When initializing the velocities of a system with core/shell pairs, it
-is also desirable to not introduce energy into the relative motion of
-the core/shell particles, but only assign a center-of-mass velocity to
-the pairs.  This can be done by using the {bias} keyword of the
-"velocity create"_velocity.html command and assigning the "compute
-temp/cs"_compute_temp_cs.html command to the {temp} keyword of the
-"velocity"_velocity.html command, e.g.
-
-velocity all create 1427 134 bias yes temp CSequ
-velocity all scale 1427 temp CSequ :pre
-
-To maintain the correct polarizability of the core/shell pairs, the
-kinetic energy of the internal motion shall remain nearly constant.
-Therefore the choice of spring force and mass ratio need to ensure
-much faster relative motion of the 2 atoms within the core/shell pair
-than their center-of-mass velocity. This allows the shells to
-effectively react instantaneously to the electrostatic environment and
-limits energy transfer to or from the core/shell oscillators.
-This fast movement also dictates the timestep that can be used.
-
-The primary literature of the adiabatic core/shell model suggests that
-the fast relative motion of the core/shell pairs only allows negligible
-energy transfer to the environment.
-The mentioned energy transfer will typically lead to a small drift
-in total energy over time.  This internal energy can be monitored
-using the "compute chunk/atom"_compute_chunk_atom.html and "compute
-temp/chunk"_compute_temp_chunk.html commands.  The internal kinetic
-energies of each core/shell pair can then be summed using the sum()
-special function of the "variable"_variable.html command.  Or they can
-be time/averaged and output using the "fix ave/time"_fix_ave_time.html
-command.  To use these commands, each core/shell pair must be defined
-as a "chunk".  If each core/shell pair is defined as its own molecule,
-the molecule ID can be used to define the chunks.  If cores are bonded
-to each other to form larger molecules, the chunks can be identified
-by the "fix property/atom"_fix_property_atom.html via assigning a
-core/shell ID to each atom using a special field in the data file read
-by the "read_data"_read_data.html command.  This field can then be
-accessed by the "compute property/atom"_compute_property_atom.html
-command, to use as input to the "compute
-chunk/atom"_compute_chunk_atom.html command to define the core/shell
-pairs as chunks.
-
-For example if core/shell pairs are the only molecules:
-
-read_data NaCl_CS_x0.1_prop.data
-compute prop all property/atom molecule
-compute cs_chunk all chunk/atom c_prop
-compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0     # note the chosen degrees of freedom for the core/shell pairs
-fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre
-
-For example if core/shell pairs and other molecules are present:
-
-fix csinfo all property/atom i_CSID                       # property/atom command
-read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info  # atom property added in the data-file
-compute prop all property/atom i_CSID
-(...) :pre
-
-The additional section in the date file would be formatted like this:
-
-CS-Info         # header of additional section :pre
-
-1   1           # column 1 = atom ID, column 2 = core/shell ID
-2   1
-3   2
-4   2
-5   3
-6   3
-7   4
-8   4
-(...) :pre
-
-:line
-
-6.27 Drude induced dipoles :link(howto_27),h4
-
-The thermalized Drude model, similarly to the "core-shell"_#howto_26
-model, represents induced dipoles by a pair of charges (the core atom
-and the Drude particle) connected by a harmonic spring. The Drude
-model has a number of features aimed at its use in molecular systems
-("Lamoureux and Roux"_#howto-Lamoureux):
-
-Thermostating of the additional degrees of freedom associated with the
-induced dipoles at very low temperature, in terms of the reduced
-coordinates of the Drude particles with respect to their cores. This
-makes the trajectory close to that of relaxed induced dipoles. :ulb,l
-
-Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle
-pair represents a single (polarizable) atom, so the special screening
-factors in a covalent structure should be the same for the core and
-the Drude particle.  Drude particles have to inherit the 1-2, 1-3, 1-4
-special neighbor relations from their respective cores. :l
-
-Stabilization of the interactions between induced dipoles. Drude
-dipoles on covalently bonded atoms interact too strongly due to the
-short distances, so an atom may capture the Drude particle of a
-neighbor, or the induced dipoles within the same molecule may align
-too much. To avoid this, damping at short range can be done by Thole
-functions (for which there are physical grounds). This Thole damping
-is applied to the point charges composing the induced dipole (the
-charge of the Drude particle and the opposite charge on the core, not
-to the total charge of the core atom). :l
-:ule
-
-A detailed tutorial covering the usage of Drude induced dipoles in
-LAMMPS is "available here"_tutorial_drude.html.
-
-As with the core-shell model, the cores and Drude particles should
-appear in the data file as standard atoms. The same holds for the
-springs between them, which are described by standard harmonic bonds.
-The nature of the atoms (core, Drude particle or non-polarizable) is
-specified via the "fix drude"_fix_drude.html command.  The special
-list of neighbors is automatically refactored to account for the
-equivalence of core and Drude particles as regards special 1-2 to 1-4
-screening. It may be necessary to use the {extra/special/per/atom}
-keyword of the "read_data"_read_data.html command. If using "fix
-shake"_fix_shake.html, make sure no Drude particle is in this fix
-group.
-
-There are two ways to thermostat the Drude particles at a low
-temperature: use either "fix langevin/drude"_fix_langevin_drude.html
-for a Langevin thermostat, or "fix
-drude/transform/*"_fix_drude_transform.html for a Nose-Hoover
-thermostat. The former requires use of the command "comm_modify vel
-yes"_comm_modify.html. The latter requires two separate integration
-fixes like {nvt} or {npt}. The correct temperatures of the reduced
-degrees of freedom can be calculated using the "compute
-temp/drude"_compute_temp_drude.html. This requires also to use the
-command {comm_modify vel yes}.
-
-Short-range damping of the induced dipole interactions can be achieved
-using Thole functions through the "pair style
-thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html
-with a Coulomb pair style. It may be useful to use {coul/long/cs} or
-similar from the CORESHELL package if the core and Drude particle come
-too close, which can cause numerical issues.
-
-:line
-
-6.28 Magnetic spins :link(howto_28),h4
-
-Classical magnetic spin simualtions can be performed via the SPIN
-package.  The algrorithmic and implementation details are described in
-"Tranchida"_#Tranchida7.
-
-The model representents the simulation of atomic magnetic spins
-coupled to lattice vibrations. The dynamics of those magnetic spins
-can be used to simulate a broad range a phenomena related to
-magneto-elasticity, or or to study the influence of defects on the
-magnetic properties of materials.
-
-The magnetic spins are interacting with each others and with the 
-lattice via pair interactions. Typically, the magnetic exchange 
-interaction can be defined using the 
-"pair/spin/exchange"_pair_spin_exchange.html command. This exchange
-applies a magnetic torque to a given spin, considering the orientation
-of its neighboring spins and their relative distances. 
-It also applies a force on the atoms as a function of the spin 
-orientations and their associated inter-atomic distances. 
- 
-The command "fix precession/spin"_fix_precession_spin.html allows to
-apply a constant magnetic torque on all the spins in the system. This
-torque can be an external magnetic field (Zeeman interaction), or an
-uniaxial magnetic anisotropy. 
-
-A Langevin thermostat can be applied to those magnetic spins using 
-"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat 
-can be coupled to another Langevin thermostat applied to the atoms 
-using "fix langevin"_fix_langevin.html in order to simulate 
-thermostated spin-lattice system. 
-
-The magnetic Gilbert damping can also be applied using "fix 
-langevin/spin"_fix_langevin_spin.html. It allows to either dissipate 
-the thermal energy of the Langevin thermostat, or to perform a 
-relaxation of the magnetic configuration toward an equilibrium state.
-
-All the computed magnetic properties can be outputed by two main 
-commands. The first one is "compute spin"_compute_spin.html, that 
-enables to evaluate magnetic averaged quantities, such as the total 
-magnetization of the system along x, y, or z, the spin temperature, or
-the magnetic energy. The second command is "compute 
-property/atom"_compute_property_atom.html. It enables to output all the
-per atom magnetic quantities. Typically, the orientation of a given 
-magnetic spin, or the magnetic force acting on this spin.
-
-:line
-:line
-
-:link(howto-Berendsen)
-[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91,
-6269-6271 (1987).
-
-:link(howto-Cornell)
-[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
-Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
-
-:link(Horn)
-[(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
-J Chem Phys, 120, 9665 (2004).
-
-:link(howto-Ikeshoji)
-[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
-(1994).
-
-:link(howto-Wirnsberger)
-[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
-(2015).
-
-:link(howto-MacKerell)
-[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
-Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
-
-:link(howto-Mayo)
-[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
-(1990).
-
-:link(Jorgensen1)
-[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
-Phys, 79, 926 (1983).
-
-:link(Price1)
-[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004).
-
-:link(Shinoda1)
-[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
-
-:link(MitchellFincham)
-[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter,
-5, 1031-1038 (1993).
-
-:link(MitchellFincham2)
-[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter,
-6, 393-404 (1994).
-
-:link(howto-Lamoureux)
-[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
-
-:link(Tranchida7)
-[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, 
-arXiv preprint arXiv:1801.10233, (2018).
diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt
deleted file mode 100644
index 36a1181ca7b731ca48c6ec995c8578f5fe94611b..0000000000000000000000000000000000000000
--- a/doc/src/Section_intro.txt
+++ /dev/null
@@ -1,550 +0,0 @@
-"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS
-Documentation"_ld - "LAMMPS Commands"_lc - "Next
-Section"_Section_start.html :c
-
-:link(lws,http://lammps.sandia.gov)
-:link(ld,Manual.html)
-:link(lc,Section_commands.html#comm)
-
-:line
-
-1. Introduction :h2
-
-This section provides an overview of what LAMMPS can and can't do,
-describes what it means for LAMMPS to be an open-source code, and
-acknowledges the funding and people who have contributed to LAMMPS
-over the years.
-
-1.1 "What is LAMMPS"_#intro_1
-1.2 "LAMMPS features"_#intro_2
-1.3 "LAMMPS non-features"_#intro_3
-1.4 "Open source distribution"_#intro_4
-1.5 "Acknowledgments and citations"_#intro_5 :all(b)
-
-:line
-:line
-
-1.1 What is LAMMPS :link(intro_1),h4
-
-LAMMPS is a classical molecular dynamics code that models an ensemble
-of particles in a liquid, solid, or gaseous state.  It can model
-atomic, polymeric, biological, metallic, granular, and coarse-grained
-systems using a variety of force fields and boundary conditions.
-
-For examples of LAMMPS simulations, see the Publications page of the
-"LAMMPS WWW Site"_lws.
-
-LAMMPS runs efficiently on single-processor desktop or laptop
-machines, but is designed for parallel computers.  It will run on any
-parallel machine that compiles C++ and supports the "MPI"_mpi
-message-passing library.  This includes distributed- or shared-memory
-parallel machines and Beowulf-style clusters.
-
-:link(mpi,http://www-unix.mcs.anl.gov/mpi)
-
-LAMMPS can model systems with only a few particles up to millions or
-billions.  See "Section 8"_Section_perf.html for information on
-LAMMPS performance and scalability, or the Benchmarks section of the
-"LAMMPS WWW Site"_lws.
-
-LAMMPS is a freely-available open-source code, distributed under the
-terms of the "GNU Public License"_gnu, which means you can use or
-modify the code however you wish.  See "this section"_#intro_4 for a
-brief discussion of the open-source philosophy.
-
-:link(gnu,http://www.gnu.org/copyleft/gpl.html)
-
-LAMMPS is designed to be easy to modify or extend with new
-capabilities, such as new force fields, atom types, boundary
-conditions, or diagnostics.  See the "Modify"_Modify.html doc page for
-more details.
-
-The current version of LAMMPS is written in C++.  Earlier versions
-were written in F77 and F90.  See
-"Section 13"_Section_history.html for more information on
-different versions.  All versions can be downloaded from the "LAMMPS
-WWW Site"_lws.
-
-LAMMPS was originally developed under a US Department of Energy CRADA
-(Cooperative Research and Development Agreement) between two DOE labs
-and 3 companies.  It is distributed by "Sandia National Labs"_snl.
-See "this section"_#intro_5 for more information on LAMMPS funding and
-individuals who have contributed to LAMMPS.
-
-:link(snl,http://www.sandia.gov)
-
-In the most general sense, LAMMPS integrates Newton's equations of
-motion for collections of atoms, molecules, or macroscopic particles
-that interact via short- or long-range forces with a variety of
-initial and/or boundary conditions.  For computational efficiency
-LAMMPS uses neighbor lists to keep track of nearby particles.  The
-lists are optimized for systems with particles that are repulsive at
-short distances, so that the local density of particles never becomes
-too large.  On parallel machines, LAMMPS uses spatial-decomposition
-techniques to partition the simulation domain into small 3d
-sub-domains, one of which is assigned to each processor.  Processors
-communicate and store "ghost" atom information for atoms that border
-their sub-domain.  LAMMPS is most efficient (in a parallel sense) for
-systems whose particles fill a 3d rectangular box with roughly uniform
-density.  Papers with technical details of the algorithms used in
-LAMMPS are listed in "this section"_#intro_5.
-
-:line
-
-1.2 LAMMPS features :link(intro_2),h4
-
-This section highlights LAMMPS features, with pointers to specific
-commands which give more details.  If LAMMPS doesn't have your
-favorite interatomic potential, boundary condition, or atom type, see
-the "Modify"_Modify.html doc page, which describes how you can add it
-to LAMMPS.
-
-General features :h4
-
-  runs on a single processor or in parallel
-  distributed-memory message-passing parallelism (MPI)
-  spatial-decomposition of simulation domain for parallelism
-  open-source distribution
-  highly portable C++
-  optional libraries used: MPI and single-processor FFT
-  GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features
-  easy to extend with new features and functionality
-  runs from an input script
-  syntax for defining and using variables and formulas
-  syntax for looping over runs and breaking out of loops
-  run one or multiple simulations simultaneously (in parallel) from one script
-  build as library, invoke LAMMPS thru library interface or provided Python wrapper
-  couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul
-
-Particle and model types :h4
-("atom style"_atom_style.html command)
-
-  atoms
-  coarse-grained particles (e.g. bead-spring polymers)
-  united-atom polymers or organic molecules
-  all-atom polymers, organic molecules, proteins, DNA
-  metals
-  granular materials
-  coarse-grained mesoscale models
-  finite-size spherical and ellipsoidal particles
-  finite-size  line segment (2d) and triangle (3d) particles
-  point dipole particles
-  rigid collections of particles
-  hybrid combinations of these :ul
-
-Force fields :h4
-("pair style"_pair_style.html, "bond style"_bond_style.html,
-"angle style"_angle_style.html, "dihedral style"_dihedral_style.html,
-"improper style"_improper_style.html, "kspace style"_kspace_style.html
-commands)
-
-  pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \
-    Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
-  charged pairwise potentials: Coulombic, point-dipole
-  manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \
-    embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \
-    REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic
-  long-range interactions for charge, point-dipoles, and LJ dispersion: \
-    Ewald, Wolf, PPPM (similar to particle-mesh Ewald)
-  polarization models: "QEq"_fix_qeq.html, \
-    "core/shell model"_Section_howto.html#howto_26, \
-    "Drude dipole model"_Section_howto.html#howto_27
-  charge equilibration (QEq via dynamic, point, shielded, Slater methods)
-  coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
-  mesoscopic potentials: granular, Peridynamics, SPH
-  electron force field (eFF, AWPMD)
-  bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \
-    quartic (breakable)
-  angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \
-    class 2 (COMPASS)
-  dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \
-    class 2 (COMPASS), OPLS
-  improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)
-  polymer potentials: all-atom, united-atom, bead-spring, breakable
-  water potentials: TIP3P, TIP4P, SPC
-  implicit solvent potentials: hydrodynamic lubrication, Debye
-  force-field compatibility with common CHARMM, AMBER, DREIDING, \
-    OPLS, GROMACS, COMPASS options
-  access to "KIM archive"_http://openkim.org of potentials via \
-    "pair kim"_pair_kim.html
-  hybrid potentials: multiple pair, bond, angle, dihedral, improper \
-    potentials can be used in one simulation
-  overlaid potentials: superposition of multiple pair potentials :ul
-
-Atom creation :h4
-("read_data"_read_data.html, "lattice"_lattice.html,
-"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html,
-"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands)
-
-  read in atom coords from files
-  create atoms on one or more lattices (e.g. grain boundaries)
-  delete geometric or logical groups of atoms (e.g. voids)
-  replicate existing atoms multiple times
-  displace atoms :ul
-
-Ensembles, constraints, and boundary conditions :h4
-("fix"_fix.html command)
-
-  2d or 3d systems
-  orthogonal or non-orthogonal (triclinic symmetry) simulation domains
-  constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators
-  thermostatting options for groups and geometric regions of atoms
-  pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions
-  simulation box deformation (tensile and shear)
-  harmonic (umbrella) constraint forces
-  rigid body constraints
-  SHAKE bond and angle constraints
-  Monte Carlo bond breaking, formation, swapping
-  atom/molecule insertion and deletion
-  walls of various kinds
-  non-equilibrium molecular dynamics (NEMD)
-  variety of additional boundary conditions and constraints :ul
-
-Integrators :h4
-("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands)
-
-  velocity-Verlet integrator
-  Brownian dynamics
-  rigid body integration
-  energy minimization via conjugate gradient or steepest descent relaxation
-  rRESPA hierarchical timestepping
-  rerun command for post-processing of dump files :ul
-
-Diagnostics :h4
-
-  see the various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul
-
-Output :h4
-("dump"_dump.html, "restart"_restart.html commands)
-
-  log file of thermodynamic info
-  text dump files of atom coords, velocities, other per-atom quantities
-  binary restart files
-  parallel I/O of dump and restart files
-  per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)
-  user-defined system-wide (log file) or per-atom (dump file) calculations
-  spatial and time averaging of per-atom quantities
-  time averaging of system-wide quantities
-  atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul
-
-Multi-replica models :h4
-
-"nudged elastic band"_neb.html
-"parallel replica dynamics"_prd.html
-"temperature accelerated dynamics"_tad.html
-"parallel tempering"_temper.html
-
-Pre- and post-processing :h4
-
-Various pre- and post-processing serial tools are packaged with
-LAMMPS; see the "Tools"_Tools.html doc page for details. :ulb,l
-
-Our group has also written and released a separate toolkit called
-"Pizza.py"_pizza which provides tools for doing setup, analysis,
-plotting, and visualization for LAMMPS simulations.  Pizza.py is
-written in "Python"_python and is available for download from "the
-Pizza.py WWW site"_pizza. :l
-:ule
-
-:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
-:link(python,http://www.python.org)
-
-Specialized features :h4
-
-LAMMPS can be built with optional packages which implement a variety
-of additional capabilities.  An overview of all the packages is "given
-here"_Packages.html.
-
-These are some LAMMPS capabilities which you may not think of as
-typical classical molecular dynamics options:
-
-"static"_balance.html and "dynamic load-balancing"_fix_balance.html
-"generalized aspherical particles"_body.html
-"stochastic rotation dynamics (SRD)"_fix_srd.html
-"real-time visualization and interactive MD"_fix_imd.html
-calculate "virtual diffraction patterns"_compute_xrd.html
-"atom-to-continuum coupling"_fix_atc.html with finite elements
-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 "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
-"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics
-"two-temperature electron model"_fix_ttm.html :ul
-
-:line
-
-1.3 LAMMPS non-features :link(intro_3),h4
-
-LAMMPS is designed to efficiently compute Newton's equations of motion
-for a system of interacting particles.  Many of the tools needed to
-pre- and post-process the data for such simulations are not included
-in the LAMMPS kernel for several reasons:
-
-the desire to keep LAMMPS simple
-they are not parallel operations
-other codes already do them
-limited development resources :ul
-
-Specifically, LAMMPS itself does not:
-
-run thru a GUI
-build molecular systems
-assign force-field coefficients automagically
-perform sophisticated analyses of your MD simulation
-visualize your MD simulation
-plot your output data :ul
-
-A few tools for pre- and post-processing tasks are provided as part of
-the LAMMPS package; they are described on the "Tools"_Tools.html doc
-page.  However, many people use other codes or write their own tools
-for these tasks.
-
-As noted above, our group has also written and released a separate
-toolkit called "Pizza.py"_pizza which addresses some of the listed
-bullets.  It provides tools for doing setup, analysis, plotting, and
-visualization for LAMMPS simulations.  Pizza.py is written in
-"Python"_python and is available for download from "the Pizza.py WWW
-site"_pizza.
-
-LAMMPS requires as input a list of initial atom coordinates and types,
-molecular topology information, and force-field coefficients assigned
-to all atoms and bonds.  LAMMPS will not build molecular systems and
-assign force-field parameters for you.
-
-For atomic systems LAMMPS provides a "create_atoms"_create_atoms.html
-command which places atoms on solid-state lattices (fcc, bcc,
-user-defined, etc).  Assigning small numbers of force field
-coefficients can be done via the "pair coeff"_pair_coeff.html, "bond
-coeff"_bond_coeff.html, "angle coeff"_angle_coeff.html, etc commands.
-For molecular systems or more complicated simulation geometries, users
-typically use another code as a builder and convert its output to
-LAMMPS input format, or write their own code to generate atom
-coordinate and molecular topology for LAMMPS to read in.
-
-For complicated molecular systems (e.g. a protein), a multitude of
-topology information and hundreds of force-field coefficients must
-typically be specified.  We suggest you use a program like
-"CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup
-such problems and dump its information to a file.  You can then
-reformat the file as LAMMPS input.  Some of the tools described on the
-"Tools"_Tools.html doc page can assist in this process.
-
-Similarly, LAMMPS creates output files in a simple format.  Most users
-post-process these files with their own analysis tools or re-format
-them for input into other programs, including visualization packages.
-If you are convinced you need to compute something on-the-fly as
-LAMMPS runs, see the "Modify"_Modify.html doc page for a discussion of
-how you can use the "dump"_dump.html and "compute"_compute.html and
-"fix"_fix.html commands to print out data of your choosing.  Keep in
-mind that complicated computations can slow down the molecular
-dynamics timestepping, particularly if the computations are not
-parallel, so it is often better to leave such analysis to
-post-processing codes.
-
-For high-quality visualization we recommend the
-following packages:
-
-"VMD"_http://www.ks.uiuc.edu/Research/vmd
-"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A
-"OVITO"_http://www.ovito.org/
-"ParaView"_http://www.paraview.org/
-"PyMol"_http://www.pymol.org
-"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html
-"RasMol"_http://www.openrasmol.org :ul
-
-Other features that LAMMPS does not yet (and may never) support are
-discussed in "Section 13"_Section_history.html.
-
-Finally, these are freely-available molecular dynamics codes, most of
-them parallel, which may be well-suited to the problems you want to
-model.  They can also be used in conjunction with LAMMPS to perform
-complementary modeling tasks.
-
-"CHARMM"_charmm
-"AMBER"_amber
-"NAMD"_namd
-"NWCHEM"_nwchem
-"DL_POLY"_dlpoly
-"Tinker"_tinker :ul
-
-:link(charmm,http://www.charmm.org)
-:link(amber,http://ambermd.org)
-:link(namd,http://www.ks.uiuc.edu/Research/namd/)
-:link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html)
-:link(dlpoly,http://www.ccp5.ac.uk/DL_POLY_CLASSIC)
-:link(tinker,http://dasher.wustl.edu/tinker)
-
-CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for
-modeling biological molecules.  CHARMM and AMBER use
-atom-decomposition (replicated-data) strategies for parallelism; NAMD
-and NWCHEM use spatial-decomposition approaches, similar to LAMMPS.
-Tinker is a serial code.  DL_POLY includes potentials for a variety of
-biological and non-biological materials; both a replicated-data and
-spatial-decomposition version exist.
-
-:line
-
-1.4 Open source distribution :link(intro_4),h4
-
-LAMMPS comes with no warranty of any kind.  As each source file states
-in its header, it is a copyrighted code that is distributed free-of-
-charge, under the terms of the "GNU Public License"_gnu (GPL).  This
-is often referred to as open-source distribution - see
-"www.gnu.org"_gnuorg or "www.opensource.org"_opensource for more
-details.  The legal text of the GPL is in the LICENSE file that is
-included in the LAMMPS distribution.
-
-:link(gnuorg,http://www.gnu.org)
-:link(opensource,http://www.opensource.org)
-
-Here is a summary of what the GPL means for LAMMPS users:
-
-(1) Anyone is free to use, modify, or extend LAMMPS in any way they
-choose, including for commercial purposes.
-
-(2) If you distribute a modified version of LAMMPS, it must remain
-open-source, meaning you distribute it under the terms of the GPL.
-You should clearly annotate such a code as a derivative version of
-LAMMPS.
-
-(3) If you release any code that includes LAMMPS source code, then it
-must also be open-sourced, meaning you distribute it under the terms
-of the GPL.
-
-(4) If you give LAMMPS files to someone else, the GPL LICENSE file and
-source file headers (including the copyright and GPL notices) should
-remain part of the code.
-
-In the spirit of an open-source code, these are various ways you can
-contribute to making LAMMPS better.  You can send email to the
-"developers"_http://lammps.sandia.gov/authors.html on any of these
-items.
-
-Point prospective users to the "LAMMPS WWW Site"_lws.  Mention it in
-talks or link to it from your WWW site. :ulb,l
-
-If you find an error or omission in this manual or on the "LAMMPS WWW
-Site"_lws, or have a suggestion for something to clarify or include,
-send an email to the
-"developers"_http://lammps.sandia.gov/authors.html. :l
-
-If you find a bug, the "Errors bugs"_Errors_bugs.html doc page
-describes how to report it. :l
-
-If you publish a paper using LAMMPS results, send the citation (and
-any cool pictures or movies if you like) to add to the Publications,
-Pictures, and Movies pages of the "LAMMPS WWW Site"_lws, with links
-and attributions back to you. :l
-
-Create a new Makefile.machine that can be added to the src/MAKE
-directory. :l
-
-The tools sub-directory of the LAMMPS distribution has various
-stand-alone codes for pre- and post-processing of LAMMPS data.  More
-details are given on the "Tools"_Tools.html doc page.  If you write a
-new tool that users will find useful, it can be added to the LAMMPS
-distribution. :l
-
-LAMMPS is designed to be easy to extend with new code for features
-like potentials, boundary conditions, diagnostic computations, etc.
-The "Modify"_Modify.html doc page gives details.  If you add a feature
-of general interest, it can be added to the LAMMPS distribution. :l
-
-The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS
-performance on various platforms.  The files needed to run the
-benchmarks are part of the LAMMPS distribution.  If your machine is
-sufficiently different from those listed, your timing data can be
-added to the page. :l
-
-You can send feedback for the User Comments page of the "LAMMPS WWW
-Site"_lws.  It might be added to the page.  No promises. :l
-
-Cash.  Small denominations, unmarked bills preferred.  Paper sack OK.
-Leave on desk.  VISA also accepted.  Chocolate chip cookies
-encouraged. :l
-:ule
-
-:line
-
-1.5 Acknowledgments and citations :h3,link(intro_5)
-
-LAMMPS development has been funded by the "US Department of
-Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life
-programs and its "OASCR"_oascr and "OBER"_ober offices.
-
-Specifically, work on the latest version was funded in part by the US
-Department of Energy's Genomics:GTL program
-("www.doegenomestolife.org"_gtl) under the "project"_ourgtl, "Carbon
-Sequestration in Synechococcus Sp.: From Molecular Machines to
-Hierarchical Modeling".
-
-:link(doe,http://www.doe.gov)
-:link(gtl,http://www.doegenomestolife.org)
-:link(ourgtl,http://www.genomes2life.org)
-:link(oascr,http://www.sc.doe.gov/ascr/home.html)
-:link(ober,http://www.er.doe.gov/production/ober/ober_top.html)
-
-The following paper describe the basic parallel algorithms used in
-LAMMPS.  If you use LAMMPS results in your published work, please cite
-this paper and include a pointer to the "LAMMPS WWW Site"_lws
-(http://lammps.sandia.gov):
-
-S. Plimpton, [Fast Parallel Algorithms for Short-Range Molecular
-Dynamics], J Comp Phys, 117, 1-19 (1995).
-
-Other papers describing specific algorithms used in LAMMPS are listed
-under the "Citing LAMMPS link"_http://lammps.sandia.gov/cite.html of
-the LAMMPS WWW page.
-
-The "Publications link"_http://lammps.sandia.gov/papers.html on the
-LAMMPS WWW page lists papers that have cited LAMMPS.  If your paper is
-not listed there for some reason, feel free to send us the info.  If
-the simulations in your paper produced cool pictures or animations,
-we'll be pleased to add them to the
-"Pictures"_http://lammps.sandia.gov/pictures.html or
-"Movies"_http://lammps.sandia.gov/movies.html pages of the LAMMPS WWW
-site.
-
-The primary LAMMPS developers are at Sandia National Labs and Temple University:
-
-Steve Plimpton, sjplimp at sandia.gov
-Aidan Thompson, athomps at sandia.gov
-Stan Moore, stamoor at sandia.gov
-Axel Kohlmeyer, akohlmey at gmail.com :ul
-
-Past primary developers include Paul Crozier and Mark Stevens,
-both at Sandia, and Ray Shan, now at Materials Design.
-
-The following folks are responsible for significant contributions to
-the code, or other aspects of the LAMMPS development effort.  Many of
-the packages they have written are somewhat unique to LAMMPS and the
-code would not be as general-purpose as it is without their expertise
-and efforts.
-
-Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM, USER-TALLY, and COMPRESS packages
-Roy Pollock (LLNL), Ewald and PPPM solvers
-Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL package
-Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential (superseded by USER-MEAMC)
-Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
-Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
-Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
-Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
-Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA (obsoleted by KOKKOS) and KOKKOS packages
-Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
-Christoph Kloss (JKU), Christoph.Kloss at jku.at, LIGGGHTS fork for granular models and granular/fluid coupling
-Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
-Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages
-Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul
-
-As discussed in "Section 13"_Section_history.html, LAMMPS
-originated as a cooperative project between DOE labs and industrial
-partners. Folks involved in the design and testing of the original
-version of LAMMPS were the following:
-
-John Carpenter (Mayo Clinic, formerly at Cray Research)
-Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
-Steve Lustig (Dupont)
-Jim Belak (LLNL) :ul
diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt
index cd445b3e14fcfc5638b711ed30c4f3c8c0493329..4176432328f0eb02cd6264576d2c770659092874 100644
--- a/doc/src/Section_start.txt
+++ b/doc/src/Section_start.txt
@@ -1,4 +1,4 @@
-"Previous Section"_Section_intro.html - "LAMMPS WWW Site"_lws -
+"Previous Section"_Intro.html - "LAMMPS WWW Site"_lws -
 "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
 Section"_Section_commands.html :c
 
@@ -934,9 +934,9 @@ Makefile.opt :ul
 
 LAMMPS can be built as either a static or shared library, which can
 then be called from another application or a scripting language.  See
-"this section"_Section_howto.html#howto_10 for more info on coupling
-LAMMPS to other codes.  See the "Python"_Python.html doc page for more
-info on wrapping and running LAMMPS from Python.
+the "Howto couple"_Howto_couple.html doc page for more info on
+coupling LAMMPS to other codes.  See the "Python"_Python.html doc page
+for more info on wrapping and running LAMMPS from Python.
 
 Static library :h4
 
@@ -1039,16 +1039,16 @@ src/library.cpp and src/library.h.
 
 See the sample codes in examples/COUPLE/simple for examples of C++ and
 C and Fortran codes that invoke LAMMPS thru its library interface.
-There are other examples as well in the COUPLE directory which are
-discussed in "Section 6.10"_Section_howto.html#howto_10 of the manual.
-See the "Python"_Python.html doc page for a description of the Python
-wrapper provided with LAMMPS that operates through the LAMMPS library
-interface.
+There are other examples as well in the COUPLE directory which use
+coupling ideas discussed on the "Howto couple"_Howto_couple.html doc
+page.  See the "Python"_Python.html doc page for a description of the
+Python wrapper provided with LAMMPS that operates through the LAMMPS
+library interface.
 
 The files src/library.cpp and library.h define the C-style API for
-using LAMMPS as a library.  See "Section
-6.19"_Section_howto.html#howto_19 of the manual for a description of the
-interface and how to extend it for your needs.
+using LAMMPS as a library.  See the "Howto library"_Howto_library.html
+doc page for a description of the interface and how to extend it for
+your needs.
 
 :line
 
@@ -1391,16 +1391,16 @@ processors in all partitions must equal P.  Thus the command
 "-partition 8x2 4 5" has 10 partitions and runs on a total of 25
 processors.
 
-Running with multiple partitions can e useful for running
-"multi-replica simulations"_Section_howto.html#howto_5, where each
-replica runs on on one or a few processors.  Note that with MPI
-installed on a machine (e.g. your desktop), you can run on more
-(virtual) processors than you have physical processors.
+Running with multiple partitions can be useful for running
+"multi-replica simulations"_Howto_replica.html, where each replica
+runs on on one or a few processors.  Note that with MPI installed on a
+machine (e.g. your desktop), you can run on more (virtual) processors
+than you have physical processors.
 
 To run multiple independent simulations from one input script, using
-multiple partitions, see "Section 6.4"_Section_howto.html#howto_4
-of the manual.  World- and universe-style "variables"_variable.html
-are useful in this context.
+multiple partitions, see the "Howto multiple"_Howto_multiple.html doc
+page.  World- and universe-style "variables"_variable.html are useful
+in this context.
 
 -plog file :pre
 
@@ -1787,11 +1787,13 @@ communication, roughly 75% in the example above.
 
 The current C++ began with a complete rewrite of LAMMPS 2001, which
 was written in F90.  Features of earlier versions of LAMMPS are listed
-in "Section 13"_Section_history.html.  The F90 and F77 versions
-(2001 and 99) are also freely distributed as open-source codes; check
-the "LAMMPS WWW Site"_lws for distribution information if you prefer
-those versions.  The 99 and 2001 versions are no longer under active
-development; they do not have all the features of C++ LAMMPS.
+on the "History page"_http://lammps.sandia.gov/history.html of the
+LAMMPS website.  The F90 and F77 versions (2001 and 99) are also
+freely distributed as open-source codes; check the "History
+page"_http://lammps.sandia.gov/history.html of the LAMMPS website for
+info about those versions.  The 99 and 2001 versions are no longer
+under active development; they do not have all the features of C++
+LAMMPS.
 
 If you are a previous user of LAMMPS 2001, these are the most
 significant changes you will notice in C++ LAMMPS:
diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt
index 1e2097ab1d9b99accb71f6bb3d7cd600f1d6e1c9..6c53d6bcf0d1d98f43c572f3964caa502b570293 100644
--- a/doc/src/Speed.txt
+++ b/doc/src/Speed.txt
@@ -1,6 +1,6 @@
 "Previous Section"_Package.html - "LAMMPS WWW Site"_lws -
 "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
-Section"_Section_howto.html :c
+Section"_Howto.html :c
 
 :link(lws,http://lammps.sandia.gov)
 :link(ld,Manual.html)
diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt
index 7165010da3bee1b7b937ceb798313f99b0c1ee7a..bf0f9ae134f73015974eeac6d8b81c809b730571 100644
--- a/doc/src/Tools.txt
+++ b/doc/src/Tools.txt
@@ -1,4 +1,4 @@
-"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS
+"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS
 Documentation"_ld - "LAMMPS Commands"_lc - "Next
 Section"_Modify.html :c
 
@@ -142,8 +142,8 @@ The syntax for running the tool is
 chain < def.chain > data.file :pre
 
 See the def.chain or def.chain.ab files in the tools directory for
-examples of definition files.  This tool was used to create the
-system for the "chain benchmark"_Section_perf.html.
+examples of definition files.  This tool was used to create the system
+for the "chain benchmark"_Speed_bench.html.
 
 :line
 
diff --git a/doc/src/angle_cosine_periodic.txt b/doc/src/angle_cosine_periodic.txt
index 4bedae324647ade4c9a7da9a718b0d79f31fa311..108b0815333dd9c2948cf4d24cc599b228815ca7 100644
--- a/doc/src/angle_cosine_periodic.txt
+++ b/doc/src/angle_cosine_periodic.txt
@@ -21,10 +21,10 @@ angle_coeff * 75.0 1 6 :pre
 [Description:]
 
 The {cosine/periodic} angle style uses the following potential, which
-is commonly used in the "DREIDING"_Section_howto.html#howto_4 force
-field, particularly for organometallic systems where {n} = 4 might be
-used for an octahedral complex and {n} = 3 might be used for a
-trigonal center:
+is commonly used in the "DREIDING"_Howto_bioFF.html force field,
+particularly for organometallic systems where {n} = 4 might be used
+for an octahedral complex and {n} = 3 might be used for a trigonal
+center:
 
 :c,image(Eqs/angle_cosine_periodic.jpg)
 
diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt
index 0e6aa8a03333c649da9c76d70119c071eb73ed53..063f9e446cd11053eccffabffa540cf5d43de2c4 100644
--- a/doc/src/atom_style.txt
+++ b/doc/src/atom_style.txt
@@ -20,7 +20,7 @@ style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
     {body} args = bstyle bstyle-args
       bstyle = style of body particles
       bstyle-args = additional arguments specific to the bstyle
-                    see the "body"_body.html doc page for details
+                    see the "Howto body"_Howto_body.html doc page for details
     {tdpd} arg = Nspecies
       Nspecies = # of chemical species
     {template} arg = template-ID
@@ -106,9 +106,9 @@ output the custom values.
 
 All of the above styles define point particles, except the {sphere},
 {ellipsoid}, {electron}, {peri}, {wavepacket}, {line}, {tri}, and
-{body} styles, which define finite-size particles.  See "Section
-6.14"_Section_howto.html#howto_14 for an overview of using finite-size
-particle models with LAMMPS.
+{body} styles, which define finite-size particles.  See the "Howto
+spherical"_Howto_spherical.html doc page for an overview of using
+finite-size particle models with LAMMPS.
 
 All of the point-particle styles assign mass to particles on a
 per-type basis, using the "mass"_mass.html command, The finite-size
@@ -224,15 +224,16 @@ the {bstyle} argument.  Body particles can represent complex entities,
 such as surface meshes of discrete points, collections of
 sub-particles, deformable objects, etc.
 
-The "body"_body.html doc page describes the body styles LAMMPS
-currently supports, and provides more details as to the kind of body
-particles they represent.  For all styles, each body particle stores
-moments of inertia and a quaternion 4-vector, so that its orientation
-and position can be time integrated due to forces and torques.
+The "Howto body"_Howto_body.html doc page describes the body styles
+LAMMPS currently supports, and provides more details as to the kind of
+body particles they represent.  For all styles, each body particle
+stores moments of inertia and a quaternion 4-vector, so that its
+orientation and position can be time integrated due to forces and
+torques.
 
 Note that there may be additional arguments required along with the
 {bstyle} specification, in the atom_style body command.  These
-arguments are described in the "body"_body.html doc page.
+arguments are described on the "Howto body"_Howto_body.html doc page.
 
 :line
 
diff --git a/doc/src/body.txt b/doc/src/body.txt
index 4a39ac25d8c2719f3c7a24ba8559439c4003c808..96aedccf4077e82c22d904aad26ff8b6ec6f2978 100644
--- a/doc/src/body.txt
+++ b/doc/src/body.txt
@@ -17,8 +17,8 @@ surface meshes of discrete points, collections of sub-particles,
 deformable objects, etc.  Note that other kinds of finite-size
 spherical and aspherical particles are also supported by LAMMPS, such
 as spheres, ellipsoids, line segments, and triangles, but they are
-simpler entities that body particles.  See "Section
-6.14"_Section_howto.html#howto_14 for a general overview of all
+simpler entities that body particles.  See the "Howto
+body"_Howto_.html doc page for a general overview of all
 these particle types.
 
 Body particles are used via the "atom_style body"_atom_style.html
@@ -151,7 +151,7 @@ center-of-mass position of the particle is specified by the x,y,z
 values in the {Atoms} section of the data file, as is the total mass
 of the body particle.
 
-The "pair_style body"_pair_body.html command can be used with this
+The "pair_style body/nparticle"_pair_body_nparticle.html command can be used with this
 body style to compute body/body and body/non-body interactions.
 
 For output purposes via the "compute
diff --git a/doc/src/boundary.txt b/doc/src/boundary.txt
index ce638f11b3ffbe871d398762df4397114f147d76..7ee897ffa497fdfbf17da0c83987a53eb5596349 100644
--- a/doc/src/boundary.txt
+++ b/doc/src/boundary.txt
@@ -82,9 +82,9 @@ and xhi faces of the box are planes tilting in the +y direction as y
 increases.  These tilted planes are shrink-wrapped around the atoms to
 determine the x extent of the box.
 
-See "Section 6.12"_Section_howto.html#howto_12 of the doc pages
-for a geometric description of triclinic boxes, as defined by LAMMPS,
-and how to transform these parameters to and from other commonly used
+See the "Howto triclinic"_Howto_triclinic.html doc page for a
+geometric description of triclinic boxes, as defined by LAMMPS, and
+how to transform these parameters to and from other commonly used
 triclinic representations.
 
 [Restrictions:]
diff --git a/doc/src/box.txt b/doc/src/box.txt
index a6207ae9937e569277a9d5a9b001493297f991dc..6dc093ad81170aae9c1f545503ddd97147024966 100644
--- a/doc/src/box.txt
+++ b/doc/src/box.txt
@@ -30,9 +30,9 @@ For triclinic (non-orthogonal) simulation boxes, the {tilt} keyword
 allows simulation domains to be created with arbitrary tilt factors,
 e.g. via the "create_box"_create_box.html or
 "read_data"_read_data.html commands.  Tilt factors determine how
-skewed the triclinic box is; see "this
-section"_Section_howto.html#howto_12 of the manual for a discussion of
-triclinic boxes in LAMMPS.
+skewed the triclinic box is; see the "Howto
+triclinic"_Howto_triclinic.html doc page for a discussion of triclinic
+boxes in LAMMPS.
 
 LAMMPS normally requires that no tilt factor can skew the box more
 than half the distance of the parallel box length, which is the 1st
diff --git a/doc/src/change_box.txt b/doc/src/change_box.txt
index 2c7a890d4cfb406abf018fb4787917f797fcc963..8f3fda263f9f3a0b24fb9647b4eeaa54185cd022 100644
--- a/doc/src/change_box.txt
+++ b/doc/src/change_box.txt
@@ -75,9 +75,9 @@ The "create_box"_create_box.html, "read data"_read_data.html, and
 simulation box is orthogonal or triclinic and their doc pages explain
 the meaning of the xy,xz,yz tilt factors.
 
-See "Section 6.12"_Section_howto.html#howto_12 of the doc pages
-for a geometric description of triclinic boxes, as defined by LAMMPS,
-and how to transform these parameters to and from other commonly used
+See the "Howto triclinic"_Howto_triclinic.html doc page for a
+geometric description of triclinic boxes, as defined by LAMMPS, and
+how to transform these parameters to and from other commonly used
 triclinic representations.
 
 The keywords used in this command are applied sequentially to the
@@ -140,8 +140,8 @@ transformation in the sequence.  If skew is exceeded before the final
 transformation this can be avoided by changing the order of the
 sequence, or breaking the transformation into two or more smaller
 transformations.  For more information on the allowed limits for box
-skew see the discussion on triclinic boxes on "this
-page"_Section_howto.html#howto_12.
+skew see the discussion on triclinic boxes on "Howto
+triclinic"_Howto_triclinic.html doc page.
 
 :line
 
@@ -258,9 +258,7 @@ command.
 :line
 
 The {ortho} and {triclinic} keywords convert the simulation box to be
-orthogonal or triclinic (non-orthogonal).  See "this
-section"_Section_howto#howto_13 for a discussion of how non-orthogonal
-boxes are represented in LAMMPS.
+orthogonal or triclinic (non-orthogonal).
 
 The simulation box is defined as either orthogonal or triclinic when
 it is created via the "create_box"_create_box.html,
@@ -271,8 +269,8 @@ These keywords allow you to toggle the existing simulation box from
 orthogonal to triclinic and vice versa.  For example, an initial
 equilibration simulation can be run in an orthogonal box, the box can
 be toggled to triclinic, and then a "non-equilibrium MD (NEMD)
-simulation"_Section_howto.html#howto_13 can be run with deformation
-via the "fix deform"_fix_deform.html command.
+simulation"_Howto_nemd.html can be run with deformation via the "fix
+deform"_fix_deform.html command.
 
 If the simulation box is currently triclinic and has non-zero tilt in
 xy, yz, or xz, then it cannot be converted to an orthogonal box.
diff --git a/doc/src/compute.txt b/doc/src/compute.txt
index 532a5414e38a4f2d3fe7b70790d048703d8987b5..105571b82acf07695c36b22f32f411ada97d695d 100644
--- a/doc/src/compute.txt
+++ b/doc/src/compute.txt
@@ -33,7 +33,7 @@ information about a previous state of the system.  Defining a compute
 does not perform a computation.  Instead computes are invoked by other
 LAMMPS commands as needed, e.g. to calculate a temperature needed for
 a thermostat fix or to generate thermodynamic or dump file output.
-See this "howto section"_Section_howto.html#howto_15 for a summary of
+See the "Howto output"_Howto_output.html doc page for a summary of
 various LAMMPS output options, many of which involve computes.
 
 The ID of a compute can only contain alphanumeric characters and
diff --git a/doc/src/compute_ackland_atom.txt b/doc/src/compute_ackland_atom.txt
index 3fd838d95775ae9e97f7ad8da792112b9890d80d..e75ad534eb869325e16e53fccaa28b6d501930d3 100644
--- a/doc/src/compute_ackland_atom.txt
+++ b/doc/src/compute_ackland_atom.txt
@@ -60,7 +60,7 @@ which computes this quantity.-
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 [Restrictions:]
diff --git a/doc/src/compute_angle.txt b/doc/src/compute_angle.txt
index 2c363ce8f63fcb4f181814399b47b1cf5f558435..1deb3a4b1b78a9df9b93210550d5633829c1d44b 100644
--- a/doc/src/compute_angle.txt
+++ b/doc/src/compute_angle.txt
@@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the
 number of sub_styles defined by the "angle_style
 hybrid"_angle_style.html command, which can be accessed by indices
 1-N.  These values can be used by any command that uses global scalar
-or vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+or vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector values are "extensive" and will be in energy
diff --git a/doc/src/compute_angle_local.txt b/doc/src/compute_angle_local.txt
index 0ee1d32d7dcf8e3611fb98a5b8f70774d8cb3334..487b41eaf3fd7e805b19dbbee74c812488600dfa 100644
--- a/doc/src/compute_angle_local.txt
+++ b/doc/src/compute_angle_local.txt
@@ -70,8 +70,8 @@ array is the number of angles.  If a single keyword is specified, a
 local vector is produced.  If two or more keywords are specified, a
 local array is produced where the number of columns = the number of
 keywords.  The vector or array can be accessed by any command that
-uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses local values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The output for {theta} will be in degrees.  The output for {eng} will
diff --git a/doc/src/compute_angmom_chunk.txt b/doc/src/compute_angmom_chunk.txt
index 813da15eeadeed76c43a5f933f52e272d9653cbc..c97af96f49c756692368f3db73eaa8b6053efc3e 100644
--- a/doc/src/compute_angmom_chunk.txt
+++ b/doc/src/compute_angmom_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the 3 components of the angular momentum
 vector for each chunk, due to the velocity/momentum of the individual
@@ -73,8 +72,8 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 3 for the 3 xyz components of the angular momentum for each chunk.
 These values can be accessed by any command that uses global array
-values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_basal_atom.txt b/doc/src/compute_basal_atom.txt
index b59a3fd4c878789dfd13c3e60a40ef0fb682ec96..e0ac6b0a604d2e6a1ea0d8f16351192712e43b75 100644
--- a/doc/src/compute_basal_atom.txt
+++ b/doc/src/compute_basal_atom.txt
@@ -46,9 +46,8 @@ in examples/USER/misc/basal.
 
 This compute calculates a per-atom array with 3 columns, which can be
 accessed by indices 1-3 by any command that uses per-atom values from
-a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+a compute as input.  See the "Howto output"_Howto_output.html doc page
+for an overview of LAMMPS output options.
 
 The per-atom vector values are unitless since the 3 columns represent
 components of a unit vector.
diff --git a/doc/src/compute_body_local.txt b/doc/src/compute_body_local.txt
index 12ce21885356da3541d1d3f2c9a0fcf23f35f198..f387e61c78c8959f2979ef2ad1025d63a790f633 100644
--- a/doc/src/compute_body_local.txt
+++ b/doc/src/compute_body_local.txt
@@ -32,9 +32,8 @@ Define a computation that calculates properties of individual body
 sub-particles.  The number of datums generated, aggregated across all
 processors, equals the number of body sub-particles plus the number of
 non-body particles in the system, modified by the group parameter as
-explained below.  See "Section 6.14"_Section_howto.html#howto_14
-of the manual and the "body"_body.html doc page for more details on
-using body particles.
+explained below.  See the "Howto body"_Howto_body.html doc page for
+more details on using body particles.
 
 The local data stored by this command is generated by looping over all
 the atoms.  An atom will only be included if it is in the group.  If
@@ -58,8 +57,8 @@ group.
 For a body particle, the {integer} keywords refer to fields calculated
 by the body style for each sub-particle.  The body style, as specified
 by the "atom_style body"_atom_style.html, determines how many fields
-exist and what they are.  See the "body"_body.html doc page for
-details of the different styles.
+exist and what they are.  See the "Howto_body"_Howto_body.html doc
+page for details of the different styles.
 
 Here is an example of how to output body information using the "dump
 local"_dump.html command with this compute.  If fields 1,2,3 for the
@@ -78,9 +77,9 @@ array is the number of datums as described above.  If a single keyword
 is specified, a local vector is produced.  If two or more keywords are
 specified, a local array is produced where the number of columns = the
 number of keywords.  The vector or array can be accessed by any
-command that uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+command that uses local values from a compute as input.  See the
+"Howto output"_Howto_output.html doc page for an overview of LAMMPS
+output options.
 
 The "units"_units.html for output values depend on the body style.
 
diff --git a/doc/src/compute_bond.txt b/doc/src/compute_bond.txt
index 6c4384b0806c7436f9384fe9d043c3fd9cb33c51..ac0e50872bb41f2a7cc4d0d275f467be88665113 100644
--- a/doc/src/compute_bond.txt
+++ b/doc/src/compute_bond.txt
@@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the
 number of sub_styles defined by the "bond_style
 hybrid"_bond_style.html command, which can be accessed by indices 1-N.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector values are "extensive" and will be in energy
diff --git a/doc/src/compute_bond_local.txt b/doc/src/compute_bond_local.txt
index 58d96f9ee4951f4517809a2e49f2fd6171941a16..868b43caa9327dd4b0e8adcd02b0d6e9631ecec3 100644
--- a/doc/src/compute_bond_local.txt
+++ b/doc/src/compute_bond_local.txt
@@ -116,8 +116,8 @@ array is the number of bonds.  If a single keyword is specified, a
 local vector is produced.  If two or more keywords are specified, a
 local array is produced where the number of columns = the number of
 keywords.  The vector or array can be accessed by any command that
-uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses local values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The output for {dist} will be in distance "units"_units.html. The
diff --git a/doc/src/compute_centro_atom.txt b/doc/src/compute_centro_atom.txt
index 4e4b03d16762c97eb44fb010f131d63ab0d1fd4f..bace0d873995be48ce5bb6172a9dcbac541d423c 100644
--- a/doc/src/compute_centro_atom.txt
+++ b/doc/src/compute_centro_atom.txt
@@ -97,8 +97,8 @@ too frequently or to have multiple compute/dump commands, each with a
 
 By default, this compute calculates the centrosymmetry value for each
 atom as a per-atom vector, which can be accessed by any command that
-uses per-atom values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses per-atom values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 If the {axes} keyword setting is {yes}, then a per-atom array is
diff --git a/doc/src/compute_chunk_atom.txt b/doc/src/compute_chunk_atom.txt
index 00a75f50c439ad4f0896d9e654f332057eacdb02..fc0de28b6a46041d241d275a01e7c5e6351ddffa 100644
--- a/doc/src/compute_chunk_atom.txt
+++ b/doc/src/compute_chunk_atom.txt
@@ -101,14 +101,13 @@ msd/chunk"_compute_msd_chunk.html.  Or they can be used by the "fix
 ave/chunk"_fix_ave_chunk.html command to sum and time average a
 variety of per-atom properties over the atoms in each chunk.  Or they
 can simply be accessed by any command that uses per-atom values from a
-compute as input, as discussed in "Section
-6.15"_Section_howto.html#howto_15.
+compute as input, as discussed on the "Howto output"_Howto_output.html
+doc page.
 
-See "Section 6.23"_Section_howto.html#howto_23 for an overview of
-how this compute can be used with a variety of other commands to
-tabulate properties of a simulation.  The howto section gives several
-examples of input script commands that can be used to calculate
-interesting properties.
+See the "Howto chunk"_Howto_chunk.html doc page for an overview of how
+this compute can be used with a variety of other commands to tabulate
+properties of a simulation.  The page gives several examples of input
+script commands that can be used to calculate interesting properties.
 
 Conceptually it is important to realize that this compute does two
 simple things.  First, it sets the value of {Nchunk} = the number of
@@ -167,11 +166,11 @@ or the bounds specified by the optional {bounds} keyword.
 For orthogonal simulation boxes, the bins are layers, pencils, or
 boxes aligned with the xyz coordinate axes.  For triclinic
 (non-orthogonal) simulation boxes, the bin faces are parallel to the
-tilted faces of the simulation box.  See "this
-section"_Section_howto.html#howto_12 of the manual for a discussion of
-the geometry of triclinic boxes in LAMMPS.  As described there, a
-tilted simulation box has edge vectors a,b,c.  In that nomenclature,
-bins in the x dimension have faces with normals in the "b" cross "c"
+tilted faces of the simulation box.  See the "Howto
+triclinic"_Howto_triclinic.html doc page for a discussion of the
+geometry of triclinic boxes in LAMMPS.  As described there, a tilted
+simulation box has edge vectors a,b,c.  In that nomenclature, bins in
+the x dimension have faces with normals in the "b" cross "c"
 direction.  Bins in y have faces normal to the "a" cross "c"
 direction.  And bins in z have faces normal to the "a" cross "b"
 direction.  Note that in order to define the size and position of
@@ -626,7 +625,7 @@ cylinder, x for a y-axis cylinder, and x for a z-axis cylinder.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values are unitless chunk IDs, ranging from 1 to
diff --git a/doc/src/compute_cluster_atom.txt b/doc/src/compute_cluster_atom.txt
index 94113de5f2422a2628acc9f5bcb22a4940eefe21..12ecb8f173edcf1a53dbcadd1105fb22d14c0ecb 100644
--- a/doc/src/compute_cluster_atom.txt
+++ b/doc/src/compute_cluster_atom.txt
@@ -84,7 +84,7 @@ the neighbor list.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be an ID > 0, as explained above.
diff --git a/doc/src/compute_cna_atom.txt b/doc/src/compute_cna_atom.txt
index 23289b01325b4afac23c938788a8ef1e775ecc59..9c4814560d435f82fcd4794ad7b0f33c40609046 100644
--- a/doc/src/compute_cna_atom.txt
+++ b/doc/src/compute_cna_atom.txt
@@ -74,7 +74,7 @@ too frequently or to have multiple compute/dump commands, each with a
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be a number from 0 to 5, as explained
diff --git a/doc/src/compute_cnp_atom.txt b/doc/src/compute_cnp_atom.txt
index 16a51f5241f16ee058553a6e4634ec578219712c..aca7e351ec78d5224a84ba293d514afd493bef84 100644
--- a/doc/src/compute_cnp_atom.txt
+++ b/doc/src/compute_cnp_atom.txt
@@ -78,7 +78,7 @@ too frequently or to have multiple compute/dump commands, each with a
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be real positive numbers. Some typical CNP
diff --git a/doc/src/compute_com.txt b/doc/src/compute_com.txt
index b0e0c14e424ae0de3d043c2686bbc19be9e938f0..08bb08b1425af6d5d95d289def94f2c3cefeec9a 100644
--- a/doc/src/compute_com.txt
+++ b/doc/src/compute_com.txt
@@ -41,9 +41,8 @@ image"_set.html command.
 
 This compute calculates a global vector of length 3, which can be
 accessed by indices 1-3 by any command that uses global vector values
-from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The vector values are "intensive".  The vector values will be in
 distance "units"_units.html.
diff --git a/doc/src/compute_com_chunk.txt b/doc/src/compute_com_chunk.txt
index d497585cb036455b2cf199b6bc1098e34077b16e..f28355d6c5d8bf44fb85279727ce342710978c6c 100644
--- a/doc/src/compute_com_chunk.txt
+++ b/doc/src/compute_com_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the x,y,z coordinates of the center-of-mass
 for each chunk, which includes all effects due to atoms passing thru
@@ -71,9 +70,8 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 3 for the x,y,z center-of-mass coordinates of each chunk.  These
 values can be accessed by any command that uses global array values
-from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The array values are "intensive".  The array values will be in
 distance "units"_units.html.
diff --git a/doc/src/compute_contact_atom.txt b/doc/src/compute_contact_atom.txt
index f0bd62f4e87b9b5b1bfc85693ba0a028f95435ff..ea4158e3b116749051040e70c960d45e3e53c348 100644
--- a/doc/src/compute_contact_atom.txt
+++ b/doc/src/compute_contact_atom.txt
@@ -36,7 +36,7 @@ specified compute group.
 
 This compute calculates a per-atom vector, whose values can be
 accessed by any command that uses per-atom values from a compute as
-input.  See "Section 6.15"_Section_howto.html#howto_15 for an
+input.  See the "Howto output"_Howto_output.html doc page for an
 overview of LAMMPS output options.
 
 The per-atom vector values will be a number >= 0.0, as explained
diff --git a/doc/src/compute_coord_atom.txt b/doc/src/compute_coord_atom.txt
index a88f7ec729298c45b534ff8799d6c58896fbb793..06b565aedc9933ad864c9f4aca9c0f56c0d7bdb7 100644
--- a/doc/src/compute_coord_atom.txt
+++ b/doc/src/compute_coord_atom.txt
@@ -109,9 +109,8 @@ array, with N columns.
 For {cstyle} orientorder, this compute calculates a per-atom vector.
 
 These values can be accessed by any command that uses per-atom values
-from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The per-atom vector or array values will be a number >= 0.0, as
 explained above.
diff --git a/doc/src/compute_damage_atom.txt b/doc/src/compute_damage_atom.txt
index 918fbf65eff0c4172e92a8d551ce74e1a9f59cd1..e262ee0b1f0592cbc2b9225ef62433ac39b81919 100644
--- a/doc/src/compute_damage_atom.txt
+++ b/doc/src/compute_damage_atom.txt
@@ -44,7 +44,7 @@ group.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values are unitless numbers (damage) >= 0.0.
diff --git a/doc/src/compute_dihedral.txt b/doc/src/compute_dihedral.txt
index a3c3dff8d68f0bb2c36d6461ceb42d6f85fd238d..67c97b60f10bc1a57875caee57e1f18df4e4c995 100644
--- a/doc/src/compute_dihedral.txt
+++ b/doc/src/compute_dihedral.txt
@@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the
 number of sub_styles defined by the "dihedral_style
 hybrid"_dihedral_style.html command.  which can be accessed by indices
 1-N.  These values can be used by any command that uses global scalar
-or vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+or vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector values are "extensive" and will be in energy
diff --git a/doc/src/compute_dihedral_local.txt b/doc/src/compute_dihedral_local.txt
index 865e86fddb1483ccf7a3b1c3d79fec912b90ea04..d2051a51bd4e54f1ff107368e3f38e87650b47c0 100644
--- a/doc/src/compute_dihedral_local.txt
+++ b/doc/src/compute_dihedral_local.txt
@@ -62,8 +62,8 @@ array is the number of dihedrals.  If a single keyword is specified, a
 local vector is produced.  If two or more keywords are specified, a
 local array is produced where the number of columns = the number of
 keywords.  The vector or array can be accessed by any command that
-uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses local values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The output for {phi} will be in degrees.
diff --git a/doc/src/compute_dilatation_atom.txt b/doc/src/compute_dilatation_atom.txt
index ce00f7f12a5b9daae8a2b9ce9ae07a03188c41b4..161e73c7ffe14568cfbe831090ae7fc11027b996 100644
--- a/doc/src/compute_dilatation_atom.txt
+++ b/doc/src/compute_dilatation_atom.txt
@@ -47,8 +47,9 @@ compute group.
 [Output info:]
 
 This compute calculates a per-atom vector, which can be accessed by
-any command that uses per-atom values from a compute as input. See
-Section_howto 15 for an overview of LAMMPS output options.
+any command that uses per-atom values from a compute as input.  See
+the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-atom vector values are unitless numbers (theta) >= 0.0.
 
diff --git a/doc/src/compute_dipole_chunk.txt b/doc/src/compute_dipole_chunk.txt
index 75131ffbb113ad75802e88afb59c36f07f160ab5..5f8d6689c4fe02be20e4fbbb769d700d040fcea8 100644
--- a/doc/src/compute_dipole_chunk.txt
+++ b/doc/src/compute_dipole_chunk.txt
@@ -32,10 +32,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the x,y,z coordinates of the dipole vector
 and the total dipole moment for each chunk, which includes all effects
@@ -76,8 +75,8 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 4 for the x,y,z dipole vector components and the total dipole of each
 chunk. These values can be accessed by any command that uses global
-array values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+array values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_displace_atom.txt b/doc/src/compute_displace_atom.txt
index 00e5f696c118029431bf5a36395bcd906fe432ee..5636cc02f04da1a310a007d505e24245f69db40a 100644
--- a/doc/src/compute_displace_atom.txt
+++ b/doc/src/compute_displace_atom.txt
@@ -118,9 +118,8 @@ would be empty.
 
 This compute calculates a per-atom array with 4 columns, which can be
 accessed by indices 1-4 by any command that uses per-atom values from
-a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+a compute as input.  See the "Howto output"_Howto_output.html doc page
+for an overview of LAMMPS output options.
 
 The per-atom array values will be in distance "units"_units.html.
 
diff --git a/doc/src/compute_dpd.txt b/doc/src/compute_dpd.txt
index 0e43feb9d23195bced66f17990bd42022b86c1ee..a5620d34b341fb9cc8f198d424e1db0a8bb40f49 100644
--- a/doc/src/compute_dpd.txt
+++ b/doc/src/compute_dpd.txt
@@ -40,9 +40,9 @@ where N is the number of particles in the system
 [Output info:]
 
 This compute calculates a global vector of length 5 (U_cond, U_mech,
-U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5.  See
-"this section"_Section_howto.html#howto_15 for an overview of LAMMPS
-output options.
+U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The vector values will be in energy and temperature "units"_units.html.
 
diff --git a/doc/src/compute_dpd_atom.txt b/doc/src/compute_dpd_atom.txt
index 0532fc60c64193f977ce7d74e84768709d6502cf..ed0fd2410b97d65da7ee518789c2a5bd1bd1fcd6 100644
--- a/doc/src/compute_dpd_atom.txt
+++ b/doc/src/compute_dpd_atom.txt
@@ -34,9 +34,9 @@ particles.
 [Output info:]
 
 This compute calculates a per-particle array with 4 columns (u_cond,
-u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any command
-that uses per-particle values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any
+command that uses per-particle values from a compute as input.  See
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-particle array values will be in energy (u_cond, u_mech, u_chem)
diff --git a/doc/src/compute_edpd_temp_atom.txt b/doc/src/compute_edpd_temp_atom.txt
index 5b8c8ebd67c371c20deb465941d4007008c60b35..9011c3c82307978bda77ef0e4fe4b4417c2bdbbf 100644
--- a/doc/src/compute_edpd_temp_atom.txt
+++ b/doc/src/compute_edpd_temp_atom.txt
@@ -32,9 +32,9 @@ For more details please see "(Espanol1997)"_#Espanol1997 and
 [Output info:]
 
 This compute calculates a per-atom vector, which can be accessed by
-any command that uses per-atom values from a compute as input. See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
-LAMMPS output options.
+any command that uses per-atom values from a compute as input. See the
+"Howto output"_Howto_output.html doc page for an overview of LAMMPS
+output options.
 
 The per-atom vector values will be in temperature "units"_units.html.
 
diff --git a/doc/src/compute_entropy_atom.txt b/doc/src/compute_entropy_atom.txt
index f7e7b8a66764427cd117c4305920d457efbd7e2b..7fdc1f4af25cdf28c771b54d8299671178210253 100644
--- a/doc/src/compute_entropy_atom.txt
+++ b/doc/src/compute_entropy_atom.txt
@@ -98,8 +98,8 @@ compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 :pre
 
 By default, this compute calculates the pair entropy value for each
 atom as a per-atom vector, which can be accessed by any command that
-uses per-atom values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses per-atom values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The pair entropy values have units of the Boltzmann constant. They are 
diff --git a/doc/src/compute_erotate_asphere.txt b/doc/src/compute_erotate_asphere.txt
index b9a486c32eab61c8399328e028d7eb6d59cdaa1c..24e6e5e6f77c69a8cf2ad58d96d6ca070869dcac 100644
--- a/doc/src/compute_erotate_asphere.txt
+++ b/doc/src/compute_erotate_asphere.txt
@@ -40,7 +40,7 @@ will be the same as in 3d.
 
 This compute calculates a global scalar (the KE).  This value can be
 used by any command that uses a global scalar value from a compute as
-input.  See "Section 6.15"_Section_howto.html#howto_15 for an
+input.  See the "Howto output"_Howto_output.html doc page for an
 overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "extensive".  The
diff --git a/doc/src/compute_erotate_rigid.txt b/doc/src/compute_erotate_rigid.txt
index dec0939a43375ebb3f082634f0d11e64b508b46c..c8527d7073e5adec553e0864c0961eb18caf9123 100644
--- a/doc/src/compute_erotate_rigid.txt
+++ b/doc/src/compute_erotate_rigid.txt
@@ -41,9 +41,9 @@ calculation.
 
 This compute calculates a global scalar (the summed rotational energy
 of all the rigid bodies).  This value can be used by any command that
-uses a global scalar value from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
-LAMMPS output options.
+uses a global scalar value from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
+options.
 
 The scalar value calculated by this compute is "extensive".  The
 scalar value will be in energy "units"_units.html.
diff --git a/doc/src/compute_erotate_sphere.txt b/doc/src/compute_erotate_sphere.txt
index 41e80b0154dad4d1a073b9fdb4674365e0fe1033..8abc9a53ad7ff98f0b8908f562a3aacdf1ad0912 100644
--- a/doc/src/compute_erotate_sphere.txt
+++ b/doc/src/compute_erotate_sphere.txt
@@ -35,7 +35,7 @@ as in 3d.
 
 This compute calculates a global scalar (the KE).  This value can be
 used by any command that uses a global scalar value from a compute as
-input.  See "Section 6.15"_Section_howto.html#howto_15 for an
+input.  See the "Howto output"_Howto_output.html doc page for an
 overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "extensive".  The
diff --git a/doc/src/compute_erotate_sphere_atom.txt b/doc/src/compute_erotate_sphere_atom.txt
index a0081ff6a8cb8bc26106809817a108091026741e..0bea315a89f631657841a1723daf4d5d720c64b0 100644
--- a/doc/src/compute_erotate_sphere_atom.txt
+++ b/doc/src/compute_erotate_sphere_atom.txt
@@ -39,7 +39,7 @@ in the specified compute group or for point particles with a radius =
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be in energy "units"_units.html.
diff --git a/doc/src/compute_event_displace.txt b/doc/src/compute_event_displace.txt
index 5e3a0c8599d533af3313cbe711c5d64ab77c680d..17c42889112ac692769fe7fc938a0c8d7c63c35f 100644
--- a/doc/src/compute_event_displace.txt
+++ b/doc/src/compute_event_displace.txt
@@ -43,7 +43,7 @@ local atom displacements and may generate "false positives."
 
 This compute calculates a global scalar (the flag).  This value can be
 used by any command that uses a global scalar value from a compute as
-input.  See "Section 6.15"_Section_howto.html#howto_15 for an
+input.  See the "Howto output"_Howto_output.html doc page for an
 overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_fep.txt b/doc/src/compute_fep.txt
index 9bbae7b20f1c835c67d7808867d4a398a79b4541..f0ce3fd704c696d4c6e9f8748b3a94bb61b22ca9 100644
--- a/doc/src/compute_fep.txt
+++ b/doc/src/compute_fep.txt
@@ -219,8 +219,8 @@ unperturbed parameters. The energies include kspace terms if these
 are used in the simulation.
 
 These output results can be used by any command that uses a global
-scalar or vector from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+scalar or vector from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options. For example, the computed values can be averaged using "fix
 ave/time"_fix_ave_time.html.
 
diff --git a/doc/src/compute_global_atom.txt b/doc/src/compute_global_atom.txt
index 28b4aa2461b9be2841c5a8cb1253228ab922a5b3..f40810b70c97d4620b2a2832d7c5d58f2c994d72 100644
--- a/doc/src/compute_global_atom.txt
+++ b/doc/src/compute_global_atom.txt
@@ -67,7 +67,7 @@ this command.  This command will then assign the global chunk value to
 each atom in the chunk, producing a per-atom vector or per-atom array
 as output.  The per-atom values can then be output to a dump file or
 used by any command that uses per-atom values from a compute as input,
-as discussed in "Section 6.15"_Section_howto.html#howto_15.
+as discussed on the "Howto output"_Howto_output.html doc page.
 
 As a concrete example, these commands will calculate the displacement
 of each atom from the center-of-mass of the molecule it is in, and
@@ -203,7 +203,7 @@ vector.  If multiple inputs are specified, this compute produces a
 per-atom array values, where the number of columns is equal to the
 number of inputs specified.  These values can be used by any command
 that uses per-atom vector or array values from a compute as input.
-See "Section 6.15"_Section_howto.html#howto_15 for an overview of
+See the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector or array values will be in whatever units the
diff --git a/doc/src/compute_group_group.txt b/doc/src/compute_group_group.txt
index f10547339d476eb44866be4dd596fd67b4657520..8f992791d2c4728106b4dc174ecddf4a07abab9a 100644
--- a/doc/src/compute_group_group.txt
+++ b/doc/src/compute_group_group.txt
@@ -123,8 +123,8 @@ group-group calculations are performed.
 This compute calculates a global scalar (the energy) and a global
 vector of length 3 (force), which can be accessed by indices 1-3.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 Both the scalar and vector values calculated by this compute are
diff --git a/doc/src/compute_gyration.txt b/doc/src/compute_gyration.txt
index dd71431527f6f985b4d0e64acb85d46881134390..3d698609cab07ac165323df62862233bad29b0c2 100644
--- a/doc/src/compute_gyration.txt
+++ b/doc/src/compute_gyration.txt
@@ -55,8 +55,8 @@ using the "set image"_set.html command.
 This compute calculates a global scalar (Rg) and a global vector of
 length 6 (Rg^2 tensor), which can be accessed by indices 1-6.  These
 values can be used by any command that uses a global scalar value or
-vector values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar and vector values calculated by this compute are
diff --git a/doc/src/compute_gyration_chunk.txt b/doc/src/compute_gyration_chunk.txt
index 3e338213cf579f317e773374183b115bd327d697..ef14a456f3f6a7040f6f055976df325c248e1e29 100644
--- a/doc/src/compute_gyration_chunk.txt
+++ b/doc/src/compute_gyration_chunk.txt
@@ -35,10 +35,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the radius of gyration Rg for each chunk,
 which includes all effects due to atoms passing thru periodic
@@ -93,8 +92,8 @@ calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  If the {tensor} keyword
 is specified, the global array has 6 columns.  The vector or array can
 be accessed by any command that uses global values from a compute as
-input.  See "this section"_Section_howto.html#howto_15 for an overview
-of LAMMPS output options.
+input.  See the "Howto output"_Howto_output.html doc page for an
+overview of LAMMPS output options.
 
 All the vector or array values calculated by this compute are
 "intensive".  The vector or array values will be in distance
diff --git a/doc/src/compute_heat_flux.txt b/doc/src/compute_heat_flux.txt
index 39a1470201fc3f6705ee222e9719261aeae5dd4f..84c49513281cc900aa3bf7c91233f8ad0684b469 100644
--- a/doc/src/compute_heat_flux.txt
+++ b/doc/src/compute_heat_flux.txt
@@ -32,9 +32,9 @@ or to calculate a thermal conductivity using the equilibrium
 Green-Kubo formalism.
 
 For other non-equilibrium ways to compute a thermal conductivity, see
-"this section"_Section_howto.html#howto_20.  These include use of the
-"fix thermal/conductivity"_fix_thermal_conductivity.html command for
-the Muller-Plathe method.  Or the "fix heat"_fix_heat.html command
+the "Howto kappa"_Howto_kappa.html doc page..  These include use of
+the "fix thermal/conductivity"_fix_thermal_conductivity.html command
+for the Muller-Plathe method.  Or the "fix heat"_fix_heat.html command
 which can add or subtract heat from groups of atoms.
 
 The compute takes three arguments which are IDs of other
@@ -99,8 +99,8 @@ result should be: average conductivity ~0.29 in W/mK.
 This compute calculates a global vector of length 6 (total heat flux
 vector, followed by convective heat flux vector), which can be
 accessed by indices 1-6.  These values can be used by any command that
-uses global vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses global vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector values calculated by this compute are "extensive", meaning
diff --git a/doc/src/compute_hexorder_atom.txt b/doc/src/compute_hexorder_atom.txt
index cdf47e0894aeffffb7d4a83da178ee328a8d1eb2..1ab40b513c02955a3ccf224a574efaa0151dde42 100644
--- a/doc/src/compute_hexorder_atom.txt
+++ b/doc/src/compute_hexorder_atom.txt
@@ -95,10 +95,9 @@ This compute calculates a per-atom array with 2 columns, giving the
 real and imaginary parts {qn}, a complex number restricted to the
 unit disk of the complex plane i.e. Re({qn})^2 + Im({qn})^2 <= 1 .
 
-These values can be accessed by any command that uses
-per-atom values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+These values can be accessed by any command that uses per-atom values
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 [Restrictions:] none
 
diff --git a/doc/src/compute_improper.txt b/doc/src/compute_improper.txt
index f0d2fa400e634ad40eccda5999f0bded55467eaf..61c4f6cd2907a14fa444e02d53e3029eabeb92f1 100644
--- a/doc/src/compute_improper.txt
+++ b/doc/src/compute_improper.txt
@@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the
 number of sub_styles defined by the "improper_style
 hybrid"_improper_style.html command.  which can be accessed by indices
 1-N.  These values can be used by any command that uses global scalar
-or vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+or vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector values are "extensive" and will be in energy
diff --git a/doc/src/compute_improper_local.txt b/doc/src/compute_improper_local.txt
index 0c289fbf0774fde0651d77d6a27b209621b5388e..2aec554d2f81f1c8e48c6cdae72d4a6cebf24275 100644
--- a/doc/src/compute_improper_local.txt
+++ b/doc/src/compute_improper_local.txt
@@ -63,8 +63,8 @@ array is the number of impropers.  If a single keyword is specified, a
 local vector is produced.  If two or more keywords are specified, a
 local array is produced where the number of columns = the number of
 keywords.  The vector or array can be accessed by any command that
-uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses local values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The output for {chi} will be in degrees.
diff --git a/doc/src/compute_inertia_chunk.txt b/doc/src/compute_inertia_chunk.txt
index b0dbb12aea8d5e7e1e5d982f0d4d656b9d0c2ffb..3edd25d69b3e43886b4cf6c696e33655976cafc8 100644
--- a/doc/src/compute_inertia_chunk.txt
+++ b/doc/src/compute_inertia_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the 6 components of the symmetric inertia
 tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz.  The
@@ -72,8 +71,8 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 6 for the 6 components of the inertia tensor for each chunk, ordered
 as listed above.  These values can be accessed by any command that
-uses global array values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses global array values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_ke.txt b/doc/src/compute_ke.txt
index caee8971627231b080a680612017df790ef292df..d6f4e1b709ddf14ccda61ba8bc83d4bef09fc4f8 100644
--- a/doc/src/compute_ke.txt
+++ b/doc/src/compute_ke.txt
@@ -44,7 +44,7 @@ include different degrees of freedom (translational, rotational, etc).
 
 This compute calculates a global scalar (the summed KE).  This value
 can be used by any command that uses a global scalar value from a
-compute as input.  See "Section 6.15"_Section_howto.html#howto_15
+compute as input.  See the "Howto output"_Howto_output.html doc page
 for an overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "extensive".  The
diff --git a/doc/src/compute_ke_atom.txt b/doc/src/compute_ke_atom.txt
index f5431f0569fe48e82ec9ebbb48f77d3f9e1d7f17..e0e96a80d85dc459c7fa232d1e190337e292ea92 100644
--- a/doc/src/compute_ke_atom.txt
+++ b/doc/src/compute_ke_atom.txt
@@ -34,7 +34,7 @@ specified compute group.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be in energy "units"_units.html.
diff --git a/doc/src/compute_ke_atom_eff.txt b/doc/src/compute_ke_atom_eff.txt
index 8228e13f07c697e32cf678c3e381082d21a653ea..aa188a411b5ba96f325c48304d06638830dab11c 100644
--- a/doc/src/compute_ke_atom_eff.txt
+++ b/doc/src/compute_ke_atom_eff.txt
@@ -57,9 +57,9 @@ electrons) not in the specified compute group.
 [Output info:]
 
 This compute calculates a scalar quantity for each atom, which can be
-accessed by any command that uses per-atom computes as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
-LAMMPS output options.
+accessed by any command that uses per-atom computes as input.  See the
+"Howto output"_Howto_output.html doc page for an overview of LAMMPS
+output options.
 
 The per-atom vector values will be in energy "units"_units.html.
 
diff --git a/doc/src/compute_ke_eff.txt b/doc/src/compute_ke_eff.txt
index ac8d7e6c01d48b723484e9ff7ab7959e7b97b9e0..334b4121ed4823e7a292c346ed1603a3b8ecafa8 100644
--- a/doc/src/compute_ke_eff.txt
+++ b/doc/src/compute_ke_eff.txt
@@ -61,7 +61,7 @@ See "compute temp/eff"_compute_temp_eff.html.
 
 This compute calculates a global scalar (the KE).  This value can be
 used by any command that uses a global scalar value from a compute as
-input.  See "Section 6.15"_Section_howto.html#howto_15 for an
+input.  See the "Howto output"_Howto_output.html doc page for an
 overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "extensive".  The
diff --git a/doc/src/compute_ke_rigid.txt b/doc/src/compute_ke_rigid.txt
index f79696a77a1fe3692fad26fadbca9f47f765612e..69cf4a598ec988dd0ef1b02d0b0ad376b146c244 100644
--- a/doc/src/compute_ke_rigid.txt
+++ b/doc/src/compute_ke_rigid.txt
@@ -40,8 +40,8 @@ calculation.
 
 This compute calculates a global scalar (the summed KE of all the
 rigid bodies).  This value can be used by any command that uses a
-global scalar value from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+global scalar value from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "extensive".  The
diff --git a/doc/src/compute_meso_e_atom.txt b/doc/src/compute_meso_e_atom.txt
index 4e621b43018137817134f567efc0c550574e5737..70a89693860d6d24a4c4f1fd5b40b320b8097b57 100644
--- a/doc/src/compute_meso_e_atom.txt
+++ b/doc/src/compute_meso_e_atom.txt
@@ -38,7 +38,7 @@ specified compute group.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be in energy "units"_units.html.
diff --git a/doc/src/compute_meso_rho_atom.txt b/doc/src/compute_meso_rho_atom.txt
index a017424dd01f0314e5155ac59e5b3dc50c652630..912587f4a2065b509113306ffede0002eaa28ce0 100644
--- a/doc/src/compute_meso_rho_atom.txt
+++ b/doc/src/compute_meso_rho_atom.txt
@@ -38,7 +38,7 @@ specified compute group.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be in mass/volume "units"_units.html.
diff --git a/doc/src/compute_meso_t_atom.txt b/doc/src/compute_meso_t_atom.txt
index 9e81b038f452c901aeb5dc3d0747e4df6cafd215..c9db9bf50ed554005d025a87b5b16aae98719336 100644
--- a/doc/src/compute_meso_t_atom.txt
+++ b/doc/src/compute_meso_t_atom.txt
@@ -40,7 +40,7 @@ specified compute group.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be in temperature "units"_units.html.
diff --git a/doc/src/compute_msd.txt b/doc/src/compute_msd.txt
index f806c5e29266752bae1859a33bcf8eb1101eb99c..742f7ce11311805f0b7770974c27956bf077141e 100644
--- a/doc/src/compute_msd.txt
+++ b/doc/src/compute_msd.txt
@@ -93,9 +93,8 @@ instead of many, which will change the values of msd somewhat.
 
 This compute calculates a global vector of length 4, which can be
 accessed by indices 1-4 by any command that uses global vector values
-from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The vector values are "intensive".  The vector values will be in
 distance^2 "units"_units.html.
diff --git a/doc/src/compute_msd_chunk.txt b/doc/src/compute_msd_chunk.txt
index 7f31b61ed0bda808a94a5a45e3c4d165f4e3c1cf..3e1d8542ae934cbdc2cb86d05efc8a6ca3a34090 100644
--- a/doc/src/compute_msd_chunk.txt
+++ b/doc/src/compute_msd_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 Four quantities are calculated by this compute for each chunk.  The
 first 3 quantities are the squared dx,dy,dz displacements of the
@@ -106,7 +105,7 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 4 for dx,dy,dz and the total displacement.  These values can be
 accessed by any command that uses global array values from a compute
-as input.  See "this section"_Section_howto.html#howto_15 for an
+as input.  See the "Howto output"_Howto_output.html doc page for an
 overview of LAMMPS output options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_msd_nongauss.txt b/doc/src/compute_msd_nongauss.txt
index 198da999e0a3c36af28e45f173dc9683aca3aa50..db8788db0bba35babf382f2c1d71239e4e7eab01 100644
--- a/doc/src/compute_msd_nongauss.txt
+++ b/doc/src/compute_msd_nongauss.txt
@@ -57,9 +57,8 @@ NOTEs, which also apply to this compute.
 
 This compute calculates a global vector of length 3, which can be
 accessed by indices 1-3 by any command that uses global vector values
-from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The vector values are "intensive".  The first vector value will be in
 distance^2 "units"_units.html, the second is in distance^4 units, and
diff --git a/doc/src/compute_omega_chunk.txt b/doc/src/compute_omega_chunk.txt
index 46c72d3dcb3d15aed65805003bd419b30d098fb2..4a7a996d1db60d539fc8359ee69c4127d378a07b 100644
--- a/doc/src/compute_omega_chunk.txt
+++ b/doc/src/compute_omega_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the 3 components of the angular velocity
 vector for each chunk, via the formula L = Iw where L is the angular
@@ -73,8 +72,8 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 3 for the 3 xyz components of the angular velocity for each chunk.
 These values can be accessed by any command that uses global array
-values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_orientorder_atom.txt b/doc/src/compute_orientorder_atom.txt
index adf11dcfcfa9822f4c736f1cb7203ca0e02c446c..a8b400801285542c5bf2ca69c2f1d73bb04824ac 100644
--- a/doc/src/compute_orientorder_atom.txt
+++ b/doc/src/compute_orientorder_atom.txt
@@ -115,10 +115,9 @@ Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}).  This
 way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1)
 columns.
 
-These values can be accessed by any command that uses
-per-atom values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+These values can be accessed by any command that uses per-atom values
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 [Restrictions:] none
 
diff --git a/doc/src/compute_pair.txt b/doc/src/compute_pair.txt
index 0602dab81bd5902838a01d52432a881db684f710..be40d7a5503b1bb1cf92ecd8d099ffac1ed25cf9 100644
--- a/doc/src/compute_pair.txt
+++ b/doc/src/compute_pair.txt
@@ -62,9 +62,8 @@ This compute calculates a global scalar which is {epair} or {evdwl} or
 {ecoul}.  If the pair style supports it, it also calculates a global
 vector of length >= 1, as determined by the pair style.  These values
 can be used by any command that uses global scalar or vector values
-from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The scalar and vector values calculated by this compute are
 "extensive".
diff --git a/doc/src/compute_pair_local.txt b/doc/src/compute_pair_local.txt
index 16aaba4667396dfc038c9f7625fdca532a8cd04b..bbbc5823f230fa3a695201c8e1b2242e16c15d23 100644
--- a/doc/src/compute_pair_local.txt
+++ b/doc/src/compute_pair_local.txt
@@ -119,8 +119,8 @@ array is the number of pairs.  If a single keyword is specified, a
 local vector is produced.  If two or more keywords are specified, a
 local array is produced where the number of columns = the number of
 keywords.  The vector or array can be accessed by any command that
-uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+uses local values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The output for {dist} will be in distance "units"_units.html.  The
diff --git a/doc/src/compute_pe.txt b/doc/src/compute_pe.txt
index 15f27a8eff5f92cb97b215e8313b98429db8fef9..f3ce5678b0b306ad1a12956a8d37623a0b1ac112 100644
--- a/doc/src/compute_pe.txt
+++ b/doc/src/compute_pe.txt
@@ -64,9 +64,8 @@ See the "thermo_style" command for more details.
 
 This compute calculates a global scalar (the potential energy).  This
 value can be used by any command that uses a global scalar value from
-a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+a compute as input.  See the "Howto output"_Howto_output.html doc page
+for an overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "extensive".  The
 scalar value will be in energy "units"_units.html.
diff --git a/doc/src/compute_pe_atom.txt b/doc/src/compute_pe_atom.txt
index c312c886a692f5a0ffcbb277e432acb34bcc88aa..e6bc5f905238492a70d60afd3198f399d7bed77f 100644
--- a/doc/src/compute_pe_atom.txt
+++ b/doc/src/compute_pe_atom.txt
@@ -81,7 +81,7 @@ global system energy.
 
 This compute calculates a per-atom vector, which can be accessed by
 any command that uses per-atom values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-atom vector values will be in energy "units"_units.html.
diff --git a/doc/src/compute_plasticity_atom.txt b/doc/src/compute_plasticity_atom.txt
index 788213fc65985cb86bee7a08b3e78f50adf423cc..c992ca820020c5ea7917985a80b6c6528d39a559 100644
--- a/doc/src/compute_plasticity_atom.txt
+++ b/doc/src/compute_plasticity_atom.txt
@@ -41,8 +41,9 @@ compute group.
 [Output info:]
 
 This compute calculates a per-atom vector, which can be accessed by
-any command that uses per-atom values from a compute as input. See
-Section_howto 15 for an overview of LAMMPS output options.
+any command that uses per-atom values from a compute as input.  See
+the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-atom vector values are unitless numbers (lambda) >= 0.0.
 
diff --git a/doc/src/compute_pressure.txt b/doc/src/compute_pressure.txt
index 8b7491da4946891650ceef0cd1c3111cb318b453..51d3241acead0255bca6692a9d4190ce42a6d589 100644
--- a/doc/src/compute_pressure.txt
+++ b/doc/src/compute_pressure.txt
@@ -129,8 +129,8 @@ instructions on how to use the accelerated styles effectively.
 This compute calculates a global scalar (the pressure) and a global
 vector of length 6 (pressure tensor), which can be accessed by indices
 1-6.  These values can be used by any command that uses global scalar
-or vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+or vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar and vector values calculated by this compute are
diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt
index c0970d5121cca49705fa5eb5eb02407f490a04e5..88bdf5a453688c6bd1f97ad82c538fac01c5268e 100644
--- a/doc/src/compute_property_atom.txt
+++ b/doc/src/compute_property_atom.txt
@@ -93,11 +93,11 @@ compute 3 all property/atom sp spx spy spz :pre
 
 Define a computation that simply stores atom attributes for each atom
 in the group.  This is useful so that the values can be used by other
-"output commands"_Section_howto.html#howto_15 that take computes as
-inputs.  See for example, the "compute reduce"_compute_reduce.html,
-"fix ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html,
-"fix ave/chunk"_fix_ave_chunk.html, and "atom-style
-variable"_variable.html commands.
+"output commands"_Howto_output.html that take computes as inputs.  See
+for example, the "compute reduce"_compute_reduce.html, "fix
+ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html, "fix
+ave/chunk"_fix_ave_chunk.html, and "atom-style variable"_variable.html
+commands.
 
 The list of possible attributes is the same as that used by the "dump
 custom"_dump.html command, which describes their meaning, with some
@@ -149,8 +149,8 @@ on the number of input values.  If a single input is specified, a
 per-atom vector is produced.  If two or more inputs are specified, a
 per-atom array is produced where the number of columns = the number of
 inputs.  The vector or array can be accessed by any command that uses
-per-atom values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+per-atom values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector or array values will be in whatever "units"_units.html the
diff --git a/doc/src/compute_property_chunk.txt b/doc/src/compute_property_chunk.txt
index b9d4944b30740cfcb28313811a6885296c65acf4..ad131a8a60a01d972895faa647a1cc8196f1ea45 100644
--- a/doc/src/compute_property_chunk.txt
+++ b/doc/src/compute_property_chunk.txt
@@ -36,15 +36,14 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates and stores the specified attributes of chunks
 as global data so they can be accessed by other "output
-commands"_Section_howto.html#howto_15 and used in conjunction with
-other commands that generate per-chunk data, such as "compute
+commands"_Howto_output.html and used in conjunction with other
+commands that generate per-chunk data, such as "compute
 com/chunk"_compute_com_chunk.html or "compute
 msd/chunk"_compute_msd_chunk.html.
 
@@ -103,8 +102,8 @@ single input is specified, a global vector is produced.  If two or
 more inputs are specified, a global array is produced where the number
 of columns = the number of inputs.  The vector or array can be
 accessed by any command that uses global values from a compute as
-input.  See "this section"_Section_howto.html#howto_15 for an overview
-of LAMMPS output options.
+input.  See the "Howto output"_Howto_output.html doc page for an
+overview of LAMMPS output options.
 
 The vector or array values are "intensive".  The values will be
 unitless or in the units discussed above.
diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt
index 39106a39c890cae655d635216bbe93876f43fc74..74595f00f6b831b53425a87c1d19fc6fa5a51af2 100644
--- a/doc/src/compute_property_local.txt
+++ b/doc/src/compute_property_local.txt
@@ -48,10 +48,10 @@ compute 1 all property/local atype aatom2 :pre
 
 Define a computation that stores the specified attributes as local
 data so it can be accessed by other "output
-commands"_Section_howto.html#howto_15.  If the input attributes refer
-to bond information, then the number of datums generated, aggregated
-across all processors, equals the number of bonds in the system.
-Ditto for pairs, angles, etc.
+commands"_Howto_output.html.  If the input attributes refer to bond
+information, then the number of datums generated, aggregated across
+all processors, equals the number of bonds in the system.  Ditto for
+pairs, angles, etc.
 
 If multiple attributes are specified then they must all generate the
 same amount of information, so that the resulting local array has the
@@ -140,8 +140,8 @@ the array is the number of bonds, angles, etc.  If a single input is
 specified, a local vector is produced.  If two or more inputs are
 specified, a local array is produced where the number of columns = the
 number of inputs.  The vector or array can be accessed by any command
-that uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+that uses local values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector or array values will be integers that correspond to the
diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt
index e462e85fc038a10dfe9de0c701fecb103002a731..c2d2c379fe7c4dd74ad02ce4fb49b3226665215d 100644
--- a/doc/src/compute_rdf.txt
+++ b/doc/src/compute_rdf.txt
@@ -152,7 +152,7 @@ coordinate (center of the bin), Each successive set of 2 columns has
 the g(r) and coord(r) values for a specific set of {itypeN} versus
 {jtypeN} interactions, as described above.  These values can be used
 by any command that uses a global values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The array values calculated by this compute are all "intensive".
diff --git a/doc/src/compute_reduce.txt b/doc/src/compute_reduce.txt
index 48115a08861e6e272ea71cb86fdb0276c00aedee..614ef50581b454e5d860efb4afe71341cac4fbe0 100644
--- a/doc/src/compute_reduce.txt
+++ b/doc/src/compute_reduce.txt
@@ -192,7 +192,7 @@ This compute calculates a global scalar if a single input value is
 specified or a global vector of length N where N is the number of
 inputs, and which can be accessed by indices 1 to N.  These values can
 be used by any command that uses global scalar or vector values from a
-compute as input.  See "Section 6.15"_Section_howto.html#howto_15
+compute as input.  See the "Howto output"_Howto_output.html doc page
 for an overview of LAMMPS output options.
 
 All the scalar or vector values calculated by this compute are
diff --git a/doc/src/compute_rigid_local.txt b/doc/src/compute_rigid_local.txt
index 077ad57d81b6bb1acd7d328e4e3f819867e71510..380713d091d8d6828bc75eeb70f52c10e52796a3 100644
--- a/doc/src/compute_rigid_local.txt
+++ b/doc/src/compute_rigid_local.txt
@@ -49,8 +49,8 @@ Define a computation that simply stores rigid body attributes for
 rigid bodies defined by the "fix rigid/small"_fix_rigid.html command
 or one of its NVE, NVT, NPT, NPH variants.  The data is stored as
 local data so it can be accessed by other "output
-commands"_Section_howto.html#howto_15 that process local data, such as
-the "compute reduce"_compute_reduce.html or "dump local"_dump.html
+commands"_Howto_output.html that process local data, such as the
+"compute reduce"_compute_reduce.html or "dump local"_dump.html
 commands.
 
 Note that this command only works with the "fix
@@ -154,9 +154,9 @@ array is the number of rigid bodies.  If a single keyword is
 specified, a local vector is produced.  If two or more keywords are
 specified, a local array is produced where the number of columns = the
 number of keywords.  The vector or array can be accessed by any
-command that uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+command that uses local values from a compute as input.  See the
+"Howto output"_Howto_output.html doc page for an overview of LAMMPS
+output options.
 
 The vector or array values will be in whatever "units"_units.html the
 corresponding attribute is in:
diff --git a/doc/src/compute_saed.txt b/doc/src/compute_saed.txt
index 020f72f565c1009426ae22e891932aa648f6f1bd..419ad3c48966bc66cc0ebbfe30738f7111a9ef77 100644
--- a/doc/src/compute_saed.txt
+++ b/doc/src/compute_saed.txt
@@ -143,10 +143,9 @@ the number of reciprocal lattice nodes that are explored by the mesh.
 The entries of the global vector are the computed diffraction
 intensities as described above.
 
-The vector can be accessed by any command that uses global values
-from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+The vector can be accessed by any command that uses global values from
+a compute as input.  See the "Howto output"_Howto_output.html doc page
+for an overview of LAMMPS output options.
 
 All array values calculated by this compute are "intensive".
 
diff --git a/doc/src/compute_slice.txt b/doc/src/compute_slice.txt
index 13f40ecf9220c3245f6956c2c4d5908d974bb29e..69eb7976ad7dfc07e7d4e082010373a3d467b02d 100644
--- a/doc/src/compute_slice.txt
+++ b/doc/src/compute_slice.txt
@@ -94,8 +94,8 @@ specified or a global array with N columns where N is the number of
 inputs.  The length of the vector or the number of rows in the array
 is equal to the number of values extracted from each input vector.
 These values can be used by any command that uses global vector or
-array values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+array values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The vector or array values calculated by this compute are simply
diff --git a/doc/src/compute_smd_contact_radius.txt b/doc/src/compute_smd_contact_radius.txt
index 69fe45334398fb60c77b4582074d0b2309c4f6ff..5e043a1390fe65ccd6fe79cd1df338b6426d9f74 100644
--- a/doc/src/compute_smd_contact_radius.txt
+++ b/doc/src/compute_smd_contact_radius.txt
@@ -35,9 +35,9 @@ specified compute group.
 
 [Output info:]
 
-This compute calculates a per-particle vector, which can be accessed by
-any command that uses per-particle values from a compute as input.  See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
+This compute calculates a per-particle vector, which can be accessed
+by any command that uses per-particle values from a compute as input.
+See the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-particle vector values will be in distance "units"_units.html.
diff --git a/doc/src/compute_smd_damage.txt b/doc/src/compute_smd_damage.txt
index b6c75a3b204532003231bad5f7a61089e9544199..ea814ba0642842f6583883164171c45c69a820f0 100644
--- a/doc/src/compute_smd_damage.txt
+++ b/doc/src/compute_smd_damage.txt
@@ -28,10 +28,10 @@ See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in
 
 [Output Info:]
 
-This compute calculates a per-particle vector, which can be accessed by
-any command that uses per-particle values from a compute as input.  See
-"How-to discussions, section 6.15"_Section_howto.html#howto_15
-for an overview of LAMMPS output options.
+This compute calculates a per-particle vector, which can be accessed
+by any command that uses per-particle values from a compute as input.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle values are dimensionless an in the range of zero to one.
 
diff --git a/doc/src/compute_smd_hourglass_error.txt b/doc/src/compute_smd_hourglass_error.txt
index a15b79e64e4490e51a9321d06206757589a5c06a..046f7e7f27f1f88efbfb8ea7bc63b438bcc5876c 100644
--- a/doc/src/compute_smd_hourglass_error.txt
+++ b/doc/src/compute_smd_hourglass_error.txt
@@ -37,10 +37,10 @@ Mach Dynamics in LAMMPS.
 
 [Output Info:]
 
-This compute calculates a per-particle vector, which can be accessed by
-any command that uses per-particle values from a compute as input.  See
-"How-to discussions, section 6.15"_Section_howto.html#howto_15
-for an overview of LAMMPS output options.
+This compute calculates a per-particle vector, which can be accessed
+by any command that uses per-particle values from a compute as input.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle vector values will are dimensionless. See
 "units"_units.html.
diff --git a/doc/src/compute_smd_internal_energy.txt b/doc/src/compute_smd_internal_energy.txt
index bc6f9e0f2068b440c731bbaa6a5710daa8d2c446..b88bd8a1ce7686901b53bfcb7ef914c62e833f66 100644
--- a/doc/src/compute_smd_internal_energy.txt
+++ b/doc/src/compute_smd_internal_energy.txt
@@ -31,8 +31,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle vector values will be given in "units"_units.html of energy.
 
diff --git a/doc/src/compute_smd_plastic_strain.txt b/doc/src/compute_smd_plastic_strain.txt
index af5b1644534adcd3c624109aadf0f69205db78c6..7fd083726f59b05d38975a0331a4702e82c75688 100644
--- a/doc/src/compute_smd_plastic_strain.txt
+++ b/doc/src/compute_smd_plastic_strain.txt
@@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle values will be given dimensionless. See "units"_units.html.
 
diff --git a/doc/src/compute_smd_plastic_strain_rate.txt b/doc/src/compute_smd_plastic_strain_rate.txt
index ba7b3176dbf538f25802ec53eb0e4a12b2db3cff..b17684e05e691049b7dea288a91bc61e664f56f4 100644
--- a/doc/src/compute_smd_plastic_strain_rate.txt
+++ b/doc/src/compute_smd_plastic_strain_rate.txt
@@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle values will be given in "units"_units.html of one over time.
 
diff --git a/doc/src/compute_smd_rho.txt b/doc/src/compute_smd_rho.txt
index ae50526725e091a21b80a1a1b0c8c39680fbf031..375513b9c7e32e904cbc700483a97beb5c09aa3a 100644
--- a/doc/src/compute_smd_rho.txt
+++ b/doc/src/compute_smd_rho.txt
@@ -33,8 +33,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle values will be in "units"_units.html of mass over volume.
 
diff --git a/doc/src/compute_smd_tlsph_defgrad.txt b/doc/src/compute_smd_tlsph_defgrad.txt
index 68b5dffa1cf558df517156e61bc604604bbfa113..d07ff99f070c4fc76140acefbea14378fa066fe6 100644
--- a/doc/src/compute_smd_tlsph_defgrad.txt
+++ b/doc/src/compute_smd_tlsph_defgrad.txt
@@ -32,9 +32,8 @@ Mach Dynamics in LAMMPS.
 
 This compute outputss a per-particle vector of vectors (tensors),
 which can be accessed by any command that uses per-particle values
-from a compute as input. See "How-to discussions, section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input. See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The per-particle vector values will be given dimensionless. See
 "units"_units.html.  The per-particle vector has 10 entries. The first
diff --git a/doc/src/compute_smd_tlsph_dt.txt b/doc/src/compute_smd_tlsph_dt.txt
index 560a9b6fd878386ff140cba30ecf879a62cdc047..798278661aac5af9440cd38499de124db384b68b 100644
--- a/doc/src/compute_smd_tlsph_dt.txt
+++ b/doc/src/compute_smd_tlsph_dt.txt
@@ -37,8 +37,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle values will be given in "units"_units.html of time.
 
diff --git a/doc/src/compute_smd_tlsph_num_neighs.txt b/doc/src/compute_smd_tlsph_num_neighs.txt
index 0420d1903d82c6d4af44e519b309e0da27813293..632ab94208f6d3d287df7783cb7306c21fd075b2 100644
--- a/doc/src/compute_smd_tlsph_num_neighs.txt
+++ b/doc/src/compute_smd_tlsph_num_neighs.txt
@@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle values are dimensionless. See "units"_units.html.
 
diff --git a/doc/src/compute_smd_tlsph_shape.txt b/doc/src/compute_smd_tlsph_shape.txt
index 02bd0c50ddb504d7effd71d7155e5cc39c7a4378..a3daf702228dc9c4a93938e171e16b519467aa7c 100644
--- a/doc/src/compute_smd_tlsph_shape.txt
+++ b/doc/src/compute_smd_tlsph_shape.txt
@@ -33,9 +33,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector of vectors, which can be
 accessed by any command that uses per-particle values from a compute
-as input. See "How-to discussions, section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+as input. See the "Howto output"_Howto_output.html doc page for an
+overview of LAMMPS output options.
 
 The per-particle vector has 7 entries. The first three entries
 correspond to the lengths of the ellipsoid's axes and have units of
diff --git a/doc/src/compute_smd_tlsph_strain.txt b/doc/src/compute_smd_tlsph_strain.txt
index f25d1b77db2c32cc25a2d7a3dd64466db1370c20..899166359c6097e019fe5e923c0f77134b6998bc 100644
--- a/doc/src/compute_smd_tlsph_strain.txt
+++ b/doc/src/compute_smd_tlsph_strain.txt
@@ -31,9 +31,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector of vectors (tensors),
 which can be accessed by any command that uses per-particle values
-from a compute as input.  See "How-to discussions, section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The per-particle tensor values will be given dimensionless. See
 "units"_units.html.
diff --git a/doc/src/compute_smd_tlsph_strain_rate.txt b/doc/src/compute_smd_tlsph_strain_rate.txt
index 13ca57ac4df413e8348a37d34d49fa606239243e..29246a05d9d65161640b1e7b093de1631ce4fc24 100644
--- a/doc/src/compute_smd_tlsph_strain_rate.txt
+++ b/doc/src/compute_smd_tlsph_strain_rate.txt
@@ -31,9 +31,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector of vectors (tensors),
 which can be accessed by any command that uses per-particle values
-from a compute as input. See "How-to discussions, section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input. See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The values will be given in "units"_units.html of one over time.
 
diff --git a/doc/src/compute_smd_tlsph_stress.txt b/doc/src/compute_smd_tlsph_stress.txt
index 5d707d4c2f6934cd0b630de1767a43f33b9de46c..c2c23b6836f45de915daa656e88d4557178dec68 100644
--- a/doc/src/compute_smd_tlsph_stress.txt
+++ b/doc/src/compute_smd_tlsph_stress.txt
@@ -29,11 +29,10 @@ Mach Dynamics in LAMMPS.
 
 [Output info:]
 
-This compute calculates a per-particle vector of vectors (tensors), which can be
-accessed by any command that uses per-particle values from a compute
-as input. See
-"How-to discussions, section 6.15"_Section_howto.html#howto_15
-for an overview of LAMMPS output options.
+This compute calculates a per-particle vector of vectors (tensors),
+which can be accessed by any command that uses per-particle values
+from a compute as input. See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The values will be given in "units"_units.html of pressure.
 
diff --git a/doc/src/compute_smd_triangle_mesh_vertices.txt b/doc/src/compute_smd_triangle_mesh_vertices.txt
index 5b0f0afc4c84a93f0b1f31307da9d7a89197abbe..3080ef700edfa0402223e11453b82b9bd85bf54e 100644
--- a/doc/src/compute_smd_triangle_mesh_vertices.txt
+++ b/doc/src/compute_smd_triangle_mesh_vertices.txt
@@ -31,9 +31,9 @@ Mach Dynamics in LAMMPS.
 [Output info:]
 
 This compute returns a per-particle vector of vectors, which can be
-accessed by any command that uses per-particle values from a compute as
-input. See "How-to discussions, section 6.15"_Section_howto.html#howto_15
-for an overview of LAMMPS output options.
+accessed by any command that uses per-particle values from a compute
+as input. See the "Howto output"_Howto_output.html doc page for an
+overview of LAMMPS output options.
 
 The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and
 (x3/y3/z3) corresponding to the first, second, and third vertex of
diff --git a/doc/src/compute_smd_ulsph_num_neighs.txt b/doc/src/compute_smd_ulsph_num_neighs.txt
index adece9334361d154d3f7d7a62de19b0eaac01a93..8550838799248c17a743d17ab780f29fb14bd264 100644
--- a/doc/src/compute_smd_ulsph_num_neighs.txt
+++ b/doc/src/compute_smd_ulsph_num_neighs.txt
@@ -32,7 +32,7 @@ Mach Dynamics in LAMMPS.
 
 This compute returns a per-particle vector, which can be accessed by
 any command that uses per-particle values from a compute as input.
-See "Section 6.15"_Section_howto.html#howto_15 for an overview of
+See the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-particle values will be given dimensionless, see "units"_units.html.
diff --git a/doc/src/compute_smd_ulsph_strain.txt b/doc/src/compute_smd_ulsph_strain.txt
index b7d425b12b7e1b0146ba321986e56470719b115f..3813e61f6cdcc41ac7d9123f461a2dab21ee4f66 100644
--- a/doc/src/compute_smd_ulsph_strain.txt
+++ b/doc/src/compute_smd_ulsph_strain.txt
@@ -31,7 +31,7 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle tensor, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "Section 6.15"_Section_howto.html#howto_15 for an overview of
+See the "Howto output"_Howto_output.html doc page for an overview of
 LAMMPS output options.
 
 The per-particle vector has 6 entries, corresponding to the xx, yy,
diff --git a/doc/src/compute_smd_ulsph_strain_rate.txt b/doc/src/compute_smd_ulsph_strain_rate.txt
index e2c349c2656de89aaa53534f3980e235caa17901..251e5ddbf7247c92256191ea7626f588be964d42 100644
--- a/doc/src/compute_smd_ulsph_strain_rate.txt
+++ b/doc/src/compute_smd_ulsph_strain_rate.txt
@@ -32,9 +32,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector of vectors (tensors),
 which can be accessed by any command that uses per-particle values
-from a compute as input. See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input. See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The values will be given in "units"_units.html of one over time.
 
diff --git a/doc/src/compute_smd_ulsph_stress.txt b/doc/src/compute_smd_ulsph_stress.txt
index 47f903d3b88effc7055084674b0866fe5ad4b596..719cf006c9d89170d95aea0a40e88c53aa795b5e 100644
--- a/doc/src/compute_smd_ulsph_stress.txt
+++ b/doc/src/compute_smd_ulsph_stress.txt
@@ -30,9 +30,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector of vectors (tensors),
 which can be accessed by any command that uses per-particle values
-from a compute as input. See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input. See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The values will be given in "units"_units.html of pressure.
 
diff --git a/doc/src/compute_smd_vol.txt b/doc/src/compute_smd_vol.txt
index fc736a5bf5c2fd0e9c6d89b749acb11d6d79d1e1..495c09a5f542917d4355096dca7d5bf1fbba05e1 100644
--- a/doc/src/compute_smd_vol.txt
+++ b/doc/src/compute_smd_vol.txt
@@ -31,8 +31,8 @@ Mach Dynamics in LAMMPS.
 
 This compute calculates a per-particle vector, which can be accessed
 by any command that uses per-particle values from a compute as input.
-See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for
-an overview of LAMMPS output options.
+See the "Howto output"_Howto_output.html doc page for an overview of
+LAMMPS output options.
 
 The per-particle vector values will be given in "units"_units.html of
 volume.
diff --git a/doc/src/compute_sna_atom.txt b/doc/src/compute_sna_atom.txt
index 268e23ac2808d82f8750b95bd652cd4d50f6b9d2..6fdd85568b9e9d193a63b0c8e68cfa4c7e621f20 100644
--- a/doc/src/compute_sna_atom.txt
+++ b/doc/src/compute_sna_atom.txt
@@ -244,9 +244,8 @@ So the nesting order from inside to outside is bispectrum component,
 linear then quadratic, vector/tensor component, type.
 
 These values can be accessed by any command that uses per-atom values
-from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 [Restrictions:]
 
diff --git a/doc/src/compute_stress_atom.txt b/doc/src/compute_stress_atom.txt
index 83b1df68e3555e4d74b4c0296845fc6a395148e7..423c1dcfda4d5a7d92a91b606f8bedf0bd1544ee 100644
--- a/doc/src/compute_stress_atom.txt
+++ b/doc/src/compute_stress_atom.txt
@@ -142,9 +142,8 @@ global system pressure.
 
 This compute calculates a per-atom array with 6 columns, which can be
 accessed by indices 1-6 by any command that uses per-atom values from
-a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+a compute as input.  See the "Howto output"_Howto_output.html doc page
+for an overview of LAMMPS output options.
 
 The per-atom array values will be in pressure*volume
 "units"_units.html as discussed above.
diff --git a/doc/src/compute_tdpd_cc_atom.txt b/doc/src/compute_tdpd_cc_atom.txt
index a6a12dc52ccb31febe7a8bc5559b50913e0f242a..ec077a33d10f4df03dc03ecdd7440a30acfbd9c0 100644
--- a/doc/src/compute_tdpd_cc_atom.txt
+++ b/doc/src/compute_tdpd_cc_atom.txt
@@ -33,9 +33,9 @@ details see "(Li2015)"_#Li2015a.
 [Output info:]
 
 This compute calculates a per-atom vector, which can be accessed by
-any command that uses per-atom values from a compute as input. See
-"Section 6.15"_Section_howto.html#howto_15 for an overview of
-LAMMPS output options.
+any command that uses per-atom values from a compute as input. See the
+"Howto output"_Howto_output.html doc page for an overview of LAMMPS
+output options.
 
 The per-atom vector values will be in the units of chemical species 
 per unit mass.
diff --git a/doc/src/compute_temp.txt b/doc/src/compute_temp.txt
index f9fa56c88283e1082704b8622a831982736c3861..cce40261c6613eaf81f9d2b200e6b0840e66c7b6 100644
--- a/doc/src/compute_temp.txt
+++ b/doc/src/compute_temp.txt
@@ -58,8 +58,8 @@ compute thermo_temp all temp :pre
 
 See the "thermo_style" command for more details.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 :line
@@ -91,8 +91,8 @@ instructions on how to use the accelerated styles effectively.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_asphere.txt b/doc/src/compute_temp_asphere.txt
index 495366b34501b65e785bff5ec6e442ff02e89b96..a5fc0e89275ca46f402c1a5b057206496a703582 100644
--- a/doc/src/compute_temp_asphere.txt
+++ b/doc/src/compute_temp_asphere.txt
@@ -93,8 +93,8 @@ computed correctly.  If needed, the subtracted degrees-of-freedom can
 be altered using the {extra} option of the
 "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 :line
@@ -122,8 +122,8 @@ rotational degrees of freedom.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_body.txt b/doc/src/compute_temp_body.txt
index f72b886cc47afa0b0f7badd75b39ef943375002d..580564b059da85c9d57cedd9464868c877c3dcdd 100644
--- a/doc/src/compute_temp_body.txt
+++ b/doc/src/compute_temp_body.txt
@@ -75,8 +75,8 @@ computed correctly.  If needed, the subtracted degrees-of-freedom can
 be altered using the {extra} option of the
 "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 :line
@@ -104,8 +104,8 @@ rotational degrees of freedom.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_chunk.txt b/doc/src/compute_temp_chunk.txt
index f877f6ece84b9a2429d64949eea298e20d98ef74..5d7d64ce688c4a28c9190bb7fcc4087f544713f2 100644
--- a/doc/src/compute_temp_chunk.txt
+++ b/doc/src/compute_temp_chunk.txt
@@ -52,10 +52,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 The temperature is calculated by the formula KE = DOF/2 k T, where KE =
 total kinetic energy of all atoms assigned to chunks (sum of 1/2 m
@@ -200,8 +199,8 @@ molecule.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 This compute also optionally calculates a global array, if one or more
@@ -210,9 +209,8 @@ of the optional values are specified.  The number of rows in the array
 "compute chunk/atom"_compute_chunk_atom.html command.  The number of
 columns is the number of specified values (1 or more).  These values
 can be accessed by any command that uses global array values from a
-compute as input.  Again, see "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+compute as input.  Again, see the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "intensive".  The
 vector values are "extensive".  The array values are "intensive".
diff --git a/doc/src/compute_temp_com.txt b/doc/src/compute_temp_com.txt
index c7cc5ec4e280db434892260b9b2d7d045515d765..e8b46aec9790f422dea5c6e5046e27043b75055b 100644
--- a/doc/src/compute_temp_com.txt
+++ b/doc/src/compute_temp_com.txt
@@ -65,8 +65,8 @@ atoms that include these constraints will be computed correctly.  If
 needed, the subtracted degrees-of-freedom can be altered using the
 {extra} option of the "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 [Output info:]
@@ -74,8 +74,8 @@ thermostatting.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_cs.txt b/doc/src/compute_temp_cs.txt
index 561b787df637b48a69173f2f863ccec871e4855b..9d2ceabd46f3e20d5afff4d4205fca52b73db189 100644
--- a/doc/src/compute_temp_cs.txt
+++ b/doc/src/compute_temp_cs.txt
@@ -28,9 +28,9 @@ Define a computation that calculates the temperature of a system based
 on the center-of-mass velocity of atom pairs that are bonded to each
 other.  This compute is designed to be used with the adiabatic
 core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham1.  See
-"Section 6.25"_Section_howto.html#howto_25 of the manual for an
-overview of the model as implemented in LAMMPS.  Specifically, this
-compute enables correct temperature calculation and thermostatting of
+the "Howto coreshell"_Howto_coreshell.html doc page for an overview of
+the model as implemented in LAMMPS.  Specifically, this compute
+enables correct temperature calculation and thermostatting of
 core/shell pairs where it is desirable for the internal degrees of
 freedom of the core/shell pairs to not be influenced by a thermostat.
 A compute of this style can be used by any command that computes a
@@ -83,8 +83,9 @@ langevin"_fix_langevin.html.
 
 The internal energy of core/shell pairs can be calculated by the
 "compute temp/chunk"_compute_temp_chunk.html command, if chunks are
-defined as core/shell pairs.  See "Section
-6.25"_Section_howto.html#howto_25 for more discussion on how to do this.
+defined as core/shell pairs.  See the "Howto
+coreshell"_Howto_coreshell.html doc page doc page for more discussion
+on how to do this.
 
 [Output info:]
 
diff --git a/doc/src/compute_temp_deform.txt b/doc/src/compute_temp_deform.txt
index 168b0b3880b2ec25e2040b17d135d874709dc68a..b81d07babdb1b7b51b8f931dffe78b19e57c197f 100644
--- a/doc/src/compute_temp_deform.txt
+++ b/doc/src/compute_temp_deform.txt
@@ -104,8 +104,8 @@ atoms that include these constraints will be computed correctly.  If
 needed, the subtracted degrees-of-freedom can be altered using the
 {extra} option of the "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 [Output info:]
@@ -113,8 +113,8 @@ thermostatting.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_deform_eff.txt b/doc/src/compute_temp_deform_eff.txt
index d09a0ace2fbb449fd969dc63532402cfa2c3c06a..418180d93c0d67203afcd1f89d982ec0ba3275c1 100644
--- a/doc/src/compute_temp_deform_eff.txt
+++ b/doc/src/compute_temp_deform_eff.txt
@@ -48,8 +48,8 @@ component of the electrons is not affected.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_drude.txt b/doc/src/compute_temp_drude.txt
index 169b8d588086cefdac9aa0db42fc05ab95b18587..3e86dc8fda0cfd722219f0198caf2db8213b19db 100644
--- a/doc/src/compute_temp_drude.txt
+++ b/doc/src/compute_temp_drude.txt
@@ -22,10 +22,10 @@ compute TDRUDE all temp/drude :pre
 [Description:]
 
 Define a computation that calculates the temperatures of core-Drude
-pairs. This compute is designed to be used with the
-"thermalized Drude oscillator model"_tutorial_drude.html.  Polarizable
-models in LAMMPS are described in "this
-Section"_Section_howto.html#howto_25.
+pairs. This compute is designed to be used with the "thermalized Drude
+oscillator model"_Howto_drude.html.  Polarizable models in LAMMPS
+are described on the "Howto polarizable"_Howto_polarizable.html doc
+page.
 
 Drude oscillators consist of a core particle and a Drude particle
 connected by a harmonic bond, and the relative motion of these Drude
@@ -57,8 +57,8 @@ kinetic energy of the centers of mass (energy units)
 kinetic energy of the dipoles (energy units) :ol
 
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 Both the scalar value and the first two values of the vector
diff --git a/doc/src/compute_temp_eff.txt b/doc/src/compute_temp_eff.txt
index 409319edcb9f3a89ffc38d43892a8539073c13ba..42d22a33a7b727a828d4bd9f68660a08f0145ca2 100644
--- a/doc/src/compute_temp_eff.txt
+++ b/doc/src/compute_temp_eff.txt
@@ -69,8 +69,8 @@ atoms that include these constraints will be computed correctly.  If
 needed, the subtracted degrees-of-freedom can be altered using the
 {extra} option of the "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 [Output info:]
diff --git a/doc/src/compute_temp_partial.txt b/doc/src/compute_temp_partial.txt
index 59ec8cf20b6f38949df74c993f667b1733d7088e..0fda274ca0a31efc169dd79c6e03c08a04f8b0e6 100644
--- a/doc/src/compute_temp_partial.txt
+++ b/doc/src/compute_temp_partial.txt
@@ -65,8 +65,8 @@ atoms that include these constraints will be computed correctly.  If
 needed, the subtracted degrees-of-freedom can be altered using the
 {extra} option of the "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 :line
@@ -98,8 +98,8 @@ instructions on how to use the accelerated styles effectively.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_profile.txt b/doc/src/compute_temp_profile.txt
index 64a6abd283986747d01514a2e53d9fb3ca2cb1b3..8f47c8f9f4a54b96194b8a4c54d23abd10770ee4 100644
--- a/doc/src/compute_temp_profile.txt
+++ b/doc/src/compute_temp_profile.txt
@@ -122,8 +122,8 @@ degrees-of-freedom adjustment described in the preceding paragraph,
 for fixes that constrain molecular motion.  It does include the
 adjustment due to the {extra} option, which is applied to each bin.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.  Using this compute in conjunction with a
 thermostatting fix, as explained there, will effectively implement a
 profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans1.
@@ -145,8 +145,8 @@ indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10
 indices are numbered from 1 to 10 in each dimension.
 
 These values can be used by any command that uses global scalar or
-vector or array values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector or array values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_ramp.txt b/doc/src/compute_temp_ramp.txt
index bc9283469cf2bda9e55f2ee29f95e25d92f68c69..1ae0cdfc3e2d36d9b2b373b6ede70fc177810093 100644
--- a/doc/src/compute_temp_ramp.txt
+++ b/doc/src/compute_temp_ramp.txt
@@ -83,8 +83,8 @@ atoms that include these constraints will be computed correctly.  If
 needed, the subtracted degrees-of-freedom can be altered using the
 {extra} option of the "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 [Output info:]
@@ -92,8 +92,8 @@ thermostatting.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_region.txt b/doc/src/compute_temp_region.txt
index 3e4a80db8dd1ff4cf2c0cee248754bf2f2721158..f05fa38e2c56db6689b8b275bd26fb128ec20241 100644
--- a/doc/src/compute_temp_region.txt
+++ b/doc/src/compute_temp_region.txt
@@ -81,8 +81,8 @@ If needed the number of subtracted degrees-of-freedom can be set
 explicitly using the {extra} option of the
 "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 [Output info:]
@@ -90,8 +90,8 @@ thermostatting.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_region_eff.txt b/doc/src/compute_temp_region_eff.txt
index 8baf2dd46cc01f57cbec0ede1d76265b3b8b113f..45c01b047fd5e09fcddf31f7fde5cdb75817c82d 100644
--- a/doc/src/compute_temp_region_eff.txt
+++ b/doc/src/compute_temp_region_eff.txt
@@ -39,8 +39,8 @@ temp/eff"_compute_temp_eff.html command.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_rotate.txt b/doc/src/compute_temp_rotate.txt
index 34feca7b6fd014ee4792126aed5c9277e1b4c203..8c5679b83fda4a6f4d95f3b592dc6ebe27f44885 100644
--- a/doc/src/compute_temp_rotate.txt
+++ b/doc/src/compute_temp_rotate.txt
@@ -64,8 +64,8 @@ atoms that include these constraints will be computed correctly.  If
 needed, the subtracted degrees-of-freedom can be altered using the
 {extra} option of the "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 [Output info:]
@@ -73,8 +73,8 @@ thermostatting.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_temp_sphere.txt b/doc/src/compute_temp_sphere.txt
index 9e9dff2cb6dc149e5834043a7f420f968666f15a..4d4258182e29ee2ac5fcf6d905a2b11351c70e43 100644
--- a/doc/src/compute_temp_sphere.txt
+++ b/doc/src/compute_temp_sphere.txt
@@ -79,8 +79,8 @@ computed correctly.  If needed, the subtracted degrees-of-freedom can
 be altered using the {extra} option of the
 "compute_modify"_compute_modify.html command.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 :line
@@ -108,8 +108,8 @@ rotational degrees of freedom.
 This compute calculates a global scalar (the temperature) and a global
 vector of length 6 (KE tensor), which can be accessed by indices 1-6.
 These values can be used by any command that uses global scalar or
-vector values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
+vector values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The scalar value calculated by this compute is "intensive".  The
diff --git a/doc/src/compute_ti.txt b/doc/src/compute_ti.txt
index 733954d146bc9ec9b90c821f45432115638db7fc..f5d26e1a032643e20025bfa1c3d2bdcbaf767266 100644
--- a/doc/src/compute_ti.txt
+++ b/doc/src/compute_ti.txt
@@ -111,9 +111,8 @@ du/dl can be found in the paper by "Eike"_#Eike.
 
 This compute calculates a global scalar, namely dUs/dlambda.  This
 value can be used by any command that uses a global scalar value from
-a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+a compute as input.  See the "Howto output"_Howto_output.html doc page
+for an overview of LAMMPS output options.
 
 The scalar value calculated by this compute is "extensive".
 
diff --git a/doc/src/compute_torque_chunk.txt b/doc/src/compute_torque_chunk.txt
index b9f832dd03afe36960509535c348973a46e83e01..254cd0fd85b9df34812ce72404bc82c5dcdb66bc 100644
--- a/doc/src/compute_torque_chunk.txt
+++ b/doc/src/compute_torque_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the 3 components of the torque vector for eqch
 chunk, due to the forces on the individual atoms in the chunk around
@@ -72,7 +71,7 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 3 for the 3 xyz components of the torque for each chunk.  These values
 can be accessed by any command that uses global array values from a
-compute as input.  See "Section 6.15"_Section_howto.html#howto_15
+compute as input.  See the "Howto output"_Howto_output.html doc page
 for an overview of LAMMPS output options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_vacf.txt b/doc/src/compute_vacf.txt
index a0d9a3c5f702ea42c77d8a18f433743f73500f77..d615f70e2269bc6c2ea21b60a5c461460e591f0f 100644
--- a/doc/src/compute_vacf.txt
+++ b/doc/src/compute_vacf.txt
@@ -55,9 +55,8 @@ correctly with time=0 atom velocities from the restart file.
 
 This compute calculates a global vector of length 4, which can be
 accessed by indices 1-4 by any command that uses global vector values
-from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options.
+from a compute as input.  See the "Howto output"_Howto_output.html doc
+page for an overview of LAMMPS output options.
 
 The vector values are "intensive".  The vector values will be in
 velocity^2 "units"_units.html.
diff --git a/doc/src/compute_vcm_chunk.txt b/doc/src/compute_vcm_chunk.txt
index de02c586bf9d0d052f7e9421e4f52372b5b8e3c4..af1a4305d83daa7fea51b03f3a733c3866f21ad9 100644
--- a/doc/src/compute_vcm_chunk.txt
+++ b/doc/src/compute_vcm_chunk.txt
@@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
-defined and examples of how they can be used to measure properties of
-a system.
+chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
+doc pages for details of how chunks can be defined and examples of how
+they can be used to measure properties of a system.
 
 This compute calculates the x,y,z components of the center-of-mass
 velocity for each chunk.  This is done by summing mass*velocity for
@@ -63,8 +62,8 @@ number of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
 3 for the x,y,z center-of-mass velocity coordinates of each chunk.
 These values can be accessed by any command that uses global array
-values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options.
 
 The array values are "intensive".  The array values will be in
diff --git a/doc/src/compute_voronoi_atom.txt b/doc/src/compute_voronoi_atom.txt
index a280b2b151d7e7656a421e8007f04c1eed464c90..bbd68b16ea9e7b1526efbe7dd07954be2891db25 100644
--- a/doc/src/compute_voronoi_atom.txt
+++ b/doc/src/compute_voronoi_atom.txt
@@ -122,18 +122,16 @@ to locate vacancies (the coordinates are given by the atom coordinates
 at the time step when the compute was first invoked), while column two
 data can be used to identify interstitial atoms.
 
-If the {neighbors} value is set to yes, then
-this compute creates a local array with 3 columns. There
-is one row for each face of each Voronoi cell. The
-3 columns are the atom ID of the atom that owns the cell,
-the atom ID of the atom in the neighboring cell
-(or zero if the face is external), and the area of the face.
-The array can be accessed by any command that
-uses local values from a compute as input.  See "this
-section"_Section_howto.html#howto_15 for an overview of LAMMPS output
-options. More specifically, the array can be accessed by a
-"dump local"_dump.html command to write a file containing
-all the Voronoi neighbors in a system:
+If the {neighbors} value is set to yes, then this compute creates a
+local array with 3 columns. There is one row for each face of each
+Voronoi cell. The 3 columns are the atom ID of the atom that owns the
+cell, the atom ID of the atom in the neighboring cell (or zero if the
+face is external), and the area of the face.  The array can be
+accessed by any command that uses local values from a compute as
+input.  See the "Howto output"_Howto_output.html doc page for an
+overview of LAMMPS output options. More specifically, the array can be
+accessed by a "dump local"_dump.html command to write a file
+containing all the Voronoi neighbors in a system:
 
 compute 6 all voronoi/atom neighbors yes
 dump d2 all local 1 dump.neighbors index c_6\[1\] c_6\[2\] c_6\[3\] :pre
@@ -186,8 +184,8 @@ columns. In regular dynamic tessellation mode the first column is the
 Voronoi volume, the second is the neighbor count, as described above
 (read above for the output data in case the {occupation} keyword is
 specified).  These values can be accessed by any command that uses
-per-atom values from a compute as input.  See "Section
-6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
+per-atom values from a compute as input.  See the "Howto
+output"_Howto_output.html doc page for an overview of LAMMPS output
 options. If the {peratom} keyword is set to "no", the per-atom array
 is still created, but it is not accessible.
 
diff --git a/doc/src/compute_xrd.txt b/doc/src/compute_xrd.txt
index 1a151d63f9157380349a55d2f4a49d2ac806a4a2..03fd0ecdc29c547df3ce6d7a3f3b811e05377f4a 100644
--- a/doc/src/compute_xrd.txt
+++ b/doc/src/compute_xrd.txt
@@ -162,7 +162,7 @@ or degrees) provided with the {2Theta} values. The second column contains
 the computed diffraction intensities as described above.
 
 The array can be accessed by any command that uses global values from
-a compute as input.  See "this section"_Section_howto.html#howto_15
+a compute as input.  See the "Howto output"_Howto_output.html doc page
 for an overview of LAMMPS output options.
 
 All array values calculated by this compute are "intensive".
diff --git a/doc/src/create_box.txt b/doc/src/create_box.txt
index f4ef13654c6eaf3f13a1795862879b6642e7734b..ed05775591048e7e65651467a7cb9e63e273e1c1 100644
--- a/doc/src/create_box.txt
+++ b/doc/src/create_box.txt
@@ -73,9 +73,9 @@ factors that exceed these limits, you can use the "box tilt"_box.html
 command, with a setting of {large}; a setting of {small} is the
 default.
 
-See "Section 6.12"_Section_howto.html#howto_12 of the doc pages
-for a geometric description of triclinic boxes, as defined by LAMMPS,
-and how to transform these parameters to and from other commonly used
+See the "Howto triclinic"_Howto_triclinic.html doc page for a
+geometric description of triclinic boxes, as defined by LAMMPS, and
+how to transform these parameters to and from other commonly used
 triclinic representations.
 
 When a prism region is used, the simulation domain should normally be
diff --git a/doc/src/dimension.txt b/doc/src/dimension.txt
index 0531e92acf60d439c22848fc3d2a94b653a1c52d..f079f17f996fafc87ec7d7a61f1c6aa15bfff40e 100644
--- a/doc/src/dimension.txt
+++ b/doc/src/dimension.txt
@@ -26,7 +26,7 @@ prior to setting up a simulation box via the
 "create_box"_create_box.html or "read_data"_read_data.html commands.
 Restart files also store this setting.
 
-See the discussion in "Section 6"_Section_howto.html for
+See the discussion on the "Howto 2d"_Howto_2d.html doc page for
 additional instructions on how to run 2d simulations.
 
 NOTE: Some models in LAMMPS treat particles as finite-size spheres or
diff --git a/doc/src/dump.txt b/doc/src/dump.txt
index ff1bf6424df10a43ffcefa95cae512ecfbf2f631..cd8bab2e65755be3a87fa38a51dfbafa4cffd10c 100644
--- a/doc/src/dump.txt
+++ b/doc/src/dump.txt
@@ -224,12 +224,12 @@ This bounding box is convenient for many visualization programs.  The
 meaning of the 6 character flags for "xx yy zz" is the same as above.
 
 Note that the first two numbers on each line are now xlo_bound instead
-of xlo, etc, since they represent a bounding box.  See "this
-section"_Section_howto.html#howto_12 of the doc pages for a geometric
-description of triclinic boxes, as defined by LAMMPS, simple formulas
-for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are
-calculated from the triclinic parameters, and how to transform those
-parameters to and from other commonly used triclinic representations.
+of xlo, etc, since they represent a bounding box.  See the "Howto
+triclinic"_Howto_triclinic.html doc page for a geometric description
+of triclinic boxes, as defined by LAMMPS, simple formulas for how the
+6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from
+the triclinic parameters, and how to transform those parameters to and
+from other commonly used triclinic representations.
 
 The "ITEM: ATOMS" line in each snapshot lists column descriptors for
 the per-atom lines that follow.  For example, the descriptors would be
@@ -530,7 +530,7 @@ so that each value is 0.0 to 1.0.  If the simulation box is triclinic
 (tilted), then all atom coords will still be between 0.0 and 1.0.
 I.e. actual unscaled (x,y,z) = xs*A + ys*B + zs*C, where (A,B,C) are
 the non-orthogonal vectors of the simulation box edges, as discussed
-in "Section 6.12"_Section_howto.html#howto_12.
+on the "Howto triclinic"_Howto_triclinic.html doc page.
 
 Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the
 image flags for each atom.  Unwrapped means that if the atom has
diff --git a/doc/src/dump_image.txt b/doc/src/dump_image.txt
index c1732be972f6502111c71fbc411152e223c9053f..fcc9b25b62bfd62e295af254be8f7ed40e21e9ef 100644
--- a/doc/src/dump_image.txt
+++ b/doc/src/dump_image.txt
@@ -356,16 +356,16 @@ is used to define body particles with internal state
 body style.  If this keyword is not used, such particles will be drawn
 as spheres, the same as if they were regular atoms.
 
-The "body"_body.html doc page describes the body styles LAMMPS
-currently supports, and provides more details as to the kind of body
-particles they represent and how they are drawn by this dump image
-command.  For all the body styles, individual atoms can be either a
-body particle or a usual point (non-body) particle.  Non-body
+The "Howto body"_Howto_body.html doc page describes the body styles
+LAMMPS currently supports, and provides more details as to the kind of
+body particles they represent and how they are drawn by this dump
+image command.  For all the body styles, individual atoms can be
+either a body particle or a usual point (non-body) particle.  Non-body
 particles will be drawn the same way they would be as a regular atom.
 The {bflag1} and {bflag2} settings are numerical values which are
 passed to the body style to affect how the drawing of a body particle
-is done.  See the "body"_body.html doc page for a description of what
-these parameters mean for each body style.
+is done.  See the "Howto body"_Howto_body.html doc page for a
+description of what these parameters mean for each body style.
 
 The only setting currently allowed for the {color} value is {type},
 which will color the body particles according to the atom type of the
diff --git a/doc/src/fix.txt b/doc/src/fix.txt
index ba2088576f1b4137d61d89509d2e6089026864f4..a51dc1637defcc49c51ec1283c891d5f347a98b8 100644
--- a/doc/src/fix.txt
+++ b/doc/src/fix.txt
@@ -133,7 +133,7 @@ reduce"_compute_reduce.html command, or histogrammed by the "fix
 ave/histo"_fix_ave_histo.html command. :l
 :ule
 
-See this "howto section"_Section_howto.html#howto_15 for a summary of
+See the "Howto output"_Howto_output.html doc page for a summary of
 various LAMMPS output options, many of which involve fixes.
 
 The results of fixes that calculate global quantities can be either
diff --git a/doc/src/fix_adapt.txt b/doc/src/fix_adapt.txt
index 7a34f2ff4480004c3ff249957b2b36204a087035..0764d04e6d33cc31530f937b4d72fa23d410bd97 100644
--- a/doc/src/fix_adapt.txt
+++ b/doc/src/fix_adapt.txt
@@ -270,10 +270,10 @@ fix 1 center adapt 10 atom diameter v_size :pre
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 For "rRESPA time integration"_run_style.html, this fix changes
 parameters on the outermost rRESPA level.
diff --git a/doc/src/fix_adapt_fep.txt b/doc/src/fix_adapt_fep.txt
index 5dd58bc39adb83c1994bf847bcaf4e878ea34fb4..43c87a1601d34c4a4ba2d8c0b24b543d85f5476c 100644
--- a/doc/src/fix_adapt_fep.txt
+++ b/doc/src/fix_adapt_fep.txt
@@ -243,10 +243,10 @@ parameters on the outermost rRESPA level.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_addforce.txt b/doc/src/fix_addforce.txt
index 5bba9acb3fe6ae5e988bfbc57f5d4dc8cdb07b4a..c77cdb62afa5a1bd278c2cb7b522a7e426b9be0e 100644
--- a/doc/src/fix_addforce.txt
+++ b/doc/src/fix_addforce.txt
@@ -150,11 +150,11 @@ integrator the fix is adding its forces. Default is the outermost
 level.
 
 This fix computes a global scalar and a global 3-vector of forces,
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar is the potential
-energy discussed above.  The vector is the total force on the group of
-atoms before the forces on individual atoms are changed by the fix.
-The scalar and vector values calculated by this fix are "extensive".
+which can be accessed by various "output commands"_Howto_output.html.
+The scalar is the potential energy discussed above.  The vector is the
+total force on the group of atoms before the forces on individual
+atoms are changed by the fix.  The scalar and vector values calculated
+by this fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_addtorque.txt b/doc/src/fix_addtorque.txt
index 793ec0e0157121a404a6991a2e67d9c01444ae21..589cb37cc0c15dea8b83483fe81bd2c9d99ee0b7 100644
--- a/doc/src/fix_addtorque.txt
+++ b/doc/src/fix_addtorque.txt
@@ -70,11 +70,11 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its torque. Default is the outermost level.
 
 This fix computes a global scalar and a global 3-vector, which can be
-accessed by various "output commands"_Section_howto.html#howto_15.
-The scalar is the potential energy discussed above.  The vector is the
-total torque on the group of atoms before the forces on individual
-atoms are changed by the fix.  The scalar and vector values calculated
-by this fix are "extensive".
+accessed by various "output commands"_Howto_output.html.  The scalar
+is the potential energy discussed above.  The vector is the total
+torque on the group of atoms before the forces on individual atoms are
+changed by the fix.  The scalar and vector values calculated by this
+fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_append_atoms.txt b/doc/src/fix_append_atoms.txt
index 27070c9be53f3d725e5f4492a1d35ce1deffead2..ba7b4a3e74fae7dd2b357a97b56a8c1b9c6a6423 100644
--- a/doc/src/fix_append_atoms.txt
+++ b/doc/src/fix_append_atoms.txt
@@ -87,10 +87,10 @@ define the lattice spacings.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_atc.txt b/doc/src/fix_atc.txt
index 49014f0591ff08e6f6e636067eed11ee9c8aab43..af3270ff528ef9d06696a5beb6ea4692f9d49cec 100644
--- a/doc/src/fix_atc.txt
+++ b/doc/src/fix_atc.txt
@@ -102,7 +102,13 @@ Note coupling and post-processing can be combined in the same simulations using
 
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
-No information about this fix is written to "binary restart files"_restart.html.  The "fix_modify"_fix_modify.html options relevant to this fix are listed below.  No global scalar or vector or per-atom quantities are stored by this fix for access by various "output 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.
+No information about this fix is written to "binary restart
+files"_restart.html.  The "fix_modify"_fix_modify.html options
+relevant to this fix are listed below.  No global scalar or vector or
+per-atom quantities are stored by this fix for access by various
+"output commands"_Howto_output.html.  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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_atom_swap.txt b/doc/src/fix_atom_swap.txt
index bf56277214bf78ac10270d40ea2fcd56c1391aa7..0b3be3ce5e6250be3c5a115d0f06e55cf3ca788f 100644
--- a/doc/src/fix_atom_swap.txt
+++ b/doc/src/fix_atom_swap.txt
@@ -150,8 +150,8 @@ None of the "fix_modify"_fix_modify.html options are relevant to this
 fix.
 
 This fix computes a global vector of length 2, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  The vector
-values are the following global cumulative quantities:
+by various "output commands"_Howto_output.html.  The vector values are
+the following global cumulative quantities:
 
 1 = swap attempts
 2 = swap successes :ul
diff --git a/doc/src/fix_ave_atom.txt b/doc/src/fix_ave_atom.txt
index 23e4ed235b2d21c3c9cde5df0207781b448d69c2..05bd0f6fa728c204aefedf2fa40fa3ae1491292c 100644
--- a/doc/src/fix_ave_atom.txt
+++ b/doc/src/fix_ave_atom.txt
@@ -38,7 +38,7 @@ fix 1 all ave/atom 10 20 1000 c_my_stress\[*\] :pre
 Use one or more per-atom vectors as inputs every few timesteps, and
 average them atom by atom over longer timescales.  The resulting
 per-atom averages can be used by other "output
-commands"_Section_howto.html#howto_15 such as the "fix
+commands"_Howto_output.html such as the "fix
 ave/chunk"_fix_ave_chunk.html or "dump custom"_dump.html commands.
 
 The group specified with the command means only atoms within the group
@@ -155,14 +155,14 @@ 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 scalar or vector quantities are
 stored by this fix for access by various "output
-commands"_Section_howto.html#howto_15.
+commands"_Howto_output.html.
 
 This fix produces a per-atom vector or array which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  A vector is
-produced if only a single quantity is averaged by this fix.  If two or
-more quantities are averaged, then an array of values is produced.
-The per-atom values can only be accessed on timesteps that are
-multiples of {Nfreq} since that is when averaging is performed.
+various "output commands"_Howto_output.html.  A vector is produced if
+only a single quantity is averaged by this fix.  If two or more
+quantities are averaged, then an array of values is produced.  The
+per-atom values can only be accessed on timesteps that are multiples
+of {Nfreq} since that is when averaging is performed.
 
 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
diff --git a/doc/src/fix_ave_chunk.txt b/doc/src/fix_ave_chunk.txt
index 8e2a09e33fb4a4da2872780fad28fb3f3dc54769..e9d0ef7e725a28f1dba055f7fa17d87199963f3b 100644
--- a/doc/src/fix_ave_chunk.txt
+++ b/doc/src/fix_ave_chunk.txt
@@ -85,17 +85,17 @@ fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile :pre
 Use one or more per-atom vectors as inputs every few timesteps, sum
 the values over the atoms in each chunk at each timestep, then average
 the per-chunk values over longer timescales.  The resulting chunk
-averages can be used by other "output
-commands"_Section_howto.html#howto_15 such as "thermo_style
-custom"_thermo_style.html, and can also be written to a file.
+averages can be used by other "output commands"_Howto_output.html such
+as "thermo_style custom"_thermo_style.html, and can also be written to
+a file.
 
 In LAMMPS, chunks are collections of atoms defined by a "compute
 chunk/atom"_compute_chunk_atom.html command, which assigns each atom
 to a single chunk (or no chunk).  The ID for this command is specified
 as chunkID.  For example, a single chunk could be the atoms in a
 molecule or atoms in a spatial bin.  See the "compute
-chunk/atom"_compute_chunk_atom.html doc page and "Section
-6.23"_Section_howto.html#howto_23 for details of how chunks can be
+chunk/atom"_compute_chunk_atom.html doc page and the "Howto
+chunk"_Howto_chunk.html doc page for details of how chunks can be
 defined and examples of how they can be used to measure properties of
 a system.
 
@@ -456,20 +456,19 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global array of values which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The values can
-only be accessed on timesteps that are multiples of {Nfreq} since that
-is when averaging is performed.  The global array has # of rows =
-the number of chunks {Nchunk} as calculated by the specified "compute
+various "output commands"_Howto_output.html.  The values can only be
+accessed on timesteps that are multiples of {Nfreq} since that is when
+averaging is performed.  The global array has # of rows = the number
+of chunks {Nchunk} as calculated by the specified "compute
 chunk/atom"_compute_chunk_atom.html command.  The # of columns =
 M+1+Nvalues, where M = 1 to 4, depending on whether the optional
-columns for OrigID and CoordN are used, as explained above.
-Following the optional columns, the next column contains the count of
-atoms in the chunk, and the remaining columns are the Nvalue
-quantities.  When the array is accessed with a row I that exceeds the
-current number of chunks, than a 0.0 is returned by the fix instead of
-an error, since the number of chunks can vary as a simulation runs
-depending on how that value is computed by the compute chunk/atom
-command.
+columns for OrigID and CoordN are used, as explained above.  Following
+the optional columns, the next column contains the count of atoms in
+the chunk, and the remaining columns are the Nvalue quantities.  When
+the array is accessed with a row I that exceeds the current number of
+chunks, than a 0.0 is returned by the fix instead of an error, since
+the number of chunks can vary as a simulation runs depending on how
+that value is computed by the compute chunk/atom command.
 
 The array values calculated by this fix are treated as "intensive",
 since they are typically already normalized by the count of atoms in
diff --git a/doc/src/fix_ave_correlate.txt b/doc/src/fix_ave_correlate.txt
index 98f352cb74ea0ed97e05324d2980c46bd7147ca1..74ce3f340ee23a7b4179d1e6bf1203ce6982bb46 100644
--- a/doc/src/fix_ave_correlate.txt
+++ b/doc/src/fix_ave_correlate.txt
@@ -68,7 +68,7 @@ calculate time correlations between them at varying time intervals,
 and average the correlation data over longer timescales.  The
 resulting correlation values can be time integrated by
 "variables"_variable.html or used by other "output
-commands"_Section_howto.html#howto_15 such as "thermo_style
+commands"_Howto_output.html such as "thermo_style
 custom"_thermo_style.html, and can also be written to a file.  See the
 "fix ave/correlate/long"_fix_ave_correlate_long.html command for an
 alternate method for computing correlation functions efficiently over
@@ -313,16 +313,15 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global array of values which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The values can
-only be accessed on timesteps that are multiples of {Nfreq} since that
-is when averaging is performed.  The global array has # of rows =
-{Nrepeat} and # of columns = Npair+2.  The first column has the time
-delta (in timesteps) between the pairs of input values used to
-calculate the correlation, as described above.  The 2nd column has the
-number of samples contributing to the correlation average, as
-described above.  The remaining Npair columns are for I,J pairs of the
-N input values, as determined by the {type} keyword, as described
-above.
+various "output commands"_Howto_output.html.  The values can only be
+accessed on timesteps that are multiples of {Nfreq} since that is when
+averaging is performed.  The global array has # of rows = {Nrepeat}
+and # of columns = Npair+2.  The first column has the time delta (in
+timesteps) between the pairs of input values used to calculate the
+correlation, as described above.  The 2nd column has the number of
+samples contributing to the correlation average, as described above.
+The remaining Npair columns are for I,J pairs of the N input values,
+as determined by the {type} keyword, as described above.
 
 For {type} = {auto}, the Npair = N columns are ordered: C11, C22, ...,
 CNN. :ulb,l
diff --git a/doc/src/fix_ave_histo.txt b/doc/src/fix_ave_histo.txt
index 5155f42e7bca0335d29ac16566051255a2ff3a89..e2fd2e04e80d465bca9ab382f1dac799b326591d 100644
--- a/doc/src/fix_ave_histo.txt
+++ b/doc/src/fix_ave_histo.txt
@@ -69,10 +69,9 @@ fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD\[1\] c_XRD\[2\] :pre
 Use one or more values as inputs every few timesteps to create a
 single histogram.  The histogram can then be averaged over longer
 timescales.  The resulting histogram can be used by other "output
-commands"_Section_howto.html#howto_15, and can also be written to a
-file.  The fix ave/histo/weight command has identical syntax to fix
-ave/histo, except that exactly two values must be specified.  See
-details below.
+commands"_Howto_output.html, and can also be written to a file.  The
+fix ave/histo/weight command has identical syntax to fix ave/histo,
+except that exactly two values must be specified.  See details below.
 
 The group specified with this command is ignored for global and local
 input values.  For per-atom input values, only atoms in the group
@@ -320,10 +319,10 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix produces a global vector and global array which can be
-accessed by various "output commands"_Section_howto.html#howto_15.
-The values can only be accessed on timesteps that are multiples of
-{Nfreq} since that is when a histogram is generated.  The global
-vector has 4 values:
+accessed by various "output commands"_Howto_output.html.  The values
+can only be accessed on timesteps that are multiples of {Nfreq} since
+that is when a histogram is generated.  The global vector has 4
+values:
 
 1 = total counts in the histogram
 2 = values that were not histogrammed (see {beyond} keyword)
diff --git a/doc/src/fix_ave_time.txt b/doc/src/fix_ave_time.txt
index b61f56cf0274ef732216e2dcc1020a1bd8f4d4ee..e973a3636054d7565aa1f0406e0c803ea8a4b189 100644
--- a/doc/src/fix_ave_time.txt
+++ b/doc/src/fix_ave_time.txt
@@ -64,7 +64,7 @@ fix 1 all ave/time 1 100 1000 f_indent f_indent\[1\] file temp.indent off 1 :pre
 
 Use one or more global values as inputs every few timesteps, and
 average them over longer timescales.  The resulting averages can be
-used by other "output commands"_Section_howto.html#howto_15 such as
+used by other "output commands"_Howto_output.html such as
 "thermo_style custom"_thermo_style.html, and can also be written to a
 file.  Note that if no time averaging is done, this command can be
 used as a convenient way to simply output one or more global values to
@@ -305,10 +305,9 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix produces a global scalar or global vector or global array
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The values can only be
-accessed on timesteps that are multiples of {Nfreq} since that is when
-averaging is performed.
+which can be accessed by various "output commands"_Howto_output.html.
+The values can only be accessed on timesteps that are multiples of
+{Nfreq} since that is when averaging is performed.
 
 A scalar is produced if only a single input value is averaged and
 {mode} = scalar.  A vector is produced if multiple input values are
diff --git a/doc/src/fix_aveforce.txt b/doc/src/fix_aveforce.txt
index 4944996695260f3e6aab65dc5bb109085d6ad9b9..3497b33ef4d600ac4bf0c7858ac72128a667d466 100644
--- a/doc/src/fix_aveforce.txt
+++ b/doc/src/fix_aveforce.txt
@@ -95,10 +95,10 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global 3-vector of forces, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  This is the
-total force on the group of atoms before the forces on individual
-atoms are changed by the fix.  The vector values calculated by this
-fix are "extensive".
+by various "output commands"_Howto_output.html.  This is the total
+force on the group of atoms before the forces on individual atoms are
+changed by the fix.  The vector values calculated by this fix are
+"extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_balance.txt b/doc/src/fix_balance.txt
index f148e6f99663fe6028e83a246f334b5160ddb470..b98fd85c3bf85d4f9a0c65da676020a696f30d44 100644
--- a/doc/src/fix_balance.txt
+++ b/doc/src/fix_balance.txt
@@ -357,8 +357,8 @@ number of particles (or total weight) on any processor to the average
 number of particles (or total weight) per processor.
 
 These quantities can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar and vector values
-calculated by this fix are "intensive".
+commands"_Howto_output.html.  The scalar and vector values calculated
+by this fix are "intensive".
 
 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
diff --git a/doc/src/fix_bond_break.txt b/doc/src/fix_bond_break.txt
index 83364b9efbbb0b6b9135707c15cae7353ca5b0da..b43053c461a41b6de74339ca4327823fdbeeb973 100644
--- a/doc/src/fix_bond_break.txt
+++ b/doc/src/fix_bond_break.txt
@@ -116,8 +116,8 @@ are relevant to this fix.
 
 This fix computes two statistics which it stores in a global vector of
 length 2, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The vector values calculated
-by this fix are "intensive".
+commands"_Howto_output.html.  The vector values calculated by this fix
+are "intensive".
 
 These are the 2 quantities:
 
diff --git a/doc/src/fix_bond_create.txt b/doc/src/fix_bond_create.txt
index c0045ac0f081e4df37c9fd6cf201d43238aea88f..a55ba1ff6ee6dc963f597adb09e02b3205fcfc37 100644
--- a/doc/src/fix_bond_create.txt
+++ b/doc/src/fix_bond_create.txt
@@ -211,8 +211,8 @@ are relevant to this fix.
 
 This fix computes two statistics which it stores in a global vector of
 length 2, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The vector values calculated
-by this fix are "intensive".
+commands"_Howto_output.html.  The vector values calculated by this fix
+are "intensive".
 
 These are the 2 quantities:
 
diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt
index f85ef9bc1aa6ea034364e5358ac1eafa2824f0d6..006f59100f8bb4ad47aca21e35e31cc1c529e211 100644
--- a/doc/src/fix_bond_react.txt
+++ b/doc/src/fix_bond_react.txt
@@ -298,9 +298,8 @@ relevant to this fix.
 
 This fix computes one statistic for each {react} argument that it
 stores in a global vector, of length 'number of react arguments', that
-can be accessed by various "output
-commands"_Section_howto.html#howto_15. The vector values calculated by
-this fix are "intensive".
+can be accessed by various "output commands"_Howto_output.html. The
+vector values calculated by this fix are "intensive".
 
 These is 1 quantity for each react argument:
 
diff --git a/doc/src/fix_bond_swap.txt b/doc/src/fix_bond_swap.txt
index ca7069e2478de279e063b5e43f1a82d29fe1f9b1..8d5df7e4e0b99ac66062cae34f6837ab6108d664 100644
--- a/doc/src/fix_bond_swap.txt
+++ b/doc/src/fix_bond_swap.txt
@@ -150,13 +150,13 @@ the Boltzmann criterion.
 
 This fix computes two statistical quantities as a global 2-vector of
 output, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The first component of the
-vector is the cumulative number of swaps performed by all processors.
-The second component of the vector is the cumulative number of swaps
-attempted (whether accepted or rejected).  Note that a swap "attempt"
-only occurs when swap partners meeting the criteria described above
-are found on a particular timestep.  The vector values calculated by
-this fix are "intensive".
+commands"_Howto_output.html.  The first component of the vector is the
+cumulative number of swaps performed by all processors.  The second
+component of the vector is the cumulative number of swaps attempted
+(whether accepted or rejected).  Note that a swap "attempt" only
+occurs when swap partners meeting the criteria described above are
+found on a particular timestep.  The vector values calculated by this
+fix are "intensive".
 
 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
diff --git a/doc/src/fix_box_relax.txt b/doc/src/fix_box_relax.txt
index e3d75ee858ea82013a59441cbc1fe016fcd19670..a625f0c5b84719c2308637cf87d29652b50171c3 100644
--- a/doc/src/fix_box_relax.txt
+++ b/doc/src/fix_box_relax.txt
@@ -315,17 +315,15 @@ specified by the {press} keyword will be unaffected by the {temp}
 setting.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15. The scalar is the
-pressure-volume energy, plus the strain energy, if it exists,
-as described above.
-The energy values reported at the
-end of a minimization run under "Minimization stats" include this
-energy, and so differ from what LAMMPS normally reports as potential
-energy. This fix does not support the "fix_modify"_fix_modify.html
-{energy} option, because that would result in double-counting of the
-fix energy in the minimization energy. Instead, the fix energy can be
-explicitly added to the potential energy using one of these two
-variants:
+"output commands"_Howto_output.html. The scalar is the pressure-volume
+energy, plus the strain energy, if it exists, as described above.  The
+energy values reported at the end of a minimization run under
+"Minimization stats" include this energy, and so differ from what
+LAMMPS normally reports as potential energy. This fix does not support
+the "fix_modify"_fix_modify.html {energy} option, because that would
+result in double-counting of the fix energy in the minimization
+energy. Instead, the fix energy can be explicitly added to the
+potential energy using one of these two variants:
 
 variable emin equal pe+f_1  :pre
 
diff --git a/doc/src/fix_cmap.txt b/doc/src/fix_cmap.txt
index f8de2b4efec469736a067faa51fd4ac5a7d863eb..d352f0e65216a8aad9f932df9bf1a34b62576866 100644
--- a/doc/src/fix_cmap.txt
+++ b/doc/src/fix_cmap.txt
@@ -103,9 +103,9 @@ the system's virial as part of "thermodynamic output"_thermo_style.html.
 The default is {virial yes}
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-potential energy discussed above.  The scalar value calculated by this
-fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the potential
+energy discussed above.  The scalar value calculated by this fix is
+"extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_colvars.txt b/doc/src/fix_colvars.txt
index e48dedacd9e17c54b7f4a28d588d173a821ad289..2d3000e6ea2649d745b4d4a82cc556bdf34b83e3 100644
--- a/doc/src/fix_colvars.txt
+++ b/doc/src/fix_colvars.txt
@@ -99,9 +99,9 @@ to the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".
 
 [Restrictions:]
 
diff --git a/doc/src/fix_controller.txt b/doc/src/fix_controller.txt
index b8d2cb43be4b2fbc30d70034531969e4325a4709..710642c0ea4fc384fd2e00d1847432402e85056c 100644
--- a/doc/src/fix_controller.txt
+++ b/doc/src/fix_controller.txt
@@ -180,9 +180,9 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix produces a global vector with 3 values which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  The values
-can be accessed on any timestep, though they are only updated on
-timesteps that are a multiple of {Nevery}.
+by various "output commands"_Howto_output.html.  The values can be
+accessed on any timestep, though they are only updated on timesteps
+that are a multiple of {Nevery}.
 
 The three values are the most recent updates made to the control
 variable by each of the 3 terms in the PID equation above.  The first
diff --git a/doc/src/fix_deform.txt b/doc/src/fix_deform.txt
index 681986561a35e7d36874f10621c5746b4218d705..09261e24235affd5544f82febf56f0f53eeecadb 100644
--- a/doc/src/fix_deform.txt
+++ b/doc/src/fix_deform.txt
@@ -572,10 +572,9 @@ instructions on how to use the accelerated styles effectively.
 This fix will restore the initial box settings from "binary restart
 files"_restart.html, which allows the fix to be properly continue
 deformation, when using the start/stop options of the "run"_run.html
-command.  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#howto_15.
+command.  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"_Howto_output.html.
 
 This fix can perform deformation over multiple runs, using the {start}
 and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_deposit.txt b/doc/src/fix_deposit.txt
index 477c14ea8955ed45763bb1dd27d1242898e22ff5..285e720555264bbb623071ad74882783582e4ff6 100644
--- a/doc/src/fix_deposit.txt
+++ b/doc/src/fix_deposit.txt
@@ -116,8 +116,8 @@ side = {in}.
 
 NOTE: LAMMPS checks that the specified region is wholly inside the
 simulation box.  It can do this correctly for orthonormal simulation
-boxes.  However for "triclinic boxes"_Section_howto.html#howto_12, it
-only tests against the larger orthonormal box that bounds the tilted
+boxes.  However for "triclinic boxes"_Howto_triclinic.html, it only
+tests against the larger orthonormal box that bounds the tilted
 simulation box.  If the specified region includes volume outside the
 tilted box, then an insertion will likely fail, leading to a "lost
 atoms" error.  Thus for triclinic boxes you should insure the
@@ -263,9 +263,9 @@ operation of the fix continues in an uninterrupted fashion.
 
 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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_dpd_source.txt b/doc/src/fix_dpd_source.txt
index b6decc657cea412ac80a96ff4bcf7d8d84bb6348..bbfc99e8c8e1262585fa8a37df286208cf9662bb 100644
--- a/doc/src/fix_dpd_source.txt
+++ b/doc/src/fix_dpd_source.txt
@@ -63,10 +63,10 @@ cuboid domain to apply the source flux to.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_drag.txt b/doc/src/fix_drag.txt
index 235d3d38b5f97d91dae8a4fa3122e77486fbf7cd..a67ec6aaf2603dd2ddddc897b4705959714df69b 100644
--- a/doc/src/fix_drag.txt
+++ b/doc/src/fix_drag.txt
@@ -47,9 +47,9 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global 3-vector of forces, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  This is the
-total force on the group of atoms by the drag force.  The vector
-values calculated by this fix are "extensive".
+by various "output commands"_Howto_output.html.  This is the total
+force on the group of atoms by the drag force.  The vector values
+calculated by this fix are "extensive".
 
 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
diff --git a/doc/src/fix_drude.txt b/doc/src/fix_drude.txt
index faa354b31439dbecf3dc8e04a3b31e47d1011757..4a3d30a9cae982dcccef9c4e6d86063844b5a90d 100644
--- a/doc/src/fix_drude.txt
+++ b/doc/src/fix_drude.txt
@@ -25,10 +25,10 @@ fix 1 all drude C C N C N D D D :pre
 [Description:]
 
 Assign each atom type in the system to be one of 3 kinds of atoms
-within the Drude polarization model. This fix is designed to be
-used with the "thermalized Drude oscillator
-model"_tutorial_drude.html.  Polarizable models in LAMMPS
-are described in "this Section"_Section_howto.html#howto_25.
+within the Drude polarization model. This fix is designed to be used
+with the "thermalized Drude oscillator model"_Howto_drude.html.
+Polarizable models in LAMMPS are described on the "Howto
+polarizable"_Howto_polarizable.html doc page.
 
 The three possible types can be designated with an integer (0,1,2)
 or capital letter (N,C,D):
diff --git a/doc/src/fix_drude_transform.txt b/doc/src/fix_drude_transform.txt
index 2e094d528c368ca35e59eb09d67abe2e2eb6198e..54cdfa956ed6dd86a6978338cc82041685906f98 100644
--- a/doc/src/fix_drude_transform.txt
+++ b/doc/src/fix_drude_transform.txt
@@ -34,8 +34,8 @@ Transform the coordinates of Drude oscillators from real to reduced
 and back for thermalizing the Drude oscillators as described in
 "(Lamoureux)"_#Lamoureux1 using a Nose-Hoover thermostat.  This fix is
 designed to be used with the "thermalized Drude oscillator
-model"_tutorial_drude.html.  Polarizable models in LAMMPS are
-described in "this Section"_Section_howto.html#howto_25.
+model"_Howto_drude.html.  Polarizable models in LAMMPS are described
+on the "Howto polarizable"_Howto_polarizable.html doc page.
 
 Drude oscillators are a pair of atoms representing a single
 polarizable atom.  Ideally, the mass of Drude particles would vanish
diff --git a/doc/src/fix_dt_reset.txt b/doc/src/fix_dt_reset.txt
index 7605395ca05122bbde2a2600e2349b9026be4b56..428128fedaa977996ad48875b3595f9f4f46612b 100644
--- a/doc/src/fix_dt_reset.txt
+++ b/doc/src/fix_dt_reset.txt
@@ -82,8 +82,8 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar stores
-the last timestep on which the timestep was reset to a new value.
+"output commands"_Howto_output.html.  The scalar stores the last
+timestep on which the timestep was reset to a new value.
 
 The scalar value calculated by this fix is "intensive".
 
diff --git a/doc/src/fix_efield.txt b/doc/src/fix_efield.txt
index 5d2b86fe4b9c1dcc3cc3b8ae5fd25802d5d1c1bd..a248a03b07e49137d3b9973769800255bdaeae6d 100644
--- a/doc/src/fix_efield.txt
+++ b/doc/src/fix_efield.txt
@@ -134,11 +134,10 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix adding its forces. Default is the outermost level.
 
 This fix computes a global scalar and a global 3-vector of forces,
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar is the potential
-energy discussed above.  The vector is the total force added to the
-group of atoms.  The scalar and vector values calculated by this fix
-are "extensive".
+which can be accessed by various "output commands"_Howto_output.html.
+The scalar is the potential energy discussed above.  The vector is the
+total force added to the group of atoms.  The scalar and vector values
+calculated by this fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt
index 67b351e4b820e1c95f54b6cf58d77f74f43dcb7d..b0d8c691b5a31cc9b6336f99a174b082ce3620cb 100644
--- a/doc/src/fix_enforce2d.txt
+++ b/doc/src/fix_enforce2d.txt
@@ -55,9 +55,9 @@ instructions on how to use the accelerated styles effectively.
 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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.
 
 The forces due to this fix are imposed during an energy minimization,
 invoked by the "minimize"_minimize.html command.
diff --git a/doc/src/fix_evaporate.txt b/doc/src/fix_evaporate.txt
index ed6c6d03775d5fe11195b3c3d6ccfc7eb365c909..be8b3519862a6f2e029ea81122a431f93f646220 100644
--- a/doc/src/fix_evaporate.txt
+++ b/doc/src/fix_evaporate.txt
@@ -73,9 +73,9 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar, which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative number of deleted atoms.  The scalar value calculated by
-this fix is "intensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+number of deleted atoms.  The scalar value calculated by this fix is
+"intensive".
 
 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
diff --git a/doc/src/fix_external.txt b/doc/src/fix_external.txt
index 30e34b48587f2dd276dcd9bb50f398bc95f80a45..bf80b1b2313f03556f9d65f33c20ddd840a5bd2d 100644
--- a/doc/src/fix_external.txt
+++ b/doc/src/fix_external.txt
@@ -31,10 +31,10 @@ fix 1 all external pf/array 10 :pre
 [Description:]
 
 This fix allows external programs that are running LAMMPS through its
-"library interface"_Section_howto.html#howto_19 to modify certain
-LAMMPS properties on specific timesteps, similar to the way other
-fixes do.  The external driver can be a "C/C++ or Fortran
-program"_Section_howto.html#howto_19 or a "Python script"_Python.html.
+"library interface"_Howto_library.html to modify certain LAMMPS
+properties on specific timesteps, similar to the way other fixes do.
+The external driver can be a "C/C++ or Fortran
+program"_Howto_library.html or a "Python script"_Python.html.
 
 :line
 
@@ -136,9 +136,8 @@ external program to the system's virial as part of "thermodynamic
 output"_thermo_style.html. The default is {virial yes}
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-potential energy discussed above.  The scalar stored by this fix
-is "extensive".
+"output commands"_Howto_output.html.  The scalar is the potential
+energy discussed above.  The scalar stored by this fix is "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_filter_corotate.txt b/doc/src/fix_filter_corotate.txt
index b782d285c768ec6f4b25eaf29037cef6695e7613..a75a3b7b44f14a5c5000fa6fed75ced2a157b182 100644
--- a/doc/src/fix_filter_corotate.txt
+++ b/doc/src/fix_filter_corotate.txt
@@ -63,10 +63,9 @@ No information about these fixes is written to "binary restart
 files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to these fixes.  No global or per-atom quantities are
 stored by these fixes for access by various "output
-commands"_Section_howto.html#howto_15.  No parameter of these fixes
-can be used with the {start/stop} keywords of the "run"_run.html
-command.  These fixes are not invoked during "energy
-minimization"_minimize.html.
+commands"_Howto_output.html.  No parameter of these fixes can be used
+with the {start/stop} keywords of the "run"_run.html command.  These
+fixes are not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_flow_gauss.txt b/doc/src/fix_flow_gauss.txt
index efa58ea65fa8b71a940d707dbbabb5119ad90759..0980076062c123aa796c18c373a7c4df3a0a5b7a 100644
--- a/doc/src/fix_flow_gauss.txt
+++ b/doc/src/fix_flow_gauss.txt
@@ -128,11 +128,11 @@ integrator the fix computes and adds the external acceleration. Default is the
 outermost level.
 
 This fix computes a global scalar and a global 3-vector of forces,
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar is the negative of the
-work done on the system, see above discussion.  The vector is the total force
-that this fix applied to the group of atoms on the current timestep.
-The scalar and vector values calculated by this fix are "extensive".
+which can be accessed by various "output commands"_Howto_output.html.
+The scalar is the negative of the work done on the system, see above
+discussion.  The vector is the total force that this fix applied to
+the group of atoms on the current timestep.  The scalar and vector
+values calculated by this fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_freeze.txt b/doc/src/fix_freeze.txt
index 9619f4120b415768db568ffffbb1734dd504be27..43714df8023d46dda7aaaa2c3c3414b8b64893b0 100644
--- a/doc/src/fix_freeze.txt
+++ b/doc/src/fix_freeze.txt
@@ -60,10 +60,10 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global 3-vector of forces, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  This is the
-total force on the group of atoms before the forces on individual
-atoms are changed by the fix.  The vector values calculated by this
-fix are "extensive".
+by various "output commands"_Howto_output.html.  This is the total
+force on the group of atoms before the forces on individual atoms are
+changed by the fix.  The vector values calculated by this fix are
+"extensive".
 
 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
diff --git a/doc/src/fix_gcmc.txt b/doc/src/fix_gcmc.txt
index 191bc32b1499f1f4555330c8347bf49cb2472634..9630d856beaff57a77d8647e8ea30d40e0144976 100644
--- a/doc/src/fix_gcmc.txt
+++ b/doc/src/fix_gcmc.txt
@@ -382,8 +382,8 @@ None of the "fix_modify"_fix_modify.html options are relevant to this
 fix.
 
 This fix computes a global vector of length 8, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  The vector
-values are the following global cumulative quantities:
+by various "output commands"_Howto_output.html.  The vector values are
+the following global cumulative quantities:
 
 1 = translation attempts
 2 = translation successes
diff --git a/doc/src/fix_gld.txt b/doc/src/fix_gld.txt
index 1425f62e13374d3c6f0feb14d624c63a1e2128cf..06ac5d68cb373a10bdb2a3e1a44d1b604dc1ce81 100644
--- a/doc/src/fix_gld.txt
+++ b/doc/src/fix_gld.txt
@@ -126,7 +126,7 @@ sense, a restarted simulation should produce the same behavior.
 
 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#howto_15.
+access by various "output commands"_Howto_output.html.
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_gle.txt b/doc/src/fix_gle.txt
index 6568060f0c2482c99607b1af93022a20ec0d6fe6..d91dd8dee98c6cbd8d778491e9da181d8b3062c7 100644
--- a/doc/src/fix_gle.txt
+++ b/doc/src/fix_gle.txt
@@ -116,9 +116,9 @@ system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".
 
 [Restrictions:]
 
diff --git a/doc/src/fix_gravity.txt b/doc/src/fix_gravity.txt
index f39955d4f8ed4247967043cf3376784e834a3420..786f1456083fd81dad6f9d616e7f4432d3c82b73 100644
--- a/doc/src/fix_gravity.txt
+++ b/doc/src/fix_gravity.txt
@@ -124,11 +124,11 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  This scalar is the
-gravitational potential energy of the particles in the defined field,
-namely mass * (g dot x) for each particles, where x and mass are the
-particles position and mass, and g is the gravitational field.  The
-scalar value calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  This scalar is the gravitational
+potential energy of the particles in the defined field, namely mass *
+(g dot x) for each particles, where x and mass are the particles
+position and mass, and g is the gravitational field.  The scalar value
+calculated by this fix is "extensive".
 
 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
diff --git a/doc/src/fix_halt.txt b/doc/src/fix_halt.txt
index 08043eb5fb76659bf851d59444eeec56548b11cd..55f313e40f8d57e35eecf1a7542d0ecdf664aa2a 100644
--- a/doc/src/fix_halt.txt
+++ b/doc/src/fix_halt.txt
@@ -133,10 +133,10 @@ files.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_heat.txt b/doc/src/fix_heat.txt
index 23db87dac27d8fc51d958bb1df857a0b6539e426..a0e9b945fc087047e34f12ad036e43046f0f5499 100644
--- a/doc/src/fix_heat.txt
+++ b/doc/src/fix_heat.txt
@@ -108,12 +108,11 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  This scalar is the
-most recent value by which velocites were scaled.  The scalar value
-calculated by this fix is "intensive".  If {eflux} is specified as
-an atom-style variable, this fix computes the average value by which
-the velocities were scaled for all of the atoms that had their
-velocities scaled.
+"output commands"_Howto_output.html.  This scalar is the most recent
+value by which velocites were scaled.  The scalar value calculated by
+this fix is "intensive".  If {eflux} is specified as an atom-style
+variable, this fix computes the average value by which the velocities
+were scaled for all of the atoms that had their velocities scaled.
 
 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
diff --git a/doc/src/fix_imd.txt b/doc/src/fix_imd.txt
index b2756128191740d86ec6a9be5a18a831e48a0627..1a1f11c2cf3d3ff8298c9b7ea97396b2657ce2de 100644
--- a/doc/src/fix_imd.txt
+++ b/doc/src/fix_imd.txt
@@ -136,9 +136,9 @@ 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 scalar or vector or per-atom
 quantities are stored by this fix for access by various "output
-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.
+commands"_Howto_output.html.  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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_indent.txt b/doc/src/fix_indent.txt
index c9a791ae4ece3069805ac86172ffae4805361076..1f67c0b24282f3508d50cf7501824eca7010f80d 100644
--- a/doc/src/fix_indent.txt
+++ b/doc/src/fix_indent.txt
@@ -180,8 +180,8 @@ integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar energy and a global 3-vector of
 forces (on the indenter), which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar and vector values
-calculated by this fix are "extensive".
+commands"_Howto_output.html.  The scalar and vector values calculated
+by this fix are "extensive".
 
 The forces due to this fix are imposed during an energy minimization,
 invoked by the "minimize"_minimize.html command.  Note that if you
diff --git a/doc/src/fix_langevin.txt b/doc/src/fix_langevin.txt
index 6ab236e572d0b46c8d6a1ee6851a4b9c5a0233a4..769b18860488fbd39d591141f2c342d66bf5fa4c 100644
--- a/doc/src/fix_langevin.txt
+++ b/doc/src/fix_langevin.txt
@@ -101,7 +101,7 @@ should not normally be used on atoms that also have their temperature
 controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix
 temp/rescale"_fix_temp_rescale.html commands.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
+See the "Howto thermostat"_Howto_thermostat.html doc page for
 a discussion of different ways to compute temperature and perform
 thermostatting.
 
@@ -305,10 +305,10 @@ output"_thermo_style.html.  Note that use of this option requires
 setting the {tally} keyword to {yes}.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".  Note that calculation of this
-quantity requires setting the {tally} keyword to {yes}.
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".  Note that calculation of this quantity requires
+setting the {tally} keyword to {yes}.
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_langevin_drude.txt b/doc/src/fix_langevin_drude.txt
index c85ff24c96d2982439d67c4ac52fd3bea5083044..bda8ec78811eed5db6bc73f7a8d21c44706d22dd 100644
--- a/doc/src/fix_langevin_drude.txt
+++ b/doc/src/fix_langevin_drude.txt
@@ -44,8 +44,9 @@ fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes :pre
 Apply two Langevin thermostats as described in "(Jiang)"_#Jiang1 for
 thermalizing the reduced degrees of freedom of Drude oscillators.
 This link describes how to use the "thermalized Drude oscillator
-model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS
-are discussed in "this Section"_Section_howto.html#howto_25.
+model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS
+are discussed on the "Howto polarizable"_Howto_polarizable.html doc
+page.
 
 Drude oscillators are a way to simulate polarizables atoms, by
 splitting them into a core and a Drude particle bound by a harmonic
@@ -99,8 +100,8 @@ Likewise, this fix should not normally be used on atoms that also have
 their temperature controlled by another fix - e.g. by "fix
 nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostating.
 
 :line
diff --git a/doc/src/fix_langevin_eff.txt b/doc/src/fix_langevin_eff.txt
index 4a50bfae54d1a058b3b31bf86159e838163ff87f..ef22e99bcf366037b1cdbb543098d793dbda5ad3 100644
--- a/doc/src/fix_langevin_eff.txt
+++ b/doc/src/fix_langevin_eff.txt
@@ -79,10 +79,10 @@ output"_thermo_style.html.  Note that use of this option requires
 setting the {tally} keyword to {yes}.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".  Note that calculation of this
-quantity requires setting the {tally} keyword to {yes}.
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".  Note that calculation of this quantity requires
+setting the {tally} keyword to {yes}.
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_latte.txt b/doc/src/fix_latte.txt
index 4edd610546350ac082789fb517af918c7167c1f3..4f7e99dea887c421b79d4d523d9702672134dac5 100644
--- a/doc/src/fix_latte.txt
+++ b/doc/src/fix_latte.txt
@@ -118,9 +118,9 @@ of "thermodynamic output"_thermo_style.html.  The default is {virial
 yes}
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-potential energy discussed above.  The scalar value calculated by this
-fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the potential
+energy discussed above.  The scalar value calculated by this fix is
+"extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_lb_fluid.txt b/doc/src/fix_lb_fluid.txt
index fc6203b0f2c1967613e81b694977c9dd26accfcf..925ca991c4e95eeba71d5e4c425aaf59670edf9d 100644
--- a/doc/src/fix_lb_fluid.txt
+++ b/doc/src/fix_lb_fluid.txt
@@ -299,9 +299,9 @@ is written to the main LAMMPS "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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_lb_momentum.txt b/doc/src/fix_lb_momentum.txt
index 97965e870d95b70688428bd17304bdb83dce43e5..78a1f497eb50ccc0d8f3dc937d5ac662fc89eb41 100644
--- a/doc/src/fix_lb_momentum.txt
+++ b/doc/src/fix_lb_momentum.txt
@@ -49,10 +49,10 @@ dimension.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_lb_pc.txt b/doc/src/fix_lb_pc.txt
index d2b6aafaab84a38d890abba5d5125ca5327f9687..f93d02f677ff434181cef3b666616e44f729e2a5 100644
--- a/doc/src/fix_lb_pc.txt
+++ b/doc/src/fix_lb_pc.txt
@@ -34,10 +34,10 @@ algorithm if the force coupling constant has been set by default.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_lb_rigid_pc_sphere.txt b/doc/src/fix_lb_rigid_pc_sphere.txt
index 468ebe1ff5d31e8b224e6b864b3a8949eafd7c22..50e91df849fd7666cdf572e6beef9b863282a3a4 100644
--- a/doc/src/fix_lb_rigid_pc_sphere.txt
+++ b/doc/src/fix_lb_rigid_pc_sphere.txt
@@ -80,12 +80,12 @@ assumes the constituent atoms are point particles); see
 No information about the {rigid} and {rigid/nve} fixes are written to
 "binary restart files"_restart.html.
 
-Similar to the "fix rigid"_fix_rigid.html command: The rigid
-fix computes a global scalar which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar value calculated by
-these fixes is "intensive".  The scalar is the current temperature of
-the collection of rigid bodies.  This is averaged over all rigid
-bodies and their translational and rotational degrees of freedom.  The
+Similar to the "fix rigid"_fix_rigid.html command: The rigid fix
+computes a global scalar which can be accessed by various "output
+commands"_Howto_output.html.  The scalar value calculated by these
+fixes is "intensive".  The scalar is the current temperature of the
+collection of rigid bodies.  This is averaged over all rigid bodies
+and their translational and rotational degrees of freedom.  The
 translational energy of a rigid body is 1/2 m v^2, where m = total
 mass of the body and v = the velocity of its center of mass.  The
 rotational energy of a rigid body is 1/2 I w^2, where I = the moment
@@ -94,17 +94,17 @@ of freedom constrained by the {force} and {torque} keywords are
 removed from this calculation.
 
 All of these fixes compute a global array of values which can be
-accessed by various "output commands"_Section_howto.html#howto_15.
-The number of rows in the array is equal to the number of rigid
-bodies.  The number of columns is 15.  Thus for each rigid body, 15
-values are stored: the xyz coords of the center of mass (COM), the xyz
-components of the COM velocity, the xyz components of the force acting
-on the COM, the xyz components of the torque acting on the COM, and
-the xyz image flags of the COM, which have the same meaning as image
-flags for atom positions (see the "dump" command).  The force and
-torque values in the array are not affected by the {force} and
-{torque} keywords in the fix rigid command; they reflect values before
-any changes are made by those keywords.
+accessed by various "output commands"_Howto_output.html.  The number
+of rows in the array is equal to the number of rigid bodies.  The
+number of columns is 15.  Thus for each rigid body, 15 values are
+stored: the xyz coords of the center of mass (COM), the xyz components
+of the COM velocity, the xyz components of the force acting on the
+COM, the xyz components of the torque acting on the COM, and the xyz
+image flags of the COM, which have the same meaning as image flags for
+atom positions (see the "dump" command).  The force and torque values
+in the array are not affected by the {force} and {torque} keywords in
+the fix rigid command; they reflect values before any changes are made
+by those keywords.
 
 The ordering of the rigid bodies (by row in the array) is as follows.
 For the {single} keyword there is just one rigid body.  For the
diff --git a/doc/src/fix_lb_viscous.txt b/doc/src/fix_lb_viscous.txt
index fcc69d2b4315bd9a6695260efc0da5bafe27a0c2..27f089496ef61861579d1f113646d84bb2020916 100644
--- a/doc/src/fix_lb_viscous.txt
+++ b/doc/src/fix_lb_viscous.txt
@@ -57,9 +57,9 @@ As described in the "fix viscous"_fix_viscous.html documentation:
 "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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.
 
 The forces due to this fix are imposed during an energy minimization,
 invoked by the "minimize"_minimize.html command.  This fix should only
diff --git a/doc/src/fix_lineforce.txt b/doc/src/fix_lineforce.txt
index 65672fc5a5bdce5ca34fbff81f1c5fb0b94d6c07..ad651862f6f6f55fa10c807d9065c246ad8261d3 100644
--- a/doc/src/fix_lineforce.txt
+++ b/doc/src/fix_lineforce.txt
@@ -35,9 +35,9 @@ it should continue to move along the line thereafter.
 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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.
 
 The forces due to this fix are imposed during an energy minimization,
 invoked by the "minimize"_minimize.html command.
diff --git a/doc/src/fix_manifoldforce.txt b/doc/src/fix_manifoldforce.txt
index 5fc25167a7c7218097606cbbd77031a1cff0b709..fe8a04051b749bce9b152363a41e2face2007b5e 100644
--- a/doc/src/fix_manifoldforce.txt
+++ b/doc/src/fix_manifoldforce.txt
@@ -36,10 +36,10 @@ I have found that only {hftn} and {quickmin} with a very small time step perform
 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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
-This fix is invoked during "energy minimization"_minimize.html.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.  This fix is invoked during "energy
+minimization"_minimize.html.
 
 :line
 
diff --git a/doc/src/fix_meso.txt b/doc/src/fix_meso.txt
index 85f5838dd261fbd232a8fa570aaa20fc1391ef8a..95f58bedaaf7ab044c2361c6c40829b48cd2cdd7 100644
--- a/doc/src/fix_meso.txt
+++ b/doc/src/fix_meso.txt
@@ -34,10 +34,10 @@ LAMMPS.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_meso_stationary.txt b/doc/src/fix_meso_stationary.txt
index 5b83573bc8bcc58d2ad6aedc1d8b18c7d46f9368..3b197c079f0b1d6ab8d0eb8c8dafa667612f6382 100644
--- a/doc/src/fix_meso_stationary.txt
+++ b/doc/src/fix_meso_stationary.txt
@@ -35,10 +35,10 @@ LAMMPS.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_momentum.txt b/doc/src/fix_momentum.txt
index aa5199ac14adefa0a6b53bafb55663fcc37bdf3b..28fd2addf2ed44001032df0cccf01f7fb390aed4 100644
--- a/doc/src/fix_momentum.txt
+++ b/doc/src/fix_momentum.txt
@@ -83,10 +83,10 @@ instructions on how to use the accelerated styles effectively.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_move.txt b/doc/src/fix_move.txt
index 7cb40ad1320e365153d3d3165df06a8a1f064750..9a1d25b623726e3ebb7205f2f460673b7d026264 100644
--- a/doc/src/fix_move.txt
+++ b/doc/src/fix_move.txt
@@ -203,10 +203,9 @@ None of the "fix_modify"_fix_modify.html options are relevant to this
 fix.
 
 This fix produces a per-atom array which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The number of columns
-for each atom is 3, and the columns store the original unwrapped x,y,z
-coords of each atom.  The per-atom values can be accessed on any
-timestep.
+"output commands"_Howto_output.html.  The number of columns for each
+atom is 3, and the columns store the original unwrapped x,y,z coords
+of each atom.  The per-atom values can be accessed on any timestep.
 
 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
diff --git a/doc/src/fix_msst.txt b/doc/src/fix_msst.txt
index 310692669abb39aaebb7e3596ee7f0b9e8cdf865..d79b549580c4aa0a9c28d55706494b26059a3d4c 100644
--- a/doc/src/fix_msst.txt
+++ b/doc/src/fix_msst.txt
@@ -156,8 +156,8 @@ thermo_style     custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_
 
 These fixes compute a global scalar and a global vector of 4
 quantities, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar values calculated
-by this fix are "extensive"; the vector values are "intensive".
+commands"_Howto_output.html.  The scalar values calculated by this fix
+are "extensive"; the vector values are "intensive".
 
 [Restrictions:]
 
diff --git a/doc/src/fix_mvv_dpd.txt b/doc/src/fix_mvv_dpd.txt
index fb3c6fe8885ce8a23b58897cd05a94269a20e5d7..7a07642c54788e450e76e96860b75a932e998542 100644
--- a/doc/src/fix_mvv_dpd.txt
+++ b/doc/src/fix_mvv_dpd.txt
@@ -69,10 +69,10 @@ addition to position and velocity, and must be used with the
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt
index 5d18c39d994de3d58b752f7d595dfa4eb55e0019..5cfefbf81901b12622f3cde8d0cd726f58c652e1 100644
--- a/doc/src/fix_neb.txt
+++ b/doc/src/fix_neb.txt
@@ -43,9 +43,9 @@ Add nudging forces to atoms in the group for a multi-replica
 simulation run via the "neb"_neb.html command to perform a nudged
 elastic band (NEB) calculation for finding the transition state.
 Hi-level explanations of NEB are given with the "neb"_neb.html command
-and in "Section_howto 5"_Section_howto.html#howto_5 of the manual.
-The fix neb command must be used with the "neb" command and defines
-how inter-replica nudging forces are computed.  A NEB calculation is
+and on the "Howto replica"_Howto_replica.html doc page.  The fix neb
+command must be used with the "neb" command and defines how
+inter-replica nudging forces are computed.  A NEB calculation is
 divided in two stages. In the first stage n replicas are relaxed
 toward a MEP until convergence.  In the second stage, the climbing
 image scheme (see "(Henkelman2)"_#Henkelman2) is enabled, so that the
@@ -192,9 +192,9 @@ target energy.
 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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.
 
 The forces due to this fix are imposed during an energy minimization,
 as invoked by the "minimize"_minimize.html command via the
diff --git a/doc/src/fix_nh.txt b/doc/src/fix_nh.txt
index e3a39c6bc6efbd1ddcd8e49b9296724830aceded..d18f4a3e166d921dcbda94353d8f2b4b6122ab9c 100644
--- a/doc/src/fix_nh.txt
+++ b/doc/src/fix_nh.txt
@@ -386,9 +386,10 @@ have their temperature controlled by another fix - e.g. by "fix
 langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html
 commands.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
-thermostatting and barostatting.
+See the "Howto thermostat"_Howto_thermostat.html and "Howto
+barostat"_Howto_barostat.html doc pages for a discussion of different
+ways to compute temperature and perform thermostatting and
+barostatting.
 
 :line
 
@@ -537,9 +538,9 @@ and barostatting to the system's potential energy as part of
 "thermodynamic output"_thermo_style.html.
 
 These fixes compute a global scalar and a global vector of quantities,
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar value calculated by
-these fixes is "extensive"; the vector values are "intensive".
+which can be accessed by various "output commands"_Howto_output.html.
+The scalar value calculated by these fixes is "extensive"; the vector
+values are "intensive".
 
 The scalar is the cumulative energy change due to the fix.
 
diff --git a/doc/src/fix_nphug.txt b/doc/src/fix_nphug.txt
index 4f696e9590b43a44333db37bed3fcb6561c2b3d2..1276a5697d6c3b8f6e43ffcacc989fc0974de2ec 100644
--- a/doc/src/fix_nphug.txt
+++ b/doc/src/fix_nphug.txt
@@ -192,9 +192,9 @@ included in the definition of internal energy E when calculating the value
 of Delta in the above equation.
 
 These fixes compute a global scalar and a global vector of quantities,
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar value calculated by
-these fixes is "extensive"; the vector values are "intensive".
+which can be accessed by various "output commands"_Howto_output.html.
+The scalar value calculated by these fixes is "extensive"; the vector
+values are "intensive".
 
 The scalar is the cumulative energy change due to the fix.
 
diff --git a/doc/src/fix_nve.txt b/doc/src/fix_nve.txt
index ac9cb53b50830f95acba891153d86f423d6c3f80..8aa4197a60038de6ecea9271876e124d3a6aab55 100644
--- a/doc/src/fix_nve.txt
+++ b/doc/src/fix_nve.txt
@@ -58,10 +58,10 @@ instructions on how to use the accelerated styles effectively.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_nve_asphere.txt b/doc/src/fix_nve_asphere.txt
index 5be7a7aa68e006c6a06ec23ca8a3ba0aa65c06f7..b9ee48f9dd2a635691d343262f38fa136316e0cd 100644
--- a/doc/src/fix_nve_asphere.txt
+++ b/doc/src/fix_nve_asphere.txt
@@ -35,10 +35,10 @@ assumes point particles and only updates their position and velocity.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 :line
 
diff --git a/doc/src/fix_nve_asphere_noforce.txt b/doc/src/fix_nve_asphere_noforce.txt
index 5f1b2715464c01468494f8fb0da33bd46c1c5ec4..164e3db10414b4f3ac22284d5519dca946116521 100644
--- a/doc/src/fix_nve_asphere_noforce.txt
+++ b/doc/src/fix_nve_asphere_noforce.txt
@@ -38,10 +38,10 @@ Dynamics, since the velocity and angular momentum are updated by the
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nve_body.txt b/doc/src/fix_nve_body.txt
index 604b5391cd180e064207ca3cd5a02d2335470ac7..369642537427be0fbde067c230eff0cea039b360 100644
--- a/doc/src/fix_nve_body.txt
+++ b/doc/src/fix_nve_body.txt
@@ -24,9 +24,9 @@ fix 1 all nve/body :pre
 Perform constant NVE integration to update position, velocity,
 orientation, and angular velocity for body particles in the group each
 timestep.  V is volume; E is energy.  This creates a system trajectory
-consistent with the microcanonical ensemble.  See "Section
-6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html
-doc page for more details on using body particles.
+consistent with the microcanonical ensemble.  See the "Howto
+body"_Howto_body.html doc page for more details on using body
+particles.
 
 This fix differs from the "fix nve"_fix_nve.html command, which
 assumes point particles and only updates their position and velocity.
@@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nve_eff.txt b/doc/src/fix_nve_eff.txt
index 156f184daceb6ee31c14168e65deecc43d7a9bc1..608e5e12adadc2dc98de0739a8368f762c0a14e7 100644
--- a/doc/src/fix_nve_eff.txt
+++ b/doc/src/fix_nve_eff.txt
@@ -35,10 +35,10 @@ of electrons are also updated.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nve_limit.txt b/doc/src/fix_nve_limit.txt
index 2ecec83e9ce8bf5886a1d66dc4c50046a7f74882..ffaffd59b798aa98e3026bc6c278942bfdc6c838 100644
--- a/doc/src/fix_nve_limit.txt
+++ b/doc/src/fix_nve_limit.txt
@@ -63,14 +63,14 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-count of how many updates of atom's velocity/position were limited by
-the maximum distance criterion.  This should be roughly the number of
-atoms so affected, except that updates occur at both the beginning and
-end of a timestep in a velocity Verlet timestepping algorithm.  This
-is a cumulative quantity for the current run, but is re-initialized to
-zero each time a run is performed.  The scalar value calculated by
-this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the count of how
+many updates of atom's velocity/position were limited by the maximum
+distance criterion.  This should be roughly the number of atoms so
+affected, except that updates occur at both the beginning and end of a
+timestep in a velocity Verlet timestepping algorithm.  This is a
+cumulative quantity for the current run, but is re-initialized to zero
+each time a run is performed.  The scalar value calculated by this fix
+is "extensive".
 
 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
diff --git a/doc/src/fix_nve_line.txt b/doc/src/fix_nve_line.txt
index ac5206aa5ce4ad1f9047bed437d96318498362d0..a919e648e16d1ec9c7227061b8103359a4a71fe5 100644
--- a/doc/src/fix_nve_line.txt
+++ b/doc/src/fix_nve_line.txt
@@ -24,9 +24,9 @@ fix 1 all nve/line :pre
 Perform constant NVE integration to update position, velocity,
 orientation, and angular velocity for line segment particles in the
 group each timestep.  V is volume; E is energy.  This creates a system
-trajectory consistent with the microcanonical ensemble.  See
-"Section 6.14"_Section_howto.html#howto_14 of the manual for an
-overview of using line segment particles.
+trajectory consistent with the microcanonical ensemble.  See "Howto
+spherical"_Howto_spherical.html doc page for an overview of using line
+segment particles.
 
 This fix differs from the "fix nve"_fix_nve.html command, which
 assumes point particles and only updates their position and velocity.
@@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nve_manifold_rattle.txt b/doc/src/fix_nve_manifold_rattle.txt
index e032a7e1cc76408f8db42a9108662997a47e440d..89922ea80d3333f4e06504f3c25c8cca303e3505 100644
--- a/doc/src/fix_nve_manifold_rattle.txt
+++ b/doc/src/fix_nve_manifold_rattle.txt
@@ -40,7 +40,7 @@ the dynamics of particles constrained to curved surfaces can be
 studied. If combined with "fix langevin"_fix_langevin.html, this
 generates Brownian motion of particles constrained to a curved
 surface. For a list of currently supported manifolds and their
-parameters, see "manifolds"_manifolds.html.
+parameters, see the "Howto manifold"_Howto_manifold.html doc page.
 
 Note that the particles must initially be close to the manifold in
 question. If not, RATTLE will not be able to iterate until the
@@ -68,10 +68,10 @@ conserved.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 :line
 
diff --git a/doc/src/fix_nve_noforce.txt b/doc/src/fix_nve_noforce.txt
index a0dbcc80f18f0fc7d15f7b4503031fa80aaaa50c..c1a4f76eafbc98c030658b795f6da2ed93c96613 100644
--- a/doc/src/fix_nve_noforce.txt
+++ b/doc/src/fix_nve_noforce.txt
@@ -40,10 +40,10 @@ fcm() group function to compute the total force on the group of atoms.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_nve_sphere.txt b/doc/src/fix_nve_sphere.txt
index cfe73a854d58d9636c8235ffe1838e50b28e25cd..36c4178de99c1ee998aacfdd5e6b257d4c544fef 100644
--- a/doc/src/fix_nve_sphere.txt
+++ b/doc/src/fix_nve_sphere.txt
@@ -89,10 +89,10 @@ instructions on how to use the accelerated styles effectively.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nve_tri.txt b/doc/src/fix_nve_tri.txt
index cee27e2fa43087a2b6847a6f119fcb3792252259..9c03eb872a0ab3cacab0e092ef83aaa745abba84 100644
--- a/doc/src/fix_nve_tri.txt
+++ b/doc/src/fix_nve_tri.txt
@@ -23,10 +23,10 @@ fix 1 all nve/tri :pre
 
 Perform constant NVE integration to update position, velocity,
 orientation, and angular momentum for triangular particles in the
-group each timestep.  V is volume; E is energy.  This creates a
-system trajectory consistent with the microcanonical ensemble.  See
-"Section 6.14"_Section_howto.html#howto_14 of the manual for an
-overview of using triangular particles.
+group each timestep.  V is volume; E is energy.  This creates a system
+trajectory consistent with the microcanonical ensemble.  See the
+"Howto spherical"_Howto_spherical.html doc page for an overview of
+using triangular particles.
 
 This fix differs from the "fix nve"_fix_nve.html command, which
 assumes point particles and only updates their position and velocity.
@@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nvk.txt b/doc/src/fix_nvk.txt
index 49fd8217ab7a88b90c23afc7ca56295e906ec245..2106ee52354062d9b2a1d9ce2ddcd7ae68f2b31d 100644
--- a/doc/src/fix_nvk.txt
+++ b/doc/src/fix_nvk.txt
@@ -42,10 +42,10 @@ energy prior to this fix.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_nvt_manifold_rattle.txt b/doc/src/fix_nvt_manifold_rattle.txt
index a620648a460682c26780b67f9a4eddb3f21738ce..4261f9a4dbda5c205c940d7b070d7fb5601cec39 100644
--- a/doc/src/fix_nvt_manifold_rattle.txt
+++ b/doc/src/fix_nvt_manifold_rattle.txt
@@ -37,9 +37,13 @@ fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0
 
 [Description:]
 
-This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the
-canonical ensemble of particles constrained to a curved surface (manifold). This sampling does suffer from discretization bias of O(dt).
-For a list of currently supported manifolds and their parameters, see "manifolds"_manifolds.html
+This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time
+integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html
+"(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the
+canonical ensemble of particles constrained to a curved surface
+(manifold). This sampling does suffer from discretization bias of
+O(dt).  For a list of currently supported manifolds and their
+parameters, see the "Howto manifold"_Howto_manifold.html doc page.
 
 :line
 
@@ -48,10 +52,10 @@ For a list of currently supported manifolds and their parameters, see "manifolds
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 :line
 
diff --git a/doc/src/fix_oneway.txt b/doc/src/fix_oneway.txt
index 2d85c581ebd95ec5cfdf27129ee39ae1c73532d5..d9217ab14b5428947d7bfc56c7eab7d50c118002 100644
--- a/doc/src/fix_oneway.txt
+++ b/doc/src/fix_oneway.txt
@@ -43,10 +43,10 @@ membrane, or as an implementation of Maxwell's demon.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_orient.txt b/doc/src/fix_orient.txt
index 20ff94866ea3ad0c92fde75042cad455494bcc92..c57cccd322b7becff9c35e9fc6845fd2695dd961 100644
--- a/doc/src/fix_orient.txt
+++ b/doc/src/fix_orient.txt
@@ -135,14 +135,14 @@ fixes. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator a fix is adding its forces. Default is the outermost level.
 
 This fix calculates a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-potential energy change due to this fix.  The scalar value calculated
-by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the potential
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".
 
 This fix also calculates a per-atom array which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The array
-stores the order parameter Xi and normalized order parameter (0 to 1)
-for each atom.  The per-atom values can be accessed on any timestep.
+various "output commands"_Howto_output.html.  The array stores the
+order parameter Xi and normalized order parameter (0 to 1) for each
+atom.  The per-atom values can be accessed on any timestep.
 
 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
diff --git a/doc/src/fix_phonon.txt b/doc/src/fix_phonon.txt
index aad6c2bfaa401bcb0af6e76851f849cb67c1af0c..63df4e68012924297236eec9042a9825781e0220 100644
--- a/doc/src/fix_phonon.txt
+++ b/doc/src/fix_phonon.txt
@@ -150,7 +150,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#howto_15.
+fix for access by various "output commands"_Howto_output.html.
 
 Instead, this fix outputs its initialization information (including
 mapping information) and the calculated dynamical matrices to the file
diff --git a/doc/src/fix_pimd.txt b/doc/src/fix_pimd.txt
index 38022e4c7dd3d6d2e2bb1b0a56177fae2918604c..8958063d2e61f4e4ca41ce1c2f5d63dcb1bb2780 100644
--- a/doc/src/fix_pimd.txt
+++ b/doc/src/fix_pimd.txt
@@ -103,14 +103,13 @@ is appropriate for most situations.
 
 The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme
 as described in "(Calhoun)"_#Calhoun.  In LAMMPS this is done by using
-"multi-replica feature"_Section_howto.html#howto_5 in LAMMPS, where
-each quasi-particle system is stored and simulated on a separate
-partition of processors.  The following diagram illustrates this
-approach.  The original system with 2 ring polymers is shown in red.
-Since each ring has 4 quasi-beads (imaginary time slices), there are 4
-replicas of the system, each running on one of the 4 partitions of
-processors.  Each replica (shown in green) owns one quasi-bead in each
-ring.
+"multi-replica feature"_Howto_replica.html in LAMMPS, where each
+quasi-particle system is stored and simulated on a separate partition
+of processors.  The following diagram illustrates this approach.  The
+original system with 2 ring polymers is shown in red.  Since each ring
+has 4 quasi-beads (imaginary time slices), there are 4 replicas of the
+system, each running on one of the 4 partitions of processors.  Each
+replica (shown in green) owns one quasi-bead in each ring.
 
 :c,image(JPG/pimd.jpg)
 
diff --git a/doc/src/fix_planeforce.txt b/doc/src/fix_planeforce.txt
index 67956c8b6ddfdcf7c3cfe0520f0fa888b4c9c87c..4a74301066585b0d1b81e53a725fe2b0ef879ed7 100644
--- a/doc/src/fix_planeforce.txt
+++ b/doc/src/fix_planeforce.txt
@@ -35,9 +35,9 @@ should continue to move in the plane thereafter.
 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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.
 
 The forces due to this fix are imposed during an energy minimization,
 invoked by the "minimize"_minimize.html command.
diff --git a/doc/src/fix_poems.txt b/doc/src/fix_poems.txt
index 03abc058b8b0d6e982f6291e1fecbb887cf2ad9a..0690923b4549ebd04681b7a36e731868ca8caaf0 100644
--- a/doc/src/fix_poems.txt
+++ b/doc/src/fix_poems.txt
@@ -114,9 +114,9 @@ early or late in a timestep, i.e. at the post-force stage or at the
 final-integrate stage, respectively.
 
 No global or per-atom quantities are stored by this fix for access by
-various "output 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
+various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_pour.txt b/doc/src/fix_pour.txt
index 54f78287e01d98368f1938122b1c9317e8446659..4b86405522f49793b1405af5699f51374aeac79d 100644
--- a/doc/src/fix_pour.txt
+++ b/doc/src/fix_pour.txt
@@ -237,9 +237,9 @@ appropriately.
 
 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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt
index 4133d7dd57f42993ad8454d4d3e90973eccad34b..bc18fa0e8c277602caa2bb2305267ac48aafdd7d 100644
--- a/doc/src/fix_precession_spin.txt
+++ b/doc/src/fix_precession_spin.txt
@@ -67,8 +67,8 @@ to add this magnetic potential energy to the potential energy of the system,
 fix             1 all precession/spin zeeman 1.0 0.0 0.0 1.0
 fix_modify      1 energy yes :pre
 
-This fix computes a global scalar which can be accessed by various 
-"output commands"_Section_howto.html#howto_15. 
+This fix computes a global scalar which can be accessed by various
+"output commands"_Howto_output.html.
 
 No information about this fix is written to "binary restart
 files"_restart.html.
diff --git a/doc/src/fix_press_berendsen.txt b/doc/src/fix_press_berendsen.txt
index 9c9da8ec7b052f9e91651fa6adca5ee3ae675166..0e41abd1f807ea746407a284eec13668d4ba28a2 100644
--- a/doc/src/fix_press_berendsen.txt
+++ b/doc/src/fix_press_berendsen.txt
@@ -58,9 +58,8 @@ to control the temperature, such as "fix nvt"_fix_nh.html or "fix
 langevin"_fix_langevin.html or "fix
 temp/berendsen"_fix_temp_berendsen.html.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
-thermostatting and barostatting.
+See the "Howto baroostat"_Howto_barostat.html doc page for a
+discussion of different ways to perform barostatting.
 
 :line
 
@@ -196,7 +195,7 @@ pressure.  LAMMPS will warn you if you choose to compute temperature
 on a subset of atoms.
 
 No global or per-atom quantities are stored by this fix for access by
-various "output commands"_Section_howto.html#howto_15.
+various "output commands"_Howto_output.html.
 
 This fix can ramp its target pressure over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_print.txt b/doc/src/fix_print.txt
index cf3b542833b6d951e2b160797998e28406867758..f7a7b333c409ed9a5431cb1ec10879e29f918bf3 100644
--- a/doc/src/fix_print.txt
+++ b/doc/src/fix_print.txt
@@ -73,10 +73,10 @@ where ID is replaced with the fix-ID.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_property_atom.txt b/doc/src/fix_property_atom.txt
index 95fc2c424db6252553a8cd51583a8aa85bbe5d05..624fc5f7dfc3a540017402a618446fdf13e7379a 100644
--- a/doc/src/fix_property_atom.txt
+++ b/doc/src/fix_property_atom.txt
@@ -200,18 +200,17 @@ added classes.
 
 :line
 
-:link(isotopes)
-Example for using per-atom masses with TIP4P water to study isotope
-effects. When setting up simulations with the "TIP4P pair
-styles"_Section_howto.html#howto_8 for water, you have to provide
-exactly one atom type each to identify the water oxygen and hydrogen
+:link(isotopes) Example for using per-atom masses with TIP4P water to
+study isotope effects. When setting up simulations with the "TIP4P
+pair styles"_Howto_tip4p.html for water, you have to provide exactly
+one atom type each to identify the water oxygen and hydrogen
 atoms. Since the atom mass is normally tied to the atom type, this
 makes it impossible to study multiple isotopes in the same simulation.
 With {fix property/atom rmass} however, the per-type masses are
 replaced by per-atom masses. Asumming you have a working input deck
-for regular TIP4P water, where water oxygen is atom type 1 and
-water hydrogen is atom type 2, the following lines of input script
-convert this to using per-atom masses:
+for regular TIP4P water, where water oxygen is atom type 1 and water
+hydrogen is atom type 2, the following lines of input script convert
+this to using per-atom masses:
 
 fix Isotopes all property/atom rmass ghost yes
 set type 1 mass 15.9994
@@ -247,12 +246,12 @@ command for info on how to re-specify a fix in an input script that
 reads a restart file, so that the operation of the fix continues in an
 uninterrupted fashion.
 
-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#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.
+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"_Howto_output.html.  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.
 
 [Restrictions:] none
 
diff --git a/doc/src/fix_python_move.txt b/doc/src/fix_python_move.txt
index f10f607a9bc29ca630445664b844d9c1fce36fe5..2f49427a9ec563ca01003c47ee88fd1251210a2f 100644
--- a/doc/src/fix_python_move.txt
+++ b/doc/src/fix_python_move.txt
@@ -83,10 +83,10 @@ Examples for how to do this are in the {examples/python} folder.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_qbmsst.txt b/doc/src/fix_qbmsst.txt
index 2c116fb0f8cf34f6e29143035d0c9cc7414e2750..56ace85e57c6bc01265689b58cddcf869e8c906a 100644
--- a/doc/src/fix_qbmsst.txt
+++ b/doc/src/fix_qbmsst.txt
@@ -179,10 +179,10 @@ thermo_style    custom  step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_
 The global scalar under the entry f_fix_id is the quantity of thermo
 energy as an extra part of <i>etot</i>. This global scalar and the
 vector of 5 quantities can be accessed by various "output
-commands"_Section_howto.html#howto_15. It is worth noting that the
-temp keyword under the "thermo_style"_thermo_style.html command print
-the instantaneous classical temperature <i>T</i><sup>cl</sup> as
-described in the command "fix qtb"_fix_qtb.html.
+commands"_Howto_output.html. It is worth noting that the temp keyword
+under the "thermo_style"_thermo_style.html command print the
+instantaneous classical temperature <i>T</i><sup>cl</sup> as described
+in the command "fix qtb"_fix_qtb.html.
 
 :line
 
diff --git a/doc/src/fix_qeq.txt b/doc/src/fix_qeq.txt
index 194361e990afdedbfccecf47be254c71df4623b7..c142d4a06de7015168b9c0e339629c0d5237b9b9 100644
--- a/doc/src/fix_qeq.txt
+++ b/doc/src/fix_qeq.txt
@@ -179,9 +179,8 @@ parameters.  See the examples/qeq directory for some examples.
 No information about these fixes is written to "binary restart
 files"_restart.html.  No global scalar or vector or per-atom
 quantities are stored by these fixes for access by various "output
-commands"_Section_howto.html#howto_15.  No parameter of these fixes
-can be used with the {start/stop} keywords of the "run"_run.html
-command.
+commands"_Howto_output.html.  No parameter of these fixes can be used
+with the {start/stop} keywords of the "run"_run.html command.
 
 Thexe fixes are invoked during "energy minimization"_minimize.html.
 
diff --git a/doc/src/fix_qeq_comb.txt b/doc/src/fix_qeq_comb.txt
index 783dc3133cb21ab290935cc72c37e1f31b173bb0..0eb38fcae62492de87ddbfbd015004ae47f13e2c 100644
--- a/doc/src/fix_qeq_comb.txt
+++ b/doc/src/fix_qeq_comb.txt
@@ -92,9 +92,9 @@ integrator the fix is performing charge equilibration. Default is
 the outermost level.
 
 This fix produces a per-atom vector which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The vector stores the
-gradient of the charge on each atom.  The per-atom values be accessed
-on any timestep.
+"output commands"_Howto_output.html.  The vector stores the gradient
+of the charge on each atom.  The per-atom values be accessed on any
+timestep.
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_qeq_reax.txt b/doc/src/fix_qeq_reax.txt
index a534a66c09f15fc9862f3f7b264a6e9b4cd653f7..ea25ddbf57b0424198c2b21641e4ec882f17efaa 100644
--- a/doc/src/fix_qeq_reax.txt
+++ b/doc/src/fix_qeq_reax.txt
@@ -70,8 +70,8 @@ the {qeq/reax/omp} style. Otherwise they are processed separately.
 No information about this fix is written to "binary restart
 files"_restart.html.  No global scalar or vector or per-atom
 quantities are stored by this fix for access by various "output
-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.
+commands"_Howto_output.html.  No parameter of this fix can be used
+with the {start/stop} keywords of the "run"_run.html command.
 
 This fix is invoked during "energy minimization"_minimize.html.
 
diff --git a/doc/src/fix_qmmm.txt b/doc/src/fix_qmmm.txt
index 1b4a850a42f7740ba4649d0a5cd8e494537987b3..5e730ac8afb20580701dddfa45e413abdcd115e9 100644
--- a/doc/src/fix_qmmm.txt
+++ b/doc/src/fix_qmmm.txt
@@ -46,9 +46,9 @@ 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 scalar or vector or per-atom
 quantities are stored by this fix for access by various "output
-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.
+commands"_Howto_output.html.  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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_reax_bonds.txt b/doc/src/fix_reax_bonds.txt
index 50f0b77d524d770345969306f87f7dd8ed5162b5..2f7c38f8154163e052f832a13974728aec42da03 100644
--- a/doc/src/fix_reax_bonds.txt
+++ b/doc/src/fix_reax_bonds.txt
@@ -62,10 +62,10 @@ version, but will also take longer to write.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 :line
 
diff --git a/doc/src/fix_reaxc_species.txt b/doc/src/fix_reaxc_species.txt
index 75e4598ca5b4c468ff4774224789468528e2eb65..4f1249744f1b40fb82498e05e7fa50c330f1a06e 100644
--- a/doc/src/fix_reaxc_species.txt
+++ b/doc/src/fix_reaxc_species.txt
@@ -116,8 +116,8 @@ are relevant to this fix.
 
 This fix computes both a global vector of length 2 and a per-atom
 vector, either of which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The values in the global
-vector are "intensive".
+commands"_Howto_output.html.  The values in the global vector are
+"intensive".
 
 The 2 values in the global vector are as follows:
 
diff --git a/doc/src/fix_recenter.txt b/doc/src/fix_recenter.txt
index 342bed42515f8b827cc18a1cd228480480bd70f0..a2477d11c7a31d1f4a2424a8f381607d36372b56 100644
--- a/doc/src/fix_recenter.txt
+++ b/doc/src/fix_recenter.txt
@@ -94,13 +94,13 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-distance the group is moved by fix recenter.
+"output commands"_Howto_output.html.  The scalar is the distance the
+group is moved by fix recenter.
 
 This fix also computes global 3-vector which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The 3
-quantities in the vector are xyz components of displacement applied to
-the group of atoms by the fix.
+various "output commands"_Howto_output.html.  The 3 quantities in the
+vector are xyz components of displacement applied to the group of
+atoms by the fix.
 
 The scalar and vector values calculated by this fix are "extensive".
 
diff --git a/doc/src/fix_restrain.txt b/doc/src/fix_restrain.txt
index 9de63defb700fb0f713187d87f4077fd35b86e0f..b8cc7c0d45c6baac526fafb6ca761166f8b711f3 100644
--- a/doc/src/fix_restrain.txt
+++ b/doc/src/fix_restrain.txt
@@ -187,8 +187,8 @@ added forces to be included in the total potential energy of the
 system (the quantity being minimized), you MUST enable the
 "fix_modify"_fix_modify.html {energy} option for this fix.
 
-This fix computes a global scalar and a global vector of length 3, which
-can be accessed by various "output commands"_Section_howto.html#howto_15.
+This fix computes a global scalar and a global vector of length 3,
+which can be accessed by various "output commands"_Howto_output.html.
 The scalar is the total potential energy for {all} the restraints as
 discussed above. The vector values are the sum of contributions to the
 following individual categories:
diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt
index f3dd20daa3504e0f0c898edafa1858139ddb4bf2..a5f00c16e901a99de6cf12b15c3e3678ebeb35e4 100644
--- a/doc/src/fix_rigid.txt
+++ b/doc/src/fix_rigid.txt
@@ -745,29 +745,29 @@ computed early or late in a timestep, i.e. at the post-force stage or
 at the final-integrate stage or the timestep, respectively.
 
 The 2 NVE rigid fixes compute a global scalar which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The scalar
-value calculated by these fixes is "intensive".  The scalar is the
-current temperature of the collection of rigid bodies.  This is
-averaged over all rigid bodies and their translational and rotational
-degrees of freedom.  The translational energy of a rigid body is 1/2 m
-v^2, where m = total mass of the body and v = the velocity of its
-center of mass.  The rotational energy of a rigid body is 1/2 I w^2,
-where I = the moment of inertia tensor of the body and w = its angular
-velocity.  Degrees of freedom constrained by the {force} and {torque}
-keywords are removed from this calculation, but only for the {rigid}
-and {rigid/nve} fixes.
+various "output commands"_Howto_output.html.  The scalar value
+calculated by these fixes is "intensive".  The scalar is the current
+temperature of the collection of rigid bodies.  This is averaged over
+all rigid bodies and their translational and rotational degrees of
+freedom.  The translational energy of a rigid body is 1/2 m v^2, where
+m = total mass of the body and v = the velocity of its center of mass.
+The rotational energy of a rigid body is 1/2 I w^2, where I = the
+moment of inertia tensor of the body and w = its angular velocity.
+Degrees of freedom constrained by the {force} and {torque} keywords
+are removed from this calculation, but only for the {rigid} and
+{rigid/nve} fixes.
 
 The 6 NVT, NPT, NPH rigid fixes compute a global scalar which can be
-accessed by various "output commands"_Section_howto.html#howto_15.
-The scalar value calculated by these fixes is "extensive".  The scalar
-is the cumulative energy change due to the thermostatting and
-barostatting the fix performs.
+accessed by various "output commands"_Howto_output.html.  The scalar
+value calculated by these fixes is "extensive".  The scalar is the
+cumulative energy change due to the thermostatting and barostatting
+the fix performs.
 
 All of the {rigid} styles (not the {rigid/small} styles) compute a
 global array of values which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  Similar information about the
-bodies defined by the {rigid/small} styles can be accessed via the
-"compute rigid/local"_compute_rigid_local.html command.
+commands"_Howto_output.html.  Similar information about the bodies
+defined by the {rigid/small} styles can be accessed via the "compute
+rigid/local"_compute_rigid_local.html command.
 
 The number of rows in the array is equal to the number of rigid
 bodies.  The number of columns is 15.  Thus for each rigid body, 15
diff --git a/doc/src/fix_setforce.txt b/doc/src/fix_setforce.txt
index 0af1c929228e6fcb1ba8d99589a11ab9084d41a4..c6a01e5492d55748ced8500ba7c8a93d68f72e55 100644
--- a/doc/src/fix_setforce.txt
+++ b/doc/src/fix_setforce.txt
@@ -103,10 +103,10 @@ so that setforce values are not counted multiple times. Default is to
 to override forces at the outermost level.
 
 This fix computes a global 3-vector of forces, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  This is the
-total force on the group of atoms before the forces on individual
-atoms are changed by the fix.  The vector values calculated by this
-fix are "extensive".
+by various "output commands"_Howto_output.html.  This is the total
+force on the group of atoms before the forces on individual atoms are
+changed by the fix.  The vector values calculated by this fix are
+"extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_shake.txt b/doc/src/fix_shake.txt
index 7428b30a146a7053c99c208c05e09c73d881ef78..9297bcc87a28e8ec6e143b8b1d0255dc9341c83b 100644
--- a/doc/src/fix_shake.txt
+++ b/doc/src/fix_shake.txt
@@ -195,10 +195,9 @@ No information about these fixes is written to "binary restart
 files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to these fixes.  No global or per-atom quantities are
 stored by these fixes for access by various "output
-commands"_Section_howto.html#howto_15.  No parameter of these fixes
-can be used with the {start/stop} keywords of the "run"_run.html
-command.  These fixes are not invoked during "energy
-minimization"_minimize.html.
+commands"_Howto_output.html.  No parameter of these fixes can be used
+with the {start/stop} keywords of the "run"_run.html command.  These
+fixes are not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt
index cb4a40f0fd0a3cbea0f95de29562e5e4faea110b..e9403b22ccbc07f840966f81f730a11077048797 100644
--- a/doc/src/fix_smd.txt
+++ b/doc/src/fix_smd.txt
@@ -111,12 +111,12 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a vector list of 7 quantities, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  The
-quantities in the vector are in this order: the x-, y-, and
-z-component of the pulling force, the total force in direction of the
-pull, the equilibrium distance of the spring, the distance between the
-two reference points, and finally the accumulated PMF (the sum of
-pulling forces times displacement).
+by various "output commands"_Howto_output.html.  The quantities in the
+vector are in this order: the x-, y-, and z-component of the pulling
+force, the total force in direction of the pull, the equilibrium
+distance of the spring, the distance between the two reference points,
+and finally the accumulated PMF (the sum of pulling forces times
+displacement).
 
 The force is the total force on the group of atoms by the spring.  In
 the case of the {couple} style, it is the force on the fix group
diff --git a/doc/src/fix_smd_setvel.txt b/doc/src/fix_smd_setvel.txt
index f93a7d0965b3eecb29dd130db7bbfbe0ae64bd63..d64726d9b344b5b2314616ead9ff320babab7db9 100644
--- a/doc/src/fix_smd_setvel.txt
+++ b/doc/src/fix_smd_setvel.txt
@@ -66,9 +66,9 @@ None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global 3-vector of forces, which can be accessed
-by various "output commands"_Section_howto.html#howto_15.  This is the
-total force on the group of atoms.  The vector values calculated by this
-fix are "extensive".
+by various "output commands"_Howto_output.html.  This is the total
+force on the group of atoms.  The vector values calculated by this fix
+are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_spring.txt b/doc/src/fix_spring.txt
index 014a43aacc706e03b37ceb37ca906a1fb248f275..047e5a6797716cd6f93a60ec87f094d5ffa91da3 100644
--- a/doc/src/fix_spring.txt
+++ b/doc/src/fix_spring.txt
@@ -105,19 +105,19 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-spring energy = 0.5 * K * r^2.
+"output commands"_Howto_output.html.  The scalar is the spring energy
+= 0.5 * K * r^2.
 
 This fix also computes global 4-vector which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The first 3
-quantities in the vector are xyz components of the total force added
-to the group of atoms by the spring.  In the case of the {couple}
-style, it is the force on the fix group (group-ID) or the negative of
-the force on the 2nd group (group-ID2).  The 4th quantity in the
-vector is the magnitude of the force added by the spring, as a
-positive value if (r-R0) > 0 and a negative value if (r-R0) < 0.  This
-sign convention can be useful when using the spring force to compute a
-potential of mean force (PMF).
+various "output commands"_Howto_output.html.  The first 3 quantities
+in the vector are xyz components of the total force added to the group
+of atoms by the spring.  In the case of the {couple} style, it is the
+force on the fix group (group-ID) or the negative of the force on the
+2nd group (group-ID2).  The 4th quantity in the vector is the
+magnitude of the force added by the spring, as a positive value if
+(r-R0) > 0 and a negative value if (r-R0) < 0.  This sign convention
+can be useful when using the spring force to compute a potential of
+mean force (PMF).
 
 The scalar and vector values calculated by this fix are "extensive".
 
diff --git a/doc/src/fix_spring_chunk.txt b/doc/src/fix_spring_chunk.txt
index 7630a009dd3bbfd9d087f5b57060f8f56c216227..e46f29977137e1b0cfed6262c05d83f37c24acda 100644
--- a/doc/src/fix_spring_chunk.txt
+++ b/doc/src/fix_spring_chunk.txt
@@ -60,8 +60,8 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-energy of all the springs, i.e. 0.5 * K * r^2 per-spring.
+"output commands"_Howto_output.html.  The scalar is the energy of all
+the springs, i.e. 0.5 * K * r^2 per-spring.
 
 The scalar value calculated by this fix is "extensive".
 
diff --git a/doc/src/fix_spring_rg.txt b/doc/src/fix_spring_rg.txt
index bff6b38e7e94c44477c07e94efb0b72f909dfc43..4afdc02d5a45cf96ea3519ff9fcd34b9a80fc896 100644
--- a/doc/src/fix_spring_rg.txt
+++ b/doc/src/fix_spring_rg.txt
@@ -51,10 +51,10 @@ the time the fix is specified, and that value is used as the target.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 The "fix_modify"_fix_modify.html {respa} option is supported by this
 fix. This allows to set at which level of the "r-RESPA"_run_style.html
diff --git a/doc/src/fix_spring_self.txt b/doc/src/fix_spring_self.txt
index 68961a1512d1ba80ddd72da8024333cc51180103..e5b5c3dfd00fccb009b78fcb88b3e272e888a9a9 100644
--- a/doc/src/fix_spring_self.txt
+++ b/doc/src/fix_spring_self.txt
@@ -57,10 +57,10 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html
 integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is an
-energy which is the sum of the spring energy for each atom, where the
-per-atom energy is 0.5 * K * r^2.  The scalar value calculated by this
-fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is an energy which is
+the sum of the spring energy for each atom, where the per-atom energy
+is 0.5 * K * r^2.  The scalar value calculated by this fix is
+"extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_srd.txt b/doc/src/fix_srd.txt
index 4e190234fd2b873cb5592c9c335304b53245d5c1..7c5179fb3fc968999de0a8e41d410837f024a063 100644
--- a/doc/src/fix_srd.txt
+++ b/doc/src/fix_srd.txt
@@ -341,11 +341,11 @@ are relevant to this fix.
 
 This fix tabulates several SRD statistics which are stored in a vector
 of length 12, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The vector values calculated
-by this fix are "intensive", meaning they do not scale with the size
-of the simulation.  Technically, the first 8 do scale with the size of
-the simulation, but treating them as intensive means they are not
-scaled when printed as part of thermodynamic output.
+commands"_Howto_output.html.  The vector values calculated by this fix
+are "intensive", meaning they do not scale with the size of the
+simulation.  Technically, the first 8 do scale with the size of the
+simulation, but treating them as intensive means they are not scaled
+when printed as part of thermodynamic output.
 
 These are the 12 quantities.  All are values for the current timestep,
 except for quantity 5 and the last three, each of which are
diff --git a/doc/src/fix_store_force.txt b/doc/src/fix_store_force.txt
index c988431f9de8dc47b85bfbce1d9cc82de1228270..93437c85b6f637670a699d3087d9a70234afef38 100644
--- a/doc/src/fix_store_force.txt
+++ b/doc/src/fix_store_force.txt
@@ -26,7 +26,7 @@ timestep when the fix is invoked, as described below.  This is useful
 for storing forces before constraints or other boundary conditions are
 computed which modify the forces, so that unmodified forces can be
 "written to a dump file"_dump.html or accessed by other "output
-commands"_Section_howto.html#howto_15 that use per-atom quantities.
+commands"_Howto_output.html that use per-atom quantities.
 
 This fix is invoked at the point in the velocity-Verlet timestepping
 immediately after "pair"_pair_style.html, "bond"_bond_style.html,
@@ -54,9 +54,9 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix produces a per-atom array which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The number of columns
-for each atom is 3, and the columns store the x,y,z forces on each
-atom.  The per-atom values be accessed on any timestep.
+"output commands"_Howto_output.html.  The number of columns for each
+atom is 3, and the columns store the x,y,z forces on each atom.  The
+per-atom values be accessed on any timestep.
 
 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
diff --git a/doc/src/fix_store_state.txt b/doc/src/fix_store_state.txt
index df694fb97b4e2dd037d41a21b1200b89d3c3594a..dee8070bbd55a2a2663cf66c8df79e28a3478a06 100644
--- a/doc/src/fix_store_state.txt
+++ b/doc/src/fix_store_state.txt
@@ -68,8 +68,7 @@ Define a fix that stores attributes for each atom in the group at the
 time the fix is defined.  If {N} is 0, then the values are never
 updated, so this is a way of archiving an atom attribute at a given
 time for future use in a calculation or output.  See the discussion of
-"output commands"_Section_howto.html#howto_15 that take fixes as
-inputs.
+"output commands"_Howto_output.html that take fixes as inputs.
 
 If {N} is not zero, then the attributes will be updated every {N}
 steps.
@@ -108,9 +107,8 @@ fix.
 If a single input is specified, this fix produces a per-atom vector.
 If multiple inputs are specified, a per-atom array is produced where
 the number of columns for each atom is the number of inputs.  These
-can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The per-atom values be
-accessed on any timestep.
+can be accessed by various "output commands"_Howto_output.html.  The
+per-atom values be accessed on any timestep.
 
 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
diff --git a/doc/src/fix_temp_berendsen.txt b/doc/src/fix_temp_berendsen.txt
index 6944860e140d8ef9c5772a340007905086b86434..9092bbd30e73531cff201ff8556c59845b7654a8 100644
--- a/doc/src/fix_temp_berendsen.txt
+++ b/doc/src/fix_temp_berendsen.txt
@@ -68,8 +68,8 @@ be used on atoms that also have their temperature controlled by
 another fix - e.g. by "fix nvt"_fix_nh.html or "fix
 langevin"_fix_langevin.html commands.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 This fix computes a temperature each timestep.  To do this, the fix
@@ -126,9 +126,9 @@ system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_temp_csvr.txt b/doc/src/fix_temp_csvr.txt
index 4129ad73c8fdbe514592b1a33d38e509c74f6f93..6ce6ad7d9d6c38f5fcf893e2bce0a632376fd793 100644
--- a/doc/src/fix_temp_csvr.txt
+++ b/doc/src/fix_temp_csvr.txt
@@ -76,8 +76,8 @@ normally be used on atoms that also have their temperature controlled
 by another fix - e.g. by "fix nvt"_fix_nh.html or "fix
 langevin"_fix_langevin.html commands.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 These fixes compute a temperature each timestep.  To do this, the fix
@@ -135,9 +135,9 @@ the {start} and {stop} keywords of the "run"_run.html command.  See the
 These fixes are not invoked during "energy minimization"_minimize.html.
 
 These fixes compute a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to the fix.  The scalar value
-calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to the fix.  The scalar value calculated by this fix
+is "extensive".
 
 [Restrictions:]
 
diff --git a/doc/src/fix_temp_rescale.txt b/doc/src/fix_temp_rescale.txt
index eff25297c1e295f6bcb775d65147dfac932ea956..89f1777e36ccbfe48a85143add910ce58d299e0b 100644
--- a/doc/src/fix_temp_rescale.txt
+++ b/doc/src/fix_temp_rescale.txt
@@ -75,8 +75,8 @@ be used on atoms that also have their temperature controlled by
 another fix - e.g. by "fix nvt"_fix_nh.html or "fix
 langevin"_fix_langevin.html commands.
 
-See "this howto section"_Section_howto.html#howto_16 of the manual for
-a discussion of different ways to compute temperature and perform
+See the "Howto thermostat"_Howto_thermostat.html doc page for a
+discussion of different ways to compute temperature and perform
 thermostatting.
 
 This fix computes a temperature each timestep.  To do this, the fix
@@ -133,9 +133,9 @@ system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_temp_rescale_eff.txt b/doc/src/fix_temp_rescale_eff.txt
index f87c1a219249438c0864dba1f2880b0f1bfae9d8..8a79dc3275998c9e47782993b611eaac8fceead7 100644
--- a/doc/src/fix_temp_rescale_eff.txt
+++ b/doc/src/fix_temp_rescale_eff.txt
@@ -51,9 +51,9 @@ system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative energy change due to this fix.  The scalar value
-calculated by this fix is "extensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+energy change due to this fix.  The scalar value calculated by this
+fix is "extensive".
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_thermal_conductivity.txt b/doc/src/fix_thermal_conductivity.txt
index 0353c095b29d60e4be37a581968a70d06f778492..2e10a89738155430b0ea1a62c4c992c3cc00e2dc 100644
--- a/doc/src/fix_thermal_conductivity.txt
+++ b/doc/src/fix_thermal_conductivity.txt
@@ -108,9 +108,9 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative kinetic energy transferred between the bottom and middle
-of the simulation box (in the {edim} direction) is stored as a scalar
+"output commands"_Howto_output.html.  The scalar is the cumulative
+kinetic energy transferred between the bottom and middle of the
+simulation box (in the {edim} direction) is stored as a scalar
 quantity by this fix.  This quantity is zeroed when the fix is defined
 and accumulates thereafter, once every N steps.  The units of the
 quantity are energy; see the "units"_units.html command for details.
diff --git a/doc/src/fix_ti_spring.txt b/doc/src/fix_ti_spring.txt
index 191f9e7c6b8d8667b5baef112f20d16fb435a382..b116d8e8a3b56dc79f25a20cee06e4866b2e37ed 100644
--- a/doc/src/fix_ti_spring.txt
+++ b/doc/src/fix_ti_spring.txt
@@ -121,13 +121,12 @@ fix to add the energy stored in the per-atom springs to the system's
 potential energy as part of "thermodynamic output"_thermo_style.html.
 
 This fix computes a global scalar and a global vector quantities which
-can be accessed by various "output
-commands"_Section_howto.html#howto_15. The scalar is an energy which
-is the sum of the spring energy for each atom, where the per-atom
-energy is 0.5 * k * r^2. The vector has 2 positions, the first one is
-the coupling parameter lambda and the second one is the time
-derivative of lambda. The scalar and vector values calculated by this
-fix are "extensive".
+can be accessed by various "output commands"_Howto_output.html. The
+scalar is an energy which is the sum of the spring energy for each
+atom, where the per-atom energy is 0.5 * k * r^2. The vector has 2
+positions, the first one is the coupling parameter lambda and the
+second one is the time derivative of lambda. The scalar and vector
+values calculated by this fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_tmd.txt b/doc/src/fix_tmd.txt
index 71d8d2c7670a2956a091ed68d293064de4ffcb59..e1815e61d30105c93f2e3f7ea132e6130dffb204 100644
--- a/doc/src/fix_tmd.txt
+++ b/doc/src/fix_tmd.txt
@@ -90,8 +90,7 @@ For more information about TMD, see "(Schlitter1)"_#Schlitter1 and
 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#howto_15.
+by this fix for access by various "output commands"_Howto_output.html.
 
 This fix can ramp its rho parameter over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
diff --git a/doc/src/fix_ttm.txt b/doc/src/fix_ttm.txt
index 48dfd254a00de377ddb027c8d8e1c77d54e209a3..d83118d4272b29588b9dac7d8bd8f974a6388f78 100644
--- a/doc/src/fix_ttm.txt
+++ b/doc/src/fix_ttm.txt
@@ -272,18 +272,17 @@ None of the "fix_modify"_fix_modify.html options are relevant to these
 fixes.
 
 Both fixes compute 2 output quantities stored in a vector of length 2,
-which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The first quantity is the
-total energy of the electronic subsystem. The second quantity is the
-energy transferred from the electronic to the atomic subsystem on that
-timestep. Note that the velocity verlet integrator applies the fix ttm
-forces to the atomic subsystem as two half-step velocity updates: one
-on the current timestep and one on the subsequent timestep.
-Consequently, the change in the atomic subsystem energy is lagged by
-half a timestep relative to the change in the electronic subsystem
-energy. As a result of this, users may notice slight fluctuations in
-the sum of the atomic and electronic subsystem energies reported at
-the end of the timestep.
+which can be accessed by various "output commands"_Howto_output.html.
+The first quantity is the total energy of the electronic
+subsystem. The second quantity is the energy transferred from the
+electronic to the atomic subsystem on that timestep. Note that the
+velocity verlet integrator applies the fix ttm forces to the atomic
+subsystem as two half-step velocity updates: one on the current
+timestep and one on the subsequent timestep.  Consequently, the change
+in the atomic subsystem energy is lagged by half a timestep relative
+to the change in the electronic subsystem energy. As a result of this,
+users may notice slight fluctuations in the sum of the atomic and
+electronic subsystem energies reported at the end of the timestep.
 
 The vector values calculated are "extensive".
 
diff --git a/doc/src/fix_vector.txt b/doc/src/fix_vector.txt
index 385d24cff19594096b6193443dd88fc8ad3a2f54..69c999fd1a5027e445b3c7926d7d1531f991d901 100644
--- a/doc/src/fix_vector.txt
+++ b/doc/src/fix_vector.txt
@@ -37,7 +37,7 @@ simply store them.  For a single specified value, the values are
 stored as a global vector of growing length.  For multiple specified
 values, they are stored as rows in a global array, whose number of
 rows is growing.  The resulting vector or array can be used by other
-"output commands"_Section_howto.html#howto_15.
+"output commands"_Howto_output.html.
 
 One way to to use this command is to accumulate a vector that is
 time-integrated using the "variable trap()"_variable.html function.
@@ -127,9 +127,8 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix produces a global vector or global array which can be
-accessed by various "output commands"_Section_howto.html#howto_15.
-The values can only be accessed on timesteps that are multiples of
-{Nevery}.
+accessed by various "output commands"_Howto_output.html.  The values
+can only be accessed on timesteps that are multiples of {Nevery}.
 
 A vector is produced if only a single input value is specified.
 An array is produced if multiple input values are specified.
diff --git a/doc/src/fix_viscosity.txt b/doc/src/fix_viscosity.txt
index f6603be624da84ba7efa8de3c62a3ff9d5074e65..8d73deb7c53b2a8254ace72d12eeeaa4d562abba 100644
--- a/doc/src/fix_viscosity.txt
+++ b/doc/src/fix_viscosity.txt
@@ -100,13 +100,12 @@ accurately infer a viscosity and should try increasing the Nevery
 parameter.
 
 An alternative method for calculating a viscosity is to run a NEMD
-simulation, as described in "Section
-6.13"_Section_howto.html#howto_13 of the manual.  NEMD simulations
-deform the simulation box via the "fix deform"_fix_deform.html
-command.  Thus they cannot be run on a charged system using a "PPPM
-solver"_kspace_style.html since PPPM does not currently support
-non-orthogonal boxes.  Using fix viscosity keeps the box orthogonal;
-thus it does not suffer from this limitation.
+simulation, as described on the "Howto nemd"_Howto_nemd.html doc page.
+NEMD simulations deform the simulation box via the "fix
+deform"_fix_deform.html command.  Thus they cannot be run on a charged
+system using a "PPPM solver"_kspace_style.html since PPPM does not
+currently support non-orthogonal boxes.  Using fix viscosity keeps the
+box orthogonal; thus it does not suffer from this limitation.
 
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
@@ -115,13 +114,13 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global scalar which can be accessed by various
-"output commands"_Section_howto.html#howto_15.  The scalar is the
-cumulative momentum transferred between the bottom and middle of the
-simulation box (in the {pdim} direction) is stored as a scalar
-quantity by this fix.  This quantity is zeroed when the fix is defined
-and accumulates thereafter, once every N steps.  The units of the
-quantity are momentum = mass*velocity.  The scalar value calculated by
-this fix is "intensive".
+"output commands"_Howto_output.html.  The scalar is the cumulative
+momentum transferred between the bottom and middle of the simulation
+box (in the {pdim} direction) is stored as a scalar quantity by this
+fix.  This quantity is zeroed when the fix is defined and accumulates
+thereafter, once every N steps.  The units of the quantity are
+momentum = mass*velocity.  The scalar value calculated by this fix is
+"intensive".
 
 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
diff --git a/doc/src/fix_viscous.txt b/doc/src/fix_viscous.txt
index 9c30e40249a4b4febdef4e17c508766ea8a619d7..7ff517aec11c8cdc72370569c3a9a5a0a1a09c32 100644
--- a/doc/src/fix_viscous.txt
+++ b/doc/src/fix_viscous.txt
@@ -82,9 +82,9 @@ easily be used as a thermostat.
 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#howto_15.  No parameter of this fix can
-be used with the {start/stop} keywords of the "run"_run.html command.
+by this fix for access by various "output commands"_Howto_output.html.
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command.
 
 The "fix_modify"_fix_modify.html {respa} option is supported by this
 fix. This allows to set at which level of the "r-RESPA"_run_style.html
diff --git a/doc/src/fix_wall.txt b/doc/src/fix_wall.txt
index 959a103f02cf87fff21ce36b5f75607c5005c397..fcd920934fd97f5b608fb4600e45e2a64f1db9f2 100644
--- a/doc/src/fix_wall.txt
+++ b/doc/src/fix_wall.txt
@@ -263,14 +263,14 @@ integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar energy and a global vector of
 forces, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  Note that the scalar energy is
-the sum of interactions with all defined walls.  If you want the
-energy on a per-wall basis, you need to use multiple fix wall
-commands.  The length of the vector is equal to the number of walls
-defined by the fix.  Each vector value is the normal force on a
-specific wall.  Note that an outward force on a wall will be a
-negative value for {lo} walls and a positive value for {hi} walls.
-The scalar and vector values calculated by this fix are "extensive".
+commands"_Howto_output.html.  Note that the scalar energy is the sum
+of interactions with all defined walls.  If you want the energy on a
+per-wall basis, you need to use multiple fix wall commands.  The
+length of the vector is equal to the number of walls defined by the
+fix.  Each vector value is the normal force on a specific wall.  Note
+that an outward force on a wall will be a negative value for {lo}
+walls and a positive value for {hi} walls.  The scalar and vector
+values calculated by this fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt
index 4ba16b56c79fab2c4cecf6798a71a895b862c5cf..ebd25c2bbc71da3667b9bbaee165af3c0d2501b3 100644
--- a/doc/src/fix_wall_body_polygon.txt
+++ b/doc/src/fix_wall_body_polygon.txt
@@ -43,8 +43,8 @@ particles in the group interact with the wall when they are close
 enough to touch it.  The nature of the interaction between the wall
 and the polygon particles is the same as that between the polygon
 particles themselves, which is similar to a Hookean potential.  See
-"Section 6.14"_Section_howto.html#howto_14 of the manual and the
-"body"_body.html doc page for more details on using body particles.
+the "Howto body"_Howto_body.html doc page for more details on using
+body particles.
 
 The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as
 those specified with the "pair_style
@@ -83,9 +83,9 @@ to the derivative of this expression.
 
 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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt
index c937cbdbbc80a6c711c845212a0a47d85d0800be..d3d8bc35a3e9a2faeef5687c76f15575ceb5e3a8 100644
--- a/doc/src/fix_wall_body_polyhedron.txt
+++ b/doc/src/fix_wall_body_polyhedron.txt
@@ -43,8 +43,8 @@ All particles in the group interact with the wall when they are close
 enough to touch it.  The nature of the interaction between the wall
 and the polygon particles is the same as that between the polygon
 particles themselves, which is similar to a Hookean potential.  See
-"Section 6.14"_Section_howto.html#howto_14 of the manual and the
-"body"_body.html doc page for more details on using body particles.
+the "Howto body"_Howto_body.html doc page for more details on using
+body particles.
 
 The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as
 those specified with the "pair_style
@@ -82,9 +82,9 @@ to the derivative of this expression.
 
 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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_wall_gran.txt b/doc/src/fix_wall_gran.txt
index 5f1679604e365ae0c3c2b59db43331c4b4925b02..9796c394597a774b4f89d25adedb44b28d6d56d8 100644
--- a/doc/src/fix_wall_gran.txt
+++ b/doc/src/fix_wall_gran.txt
@@ -148,9 +148,9 @@ uninterrupted fashion.
 
 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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_wall_gran_region.txt b/doc/src/fix_wall_gran_region.txt
index 92fb042194db78bbf7d38794a4c49ee65dcbfa09..908bcc39417ac1919858ed613d8e108aae8e3755 100644
--- a/doc/src/fix_wall_gran_region.txt
+++ b/doc/src/fix_wall_gran_region.txt
@@ -180,9 +180,9 @@ region with a different region ID.
 
 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#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
+access by various "output commands"_Howto_output.html.  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.
 
 [Restrictions:]
diff --git a/doc/src/fix_wall_piston.txt b/doc/src/fix_wall_piston.txt
index 4d7756c237d708840fc085a27b0540bdbe35c45d..26018329eb73b05214273e86d075b568eb802e5e 100644
--- a/doc/src/fix_wall_piston.txt
+++ b/doc/src/fix_wall_piston.txt
@@ -91,10 +91,10 @@ define the lattice spacings.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_wall_reflect.txt b/doc/src/fix_wall_reflect.txt
index 5380bdf738c5435352f090bcff46073ddd2b02a7..2956046e2096bd2467269b81fe0dda96485a9352 100644
--- a/doc/src/fix_wall_reflect.txt
+++ b/doc/src/fix_wall_reflect.txt
@@ -154,10 +154,10 @@ instructions on how to use the accelerated styles effectively.
 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#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.
+by this fix for access by various "output commands"_Howto_output.html.
+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.
 
 [Restrictions:]
 
diff --git a/doc/src/fix_wall_region.txt b/doc/src/fix_wall_region.txt
index 9700545dc909c92f4327db4a155f0da789703b8a..8b3b3ff1730b6dd3d616a81aca2f7ba497ff200f 100644
--- a/doc/src/fix_wall_region.txt
+++ b/doc/src/fix_wall_region.txt
@@ -156,12 +156,11 @@ integrator the fix is adding its forces. Default is the outermost level.
 
 This fix computes a global scalar energy and a global 3-length vector
 of forces, which can be accessed by various "output
-commands"_Section_howto.html#howto_15.  The scalar energy is the sum
-of energy interactions for all particles interacting with the wall
-represented by the region surface.  The 3 vector quantities are the
-x,y,z components of the total force acting on the wall due to the
-particles.  The scalar and vector values calculated by this fix are
-"extensive".
+commands"_Howto_output.html.  The scalar energy is the sum of energy
+interactions for all particles interacting with the wall represented
+by the region surface.  The 3 vector quantities are the x,y,z
+components of the total force acting on the wall due to the particles.
+The scalar and vector values calculated by this fix are "extensive".
 
 No parameter of this fix can be used with the {start/stop} keywords of
 the "run"_run.html command.
diff --git a/doc/src/fix_wall_srd.txt b/doc/src/fix_wall_srd.txt
index c465896d37578969cad9b33143d24260b097f525..3a8c2e41cd307afcfb5d052b57f5bb2cca55913a 100644
--- a/doc/src/fix_wall_srd.txt
+++ b/doc/src/fix_wall_srd.txt
@@ -166,9 +166,9 @@ files"_restart.html.  None of the "fix_modify"_fix_modify.html options
 are relevant to this fix.
 
 This fix computes a global array of values which can be accessed by
-various "output commands"_Section_howto.html#howto_15.  The number of
-rows in the array is equal to the number of walls defined by the fix.
-The number of columns is 3, for the x,y,z components of force on each
+various "output commands"_Howto_output.html.  The number of rows in
+the array is equal to the number of walls defined by the fix.  The
+number of columns is 3, for the x,y,z components of force on each
 wall.
 
 Note that an outward normal force on a wall will be a negative value
diff --git a/doc/src/improper_umbrella.txt b/doc/src/improper_umbrella.txt
index e72cc7f0ad16c293a458e1870c42539f1fd4e983..59fee0a664cdf08283f237d28fb8a9ab0fcf4f4a 100644
--- a/doc/src/improper_umbrella.txt
+++ b/doc/src/improper_umbrella.txt
@@ -22,7 +22,7 @@ improper_coeff 1 100.0 180.0 :pre
 
 The {umbrella} improper style uses the following potential, which is
 commonly referred to as a classic inversion and used in the
-"DREIDING"_Section_howto.html#howto_4 force field:
+"DREIDING"_Howto_bioFF.html force field:
 
 :c,image(Eqs/improper_umbrella.jpg)
 
diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt
index 6d27bb7076344adfd81ba2a0b7242c985a3eff02..37c8c5b1d76736e9d0ad7a9e15317a79f84c405e 100644
--- a/doc/src/kspace_modify.txt
+++ b/doc/src/kspace_modify.txt
@@ -285,15 +285,15 @@ performance and accuracy in the results is obtained when these values
 are different.
 
 The {disp/auto} option controls whether the pppm/disp is allowed to
-generate PPPM parameters automatically. If set to {no}, parameters have
-to be specified using the {gewald/disp}, {mesh/disp},
-{force/disp/real} or {force/disp/kspace} keywords, or
-the code will stop with an error message. When this option is set to
-{yes}, the error message will not appear and the simulation will start.
-For a typical application, using the automatic parameter generation
-will provide simulations that are either inaccurate or slow. Using this
-option is thus not recommended. For guidelines on how to obtain good
-parameters, see the "How-To"_Section_howto.html#howto_24 discussion.
+generate PPPM parameters automatically. If set to {no}, parameters
+have to be specified using the {gewald/disp}, {mesh/disp},
+{force/disp/real} or {force/disp/kspace} keywords, or the code will
+stop with an error message. When this option is set to {yes}, the
+error message will not appear and the simulation will start.  For a
+typical application, using the automatic parameter generation will
+provide simulations that are either inaccurate or slow. Using this
+option is thus not recommended.  For guidelines on how to obtain good
+parameters, see the "Howto dispersion"_Howto_dispersion.html doc page.
 
 [Restrictions:] none
 
diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt
index 8dbb3dde49adff950c3f9a035e11575bf6081dac..fa717b70ef036a659ff21f4033f0c2bbc7dd3d9d 100644
--- a/doc/src/kspace_style.txt
+++ b/doc/src/kspace_style.txt
@@ -161,15 +161,16 @@ similar to the {ewald/disp} style. The 1/r^6 capability means
 that Lennard-Jones or Buckingham potentials can be used without a cutoff,
 i.e. they become full long-range potentials.
 
-For these styles, you will possibly want to adjust the default choice of
-parameters by using the "kspace_modify"_kspace_modify.html command.
+For these styles, you will possibly want to adjust the default choice
+of parameters by using the "kspace_modify"_kspace_modify.html command.
 This can be done by either choosing the Ewald and grid parameters, or
 by specifying separate accuracies for the real and kspace
-calculations. When not making any settings, the simulation will stop with
-an error message. Further information on the influence of the parameters
-and how to choose them is described in "(Isele-Holder)"_#Isele-Holder2012,
-"(Isele-Holder2)"_#Isele-Holder2013 and the
-"How-To"_Section_howto.html#howto_24 discussion.
+calculations. When not making any settings, the simulation will stop
+with an error message. Further information on the influence of the
+parameters and how to choose them is described in
+"(Isele-Holder)"_#Isele-Holder2012,
+"(Isele-Holder2)"_#Isele-Holder2013 and the "Howto
+dispersion"_Howto_dispersion.html doc page.
 
 :line
 
diff --git a/doc/src/lammps.book b/doc/src/lammps.book
index f9798da2276f8ecee234a26539c1be75d2070774..a25d6e0629135cd578fb9db5025d82f20380fba7 100644
--- a/doc/src/lammps.book
+++ b/doc/src/lammps.book
@@ -1,7 +1,13 @@
 #HTMLDOC 1.8.28
 -t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all  --owner-password ""  --user-password "" --browserwidth 680 --no-strict --no-overflow
 Manual.html
-Section_intro.html
+Intro.html
+Intro_overview.html
+Intro_features.html
+Intro_nonfeatures.html
+Intro_opensource.html
+Intro_authors.html
+Intro_website.html
 Section_start.html
 Section_commands.html
 Packages.html
@@ -19,7 +25,43 @@ Speed_kokkos.html
 Speed_omp.html
 Speed_opt.html
 Speed_compare.html
-Section_howto.html
+Howto.html
+Howto_github.html
+Howto_pylammps.html
+Howto_bash.html
+Howto_restart.html
+Howto_viz.html
+Howto_multiple.html
+Howto_replica.html
+Howto_library.html
+Howto_couple.html
+Howto_output.html
+Howto_chunk.html
+Howto_2d.html
+Howto_triclinic.html
+Howto_walls.html
+Howto_nemd.html
+Howto_granular.html
+Howto_spherical.html
+Howto_dispersion.html
+Howto_temperature.html
+Howto_thermostat.html
+Howto_barostat.html
+Howto_elastic.html
+Howto_kappa.html
+Howto_viscosity.html
+Howto_diffusion.html
+Howto_bioFF.html
+Howto_tip3p.html
+Howto_tip4p.html
+Howto_spc.html
+Howto_body.html
+Howto_polarizable.html
+Howto_coreshell.html
+Howto_drude.html
+Howto_drude2.html
+Howto_manifold.html
+Howto_spins.html
 Examples.html
 Tools.html
 Modify.html
@@ -54,13 +96,6 @@ Errors_common.html
 Errors_bugs.html
 Errors_messages.html
 Errors_warnings.html
-Section_history.html
-
-lammps_tutorials.html
-tutorial_bash_on_windows.html
-tutorial_drude.html
-tutorial_github.html
-tutorial_pylammps.html
 
 lammps_support.html
 body.html
diff --git a/doc/src/lammps_tutorials.txt b/doc/src/lammps_tutorials.txt
deleted file mode 100644
index 5ceda65b600744e9133168348bcc55ea78629bfc..0000000000000000000000000000000000000000
--- a/doc/src/lammps_tutorials.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-
-Tutorials :h2
-
-The following pages contain some in-depth tutorials for
-selected topics, that did not fit into any other place
-in the manual.
diff --git a/doc/src/molecule.txt b/doc/src/molecule.txt
index cd9ecce42c8b8750e52389e6b48c08885a7cae3f..b2ad547cf053198132f48a2030f89b285e99e133 100644
--- a/doc/src/molecule.txt
+++ b/doc/src/molecule.txt
@@ -176,9 +176,8 @@ LAMMPS uses this info to properly exclude or weight bonded pairwise
 interactions between bonded atoms.  See the
 "special_bonds"_special_bonds.html command for more details.  One
 reason to list the special bond info explicitly is for the
-"thermalized Drude oscillator model"_tutorial_drude.html which treats
-the bonds between nuclear cores and Drude electrons in a different
-manner.
+"thermalized Drude oscillator model"_Howto_drude.html which treats the
+bonds between nuclear cores and Drude electrons in a different manner.
 
 NOTE: Whether a section is required depends on how the molecule
 template is used by other LAMMPS commands.  For example, to add a
diff --git a/doc/src/neb.txt b/doc/src/neb.txt
index 56f075c301046d40a0e940045225d5c3019458e9..5c6053fca06bd964c771cd5a9b89aa1e484047bd 100644
--- a/doc/src/neb.txt
+++ b/doc/src/neb.txt
@@ -56,9 +56,8 @@ Note that if you have MPI installed, you can run a multi-replica
 simulation with more replicas (partitions) than you have physical
 processors, e.g you can run a 10-replica simulation on just one or two
 processors.  You will simply not get the performance speed-up you
-would see with one or more physical processors per replica.  See
-"Section 6.5"_Section_howto.html#howto_5 of the manual for further
-discussion.
+would see with one or more physical processors per replica.  See the
+"Howto replica"_Howto_replica.html doc page for further discussion.
 
 NOTE: As explained below, a NEB calculation perfoms a damped dynamics
 minimization across all the replicas.  The minimizer uses whatever
diff --git a/doc/src/pair_body_nparticle.txt b/doc/src/pair_body_nparticle.txt
index 8c5b6e155d801729a72b99276373ef4b0f525185..78a9f2bb3843163c51a0790e87ffd74b4be2be87 100644
--- a/doc/src/pair_body_nparticle.txt
+++ b/doc/src/pair_body_nparticle.txt
@@ -24,15 +24,14 @@ pair_coeff 1 1 1.0 1.5 2.5 :pre
 
 Style {body/nparticle} is for use with body particles and calculates
 pairwise body/body interactions as well as interactions between body
-and point-particles.  See "Section 6.14"_Section_howto.html#howto_14
-of the manual and the "body"_body.html doc page for more details on
-using body particles.
+and point-particles.  See the "Howto body"_Howto_body.html doc page
+for more details on using body particles.
 
 This pair style is designed for use with the "nparticle" body style,
 which is specified as an argument to the "atom-style body" command.
-See the "body"_body.html doc page for more details about the body
-styles LAMMPS supports.  The "nparticle" style treats a body particle
-as a rigid body composed of N sub-particles.
+See the "Howto body"_Howto_body.html doc page for more details about
+the body styles LAMMPS supports.  The "nparticle" style treats a body
+particle as a rigid body composed of N sub-particles.
 
 The coordinates of a body particle are its center-of-mass (COM).  If
 the COMs of a pair of body particles are within the cutoff (global or
diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt
index 9daeb08e9a9e3310380c4b5e40534aecedd59b09..19807fbe3944063ff14fceec685818139c65a4ca 100644
--- a/doc/src/pair_body_rounded_polygon.txt
+++ b/doc/src/pair_body_rounded_polygon.txt
@@ -29,9 +29,8 @@ pair_coeff 1 1 100.0 1.0 :pre
 Style {body/rounded/polygon} is for use with 2d models of body
 particles of style {rounded/polygon}.  It calculates pairwise
 body/body interactions which can include body particles modeled as
-1-vertex circular disks with a specified diameter.  See "Section
-6.14"_Section_howto.html#howto_14 of the manual and the
-"body"_body.html doc page for more details on using body
+1-vertex circular disks with a specified diameter.  See the "Howto
+body"_Howto_body.html doc page for more details on using body
 rounded/polygon particles.
 
 This pairwise interaction between rounded polygons is described in
diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt
index dc559feaafb6715e7f4b06800103951725078964..d70a86f881b5feaa70c9826bdae1658721ed4121 100644
--- a/doc/src/pair_body_rounded_polyhedron.txt
+++ b/doc/src/pair_body_rounded_polyhedron.txt
@@ -29,9 +29,8 @@ pair_coeff 1 1 100.0 1.0 :pre
 Style {body/rounded/polygon} is for use with 3d models of body
 particles of style {rounded/polyhedron}.  It calculates pairwise
 body/body interactions which can include body particles modeled as
-1-vertex spheres with a specified diameter.  See "Section
-6.14"_Section_howto.html#howto_14 of the manual and the
-"body"_body.html doc page for more details on using body
+1-vertex spheres with a specified diameter.  See the "Howto
+body"_Howto_body.html doc page for more details on using body
 rounded/polyhedron particles.
 
 This pairwise interaction between the rounded polyhedra is described
diff --git a/doc/src/pair_born.txt b/doc/src/pair_born.txt
index 2504fb7e25c8e9651eb95963d244e478688b93cb..143549cf2d99506448c17c8ac9b2f47de70b9e83 100644
--- a/doc/src/pair_born.txt
+++ b/doc/src/pair_born.txt
@@ -108,10 +108,10 @@ The {born/coul/dsf} style computes the Coulomb contribution with the
 damped shifted force model as in the "coul/dsf"_pair_coul.html style.
 
 Style {born/coul/long/cs} is identical to {born/coul/long} except that
-a term is added for the "core/shell model"_Section_howto.html#howto_25
-to allow charges on core and shell particles to be separated by r =
-0.0.  The same correction is introduced for the {born/coul/dsf/cs}
-style which is identical to {born/coul/dsf}.  And likewise for
+a term is added for the "core/shell model"_Howto_coreshell.html to
+allow charges on core and shell particles to be separated by r = 0.0.
+The same correction is introduced for the {born/coul/dsf/cs} style
+which is identical to {born/coul/dsf}.  And likewise for
 {born/coul/wolf/cs} style which is identical to {born/coul/wolf}.
 
 Note that these potentials are related to the "Buckingham
diff --git a/doc/src/pair_buck.txt b/doc/src/pair_buck.txt
index de247b9c0165595b9e70b8717f62abffbde5ce3d..2483a6c9e26fa1357dbfb52bf7b09231c8dcc897 100644
--- a/doc/src/pair_buck.txt
+++ b/doc/src/pair_buck.txt
@@ -93,9 +93,8 @@ used as the cutoff for the A,C terms, and the second is the cutoff for
 the Coulombic term.
 
 Style {buck/coul/long/cs} is identical to {buck/coul/long} except that
-a term is added for the "core/shell model"_Section_howto.html#howto_25
-to allow charges on core and shell particles to be separated by r =
-0.0.
+a term is added for the "core/shell model"_Howto_coreshell.html to
+allow charges on core and shell particles to be separated by r = 0.0.
 
 Note that these potentials are related to the "Born-Mayer-Huggins
 potential"_pair_born.html.
diff --git a/doc/src/pair_coul.txt b/doc/src/pair_coul.txt
index 650575d05515f152d2582897ce38e640df7dca50..e2bc78a2e60b5eacc2ffd501305e0e77a0940343 100644
--- a/doc/src/pair_coul.txt
+++ b/doc/src/pair_coul.txt
@@ -205,9 +205,9 @@ pairwise interactions within this distance are computed directly;
 interactions outside that distance are computed in reciprocal space.
 
 Style {coul/long/cs} is identical to {coul/long} except that a term is
-added for the "core/shell model"_Section_howto.html#howto_25 to allow
-charges on core and shell particles to be separated by r = 0.0.  The
-same correction is introduced for the {coul/wolf/cs} style which is
+added for the "core/shell model"_Howto_coreshell.html to allow charges
+on core and shell particles to be separated by r = 0.0.  The same
+correction is introduced for the {coul/wolf/cs} style which is
 identical to {coul/wolf}.
 
 Styles {tip4p/cut} and {tip4p/long} implement the coulomb part of
@@ -226,16 +226,16 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O
 atom.  For example, if the atom ID of an O atom in a TIP4P water
 molecule is 500, then its 2 H atoms must have IDs 501 and 502.
 
-See the "howto section"_Section_howto.html#howto_8 for more
-information on how to use the TIP4P pair styles and lists of
-parameters to set.  Note that the neighbor list cutoff for Coulomb
-interactions is effectively extended by a distance 2*qdist when using
-the TIP4P pair style, to account for the offset distance of the
-fictitious charges on O atoms in water molecules.  Thus it is
-typically best in an efficiency sense to use a LJ cutoff >= Coulomb
-cutoff + 2*qdist, to shrink the size of the neighbor list.  This leads
-to slightly larger cost for the long-range calculation, so you can
-test the trade-off for your model.
+See the "Howto tip4p"_Howto_tip4p.html doc page for more information
+on how to use the TIP4P pair styles and lists of parameters to set.
+Note that the neighbor list cutoff for Coulomb interactions is
+effectively extended by a distance 2*qdist when using the TIP4P pair
+style, to account for the offset distance of the fictitious charges on
+O atoms in water molecules.  Thus it is typically best in an
+efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to
+shrink the size of the neighbor list.  This leads to slightly larger
+cost for the long-range calculation, so you can test the trade-off for
+your model.
 
 :line
 
diff --git a/doc/src/pair_cs.txt b/doc/src/pair_cs.txt
index c1084c608797863a3ecc7528cdb457298d8c3512..86eb02b0d74c8404e4319c5cdbb6b489e8db7082 100644
--- a/doc/src/pair_cs.txt
+++ b/doc/src/pair_cs.txt
@@ -54,8 +54,8 @@ pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre
 
 These pair styles are designed to be used with the adiabatic
 core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham2.  See
-"Section 6.25"_Section_howto.html#howto_25 of the manual for an
-overview of the model as implemented in LAMMPS.
+the "Howto coreshell"_Howto_coreshell.html doc page for an overview of
+the model as implemented in LAMMPS.
 
 The styles with a {coul/long} term are identical to the "pair_style
 born/coul/long"_pair_born.html and "pair_style
diff --git a/doc/src/pair_hbond_dreiding.txt b/doc/src/pair_hbond_dreiding.txt
index 45f852c25421350665da121175d9f403ac1b0c4b..d641cb73adec05425860ef39c61bb8992bfeac41 100644
--- a/doc/src/pair_hbond_dreiding.txt
+++ b/doc/src/pair_hbond_dreiding.txt
@@ -33,8 +33,8 @@ pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90 :pre
 [Description:]
 
 The {hbond/dreiding} styles compute the Acceptor-Hydrogen-Donor (AHD)
-3-body hydrogen bond interaction for the
-"DREIDING"_Section_howto.html#howto_4 force field, given by:
+3-body hydrogen bond interaction for the "DREIDING"_Howto_bioFF.html
+force field, given by:
 
 :c,image(Eqs/pair_hbond_dreiding.jpg)
 
@@ -65,8 +65,8 @@ potential for the Donor-Acceptor interactions. "(Liu)"_#Liu showed
 that the Morse form gives improved results for Dendrimer simulations,
 when n = 2.
 
-See this "howto section"_Section_howto.html#howto_4 of the manual for
-more information on the DREIDING forcefield.
+See the "Howto bioFF"_Howto_bioFF.html doc page for more information
+on the DREIDING forcefield.
 
 NOTE: Because the Dreiding hydrogen bond potential is only one portion
 of an overall force field which typically includes other pairwise
diff --git a/doc/src/pair_lj.txt b/doc/src/pair_lj.txt
index c2968ffdf3fea69aca87ce0cb726f56515af4011..a0f7effbb17ff724f1963ffdef6c2c15b7b02632 100644
--- a/doc/src/pair_lj.txt
+++ b/doc/src/pair_lj.txt
@@ -185,9 +185,9 @@ distance are computed directly; interactions outside that distance are
 computed in reciprocal space.
 
 Style {lj/cut/coul/long/cs} is identical to {lj/cut/coul/long} except
-that a term is added for the "core/shell
-model"_Section_howto.html#howto_25 to allow charges on core and shell
-particles to be separated by r = 0.0.
+that a term is added for the "core/shell model"_Howto_coreshell.html
+to allow charges on core and shell particles to be separated by r =
+0.0.
 
 Style {coul/wolf} adds a Coulombic pairwise interaction via the Wolf
 summation method, described in "Wolf"_#Wolf1, given by:
@@ -223,16 +223,16 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O
 atom.  For example, if the atom ID of an O atom in a TIP4P water
 molecule is 500, then its 2 H atoms must have IDs 501 and 502.
 
-See the "howto section"_Section_howto.html#howto_8 for more
-information on how to use the TIP4P pair styles and lists of
-parameters to set.  Note that the neighbor list cutoff for Coulomb
-interactions is effectively extended by a distance 2*qdist when using
-the TIP4P pair style, to account for the offset distance of the
-fictitious charges on O atoms in water molecules.  Thus it is
-typically best in an efficiency sense to use a LJ cutoff >= Coulomb
-cutoff + 2*qdist, to shrink the size of the neighbor list.  This leads
-to slightly larger cost for the long-range calculation, so you can
-test the trade-off for your model.
+See the "Howto tip4p"_Howto_tip4p.html doc page for more information
+on how to use the TIP4P pair styles and lists of parameters to set.
+Note that the neighbor list cutoff for Coulomb interactions is
+effectively extended by a distance 2*qdist when using the TIP4P pair
+style, to account for the offset distance of the fictitious charges on
+O atoms in water molecules.  Thus it is typically best in an
+efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to
+shrink the size of the neighbor list.  This leads to slightly larger
+cost for the long-range calculation, so you can test the trade-off for
+your model.
 
 For all of the {lj/cut} pair styles, the following coefficients must
 be defined for each pair of atoms types via the
diff --git a/doc/src/pair_lj_long.txt b/doc/src/pair_lj_long.txt
index bc851adb746588359bbb724f00fb8e399c15cb04..0dd55b7e3266d61e3fd681f3ced9f0ec70e458c0 100644
--- a/doc/src/pair_lj_long.txt
+++ b/doc/src/pair_lj_long.txt
@@ -90,7 +90,7 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O
 atom.  For example, if the atom ID of an O atom in a TIP4P water
 molecule is 500, then its 2 H atoms must have IDs 501 and 502.
 
-See the "howto section"_Section_howto.html#howto_8 for more
+See the the "Howto tip4p"_Howto_tip4p.html doc page for more
 information on how to use the TIP4P pair style.  Note that the
 neighbor list cutoff for Coulomb interactions is effectively extended
 by a distance 2*qdist when using the TIP4P pair style, to account for
diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt
index 475761add76d11df7035cab25631028270e5ba63..2763eb3d663689348fc3710a458d7bac13eb1047 100644
--- a/doc/src/pair_style.txt
+++ b/doc/src/pair_style.txt
@@ -104,7 +104,7 @@ in the pair section of "this page"_Section_commands.html#cmd_5.
 "pair_style airebo"_pair_airebo.html - AIREBO potential of Stuart
 "pair_style airebo/morse"_pair_airebo.html - AIREBO with Morse instead of LJ
 "pair_style beck"_pair_beck.html - Beck potential
-"pair_style body"_pair_body.html - interactions between body particles
+"pair_style body/nparticle"_pair_body_nparticle.html - interactions between body particles
 "pair_style bop"_pair_bop.html - BOP potential of Pettifor
 "pair_style born"_pair_born.html - Born-Mayer-Huggins potential
 "pair_style born/coul/long"_pair_born.html - Born-Mayer-Huggins with long-range Coulombics
diff --git a/doc/src/pair_thole.txt b/doc/src/pair_thole.txt
index 11d4b85cff15688fbf5ca15dd3a238de42a48bbe..42c58e98827f0247f38bc5a164b76a4406beb200 100644
--- a/doc/src/pair_thole.txt
+++ b/doc/src/pair_thole.txt
@@ -45,8 +45,8 @@ pair_style lj/cut/thole/long 2.6 12.0 :pre
 The {thole} pair styles are meant to be used with force fields that
 include explicit polarization through Drude dipoles.  This link
 describes how to use the "thermalized Drude oscillator
-model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS
-are discussed in "this Section"_Section_howto.html#howto_25.
+model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS are
+discussed on the "Howto polarizable"_Howto_polarizable.html doc page.
 
 The {thole} pair style should be used as a sub-style within in the
 "pair_hybrid/overlay"_pair_hybrid.html command, in conjunction with a
diff --git a/doc/src/prd.txt b/doc/src/prd.txt
index 3c0305e316d4e5c8a321e27ad4662a5dc1807d40..f298d83385fc42f2a89adf9b471ced25c84dab09 100644
--- a/doc/src/prd.txt
+++ b/doc/src/prd.txt
@@ -69,8 +69,8 @@ simulation with more replicas (partitions) than you have physical
 processors, e.g you can run a 10-replica simulation on one or two
 processors.  However for PRD, this makes little sense, since running a
 replica on virtual instead of physical processors,offers no effective
-parallel speed-up in searching for infrequent events.  See "Section
-6.5"_Section_howto.html#howto_5 of the manual for further discussion.
+parallel speed-up in searching for infrequent events.  See the "Howto
+replica"_Howto_replica.html doc page for further discussion.
 
 When a PRD simulation is performed, it is assumed that each replica is
 running the same model, though LAMMPS does not check for this.
diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt
index fd297e36c121e1efb8f631c95c182a51587a60c0..4f6a3988b9596ea48c425643f794219ec5217c9c 100644
--- a/doc/src/read_data.txt
+++ b/doc/src/read_data.txt
@@ -322,9 +322,9 @@ with tilt factors that exceed these limits, you can use the "box
 tilt"_box.html command, with a setting of {large}; a setting of
 {small} is the default.
 
-See "Section 6.12"_Section_howto.html#howto_12 of the doc pages
-for a geometric description of triclinic boxes, as defined by LAMMPS,
-and how to transform these parameters to and from other commonly used
+See the "Howto triclinic"_Howto_triclinic.html doc page for a
+geometric description of triclinic boxes, as defined by LAMMPS, and
+how to transform these parameters to and from other commonly used
 triclinic representations.
 
 When a triclinic system is used, the simulation domain should normally
@@ -772,9 +772,9 @@ the "bodies" keyword.
 
 Each body can have a variable number of integer and/or floating-point
 values.  The number and meaning of the values is defined by the body
-style, as described in the "body"_body.html doc page.  The body style
-is given as an argument to the "atom_style body"_atom_style.html
-command.
+style, as described in the "Howto body"_Howto_body.html doc page.  The
+body style is given as an argument to the "atom_style
+body"_atom_style.html command.
 
 The Ninteger and Ndouble values determine how many integer and
 floating-point values are specified for this particle.  Ninteger and
diff --git a/doc/src/region.txt b/doc/src/region.txt
index 1ac3861e675834c262bbf615764caedfd6e25781..b32c09ed6fd9c6065a268f895b607a4f1653bbaa 100644
--- a/doc/src/region.txt
+++ b/doc/src/region.txt
@@ -186,9 +186,9 @@ functions, and include "thermo_style"_thermo_style.html command
 keywords for the simulation box parameters and timestep and elapsed
 time.  Thus it is easy to specify a time-dependent radius.
 
-See "Section 6.12"_Section_howto.html#howto_12 of the doc pages
-for a geometric description of triclinic boxes, as defined by LAMMPS,
-and how to transform these parameters to and from other commonly used
+See the "Howto tricilinc"_Howto_triclinic.html doc page for a
+geometric description of triclinic boxes, as defined by LAMMPS, and
+how to transform these parameters to and from other commonly used
 triclinic representations.
 
 The {union} style creates a region consisting of the volume of all the
diff --git a/doc/src/run.txt b/doc/src/run.txt
index 913d81bb4d05c46274d5127bed7e6fb483732507..02860c0b97a7bf73afe215032ed13e23f2169def 100644
--- a/doc/src/run.txt
+++ b/doc/src/run.txt
@@ -127,9 +127,9 @@ be redefined, e.g. to reset a thermostat temperature.  Or this could
 be useful for invoking a command you have added to LAMMPS that wraps
 some other code (e.g. as a library) to perform a computation
 periodically during a long LAMMPS run.  See the "Modify"_Modify.html
-doc page for info about how to add new commands to LAMMPS.  See "this
-section"_Section_howto.html#howto_10 of the documentation for ideas
-about how to couple LAMMPS to other codes.
+doc page for info about how to add new commands to LAMMPS.  See the
+"Howto couple"_Howto_couple.html doc page for ideas about how to
+couple LAMMPS to other codes.
 
 With the {every} option, N total steps are simulated, in shorter runs
 of M steps each.  After each M-length run, the specified commands are
diff --git a/doc/src/tad.txt b/doc/src/tad.txt
index f5e7c6d6537cc50d6e3905249b847cca20cc7eed..9ffa24d01245c15dca6a082c596ef3c1d3889e58 100644
--- a/doc/src/tad.txt
+++ b/doc/src/tad.txt
@@ -92,9 +92,8 @@ restricts you to having exactly one processor per replica. For more
 information, see the documentation for the "neb"_neb.html command.  In
 the current LAMMPS implementation of TAD, all the non-NEB TAD
 operations are performed on the first partition, while the other
-partitions remain idle. See "Section
-6.5"_Section_howto.html#howto_5 of the manual for further discussion of
-multi-replica simulations.
+partitions remain idle. See the "Howto replica"_Howto_replica.html doc
+page for further discussion of multi-replica simulations.
 
 A TAD run has several stages, which are repeated each time an event is
 performed.  The logic for a TAD run is as follows:
diff --git a/doc/src/temper.txt b/doc/src/temper.txt
index b1c47c8076e1affde9b4c4ecc45c89148ddbd412..e65f59ebedec79dceb144b5ab9a7627df8640d99 100644
--- a/doc/src/temper.txt
+++ b/doc/src/temper.txt
@@ -32,14 +32,13 @@ replicas (ensembles) of a system.  Two or more replicas must be used.
 
 Each replica runs on a partition of one or more processors.  Processor
 partitions are defined at run-time using the -partition command-line
-switch; see "Section 2.6"_Section_start.html#start_6 of the
-manual.  Note that if you have MPI installed, you can run a
-multi-replica simulation with more replicas (partitions) than you have
-physical processors, e.g you can run a 10-replica simulation on one or
-two processors.  You will simply not get the performance speed-up you
-would see with one or more physical processors per replica.  See "this
-section"_Section_howto.html#howto_5 of the manual for further
-discussion.
+switch; see "Section 2.6"_Section_start.html#start_6 of the manual.
+Note that if you have MPI installed, you can run a multi-replica
+simulation with more replicas (partitions) than you have physical
+processors, e.g you can run a 10-replica simulation on one or two
+processors.  You will simply not get the performance speed-up you
+would see with one or more physical processors per replica.  See the
+"Howto replica"_Howto_replica.html doc page for further discussion.
 
 Each replica's temperature is controlled at a different value by a fix
 with {fix-ID} that controls temperature. Most thermostat fix styles
diff --git a/doc/src/thermo_style.txt b/doc/src/thermo_style.txt
index 18c5ad5ba1ce9ecedf74156c8f78a073101e8374..64e0785586c76a2838a6d4d9b82ec8bc06d0066d 100644
--- a/doc/src/thermo_style.txt
+++ b/doc/src/thermo_style.txt
@@ -286,11 +286,11 @@ takes place.
 
 The keywords {cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta},
 {cellgamma}, correspond to the usual crystallographic quantities that
-define the periodic unit cell of a crystal.  See "this
-section"_Section_howto.html#howto_12 of the doc pages for a geometric
-description of triclinic periodic cells, including a precise definition
-of these quantities in terms of the internal LAMMPS cell dimensions
-{lx}, {ly}, {lz}, {yz}, {xz}, {xy}.
+define the periodic unit cell of a crystal.  See the "Howto
+triclinic"_Howto_triclinic.html doc page for a geometric description
+of triclinic periodic cells, including a precise definition of these
+quantities in terms of the internal LAMMPS cell dimensions {lx}, {ly},
+{lz}, {yz}, {xz}, {xy}.
 
 :line
 
diff --git a/doc/src/tutorials.txt b/doc/src/tutorials.txt
deleted file mode 100644
index 338439ac8e9387c080e8bfd32bf237e85984ec0e..0000000000000000000000000000000000000000
--- a/doc/src/tutorials.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-Tutorials :h1
-
-<!-- RST
-
-.. toctree::
-   :maxdepth: 1
-
-   tutorial_drude
-   tutorial_github
-   tutorial_pylammps
-   tutorial_bash_on_windows
-   body
-   manifolds
-
-END_RST -->
diff --git a/doc/src/velocity.txt b/doc/src/velocity.txt
index b8299a5acfc1576484c8f3683eba5eb9e947e4d0..057f0054be4e14106c779ee7e374b898152d03fe 100644
--- a/doc/src/velocity.txt
+++ b/doc/src/velocity.txt
@@ -139,10 +139,9 @@ if rot = yes, the angular momentum is zeroed.
 If specified, the {temp} keyword is used by {create} and {scale} to
 specify a "compute"_compute.html that calculates temperature in a
 desired way, e.g. by first subtracting out a velocity bias, as
-discussed in "Section 6.16"_Section_howto.html#howto_16 of the doc
-pages.  If this keyword is not specified, {create} and {scale}
-calculate temperature using a compute that is defined internally as
-follows:
+discussed on the "Howto thermostat"_Howto_thermostat.html doc page.
+If this keyword is not specified, {create} and {scale} calculate
+temperature using a compute that is defined internally as follows:
 
 compute velocity_temp group-ID temp :pre
 
@@ -161,11 +160,11 @@ The {bias} keyword with a {yes} setting is used by {create} and
 If the temperature compute also calculates a velocity bias, the the
 bias is subtracted from atom velocities before the {create} and
 {scale} operations are performed.  After the operations, the bias is
-added back to the atom velocities.  See "Section
-6.16"_Section_howto.html#howto_16 of the doc pages for more discussion
-of temperature computes with biases.  Note that the velocity bias is
-only applied to atoms in the temperature compute specified with the
-{temp} keyword.
+added back to the atom velocities.  See the "Howto
+thermostat"_Howto_thermostat.html doc page for more discussion of
+temperature computes with biases.  Note that the velocity bias is only
+applied to atoms in the temperature compute specified with the {temp}
+keyword.
 
 As an example, assume atoms are currently streaming in a flow
 direction (which could be separately initialized with the {ramp}