diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt
index 1c89bceed..319d50e9f 100644
--- a/doc/Section_commands.txt
+++ b/doc/Section_commands.txt
@@ -1,1096 +1,1114 @@
 "Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_packages.html :c
 
 :link(lws,http://lammps.sandia.gov)
 :link(ld,Manual.html)
 :link(lc,Section_commands.html#comm)
 
 :line
 
 3. Commands :h3
 
 This section describes how a LAMMPS input script is formatted and the
 input script commands used to define a LAMMPS simulation.
 
 3.1 "LAMMPS input script"_#cmd_1
 3.2 "Parsing rules"_#cmd_2
 3.3 "Input script structure"_#cmd_3
 3.4 "Commands listed by category"_#cmd_4
 3.5 "Commands listed alphabetically"_#cmd_5 :all(b)
 
 :line
 :line
 
 3.1 LAMMPS input script :link(cmd_1),h4
 
 LAMMPS executes by reading commands from a input script (text file),
 one line at a time.  When the input script ends, LAMMPS exits.  Each
 command causes LAMMPS to take some action.  It may set an internal
 variable, read in a file, or run a simulation.  Most commands have
 default settings, which means you only need to use the command if you
 wish to change the default.
 
 In many cases, the ordering of commands in an input script is not
 important.  However the following rules apply:
 
 (1) LAMMPS does not read your entire input script and then perform a
 simulation with all the settings.  Rather, the input script is read
 one line at a time and each command takes effect when it is read.
 Thus this sequence of commands:
 
 timestep 0.5 
 run      100 
 run      100 :pre
 
 does something different than this sequence:
 
 run      100 
 timestep 0.5 
 run      100 :pre
 
 In the first case, the specified timestep (0.5 fmsec) is used for two
 simulations of 100 timesteps each.  In the 2nd case, the default
 timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5
 fmsec timestep is used for the 2nd one.
 
 (2) Some commands are only valid when they follow other commands.  For
 example you cannot set the temperature of a group of atoms until atoms
 have been defined and a group command is used to define which atoms
 belong to the group.
 
 (3) Sometimes command B will use values that can be set by command A.
 This means command A must precede command B in the input script if it
 is to have the desired effect.  For example, the
 "read_data"_read_data.html command initializes the system by setting
 up the simulation box and assigning atoms to processors.  If default
 values are not desired, the "processors"_processors.html and
 "boundary"_boundary.html commands need to be used before read_data to
 tell LAMMPS how to map processors to the simulation box.
 
 Many input script errors are detected by LAMMPS and an ERROR or
 WARNING message is printed.  "This section"_Section_errors.html gives
 more information on what errors mean.  The documentation for each
 command lists restrictions on how the command can be used.
 
 :line
 
 3.2 Parsing rules :link(cmd_2),h4
 
 Each non-blank line in the input script is treated as a command.
 LAMMPS commands are case sensitive.  Command names are lower-case, as
 are specified command arguments.  Upper case letters may be used in
 file names or user-chosen ID strings.
 
 Here is how each line in the input script is parsed by LAMMPS:
 
 (1) If the last printable character on the line is a "&" character
 (with no surrounding quotes), the command is assumed to continue on
 the next line.  The next line is concatenated to the previous line by
 removing the "&" character and newline.  This allows long commands to
 be continued across two or more lines.
 
 (2) All characters from the first "#" character onward are treated as
 comment and discarded.  See an exception in (6).  Note that a
 comment after a trailing "&" character will prevent the command from
 continuing on the next line.  Also note that for multi-line commands a
 single leading "#" will comment out the entire command.
 
 (3) The line is searched repeatedly for $ characters, which indicate
 variables that are replaced with a text string.  See an exception in
 (6).  If the $ is followed by curly brackets, then the variable name
 is the text inside the curly brackets.  If no curly brackets follow
 the $, then the variable name is the single character immediately
 following the $.  Thus $\{myTemp\} and $x refer to variable names
 "myTemp" and "x".  See the "variable"_variable.html command for
 details of how strings are assigned to variables and how they are
 substituted for in input script commands.
 
 (4) The line is broken into "words" separated by whitespace (tabs,
 spaces).  Note that words can thus contain letters, digits,
 underscores, or punctuation characters.
 
 (5) The first word is the command name.  All successive words in the
 line are arguments.
 
 (6) If you want text with spaces to be treated as a single argument,
 it can be enclosed in either double or single quotes.  E.g.
 
 print "Volume = $v"
 print 'Volume = $v' :pre
 
 The quotes are removed when the single argument is stored internally.
 See the "dump modify format"_dump_modify.html or "if"_if.html commands
 for examples.  A "#" or "$" character that is between quotes will not
 be treated as a comment indicator in (2) or substituted for as a
 variable in (3).
 
 IMPORTANT NOTE: If the argument is itself a command that requires a
 quoted argument (e.g. using a "print"_print.html command as part of an
 "if"_if.html or "run every"_run.html command), then the double and
 single quotes can be nested in the usual manner.  See the doc pages
 for those commands for examples.  Only one of level of nesting is
 allowed, but that should be sufficient for most use cases.
 
 :line
 
 3.3 Input script structure :h4,link(cmd_3)
 
 This section describes the structure of a typical LAMMPS input script.
 The "examples" directory in the LAMMPS distribution contains many
 sample input scripts; the corresponding problems are discussed in
 "Section_example"_Section_example.html, and animated on the "LAMMPS
 WWW Site"_lws.
 
 A LAMMPS input script typically has 4 parts:
 
 Initialization
 Atom definition
 Settings
 Run a simulation :ol
 
 The last 2 parts can be repeated as many times as desired.  I.e. run a
 simulation, change some settings, run some more, etc.  Each of the 4
 parts is now described in more detail.  Remember that almost all the
 commands need only be used if a non-default value is desired.
 
 (1) Initialization
 
 Set parameters that need to be defined before atoms are created or
 read-in from a file.
 
 The relevant commands are "units"_units.html,
 "dimension"_dimension.html, "newton"_newton.html,
 "processors"_processors.html, "boundary"_boundary.html,
 "atom_style"_atom_style.html, "atom_modify"_atom_modify.html.
 
 If force-field parameters appear in the files that will be read, these
 commands tell LAMMPS what kinds of force fields are being used:
 "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.
 
 (2) Atom definition
 
 There are 3 ways to define atoms in LAMMPS.  Read them in from a data
 or restart file via the "read_data"_read_data.html or
 "read_restart"_read_restart.html commands.  These files can contain
 molecular topology information.  Or create atoms on a lattice (with no
 molecular topology), using these commands: "lattice"_lattice.html,
 "region"_region.html, "create_box"_create_box.html,
 "create_atoms"_create_atoms.html.  The entire set of atoms can be
 duplicated to make a larger simulation using the
 "replicate"_replicate.html command.
 
 (3) Settings
 
 Once atoms and molecular topology are defined, a variety of settings
 can be specified: force field coefficients, simulation parameters,
 output options, etc.
 
 Force field coefficients are set by these commands (they can also be
 set in the read-in files): "pair_coeff"_pair_coeff.html,
 "bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html,
 "dihedral_coeff"_dihedral_coeff.html,
 "improper_coeff"_improper_coeff.html,
 "kspace_style"_kspace_style.html, "dielectric"_dielectric.html,
 "special_bonds"_special_bonds.html.
 
 Various simulation parameters are set by these commands:
 "neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html,
 "group"_group.html, "timestep"_timestep.html,
 "reset_timestep"_reset_timestep.html, "run_style"_run_style.html,
 "min_style"_min_style.html, "min_modify"_min_modify.html.
 
 Fixes impose a variety of boundary conditions, time integration, and
 diagnostic options.  The "fix"_fix.html command comes in many flavors.
 
 Various computations can be specified for execution during a
 simulation using the "compute"_compute.html,
 "compute_modify"_compute_modify.html, and "variable"_variable.html
 commands.
 
 Output options are set by the "thermo"_thermo.html, "dump"_dump.html,
 and "restart"_restart.html commands.
 
 (4) Run a simulation
 
 A molecular dynamics simulation is run using the "run"_run.html
 command.  Energy minimization (molecular statics) is performed using
 the "minimize"_minimize.html command.  A parallel tempering
 (replica-exchange) simulation can be run using the
 "temper"_temper.html command.
 
 :line
 
 3.4 Commands listed by category :link(cmd_4),h4
 
 This section lists all LAMMPS commands, grouped by category.  The
 "next section"_#cmd_5 lists the same commands alphabetically.  Note
 that some style options for some commands are part of specific LAMMPS
 packages, which means they cannot be used unless the package was
 included when LAMMPS was built.  Not all packages are included in a
 default LAMMPS build.  These dependencies are listed as Restrictions
 in the command's documentation.
 
 Initialization:
 
 "atom_modify"_atom_modify.html, "atom_style"_atom_style.html,
 "boundary"_boundary.html, "dimension"_dimension.html,
 "newton"_newton.html, "processors"_processors.html, "units"_units.html
 
 Atom definition:
 
 "create_atoms"_create_atoms.html, "create_box"_create_box.html,
 "lattice"_lattice.html, "read_data"_read_data.html,
 "read_dump"_read_dump.html, "read_restart"_read_restart.html,
 "region"_region.html, "replicate"_replicate.html
 
 Force fields:
 
 "angle_coeff"_angle_coeff.html, "angle_style"_angle_style.html,
 "bond_coeff"_bond_coeff.html, "bond_style"_bond_style.html,
 "dielectric"_dielectric.html, "dihedral_coeff"_dihedral_coeff.html,
 "dihedral_style"_dihedral_style.html,
 "improper_coeff"_improper_coeff.html,
 "improper_style"_improper_style.html,
 "kspace_modify"_kspace_modify.html, "kspace_style"_kspace_style.html,
 "pair_coeff"_pair_coeff.html, "pair_modify"_pair_modify.html,
 "pair_style"_pair_style.html, "pair_write"_pair_write.html,
 "special_bonds"_special_bonds.html
 
 Settings:
 
 "communicate"_communicate.html, "group"_group.html, "mass"_mass.html,
 "min_modify"_min_modify.html, "min_style"_min_style.html,
 "neigh_modify"_neigh_modify.html, "neighbor"_neighbor.html,
 "reset_timestep"_reset_timestep.html, "run_style"_run_style.html,
 "set"_set.html, "timestep"_timestep.html, "velocity"_velocity.html
 
 Fixes:
 
 "fix"_fix.html, "fix_modify"_fix_modify.html, "unfix"_unfix.html
 
 Computes:
 
 "compute"_compute.html, "compute_modify"_compute_modify.html,
 "uncompute"_uncompute.html
 
 Output:
 
 "dump"_dump.html, "dump image"_dump_image.html,
 "dump_modify"_dump_modify.html, "restart"_restart.html,
 "thermo"_thermo.html, "thermo_modify"_thermo_modify.html,
 "thermo_style"_thermo_style.html, "undump"_undump.html,
 "write_restart"_write_restart.html
 
 Actions:
 
 "delete_atoms"_delete_atoms.html, "delete_bonds"_delete_bonds.html,
 "displace_atoms"_displace_atoms.html, "change_box"_change_box.html,
 "minimize"_minimize.html, "neb"_neb.html "prd"_prd.html,
 "rerun"_rerun.html, "run"_run.html, "temper"_temper.html
 
 Miscellaneous:
 
 "clear"_clear.html, "echo"_echo.html, "if"_if.html,
 "include"_include.html, "jump"_jump.html, "label"_label.html,
 "log"_log.html, "next"_next.html, "print"_print.html,
 "shell"_shell.html, "variable"_variable.html
 
 :line
 
 3.5 Individual commands :h4,link(cmd_5),link(comm)
 
 This section lists all LAMMPS commands alphabetically, with a separate
 listing below of styles within certain commands.  The "previous
 section"_#cmd_4 lists the same commands, grouped by category.  Note
 that some style options for some commands are part of specific LAMMPS
 packages, which means they cannot be used unless the package was
 included when LAMMPS was built.  Not all packages are included in a
 default LAMMPS build.  These dependencies are listed as Restrictions
 in the command's documentation.
 
 "angle_coeff"_angle_coeff.html,
 "angle_style"_angle_style.html,
 "atom_modify"_atom_modify.html,
 "atom_style"_atom_style.html,
 "balance"_balance.html,
 "bond_coeff"_bond_coeff.html,
 "bond_style"_bond_style.html,
 "boundary"_boundary.html,
 "box"_box.html,
 "change_box"_change_box.html,
 "clear"_clear.html,
 "communicate"_communicate.html,
 "compute"_compute.html,
 "compute_modify"_compute_modify.html,
 "create_atoms"_create_atoms.html,
 "create_box"_create_box.html,
 "delete_atoms"_delete_atoms.html,
 "delete_bonds"_delete_bonds.html,
 "dielectric"_dielectric.html,
 "dihedral_coeff"_dihedral_coeff.html,
 "dihedral_style"_dihedral_style.html,
 "dimension"_dimension.html,
 "displace_atoms"_displace_atoms.html,
 "dump"_dump.html,
 "dump image"_dump_image.html,
 "dump_modify"_dump_modify.html,
 "echo"_echo.html,
 "fix"_fix.html,
 "fix_modify"_fix_modify.html,
 "group"_group.html,
 "if"_if.html,
 "improper_coeff"_improper_coeff.html,
 "improper_style"_improper_style.html,
 "include"_include.html,
 "jump"_jump.html,
 "kspace_modify"_kspace_modify.html,
 "kspace_style"_kspace_style.html,
 "label"_label.html,
 "lattice"_lattice.html,
 "log"_log.html,
 "mass"_mass.html,
 "minimize"_minimize.html,
 "min_modify"_min_modify.html,
 "min_style"_min_style.html,
 "neb"_neb.html,
 "neigh_modify"_neigh_modify.html,
 "neighbor"_neighbor.html,
 "newton"_newton.html,
 "next"_next.html,
 "package"_package.html,
 "pair_coeff"_pair_coeff.html,
 "pair_modify"_pair_modify.html,
 "pair_style"_pair_style.html,
 "pair_write"_pair_write.html,
 "partition"_partition.html,
 "prd"_prd.html,
 "print"_print.html,
 "processors"_processors.html,
 "quit"_quit.html,
 "read_data"_read_data.html,
 "read_dump"_read_dump.html,
 "read_restart"_read_restart.html,
 "region"_region.html,
 "replicate"_replicate.html,
 "rerun"_rerun.html,
 "reset_timestep"_reset_timestep.html,
 "restart"_restart.html,
 "run"_run.html,
 "run_style"_run_style.html,
 "set"_set.html,
 "shell"_shell.html,
 "special_bonds"_special_bonds.html,
 "suffix"_suffix.html,
 "tad"_tad.html,
 "temper"_temper.html,
 "thermo"_thermo.html,
 "thermo_modify"_thermo_modify.html,
 "thermo_style"_thermo_style.html,
 "timestep"_timestep.html,
 "uncompute"_uncompute.html,
 "undump"_undump.html,
 "unfix"_unfix.html,
 "units"_units.html,
 "variable"_variable.html,
 "velocity"_velocity.html,
 "write_restart"_write_restart.html :tb(c=6,ea=c)
 
 :line
 
 Fix styles :h4
 
 See the "fix"_fix.html command for one-line descriptions
 of each style or click on the style itself for a full description:
 
 "adapt"_fix_adapt.html,
 "addforce"_fix_addforce.html,
 "append/atoms"_fix_append_atoms.html,
 "aveforce"_fix_aveforce.html,
 "ave/atom"_fix_ave_atom.html,
 "ave/correlate"_fix_ave_correlate.html,
 "ave/histo"_fix_ave_histo.html,
 "ave/spatial"_fix_ave_spatial.html,
 "ave/time"_fix_ave_time.html,
 "balance"_fix_balance.html,
 "bond/break"_fix_bond_break.html,
 "bond/create"_fix_bond_create.html,
 "bond/swap"_fix_bond_swap.html,
 "box/relax"_fix_box_relax.html,
 "deform"_fix_deform.html,
 "deposit"_fix_deposit.html,
 "drag"_fix_drag.html,
 "dt/reset"_fix_dt_reset.html,
 "efield"_fix_efield.html,
 "enforce2d"_fix_enforce2d.html,
 "evaporate"_fix_evaporate.html,
 "external"_fix_external.html,
 "freeze"_fix_freeze.html,
 "gcmc"_fix_gcmc.html,
 "gravity"_fix_gravity.html,
 "heat"_fix_heat.html,
 "indent"_fix_indent.html,
 "langevin"_fix_langevin.html,
 "lineforce"_fix_lineforce.html,
 "momentum"_fix_momentum.html,
 "move"_fix_move.html,
 "msst"_fix_msst.html,
 "neb"_fix_neb.html,
 "nph"_fix_nh.html,
 "nphug"_fix_nphug.html,
 "nph/asphere"_fix_nph_asphere.html,
 "nph/sphere"_fix_nph_sphere.html,
 "npt"_fix_nh.html,
 "npt/asphere"_fix_npt_asphere.html,
 "npt/sphere"_fix_npt_sphere.html,
 "nve"_fix_nve.html,
 "nve/asphere"_fix_nve_asphere.html,
 "nve/asphere/noforce"_fix_nve_asphere_noforce.html,
 "nve/body"_fix_nve_body.html,
 "nve/limit"_fix_nve_limit.html,
 "nve/line"_fix_nve_line.html,
 "nve/noforce"_fix_nve_noforce.html,
 "nve/sphere"_fix_nve_sphere.html,
 "nve/tri"_fix_nve_tri.html,
 "nvt"_fix_nh.html,
 "nvt/asphere"_fix_nvt_asphere.html,
 "nvt/sllod"_fix_nvt_sllod.html,
 "nvt/sphere"_fix_nvt_sphere.html,
 "orient/fcc"_fix_orient_fcc.html,
 "planeforce"_fix_planeforce.html,
 "poems"_fix_poems.html,
 "pour"_fix_pour.html,
 "press/berendsen"_fix_press_berendsen.html,
 "print"_fix_print.html,
 "qeq/comb"_fix_qeq_comb.html,
 "reax/bonds"_fix_reax_bonds.html,
 "recenter"_fix_recenter.html,
 "restrain"_fix_restrain.html,
 "rigid"_fix_rigid.html,
 "rigid/nph"_fix_rigid.html,
 "rigid/npt"_fix_rigid.html,
 "rigid/nve"_fix_rigid.html,
 "rigid/nvt"_fix_rigid.html,
 "rigid/small"_fix_rigid.html,
 "setforce"_fix_setforce.html,
 "shake"_fix_shake.html,
 "spring"_fix_spring.html,
 "spring/rg"_fix_spring_rg.html,
 "spring/self"_fix_spring_self.html,
 "srd"_fix_srd.html,
 "store/force"_fix_store_force.html,
 "store/state"_fix_store_state.html,
 "temp/berendsen"_fix_temp_berendsen.html,
 "temp/rescale"_fix_temp_rescale.html,
 "thermal/conductivity"_fix_thermal_conductivity.html,
 "tmd"_fix_tmd.html,
 "ttm"_fix_ttm.html,
 "viscosity"_fix_viscosity.html,
 "viscous"_fix_viscous.html,
 "wall/colloid"_fix_wall.html,
 "wall/gran"_fix_wall_gran.html,
 "wall/harmonic"_fix_wall.html,
 "wall/lj126"_fix_wall.html,
 "wall/lj93"_fix_wall.html,
 "wall/piston"_fix_wall_piston.html,
 "wall/reflect"_fix_wall_reflect.html,
 "wall/region"_fix_wall_region.html,
 "wall/srd"_fix_wall_srd.html :tb(c=8,ea=c)
 
 These are fix styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "addtorque"_fix_addtorque.html,
 "atc"_fix_atc.html,
 "colvars"_fix_colvars.html,
 "imd"_fix_imd.html,
 "langevin/eff"_fix_langevin_eff.html,
 "meso"_fix_meso.html,
 "meso/stationary"_fix_meso_stationary.html,
 "nph/eff"_fix_nh_eff.html,
 "npt/eff"_fix_nh_eff.html,
 "nve/eff"_fix_nve_eff.html,
 "nvt/eff"_fix_nh_eff.html,
 "nvt/sllod/eff"_fix_nvt_sllod_eff.html,
 "qeq/reax"_fix_qeq_reax.html,
 "reax/c/bonds"_fix_reaxc_bonds.html,
 "smd"_fix_smd.html,
 "temp/rescale/eff"_fix_temp_rescale_eff.html :tb(c=6,ea=c)
 
 These are accelerated fix styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "freeze/cuda"_fix_freeze.html,
 "addforce/cuda"_fix_addforce.html,
 "aveforce/cuda"_fix_aveforce.html,
 "enforce2d/cuda"_fix_enforce2d.html,
 "gravity/cuda"_fix_gravity.html,
 "gravity/omp"_fix_gravity.html,
+"nph/omp"_fix_nh.html,
+"nphug/omp"_fix_nphug.html,
+"nph/asphere/omp"_fix_nph_asphere.html,
+"nph/sphere/omp"_fix_nph_sphere.html,
 "npt/cuda"_fix_nh.html,
+"npt/omp"_fix_nh.html,
+"npt/asphere/omp"_fix_npt_asphere.html,
+"npt/sphere/omp"_fix_npt_sphere.html,
 "nve/cuda"_fix_nh.html,
+"nve/omp"_fix_nve.html,
 "nve/sphere/omp"_fix_nve_sphere.html,
 "nvt/cuda"_fix_nh.html,
+"nvt/omp"_fix_nh.html,
+"nvt/asphere/omp"_fix_nvt_asphere.html,
+"nvt/sllod/omp"_fix_nvt_sllod.html,
+"nvt/sphere/omp"_fix_nvt_sphere.html,
 "qeq/comb/omp"_fix_qeq_comb.html,
+"rigid/omp"_fix_rigid.html,
+"rigid/nph/omp"_fix_rigid.html,
+"rigid/npt/omp"_fix_rigid.html,
+"rigid/nve/omp"_fix_rigid.html,
+"rigid/nvt/omp"_fix_rigid.html,
+"rigid/small/omp"_fix_rigid.html,
 "setforce/cuda"_fix_setforce.html,
 "shake/cuda"_fix_shake.html,
 "temp/berendsen/cuda"_fix_temp_berendsen.html,
 "temp/rescale/cuda"_fix_temp_rescale.html,
 "temp/rescale/limit/cuda"_fix_temp_rescale.html,
 "viscous/cuda"_fix_viscous.html :tb(c=6,ea=c)
 
 :line
 
 Compute styles :h4
 
 See the "compute"_compute.html command for one-line descriptions of
 each style or click on the style itself for a full description:
 
 "angle/local"_compute_angle_local.html,
 "atom/molecule"_compute_atom_molecule.html,
 "body/local"_compute_body_local.html,
 "bond/local"_compute_bond_local.html,
 "centro/atom"_compute_centro_atom.html,
 "cluster/atom"_compute_cluster_atom.html,
 "cna/atom"_compute_cna_atom.html,
 "com"_compute_com.html,
 "com/molecule"_compute_com_molecule.html,
 "contact/atom"_compute_contact_atom.html,
 "coord/atom"_compute_coord_atom.html,
 "damage/atom"_compute_damage_atom.html,
 "dihedral/local"_compute_dihedral_local.html,
 "displace/atom"_compute_displace_atom.html,
 "erotate/asphere"_compute_erotate_asphere.html,
 "erotate/sphere"_compute_erotate_sphere.html,
 "erotate/sphere/atom"_compute_erotate_sphere_atom.html,
 "event/displace"_compute_event_displace.html,
 "group/group"_compute_group_group.html,
 "gyration"_compute_gyration.html,
 "gyration/molecule"_compute_gyration_molecule.html,
 "heat/flux"_compute_heat_flux.html,
 "improper/local"_compute_improper_local.html,
 "inertia/molecule"_compute_inertia_molecule.html,
 "ke"_compute_ke.html,
 "ke/atom"_compute_ke_atom.html,
 "msd"_compute_msd.html,
 "msd/molecule"_compute_msd_molecule.html,
 "pair"_compute_pair.html,
 "pair/local"_compute_pair_local.html,
 "pe"_compute_pe.html,
 "pe/atom"_compute_pe_atom.html,
 "pressure"_compute_pressure.html,
 "property/atom"_compute_property_atom.html,
 "property/local"_compute_property_local.html,
 "property/molecule"_compute_property_molecule.html,
 "rdf"_compute_rdf.html,
 "reduce"_compute_reduce.html,
 "reduce/region"_compute_reduce.html,
 "slice"_compute_slice.html,
 "stress/atom"_compute_stress_atom.html,
 "temp"_compute_temp.html,
 "temp/asphere"_compute_temp_asphere.html,
 "temp/com"_compute_temp_com.html,
 "temp/deform"_compute_temp_deform.html,
 "temp/partial"_compute_temp_partial.html,
 "temp/profile"_compute_temp_profile.html,
 "temp/ramp"_compute_temp_ramp.html,
 "temp/region"_compute_temp_region.html,
 "temp/sphere"_compute_temp_sphere.html,
 "ti"_compute_ti.html,
 "voronoi/atom"_compute_voronoi_atom.html :tb(c=6,ea=c)
 
 These are compute styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "ackland/atom"_compute_ackland_atom.html,
 "ke/eff"_compute_ke_eff.html,
 "ke/atom/eff"_compute_ke_atom_eff.html,
 "meso_e/atom"_compute_meso_e_atom.html,
 "meso_rho/atom"_compute_meso_rho_atom.html,
 "meso_t/atom"_compute_meso_t_atom.html,
 "temp/eff"_compute_temp_eff.html,
 "temp/deform/eff"_compute_temp_deform_eff.html,
 "temp/region/eff"_compute_temp_region_eff.html,
 "temp/rotate"_compute_temp_rotate.html :tb(c=6,ea=c)
 
 These are accelerated compute styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "pe/cuda"_compute_pe.html,
 "pressure/cuda"_compute_pressure.html,
 "temp/cuda"_compute_temp.html,
 "temp/partial/cuda"_compute_temp_partial.html :tb(c=6,ea=c)
 
 :line
 
 Pair_style potentials :h4
 
 See the "pair_style"_pair_style.html command for an overview of pair
 potentials.  Click on the style itself for a full description:
 
 "none"_pair_none.html,
 "hybrid"_pair_hybrid.html,
 "hybrid/overlay"_pair_hybrid.html,
 "adp"_pair_adp.html,
 "airebo"_pair_airebo.html,
 "beck"_pair_beck.html,
 "body"_pair_body.html,
 "bop"_pair_bop.html,
 "born"_pair_born.html,
 "born/coul/long"_pair_born.html,
 "born/coul/msm"_pair_born.html,
 "born/coul/wolf"_pair_born.html,
 "brownian"_pair_brownian.html,
 "brownian/poly"_pair_brownian.html,
 "buck"_pair_buck.html,
 "buck/coul/cut"_pair_buck.html,
 "buck/coul/long"_pair_buck.html,
 "buck/coul/msm"_pair_buck.html,
 "buck/long/coul/long"_pair_buck_long.html,
 "colloid"_pair_colloid.html,
 "comb"_pair_comb.html,
 "coul/cut"_pair_coul.html,
 "coul/debye"_pair_coul.html,
 "coul/dsf"_pair_coul.html,
 "coul/long"_pair_coul.html,
 "coul/msm"_pair_coul.html,
 "coul/wolf"_pair_coul.html,
 "dipole/cut"_pair_dipole.html,
 "dpd"_pair_dpd.html,
 "dpd/tstat"_pair_dpd.html,
 "dsmc"_pair_dsmc.html,
 "eam"_pair_eam.html,
 "eam/alloy"_pair_eam.html,
 "eam/fs"_pair_eam.html,
 "eim"_pair_eim.html,
 "gauss"_pair_gauss.html,
 "gayberne"_pair_gayberne.html,
 "gran/hertz/history"_pair_gran.html,
 "gran/hooke"_pair_gran.html,
 "gran/hooke/history"_pair_gran.html,
 "hbond/dreiding/lj"_pair_hbond_dreiding.html,
 "hbond/dreiding/morse"_pair_hbond_dreiding.html,
 "kim"_pair_kim.html,
 "lcbop"_pair_lcbop.html,
 "line/lj"_pair_line_lj.html,
 "lj/charmm/coul/charmm"_pair_charmm.html,
 "lj/charmm/coul/charmm/implicit"_pair_charmm.html,
 "lj/charmm/coul/long"_pair_charmm.html,
 "lj/charmm/coul/msm"_pair_charmm.html,
 "lj/class2"_pair_class2.html,
 "lj/class2/coul/cut"_pair_class2.html,
 "lj/class2/coul/long"_pair_class2.html,
 "lj/cut"_pair_lj.html,
 "lj/cut/coul/cut"_pair_lj.html,
 "lj/cut/coul/debye"_pair_lj.html,
 "lj/cut/coul/dsf"_pair_lj.html,
 "lj/cut/coul/long"_pair_lj.html,
 "lj/cut/coul/msm"_pair_lj.html,
 "lj/long/coul/long"_pair_lj_long.html,
 "lj/cut/tip4p/long"_pair_lj.html,
 "lj/long/tip4p/long"_pair_lj_long.html,
 "lj/expand"_pair_lj_expand.html,
 "lj/gromacs"_pair_gromacs.html,
 "lj/gromacs/coul/gromacs"_pair_gromacs.html,
 "lj/smooth"_pair_lj_smooth.html,
 "lj/smooth/linear"_pair_lj_smooth_linear.html,
 "lj96/cut"_pair_lj96.html,
 "lubricate"_pair_lubricate.html,
 "lubricate/poly"_pair_lubricate.html,
 "lubricateU"_pair_lubricateU.html,
 "lubricateU/poly"_pair_lubricateU.html,
 "meam"_pair_meam.html,
 "mie/cut"_pair_mie.html,
 "morse"_pair_morse.html,
 "peri/lps"_pair_peri.html,
 "peri/pmb"_pair_peri.html,
 "reax"_pair_reax.html,
 "rebo"_pair_airebo.html,
 "resquared"_pair_resquared.html,
 "soft"_pair_soft.html,
 "sw"_pair_sw.html,
 "table"_pair_table.html,
 "tersoff"_pair_tersoff.html,
 "tersoff/zbl"_pair_tersoff_zbl.html,
 "tri/lj"_pair_tri_lj.html,
 "yukawa"_pair_yukawa.html,
 "yukawa/colloid"_pair_yukawa_colloid.html :tb(c=4,ea=c)
 
 These are pair styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "awpmd/cut"_pair_awpmd.html,
 "coul/diel"_pair_coul_diel.html,
 "dipole/sf"_pair_dipole.html,
 "eam/cd"_pair_eam.html,
 "edip"_pair_edip.html,
 "eff/cut"_pair_eff.html,
 "gauss/cut"_pair_gauss.html,
 "lj/sdk"_pair_sdk.html,
 "lj/sdk/coul/long"_pair_sdk.html,
 "lj/sdk/coul/msm"_pair_sdk.html,
 "lj/sf"_pair_lj_sf.html,
 "meam/spline"_pair_meam_spline.html,
 "meam/sw/spline"_pair_meam_sw_spline.html,
 "reax/c"_pair_reax_c.html,
 "sph/heatconduction"_pair_sph_heatconduction.html,
 "sph/idealgas"_pair_sph_idealgas.html,
 "sph/lj"_pair_sph_lj.html,
 "sph/rhosum"_pair_sph_rhosum.html,
 "sph/taitwater"_pair_sph_taitwater.html,
 "sph/taitwater/morris"_pair_sph_taitwater_morris.html,
 "tersoff/table"_pair_tersoff.html :tb(c=4,ea=c)
 
 These are accelerated pair styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "adp/omp"_pair_adp.html,
 "airebo/omp"_pair_airebo.html,
 "beck/omp"_pair_beck.html,
 "born/coul/long/cuda"_pair_born.html,
 "born/coul/long/gpu"_pair_born.html,
 "born/coul/long/omp"_pair_born.html,
 "born/coul/msm/omp"_pair_born.html,
 "born/coul/wolf/gpu"_pair_born.html,
 "born/coul/wolf/omp"_pair_born.html,
 "born/gpu"_pair_born.html,
 "born/omp"_pair_born.html,
 "brownian/omp"_pair_brownian.html,
 "brownian/poly/omp"_pair_brownian.html,
 "buck/coul/cut/cuda"_pair_buck.html,
 "buck/coul/cut/gpu"_pair_buck.html,
 "buck/coul/cut/omp"_pair_buck.html,
 "buck/coul/long/cuda"_pair_buck.html,
 "buck/coul/long/gpu"_pair_buck.html,
 "buck/coul/long/omp"_pair_buck.html,
 "buck/coul/msm/omp"_pair_buck.html,
 "buck/cuda"_pair_buck.html,
 "buck/long/coul/long/omp"_pair_buck_long.html,
 "buck/gpu"_pair_buck.html,
 "buck/omp"_pair_buck.html,
 "colloid/gpu"_pair_colloid.html,
 "colloid/omp"_pair_colloid.html,
 "comb/omp"_pair_comb.html,
 "coul/cut/omp"_pair_coul.html,
 "coul/debye/omp"_pair_coul.html,
 "coul/dsf/gpu"_pair_coul.html,
 "coul/long/gpu"_pair_coul.html,
 "coul/long/omp"_pair_coul.html,
 "coul/msm/omp"_pair_coul.html,
 "coul/wolf"_pair_coul.html,
 "dipole/cut/gpu"_pair_dipole.html,
 "dipole/cut/omp"_pair_dipole.html,
 "dipole/sf/gpu"_pair_dipole.html,
 "dipole/sf/omp"_pair_dipole.html,
 "dpd/omp"_pair_dpd.html,
 "dpd/tstat/omp"_pair_dpd.html,
 "eam/alloy/cuda"_pair_eam.html,
 "eam/alloy/gpu"_pair_eam.html,
 "eam/alloy/omp"_pair_eam.html,
 "eam/alloy/opt"_pair_eam.html,
 "eam/cd/omp"_pair_eam.html,
 "eam/cuda"_pair_eam.html,
 "eam/fs/cuda"_pair_eam.html,
 "eam/fs/gpu"_pair_eam.html,
 "eam/fs/omp"_pair_eam.html,
 "eam/fs/opt"_pair_eam.html,
 "eam/gpu"_pair_eam.html,
 "eam/omp"_pair_eam.html,
 "eam/opt"_pair_eam.html,
 "edip/omp"_pair_edip.html,
 "eim/omp"_pair_eim.html,
 "gauss/gpu"_pair_gauss.html,
 "gauss/omp"_pair_gauss.html,
 "gayberne/gpu"_pair_gayberne.html,
 "gayberne/omp"_pair_gayberne.html,
 "gran/hertz/history/omp"_pair_gran.html,
 "gran/hooke/cuda"_pair_gran.html,
 "gran/hooke/history/omp"_pair_gran.html,
 "gran/hooke/omp"_pair_gran.html,
 "hbond/dreiding/lj/omp"_pair_hbond_dreiding.html,
 "hbond/dreiding/morse/omp"_pair_hbond_dreiding.html,
 "line/lj/omp"_pair_line_lj.html,
 "lj/charmm/coul/charmm/cuda"_pair_charmm.html,
 "lj/charmm/coul/charmm/omp"_pair_charmm.html,
 "lj/charmm/coul/charmm/implicit/cuda"_pair_charmm.html,
 "lj/charmm/coul/charmm/implicit/omp"_pair_charmm.html,
 "lj/charmm/coul/long/cuda"_pair_charmm.html,
 "lj/charmm/coul/long/gpu"_pair_charmm.html,
 "lj/charmm/coul/long/omp"_pair_charmm.html,
 "lj/charmm/coul/long/opt"_pair_charmm.html,
 "lj/class2/coul/cut/cuda"_pair_class2.html,
 "lj/class2/coul/cut/omp"_pair_class2.html,
 "lj/class2/coul/long/cuda"_pair_class2.html,
 "lj/class2/coul/long/gpu"_pair_class2.html,
 "lj/class2/coul/long/omp"_pair_class2.html,
 "lj/class2/coul/msm/omp"_pair_class2.html,
 "lj/class2/cuda"_pair_class2.html,
 "lj/class2/gpu"_pair_class2.html,
 "lj/class2/omp"_pair_class2.html,
 "lj/long/coul/long/omp"_pair_lj_long.html,
 "lj/cut/coul/cut/cuda"_pair_lj.html,
 "lj/cut/coul/cut/gpu"_pair_lj.html,
 "lj/cut/coul/cut/omp"_pair_lj.html,
 "lj/cut/coul/debye/cuda"_pair_lj.html,
 "lj/cut/coul/debye/gpu"_pair_lj.html,
 "lj/cut/coul/debye/omp"_pair_lj.html,
 "lj/cut/coul/dsf/gpu"_pair_lj.html,
 "lj/cut/coul/long/cuda"_pair_lj.html,
 "lj/cut/coul/long/gpu"_pair_lj.html,
 "lj/cut/coul/long/omp"_pair_lj.html,
 "lj/cut/coul/long/opt"_pair_lj.html,
 "lj/cut/coul/msm/opt"_pair_lj.html,
 "lj/cut/cuda"_pair_lj.html,
 "lj/cut/experimental/cuda"_pair_lj.html,
 "lj/cut/gpu"_pair_lj.html,
 "lj/cut/omp"_pair_lj.html,
 "lj/cut/opt"_pair_lj.html,
 "lj/cut/tip4p/long/omp"_pair_lj.html,
 "lj/cut/tip4p/long/opt"_pair_lj.html,
 "lj/expand/cuda"_pair_lj_expand.html,
 "lj/expand/gpu"_pair_lj_expand.html,
 "lj/expand/omp"_pair_lj_expand.html,
 "lj/gromacs/coul/gromacs/cuda"_pair_gromacs.html,
 "lj/gromacs/coul/gromacs/omp"_pair_gromacs.html,
 "lj/gromacs/cuda"_pair_gromacs.html,
 "lj/gromacs/omp"_pair_gromacs.html,
 "lj/sdk/gpu"_pair_sdk.html,
 "lj/sdk/omp"_pair_sdk.html,
 "lj/sdk/coul/long/gpu"_pair_sdk.html,
 "lj/sdk/coul/long/omp"_pair_sdk.html,
 "lj/sdk/coul/msm/omp"_pair_sdk.html,
 "lj/sf/omp"_pair_lj_sf.html,
 "lj/smooth/cuda"_pair_lj_smooth.html,
 "lj/smooth/omp"_pair_lj_smooth.html,
 "lj/smooth/linear/omp"_pair_lj_smooth_linear.html,
 "lj96/cut/cuda"_pair_lj96.html,
 "lj96/cut/gpu"_pair_lj96.html,
 "lj96/cut/omp"_pair_lj96.html,
 "lubricate/omp"_pair_lubricate.html,
 "lubricate/poly/omp"_pair_lubricate.html,
 "meam/spline/omp"_pair_meam_spline.html,
 "morse/cuda"_pair_morse.html,
 "morse/gpu"_pair_morse.html,
 "morse/omp"_pair_morse.html,
 "morse/opt"_pair_morse.html,
 "peri/lps/omp"_pair_peri.html,
 "peri/pmb/omp"_pair_peri.html,
 "rebo/omp"_pair_airebo.html,
 "resquared/gpu"_pair_resquared.html,
 "resquared/omp"_pair_resquared.html,
 "soft/omp"_pair_soft.html,
 "sw/cuda"_pair_sw.html,
 "sw/omp"_pair_sw.html,
 "table/gpu"_pair_table.html,
 "table/omp"_pair_table.html,
 "tersoff/cuda"_pair_tersoff.html,
 "tersoff/omp"_pair_tersoff.html,
 "tersoff/table/omp"_pair_tersoff.html,
 "tersoff/zbl/omp"_pair_tersoff_zbl.html,
 "tri/lj/omp"_pair_tri_lj.html,
 "yukawa/gpu"_pair_yukawa.html,
 "yukawa/omp"_pair_yukawa.html,
 "yukawa/colloid/gpu"_pair_yukawa_colloid.html,
 "yukawa/colloid/omp"_pair_yukawa_colloid.html :tb(c=4,ea=c)
 
 :line
 
 Bond_style potentials :h4
 
 See the "bond_style"_bond_style.html command for an overview of bond
 potentials.  Click on the style itself for a full description:
 
 "none"_bond_none.html,
 "hybrid"_bond_hybrid.html,
 "class2"_bond_class2.html,
 "fene"_bond_fene.html,
 "fene/expand"_bond_fene_expand.html,
 "harmonic"_bond_harmonic.html,
 "morse"_bond_morse.html,
 "nonlinear"_bond_nonlinear.html,
 "quartic"_bond_quartic.html,
 "table"_bond_table.html :tb(c=4,ea=c,w=100)
 
 These are bond styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "harmonic/shift"_bond_harmonic_shift.html,
 "harmonic/shift/cut"_bond_harmonic_shift_cut.html :tb(c=4,ea=c)
 
 These are accelerated bond styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "class2/omp"_bond_class2.html,
 "fene/omp"_bond_fene.html,
 "fene/expand/omp"_bond_fene_expand.html,
 "harmonic/omp"_bond_harmonic.html,
 "harmonic/shift/omp"_bond_harmonic_shift.html,
 "harmonic/shift/cut/omp"_bond_harmonic_shift_cut.html,
 "morse/omp"_bond_morse.html,
 "nonlinear/omp"_bond_nonlinear.html,
 "quartic/omp"_bond_quartic.html,
 "table/omp"_bond_table.html :tb(c=4,ea=c,w=100)
 
 :line
 
 Angle_style potentials :h4
 
 See the "angle_style"_angle_style.html command for an overview of
 angle potentials.  Click on the style itself for a full description:
 
 "none"_angle_none.html,
 "hybrid"_angle_hybrid.html,
 "charmm"_angle_charmm.html,
 "class2"_angle_class2.html,
 "cosine"_angle_cosine.html,
 "cosine/delta"_angle_cosine_delta.html,
 "cosine/periodic"_angle_cosine_periodic.html,
 "cosine/squared"_angle_cosine_squared.html,
 "harmonic"_angle_harmonic.html,
 "table"_angle_table.html :tb(c=4,ea=c,w=100)
 
 These are angle styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "sdk"_angle_sdk.html,
 "cosine/shift"_angle_cosine_shift.html,
 "cosine/shift/exp"_angle_cosine_shift_exp.html,
 "dipole"_angle_dipole.html,
 "fourier"_angle_fourier.html,
 "fourier/simple"_angle_fourier_simple.html,
 "quartic"_angle_quartic.html :tb(c=4,ea=c)
 
 These are accelerated angle styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "charmm/omp"_angle_charmm.html,
 "class2/omp"_angle_class2.html,
 "cosine/omp"_angle_cosine.html,
 "cosine/delta/omp"_angle_cosine_delta.html,
 "cosine/periodic/omp"_angle_cosine_periodic.html,
 "cosine/shift/omp"_angle_cosine_shift.html,
 "cosine/shift/exp/omp"_angle_cosine_shift_exp.html,
 "cosine/squared/omp"_angle_cosine_squared.html,
 "dipole/omp"_angle_dipole.html
 "fourier/omp"_angle_fourier.html,
 "fourier/simple/omp"_angle_fourier_simple.html,
 "harmonic/omp"_angle_harmonic.html,
 "quartic/omp"_angle_quartic.html
 "table/omp"_angle_table.html :tb(c=4,ea=c,w=100)
 
 :line
 
 Dihedral_style potentials :h4
 
 See the "dihedral_style"_dihedral_style.html command for an overview
 of dihedral potentials.  Click on the style itself for a full
 description:
 
 "none"_dihedral_none.html,
 "hybrid"_dihedral_hybrid.html,
 "charmm"_dihedral_charmm.html,
 "class2"_dihedral_class2.html,
 "harmonic"_dihedral_harmonic.html,
 "helix"_dihedral_helix.html,
 "multi/harmonic"_dihedral_multi_harmonic.html,
 "opls"_dihedral_opls.html :tb(c=4,ea=c,w=100)
 
 These are dihedral styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "cosine/shift/exp"_dihedral_cosine_shift_exp.html,
 "fourier"_dihedral_fourier.html,
 "nharmonic"_dihedral_nharmonic.html,
 "quadratic"_dihedral_quadratic.html,
 "table"_dihedral_table.html :tb(c=4,ea=c)
 
 These are accelerated dihedral styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "charmm/omp"_dihedral_charmm.html,
 "class2/omp"_dihedral_class2.html,
 "cosine/shift/exp/omp"_dihedral_cosine_shift_exp.html,
 "fourier/omp"_dihedral_fourier.html,
 "harmonic/omp"_dihedral_harmonic.html,
 "helix/omp"_dihedral_helix.html,
 "multi/harmonic/omp"_dihedral_multi_harmonic.html,
 "nharmonic/omp"_dihedral_nharmonic.html,
 "opls/omp"_dihedral_opls.html
 "quadratic/omp"_dihedral_quadratic.html,
 "table/omp"_dihedral_table.html :tb(c=4,ea=c,w=100)
 
 :line
 
 Improper_style potentials :h4
 
 See the "improper_style"_improper_style.html command for an overview
 of improper potentials.  Click on the style itself for a full
 description:
 
 "none"_improper_none.html,
 "hybrid"_improper_hybrid.html,
 "class2"_improper_class2.html,
 "cvff"_improper_cvff.html,
 "harmonic"_improper_harmonic.html,
 "umbrella"_improper_umbrella.html :tb(c=4,ea=c,w=100)
 
 These are improper styles contributed by users, which can be used if
 "LAMMPS is built with the appropriate
 package"_Section_start.html#start_3.
 
 "cossq"_improper_cossq.html,
 "fourier"_improper_fourier.html,
 "ring"_improper_ring.html :tb(c=4,ea=c)
 
 These are accelerated improper styles, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "class2/omp"_improper_class2.html,
 "cossq/omp"_improper_cossq.html,
 "cvff/omp"_improper_cvff.html,
 "fourier/omp"_improper_fourier.html,
 "harmonic/omp"_improper_harmonic.html,
 "ring/omp"_improper_ring.html,
 "umbrella/omp"_improper_umbrella.html :tb(c=4,ea=c,w=100)
 
 :line
 
 Kspace solvers :h4
 
 See the "kspace_style"_kspace_style.html command for an overview of
 Kspace solvers.  Click on the style itself for a full description:
 
 "ewald"_kspace_style.html,
 "ewald/disp"_kspace_style.html,
 "msm"_kspace_style.html,
 "msm/cg"_kspace_style.html,
 "pppm"_kspace_style.html,
 "pppm/cg"_kspace_style.html,
 "pppm/disp"_kspace_style.html,
 "pppm/disp/tip4p"_kspace_style.html,
 "pppm/tip4p"_kspace_style.html :tb(c=4,ea=c,w=100)
 
 These are accelerated Kspace solvers, which can be used if LAMMPS is
 built with the "appropriate accelerated
 package"_Section_accelerate.html.
 
 "ewald/omp"_kspace_style.html,
 "msm/omp"_kspace_style.html,
 "msm/cg/omp"_kspace_style.html,
 "pppm/cuda"_kspace_style.html,
 "pppm/gpu"_kspace_style.html,
 "pppm/omp"_kspace_style.html,
 "pppm/cg/omp"_kspace_style.html,
 "pppm/tip4p/omp"_kspace_style.html :tb(c=4,ea=c)
diff --git a/doc/fix_nh.txt b/doc/fix_nh.txt
index fb91a9ce4..e0983c233 100644
--- a/doc/fix_nh.txt
+++ b/doc/fix_nh.txt
@@ -1,596 +1,600 @@
 "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
 
 fix nvt command :h3
 fix nvt/cuda command :h3
+fix nvt/omp command :h3
 fix npt command :h3
 fix npt/cuda command :h3
+fix npt/omp command :h3
 fix nph command :h3
+fix nph/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID style_name keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command :ulb,l
 style_name = {nvt} or {npt} or {nph} :l
 one or more keyword value pairs may be appended
 keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scalexy} or {scaleyz} or {scalexz} or {flip} or {fixedpoint}
   {temp} values = Tstart Tstop Tdamp
     Tstart,Tstop = external temperature at start/end of run
     Tdamp = temperature damping parameter (time units)
   {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp
     Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
     Pdamp = pressure damping parameter (time units)
   {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp
     Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
     Pdamp = stress damping parameter (time units)
   {couple} = {none} or {xyz} or {xy} or {yz} or {xz}
   {tchain} value = N
     N = length of thermostat chain (1 = single thermostat)
   {pchain} values = N
     N length of thermostat chain on barostat (0 = no thermostat)
   {mtk} value = {yes} or {no} = add in MTK adjustment term or not
   {tloop} value = M
     M = number of sub-cycles to perform on thermostat
   {ploop} value = M
     M = number of sub-cycles to perform on barostat thermostat
   {nreset} value = reset reference cell every this many timesteps
   {drag} value = Df
     Df = drag factor added to barostat/thermostat (0.0 = no drag)
   {dilate} value = dilate-group-ID
     dilate-group-ID = only dilate atoms in this group due to barostat volume changes
   {scalexy} value = {yes} or {no} = scale xy with ly
   {scaleyz} value = {yes} or {no} = scale yz with lz
   {scalexz} value = {yes} or {no} = scale xz with lz
   {flip} value = {yes} or {no} = allow or disallow box flips when it becomes highly skewed
   {fixedpoint} values = x y z
     x,y,z = perform barostat dilation/contraction around this point (distance units) :pre
     
 :ule
 
 [Examples:]
 
 fix 1 all nvt temp 300.0 300.0 100.0
 fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
 fix 2 jello npt temp 300.0 300.0 100.0 tri 5.0 5.0 1000.0
 fix 2 ice nph x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 :pre
 
 [Description:]
 
 These commands perform time integration on Nose-Hoover style
 non-Hamiltonian equations of motion which are designed to generate
 positions and velocities sampled from the canonical (nvt),
 isothermal-isobaric (npt), and isenthalpic (nph) ensembles.  This
 updates the position and velocity for atoms in the group each
 timestep.
 
 The thermostatting and barostatting is achieved by adding some dynamic
 variables which are coupled to the particle velocities
 (thermostatting) and simulation domain dimensions (barostatting).  In
 addition to basic thermostatting and barostatting, these fixes can
 also create a chain of thermostats coupled to the particle thermostat,
 and another chain of thermostats coupled to the barostat
 variables. The barostat can be coupled to the overall box volume, or
 to individual dimensions, including the {xy}, {xz} and {yz} tilt
 dimensions. The external pressure of the barostat can be specified as
 either a scalar pressure (isobaric ensemble) or as components of a
 symmetric stress tensor (constant stress ensemble).  When used
 correctly, the time-averaged temperature and stress tensor of the
 particles will match the target values specified by Tstart/Tstop and
 Pstart/Pstop.
 
 The equations of motion used are those of Shinoda et al in
 "(Shinoda)"_#Shinoda, which combine the hydrostatic equations of
 Martyna, Tobias and Klein in "(Martyna)"_#Martyna with the strain
 energy proposed by Parrinello and Rahman in
 "(Parrinello)"_#Parrinello.  The time integration schemes closely
 follow the time-reversible measure-preserving Verlet and rRESPA
 integrators derived by Tuckerman et al. in "(Tuckerman)"_#Tuckerman.
 
 :line
 
 The thermostat parameters for fix styles {nvt} and {npt} is specified
 using the {temp} keyword.  Other thermostat-related keywords are
 {tchain}, {tloop} and {drag}, which are discussed below.
 
 The thermostat is applied to only the translational degrees of freedom
 for the particles.  The translational degrees of freedom can also have
 a bias velocity removed before thermostatting takes place; see the
 description below.  The desired temperature at each timestep is a
 ramped value during the run from {Tstart} to {Tstop}.  The {Tdamp}
 parameter is specified in time units and determines how rapidly the
 temperature is relaxed.  For example, a value of 10.0 means to relax
 the temperature in a timespan of (roughly) 10 time units (e.g. tau or
 fmsec or psec - see the "units"_units.html command).  The atoms in the
 fix group are the only ones whose velocities and positions are updated
 by the velocity/position update portion of the integration.
 
 IMPORTANT NOTE: A Nose-Hoover thermostat will not work well for
 arbitrary values of {Tdamp}.  If {Tdamp} is too small, the temperature
 can fluctuate wildly; if it is too large, the temperature will take a
 very long time to equilibrate.  A good choice for many models is a
 {Tdamp} of around 100 timesteps.  Note that this is NOT the same as
 100 time units for most "units"_units.html settings.
 
 :line
 
 The barostat parameters for fix styles {npt} and {nph} is specified
 using one or more of the {iso}, {aniso}, {tri}, {x}, {y}, {z}, {xy},
 {xz}, {yz}, and {couple} keywords.  These keywords give you the
 ability to specify all 6 components of an external stress tensor, and
 to couple various of these components together so that the dimensions
 they represent are varied together during a constant-pressure
 simulation.
 
 Other barostat-related keywords are {pchain}, {mtk}, {ploop},
 {nreset}, {drag}, and {dilate}, which are discussed below.
 
 Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z).
 Triclinic (non-orthogonal) simulation boxes have 6 adjustable
 dimensions (x,y,z,xy,xz,yz).  The "create_box"_create_box.html, "read
 data"_read_data.html, and "read_restart"_read_restart.html commands
 specify whether the simulation box is orthogonal or non-orthogonal
 (triclinic) and explain the meaning of the xy,xz,yz tilt factors.
 
 The target pressures for each of the 6 components of the stress tensor
 can be specified independently via the {x}, {y}, {z}, {xy}, {xz}, {yz}
 keywords, which correspond to the 6 simulation box dimensions.  For
 each component, the external pressure or tensor component at each
 timestep is a ramped value during the run from {Pstart} to {Pstop}.
 If a target pressure is specified for a component, then the
 corresponding box dimension will change during a simulation.  For
 example, if the {y} keyword is used, the y-box length will change.  If
 the {xy} keyword is used, the xy tilt factor will change.  A box
 dimension will not change if that component is not specified, although
 you have the option to change that dimension via the "fix
 deform"_fix_deform.html command.
 
 Note that in order to use the {xy}, {xz}, or {yz} keywords, the
 simulation box must be triclinic, even if its initial tilt factors are
 0.0.
 
 For all barostat keywords, the {Pdamp} parameter operates like the
 {Tdamp} parameter, determining the time scale on which pressure is
 relaxed.  For example, a value of 10.0 means to relax the pressure in
 a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see
 the "units"_units.html command).
 
 IMPORTANT NOTE: A Nose-Hoover barostat will not work well for
 arbitrary values of {Pdamp}.  If {Pdamp} is too small, the pressure
 and volume can fluctuate wildly; if it is too large, the pressure will
 take a very long time to equilibrate.  A good choice for many models
 is a {Pdamp} of around 1000 timesteps.  Note that this is NOT the same
 as 1000 time units for most "units"_units.html settings.
 
 Regardless of what atoms are in the fix group (the only atoms which
 are time integrated), a global pressure or stress tensor is computed
 for all atoms.  Similarly, when the size of the simulation box is
 changed, all atoms are re-scaled to new positions, unless the keyword
 {dilate} is specified with a {dilate-group-ID} for a group that
 represents a subset of the atoms.  This can be useful, for example, to
 leave the coordinates of atoms in a solid substrate unchanged and
 controlling the pressure of a surrounding fluid.  This option should
 be used with care, since it can be unphysical to dilate some atoms and
 not others, because it can introduce large, instantaneous
 displacements between a pair of atoms (one dilated, one not) that are
 far from the dilation origin.  Also note that for atoms not in the fix
 group, a separate time integration fix like "fix nve"_fix_nve.html or
 "fix nvt"_fix_nh.html can be used on them, independent of whether they
 are dilated or not.
 
 :line
 
 The {couple} keyword allows two or three of the diagonal components of
 the pressure tensor to be "coupled" together.  The value specified
 with the keyword determines which are coupled.  For example, {xz}
 means the {Pxx} and {Pzz} components of the stress tensor are coupled.
 {Xyz} means all 3 diagonal components are coupled.  Coupling means two
 things: the instantaneous stress will be computed as an average of the
 corresponding diagonal components, and the coupled box dimensions will
 be changed together in lockstep, meaning coupled dimensions will be
 dilated or contracted by the same percentage every timestep.  The
 {Pstart}, {Pstop}, {Pdamp} parameters for any coupled dimensions must
 be identical.  {Couple xyz} can be used for a 2d simulation; the {z}
 dimension is simply ignored.
 
 :line
 
 The {iso}, {aniso}, and {tri} keywords are simply shortcuts that are
 equivalent to specifying several other keywords together.
 
 The keyword {iso} means couple all 3 diagonal components together when
 pressure is computed (hydrostatic pressure), and dilate/contract the
 dimensions together.  Using "iso Pstart Pstop Pdamp" is the same as
 specifying these 4 keywords:
 
 x Pstart Pstop Pdamp
 y Pstart Pstop Pdamp
 z Pstart Pstop Pdamp
 couple xyz :pre
 
 The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled
 independently using the {Pxx}, {Pyy}, and {Pzz} components of the
 stress tensor as the driving forces, and the specified scalar external
 pressure.  Using "aniso Pstart Pstop Pdamp" is the same as specifying
 these 4 keywords:
 
 x Pstart Pstop Pdamp
 y Pstart Pstop Pdamp
 z Pstart Pstop Pdamp
 couple none :pre
 
 The keyword {tri} means {x}, {y}, {z}, {xy}, {xz}, and {yz} dimensions
 are controlled independently using their individual stress components
 as the driving forces, and the specified scalar pressure as the
 external normal stress.  Using "tri Pstart Pstop Pdamp" is the same as
 specifying these 7 keywords:
 
 x Pstart Pstop Pdamp
 y Pstart Pstop Pdamp
 z Pstart Pstop Pdamp
 xy 0.0 0.0 Pdamp
 yz 0.0 0.0 Pdamp
 xz 0.0 0.0 Pdamp
 couple none :pre
 
 :line
 
 In some cases (e.g. for solids) the pressure (volume) and/or
 temperature of the system can oscillate undesirably when a Nose/Hoover
 barostat and thermostat is applied.  The optional {drag} keyword will
 damp these oscillations, although it alters the Nose/Hoover equations.
 A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged.
 A non-zero value adds a drag term; the larger the value specified, the
 greater the damping effect.  Performing a short run and monitoring the
 pressure and temperature is the best way to determine if the drag term
 is working.  Typically a value between 0.2 to 2.0 is sufficient to
 damp oscillations after a few periods. Note that use of the drag
 keyword will interfere with energy conservation and will also change
 the distribution of positions and velocities so that they do not
 correspond to the nominal NVT, NPT, or NPH ensembles.
 
 An alternative way to control initial oscillations is to use chain
 thermostats. The keyword {tchain} determines the number of thermostats
 in the particle thermostat. A value of 1 corresponds to the original
 Nose-Hoover thermostat. The keyword {pchain} specifies the number of
 thermostats in the chain thermostatting the barostat degrees of
 freedom. A value of 0 corresponds to no thermostatting of the
 barostat variables.
 
 The {mtk} keyword controls whether or not the correction terms due to
 Martyna, Tuckerman, and Klein are included in the equations of motion
 "(Martyna)"_#Martyna.  Specifying {no} reproduces the original
 Hoover barostat, whose volume probability distribution function
 differs from the true NPT and NPH ensembles by a factor of 1/V.  Hence
 using {yes} is more correct, but in many cases the difference is
 negligible.
 
 The keyword {tloop} can be used to improve the accuracy of integration
 scheme at little extra cost.  The initial and final updates of the
 thermostat variables are broken up into {tloop} substeps, each of
 length {dt}/{tloop}. This corresponds to using a first-order
 Suzuki-Yoshida scheme "(Tuckerman2006)"_#Tuckerman2006.  The keyword
 {ploop} does the same thing for the barostat thermostat.
 
 The keyword {nreset} controls how often the reference dimensions used
 to define the strain energy are reset.  If this keyword is not used,
 or is given a value of zero, then the reference dimensions are set to
 those of the initial simulation domain and are never changed. If the
 simulation domain changes significantly during the simulation, then
 the final average pressure tensor will differ significantly from the
 specified values of the external stress tensor.  A value of {nstep}
 means that every {nstep} timesteps, the reference dimensions are set
 to those of the current simulation domain.
 
 The {scaleyz}, {scalexz}, and {scalexy} keywords control whether or
 not the corresponding tilt factors are scaled with the associated box
 dimensions when barostatting triclinic periodic cells.  The default
 values {yes} will turn on scaling, which corresponds to adjusting the
 linear dimensions of the cell while preserving its shape.  Choosing
 {no} ensures that the tilt factors are not scaled with the box
 dimensions. See below for restrictions and default values in different
 situations. In older versions of LAMMPS, scaling of tilt factors was
 not performed. The old behavior can be recovered by setting all three
 scale keywords to {no}.
 
 The {flip} keyword allows the tilt factors for a triclinic box to
 exceed half the distance of the parallel box length, as discussed
 below.  If the {flip} value is set to {yes}, the bound is enforced by
 flipping the box when it is exceeded.  If the {flip} value is set to
 {no}, the tilt will continue to change without flipping.  Note that if
 applied stress induces large deformations (e.g. in a liquid), this
 means the box shape can tilt dramatically and 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.
 
 The {fixedpoint} keyword specifies the fixed point for barostat volume
 changes. By default, it is the center of the box.  Whatever point is
 chosen will not move during the simulation.  For example, if the lower
 periodic boundaries pass through (0,0,0), and this point is provided
 to {fixedpoint}, then the lower periodic boundaries will remain at
 (0,0,0), while the upper periodic boundaries will move twice as
 far. In all cases, the particle trajectories are unaffected by the
 chosen value, except for a time-dependent constant translation of
 positions.
 
 :line
 
 IMPORTANT NOTE: Using a barostat coupled to tilt dimensions {xy},
 {xz}, {yz} can sometimes result in arbitrarily large values of the
 tilt dimensions, i.e. a dramatically deformed simulation box.  LAMMPS
 allows the tilt factors to grow a small amount beyond the normal limit
 of half the box length (0.6 times the box length), and then performs a
 box "flip" to an equivalent periodic cell.  See the discussion of the
 {flip} keyword above, to allow this bound to be exceeded, if desired.
 
 The flip operation is described in more detail in the doc page for
 "fix deform"_fix_deform.html.  Both the barostat dynamics and the atom
 trajectories are unaffected by this operation.  However, if a tilt
 factor is incremented by a large amount (1.5 times the box length) on
 a single timestep, LAMMPS can not accomodate this event and will
 terminate the simulation with an error. This error typically indicates
 that there is something badly wrong with how the simulation was
 constructed, such as specifying values of {Pstart} that are too far
 from the current stress value, or specifying a timestep that is too
 large. Triclinic barostatting should be used with care. This also is
 true for other barostat styles, although they tend to be more
 forgiving of insults. In particular, it is important to recognize that
 equilibrium liquids can not support a shear stress and that
 equilibrium solids can not support shear stresses that exceed the
 yield stress.
 
 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.
 
 IMPORTANT NOTE: Unlike the "fix
 temp/berendsen"_fix_temp_berendsen.html command which performs
 thermostatting but NO time integration, these fixes perform
 thermostatting/barostatting AND time integration.  Thus you should not
 use any other time integration fix, such as "fix nve"_fix_nve.html on
 atoms to which this fix is applied.  Likewise, the {temp} options for
 fix nvt and fix npt should not normally be used on atoms that also
 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.
 
 :line
 
 These fixes compute a temperature and pressure each timestep.  To do
 this, the fix creates its own computes of style "temp" and "pressure",
 as if one of these two sets of commands had been issued:
 
 compute fix-ID_temp group-ID temp
 compute fix-ID_press group-ID pressure fix-ID_temp :pre
 
 compute fix-ID_temp all temp
 compute fix-ID_press all pressure fix-ID_temp :pre
 
 See the "compute temp"_compute_temp.html and "compute
 pressure"_compute_pressure.html commands for details.  Note that the
 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
 + underscore + "press".  For fix nvt, the group for the new computes
 is the same as the fix group.  For fix nph and fix npt, the group for
 the new computes is "all" since pressure is computed for the entire
 system.
 
 Note that these are NOT the computes used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
 and {thermo_press}.  This means you can change the attributes of this
 fix's temperature or pressure via the
 "compute_modify"_compute_modify.html command or print this temperature
 or pressure during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} or
 {thermo_press} will have no effect on this fix.
 
 Like other fixes that perform thermostatting, fix nvt and fix npt can
 be used with "compute commands"_compute.html that calculate a
 temperature after removing a "bias" from the atom velocities.
 E.g. removing the center-of-mass velocity from a group of atoms or
 only calculating temperature on the x-component of velocity or only
 calculating temperature for atoms in a geometric region.  This is not
 done by default, but only if the "fix_modify"_fix_modify.html command
 is used to assign a temperature compute to this fix that includes such
 a bias term.  See the doc pages for individual "compute
 commands"_compute.html to determine which ones include a bias.  In
 this case, the thermostat works in the following manner: the current
 temperature is calculated taking the bias into account, bias is
 removed from each atom, thermostatting is performed on the remaining
 thermal degrees of freedom, and the bias is added back in.
 
 :line
 
 These fixes can be used with either the {verlet} or {respa} 
 "integrators"_run_style.html. When using one of the barostat fixes
 with {respa}, LAMMPS uses an integrator constructed
 according to the following factorization of the Liouville propagator
 (for two rRESPA levels):
 
 :c,image(Eqs/fix_nh1.jpg) 
  
 This factorization differs somewhat from that of Tuckerman et al., in that
 the barostat is only updated at the outermost rRESPA level, whereas
 Tuckerman's factorization requires splitting the pressure into pieces
 corresponding to the forces computed at each rRESPA level. In theory, the
 latter method will exhibit better numerical stability. In practice,
 because Pdamp is normally chosen to be a large multiple of the 
 outermost rRESPA timestep, the barostat dynamics are not the 
 limiting factor for numerical stability. Both 
 factorizations are time-reversible and can be shown to preserve the phase 
 space measure of the underlying non-Hamiltonian equations of motion.
 
 :line
 
 The fix npt and fix nph commands can be used with rigid bodies or
 mixtures of rigid bodies and non-rigid particles (e.g. solvent).  But
 there are also "fix rigid/npt"_fix_rigid.html and "fix
 rigid/nph"_fix_rigid.html commands, which are typically a more natural
 choice.  See the doc page for those commands for more discussion of
 the various ways to do this.
 
 :line
 
-Styles with a {cuda} suffix are functionally the same as the
-corresponding style without the suffix.  They have been optimized to
-run faster, depending on your available hardware, as discussed in
-"Section_accelerate"_Section_accelerate.html of the manual.  The
-accelerated styles take the same arguments and should produce the same
-results, except for round-off and precision issues.
-
-These accelerated styles are part of the USER-CUDA package.  They are
-only enabled if LAMMPS was built with that package.  See the "Making
-LAMMPS"_Section_start.html#start_3 section for more info.
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
 
 You can specify the accelerated styles explicitly in your input script
 by including their suffix, or you can use the "-suffix command-line
 switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
 use the "suffix"_suffix.html command in your input script.
 
 See "Section_accelerate"_Section_accelerate.html of the manual for
 more instructions on how to use the accelerated styles effectively.
 
 :line
 
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 These fixes writes the state of all the thermostat and barostat
 variables to "binary restart files"_restart.html.  See the
 "read_restart"_read_restart.html 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.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are
 supported by these fixes.  You can use them to assign a
 "compute"_compute.html you have defined to this fix which will be used
 in its thermostatting or barostatting procedure, as described above.
 If you do this, note that the kinetic energy derived from the compute
 temperature should be consistent with the virial term computed using
 all atoms for the pressure.  LAMMPS will warn you if you choose to
 compute temperature on a subset of atoms.
 
 IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a
 single thermo_modify command (or in two separate commands), then the
 order in which the keywords are specified is important.  Note that a
 "pressure compute"_compute_pressure.html defines its own temperature
 compute as an argument when it is specified.  The {temp} keyword will
 override this (for the pressure compute being used by fix npt), but
 only if the {temp} keyword comes after the {press} keyword.  If the
 {temp} keyword comes before the {press} keyword, then the new pressure
 compute specified by the {press} keyword will be unaffected by the
 {temp} setting.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by these
 fixes to add the energy change induced by Nose/Hoover thermostatting
 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".
 
 The scalar is the cumulative energy change due to the fix.
 
 The vector stores internal Nose/Hoover thermostat and barostat
 variables.  The number and meaning of the vector values depends on
 which fix is used and the settings for keywords {tchain} and {pchain},
 which specify the number of Nose/Hoover chains for the thermostat and
 barostat.  If no thermostatting is done, then {tchain} is 0.  If no
 barostatting is done, then {pchain} is 0.  In the following list,
 "ndof" is 0, 1, 3, or 6, and is the number of degrees of freedom in
 the barostat.  Its value is 0 if no barostat is used, else its value
 is 6 if any off-diagonal stress tensor component is barostatted, else
 its value is 1 if {couple xyz} is used or {couple xy} for a 2d
 simulation, otherwise its value is 3.
 
 The order of values in the global vector and their meaning is as
 follows.  The notation means there are tchain values for eta, followed
 by tchain for eta_dot, followed by ndof for omega, etc:
 
 eta\[tchain\] = particle thermostat displacements (unitless)
 eta_dot\[tchain\] = particle thermostat velocities (1/time units)
 omega\[ndof\] = barostat displacements (unitless)
 omega_dot\[ndof\] = barostat velocities (1/time units)
 etap\[pchain\] = barostat thermostat displacements (unitless)
 etap_dot\[pchain\] = barostat thermostat velocities (1/time units)
 PE_eta\[tchain\] = potential energy of each particle thermostat displacement (energy units)
 KE_eta_dot\[tchain\] = kinetic energy of each particle thermostat velocity (energy units)
 PE_omega\[ndof\] = potential energy of each barostat displacement (energy units)
 KE_omega_dot\[ndof\] = kinetic energy of each barostat velocity (energy units)
 PE_etap\[pchain\] = potential energy of each barostat thermostat displacement (energy units)
 KE_etap_dot\[pchain\] = kinetic energy of each barostat thermostat velocity (energy units)
 PE_strain\[1\] = scalar strain energy (energy units) :ul
 
 These fixes can ramp their external temperature and pressure over
 multiple runs, using the {start} and {stop} keywords of the
 "run"_run.html command.  See the "run"_run.html command for details of
 how to do this.
 
 These fixes are not invoked during "energy
 minimization"_minimize.html.
 
 :line
 
 [Restrictions:]
 
 {X}, {y}, {z} cannot be barostatted if the associated dimension is not
 periodic.  {Xy}, {xz}, and {yz} can only be barostatted if the
 simulation domain is triclinic and the 2nd dimension in the keyword
 ({y} dimension in {xy}) is periodic.  {Z}, {xz}, and {yz}, cannot be
 barostatted for 2D simulations.  The "create_box"_create_box.html,
 "read data"_read_data.html, and "read_restart"_read_restart.html
 commands specify whether the simulation box is orthogonal or
 non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz
 tilt factors.
 
 For the {temp} keyword, the final Tstop cannot be 0.0 since it would
 make the external T = 0.0 at some timestep during the simulation which
 is not allowed in the Nose/Hoover formulation.
 
 The {scaleyz yes} and {scalexz yes} keyword/value pairs can not be used
 for 2D simulations. {scaleyz yes}, {scalexz yes}, and {scalexy yes} options
 can only be used if the 2nd dimension in the keyword is periodic,
 and if the tilt factor is not coupled to the barostat via keywords
 {tri}, {yz}, {xz}, and {xy}.
   
 [Related commands:]
 
 "fix nve"_fix_nve.html, "fix_modify"_fix_modify.html,
 "run_style"_run_style.html
 
 [Default:]
 
 The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop =
 ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none,
 scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and 
 not coupled to barostat, otherwise no.
 
 :line
 
 :link(Martyna)
 [(Martyna)] Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).
 
 :link(Parrinello)
 [(Parrinello)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).
 
 :link(Tuckerman)
 [(Tuckerman)] Tuckerman, Alejandre, Lopez-Rendon, Jochim, and
 Martyna, J Phys A: Math Gen, 39, 5629 (2006).
 
 :link(Shinoda)
 [(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
diff --git a/doc/fix_nph_asphere.txt b/doc/fix_nph_asphere.txt
index 857ff9fd8..d97d5876e 100644
--- a/doc/fix_nph_asphere.txt
+++ b/doc/fix_nph_asphere.txt
@@ -1,129 +1,152 @@
 "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
 
 fix nph/asphere command :h3
+fix nph/asphere/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nph/asphere args keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 nph/asphere = style name of this fix command
 additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all nph/asphere iso 0.0 0.0 1000.0
 fix 2 all nph/asphere x 5.0 5.0 1000.0
 fix 2 all nph/asphere x 5.0 5.0 1000.0 drag 0.2
 fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial :pre
 
 [Description:]
 
 Perform constant NPH integration to update position, velocity,
 orientation, and angular velocity each timestep for aspherical or
 ellipsoidal particles in the group using a Nose/Hoover pressure
 barostat.  P is pressure; H is enthalpy.  This creates a system
 trajectory consistent with the isenthalpic ensemble.
 
 This fix differs from the "fix nph"_fix_nh.html command, which assumes
 point particles and only updates their position and velocity.
 
 Additional parameters affecting the barostat are specified by keywords
 and values documented with the "fix nph"_fix_nh.html command.  See,
 for example, discussion of the {aniso}, and {dilate} keywords.
 
 The particles in the fix group are the only ones whose velocities and
 positions are updated by the velocity/position update portion of the
 NPH integration.
 
 Regardless of what particles are in the fix group, a global pressure is
 computed for all particles.  Similarly, when the size of the simulation
 box is changed, all particles are re-scaled to new positions, unless the
 keyword {dilate} is specified with a value of {partial}, in which case
 only the particles in the fix group are re-scaled.  The latter can be
 useful for leaving the coordinates of particles in a solid substrate
 unchanged and controlling the pressure of a surrounding fluid.
 
 :line
 
 This fix computes a temperature and pressure each timestep.  To do
 this, the fix creates its own computes of style "temp/asphere" and
 "pressure", as if these commands had been issued:
 
 compute fix-ID_temp all temp/asphere
 compute fix-ID_press all pressure fix-ID_temp :pre
 
 See the "compute temp/asphere"_compute_temp_asphere.html and "compute
 pressure"_compute_pressure.html commands for details.  Note that the
 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
 + underscore + "press", and the group for the new computes is "all"
 since pressure is computed for the entire system.
 
 Note that these are NOT the computes used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
 and {thermo_press}.  This means you can change the attributes of this
 fix's temperature or pressure via the
 "compute_modify"_compute_modify.html command or print this temperature
 or pressure during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} or
 {thermo_press} will have no effect on this fix.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover barostat to "binary
 restart files"_restart.html.  See the "read_restart"_read_restart.html
 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.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are
 supported by this fix.  You can use them to assign a
 "compute"_compute.html you have defined to this fix which will be used
 in its thermostatting or barostatting procedure.  If you do this, note
 that the kinetic energy derived from the compute temperature should be
 consistent with the virial term computed using all atoms for the
 pressure.  LAMMPS will warn you if you choose to compute temperature
 on a subset of atoms.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover barostatting to
 the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix nph"_fix_nh.html command.
 
 This fix can ramp its target pressure over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
 "run"_run.html command for details of how to do this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
 This fix is part of the ASPHERE package.  It is only enabled if LAMMPS
 was built with that package.  See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 This fix requires that atoms store torque and angular momementum and a
 quaternion as defined by the "atom_style ellipsoid"_atom_style.html
 command.
 
 All particles in the group must be finite-size.  They cannot be point
 particles, but they can be aspherical or spherical as defined by their
 shape attribute.
 
 [Related commands:]
 
 "fix nph"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
 nvt_asphere"_fix_nvt_asphere.html, "fix
 npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html
 
 [Default:] none
diff --git a/doc/fix_nph_sphere.txt b/doc/fix_nph_sphere.txt
index 24038971d..9a1350e54 100644
--- a/doc/fix_nph_sphere.txt
+++ b/doc/fix_nph_sphere.txt
@@ -1,124 +1,147 @@
 "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
 
 fix nph/sphere command :h3
+fix nph/sphere/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nph/sphere args keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 nph/sphere = style name of this fix command
 additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all nph/sphere iso 0.0 0.0 1000.0
 fix 2 all nph/sphere x 5.0 5.0 1000.0
 fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2
 fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial :pre
 
 [Description:]
 
 Perform constant NPH integration to update position, velocity, and
 angular velocity each timestep for finite-size spherical particles in
 the group using a Nose/Hoover pressure barostat.  P is pressure; H is
 enthalpy.  This creates a system trajectory consistent with the
 isenthalpic ensemble.
 
 This fix differs from the "fix nph"_fix_nh.html command, which assumes
 point particles and only updates their position and velocity.
 
 Additional parameters affecting the barostat are specified by keywords
 and values documented with the "fix nph"_fix_nh.html command.  See,
 for example, discussion of the {aniso}, and {dilate} keywords.
 
 The particles in the fix group are the only ones whose velocities and
 positions are updated by the velocity/position update portion of the
 NPH integration.
 
 Regardless of what particles are in the fix group, a global pressure is
 computed for all particles.  Similarly, when the size of the simulation
 box is changed, all particles are re-scaled to new positions, unless the
 keyword {dilate} is specified with a value of {partial}, in which case
 only the particles in the fix group are re-scaled.  The latter can be
 useful for leaving the coordinates of particles in a solid substrate
 unchanged and controlling the pressure of a surrounding fluid.
 
 :line
 
 This fix computes a temperature and pressure each timestep.  To do
 this, the fix creates its own computes of style "temp/sphere" and
 "pressure", as if these commands had been issued:
 
 compute fix-ID_temp all temp/sphere
 compute fix-ID_press all pressure fix-ID_temp :pre
 
 See the "compute temp/sphere"_compute_temp_sphere.html and "compute
 pressure"_compute_pressure.html commands for details.  Note that the
 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
 + underscore + "press", and the group for the new computes is "all"
 since pressure is computed for the entire system.
 
 Note that these are NOT the computes used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
 and {thermo_press}.  This means you can change the attributes of this
 fix's temperature or pressure via the
 "compute_modify"_compute_modify.html command or print this temperature
 or pressure during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} or
 {thermo_press} will have no effect on this fix.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover barostat to "binary
 restart files"_restart.html.  See the "read_restart"_read_restart.html
 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.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are
 supported by this fix.  You can use them to assign a
 "compute"_compute.html you have defined to this fix which will be used
 in its thermostatting or barostatting procedure.  If you do this, note
 that the kinetic energy derived from the compute temperature should be
 consistent with the virial term computed using all atoms for the
 pressure.  LAMMPS will warn you if you choose to compute temperature
 on a subset of atoms.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover barostatting to
 the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix nph"_fix_nh.html command.
 
 This fix can ramp its target pressure over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
 "run"_run.html command for details of how to do this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
 This fix requires that atoms store torque and angular velocity (omega)
 and a radius as defined by the "atom_style sphere"_atom_style.html
 command.
 
 All particles in the group must be finite-size spheres.  They cannot
 be point particles.
 
 [Related commands:]
 
 "fix nph"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix
 nvt_sphere"_fix_nvt_sphere.html, "fix npt_sphere"_fix_npt_sphere.html,
 "fix_modify"_fix_modify.html
 
 [Default:] none
diff --git a/doc/fix_nphug.txt b/doc/fix_nphug.txt
index aa880ac01..50b36c00b 100644
--- a/doc/fix_nphug.txt
+++ b/doc/fix_nphug.txt
@@ -1,206 +1,229 @@
 "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
 
 fix nphug command :h3
+fix nphug/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nphug keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command :ulb,l
 one or more keyword value pairs may be appended
 keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scaleyz} or {scalexz} or {scalexy}
   {temp} values = Value1 Value2 Tdamp
     Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat
     Tdamp = temperature damping parameter (time units)
   {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp
     Pstart,Pstop = scalar external pressures, must be equal (pressure units)
     Pdamp = pressure damping parameter (time units)
   {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp
     Pstart,Pstop = external stress tensor components, must be equal (pressure units)
     Pdamp = stress damping parameter (time units)
   {couple} = {none} or {xyz} or {xy} or {yz} or {xz}
   {tchain} value = length of thermostat chain (1 = single thermostat)
   {pchain} values = length of thermostat chain on barostat (0 = no thermostat)
   {mtk} value = {yes} or {no} = add in MTK adjustment term or not
   {tloop} value = number of sub-cycles to perform on thermostat
   {ploop} value = number of sub-cycles to perform on barostat thermostat
   {nreset} value = reset reference cell every this many timesteps
   {drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
   {dilate} value = {all} or {partial}
   {scaleyz} value = {yes} or {no} = scale yz with lz
   {scalexz} value = {yes} or {no} = scale xz with lz
   {scalexy} value = {yes} or {no} = scale xy with ly :pre
 :ule
 
 [Examples:]
 
 fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0
 fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 :pre
 
 [Description:]
 
 This command is a variant of the Nose-Hoover
 "fix npt"_fix_nh.html fix style.
 It performs time integration of the Hugoniostat equations
 of motion developed by Ravelo et al. "(Ravelo)"_#Ravelo.
 These equations compress the system to a state with average
 axial stress or pressure equal to the specified target value 
 and that satisfies the Rankine-Hugoniot (RH)
 jump conditions for steady shocks.
 
 The compression can be performed 
 either
 hydrostatically (using keyword {iso}, {aniso}, or {tri}) or uniaxially
 (using keywords {x}, {y}, or {z}).  In the hydrostatic case,
 the cell dimensions change dynamically so that the average axial stress
 in all three directions converges towards the specified target value. 
 In the uniaxial case, the chosen cell dimension changes dynamically 
 so that the average
 axial stress in that direction converges towards the target value. The
 other two cell dimensions are kept fixed (zero lateral strain).
 
 This leads to the following additional restrictions on the keywords:
 
 One and only one of the following keywords should be used: {iso}, {aniso}, {tri}, {x}, {y}, {z} 
 The specified initial and final target pressures must be the same.
 The keywords {xy}, {xz}, {yz} may not be used.
 The only admissible value for the couple keyword is {xyz}, which has the same effect as keyword {iso} 
 The {temp} keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored.  :ul
 
 Essentially, a Hugoniostat simulation is an NPT simulation in which the
 user-specified target temperature is replaced with a time-dependent 
 target temperature Tt obtained from the following equation:
 
 :c,image(Eqs/fix_nphug.jpg) 
 
 where T and Tt are the instantaneous and target temperatures,
 P and P0 are the instantaneous and reference pressures or axial stresses,
 depending on whether hydrostatic or uniaxial compression is being 
 performed, V and V0 are the instantaneous and reference volumes,
 E and E0 are the instantaneous and reference internal energy (potential
 plus kinetic), Ndof is the number of degrees of freedom used in the
 definition of temperature, and kB is the Boltzmann constant. Delta is the 
 negative deviation of the instantaneous temperature from the target temperature.
 When the system reaches a stable equilibrium, the value of Delta should 
 fluctuate about zero.
 
 The values of E0, V0, and P0 are the instantaneous values at the start of
 the simulation. These can be overridden using the fix_modify keywords {e0},
 {v0}, and {p0} described below.
 
 :line
 
 IMPORTANT NOTE: Unlike the "fix
 temp/berendsen"_fix_temp_berendsen.html command which performs
 thermostatting but NO time integration, this fix performs
 thermostatting/barostatting AND time integration.  Thus you should not
 use any other time integration fix, such as "fix nve"_fix_nve.html on
 atoms to which this fix is applied.  Likewise, this fix should not be 
 used on atoms that have their temperature controlled by another fix 
 - e.g. by "fix langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html
 commands.
 
 :line
 
 This fix computes a temperature and pressure at each timestep.  To do
 this, the fix creates its own computes of style "temp" and "pressure",
 as if one of these two sets of commands had been issued:
 
 compute fix-ID_temp group-ID temp
 compute fix-ID_press group-ID pressure fix-ID_temp :pre
 
 compute fix-ID_temp all temp
 compute fix-ID_press all pressure fix-ID_temp :pre
 
 See the "compute temp"_compute_temp.html and "compute
 pressure"_compute_pressure.html commands for details.  Note that the
 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
 + underscore + "press".  The group for
 the new computes is "all" since pressure is computed for the entire
 system.
 
 Note that these are NOT the computes used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
 and {thermo_press}.  This means you can change the attributes of this
 fix's temperature or pressure via the
 "compute_modify"_compute_modify.html command or print this temperature
 or pressure during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} or
 {thermo_press} will have no effect on this fix.
 
 :line
 
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
+:line
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the values of E0, V0, and P0, as well as the 
 state of all the thermostat and barostat
 variables to "binary restart files"_restart.html.  See the
 "read_restart"_read_restart.html 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.
 
 The "fix_modify"_fix_modify.html {e0}, {v0} and {p0} keywords
 can be used to define the values of E0, V0, and P0. Note the
 the values for {e0} and {v0} are extensive, and so must correspond
 to the total energy and volume of the entire system, not energy and 
 volume per atom. If any of these quantities are not specified, then the
 instantaneous value in the system at the start of the simulation is used.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are
 supported by these fixes.  You can use them to assign a
 "compute"_compute.html you have defined to this fix which will be used
 in its thermostatting or barostatting procedure, as described above.
 If you do this, note that the kinetic energy derived from the compute
 temperature should be consistent with the virial term computed using
 all atoms for the pressure.  LAMMPS will warn you if you choose to
 compute temperature on a subset of atoms.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by these
 fixes to add the energy change induced by Nose/Hoover thermostatting
 and barostatting to the system's potential energy as part of
 "thermodynamic output"_thermo_style.html. Either way, this energy is *not*
 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".
 
 The scalar is the cumulative energy change due to the fix.
 
 The vector stores three quantities unique to this fix (Delta, Us, and up),
 followed by all the internal Nose/Hoover thermostat and barostat
 variables defined for "fix_style npt"_fix_nh.html. Delta is the deviation
 of the temperature from the target temperature, given by the above equation.
 Us and up are the shock and particle velocity corresponding to a steady
 shock calculated from the RH conditions. They have units of distance/time.
 
 [Restrictions:]
 
 This fix style is part of the SHOCK package.  It is only enabled if
 LAMMPS was built with that package. See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 All the usual restrictions for "fix_style npt"_fix_nh.html apply,
 plus the additional ones mentioned above.
 
 [Related commands:]
 
 "fix msst"_fix_msst.html, "fix npt"_fix_nh.html, "fix_modify"_fix_modify.html
 
 [Default:]
 
 The keyword defaults are the same as those for "fix npt"_fix_nh.html
 
 :line
 
 :link(Ravelo)
 [(Ravelo)] Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004).
diff --git a/doc/fix_npt_asphere.txt b/doc/fix_npt_asphere.txt
index e11ef0eb7..fb8fef115 100644
--- a/doc/fix_npt_asphere.txt
+++ b/doc/fix_npt_asphere.txt
@@ -1,153 +1,176 @@
 "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
 
 fix npt/asphere command :h3
+fix npt/asphere/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID npt/asphere keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 npt/asphere = style name of this fix command
 additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
 fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
 fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
 fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre
 
 [Description:]
 
 Perform constant NPT integration to update position, velocity,
 orientation, and angular velocity each timestep for aspherical or
 ellipsoidal particles in the group using a Nose/Hoover temperature
 thermostat and Nose/Hoover pressure barostat.  P is pressure; T is
 temperature.  This creates a system trajectory consistent with the
 isothermal-isobaric ensemble.
 
 This fix differs from the "fix npt"_fix_nh.html command, which
 assumes point particles and only updates their position and velocity.
 
 The thermostat is applied to both the translational and rotational
 degrees of freedom for the aspherical particles, assuming a compute is
 used which calculates a temperature that includes the rotational
 degrees of freedom (see below).  The translational degrees of freedom
 can also have a bias velocity removed from them before thermostatting
 takes place; see the description below.
 
 Additional parameters affecting the thermostat and barostat are
 specified by keywords and values documented with the "fix
 npt"_fix_nh.html command.  See, for example, discussion of the {temp},
 {iso}, {aniso}, and {dilate} keywords.
 
 The particles in the fix group are the only ones whose velocities and
 positions are updated by the velocity/position update portion of the
 NPT integration.
 
 Regardless of what particles are in the fix group, a global pressure is
 computed for all particles.  Similarly, when the size of the simulation
 box is changed, all particles are re-scaled to new positions, unless the
 keyword {dilate} is specified with a value of {partial}, in which case
 only the particles in the fix group are re-scaled.  The latter can be
 useful for leaving the coordinates of particles in a solid substrate
 unchanged and controlling the pressure of a surrounding fluid.
 
 :line
 
 This fix computes a temperature and pressure each timestep.  To do
 this, the fix creates its own computes of style "temp/asphere" and 
 "pressure", as if these commands had been issued:
 
 compute fix-ID_temp all temp/asphere
 compute fix-ID_press all pressure fix-ID_temp :pre
 
 See the "compute temp/asphere"_compute_temp_asphere.html and "compute
 pressure"_compute_pressure.html commands for details.  Note that the
 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
 + underscore + "press", and the group for the new computes is "all"
 since pressure is computed for the entire system.
 
 Note that these are NOT the computes used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
 and {thermo_press}.  This means you can change the attributes of this
 fix's temperature or pressure via the
 "compute_modify"_compute_modify.html command or print this temperature
 or pressure during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} or
 {thermo_press} will have no effect on this fix.
 
 Like other fixes that perform thermostatting, this fix can be used
 with "compute commands"_compute.html that calculate a temperature
 after removing a "bias" from the atom velocities.  E.g. removing the
 center-of-mass velocity from a group of atoms or only calculating
 temperature on the x-component of velocity or only calculating
 temperature for atoms in a geometric region.  This is not done by
 default, but only if the "fix_modify"_fix_modify.html command is used
 to assign a temperature compute to this fix that includes such a bias
 term.  See the doc pages for individual "compute
 commands"_compute.html to determine which ones include a bias.  In
 this case, the thermostat works in the following manner: the current
 temperature is calculated taking the bias into account, bias is
 removed from each atom, thermostatting is performed on the remaining
 thermal degrees of freedom, and the bias is added back in.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover thermostat and barostat
 to "binary restart files"_restart.html.  See the
 "read_restart"_read_restart.html 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.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are
 supported by this fix.  You can use them to assign a
 "compute"_compute.html you have defined to this fix which will be used
 in its thermostatting or barostatting procedure.  If you do this, note
 that the kinetic energy derived from the compute temperature should be
 consistent with the virial term computed using all atoms for the
 pressure.  LAMMPS will warn you if you choose to compute temperature
 on a subset of atoms.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover thermostatting and
 barostatting to the system's potential energy as part of
 "thermodynamic output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix npt"_fix_nh.html command.
 
 This fix can ramp its target temperature and pressure over multiple
 runs, using the {start} and {stop} keywords of the "run"_run.html
 command.  See the "run"_run.html command for details of how to do
 this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
 This fix is part of the ASPHERE package.  It is only enabled if LAMMPS
 was built with that package.  See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 This fix requires that atoms store torque and angular momementum and a
 quaternion as defined by the "atom_style ellipsoid"_atom_style.html
 command.
 
 All particles in the group must be finite-size.  They cannot be point
 particles, but they can be aspherical or spherical as defined by their
 shape attribute.
 
 [Related commands:]
 
 "fix npt"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
 nvt_asphere"_fix_nvt_asphere.html, "fix_modify"_fix_modify.html
 
 [Default:] none
diff --git a/doc/fix_npt_sphere.txt b/doc/fix_npt_sphere.txt
index 435acbbd2..e2c2d0d13 100644
--- a/doc/fix_npt_sphere.txt
+++ b/doc/fix_npt_sphere.txt
@@ -1,148 +1,171 @@
 "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
 
 fix npt/sphere command :h3
+fix npt/sphere/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID npt/sphere keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 npt/sphere = style name of this fix command
 additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
 fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0
 fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2
 fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre
 
 [Description:]
 
 Perform constant NPT integration to update position, velocity, and
 angular velocity each timestep for finite-sizex spherical particles in
 the group using a Nose/Hoover temperature thermostat and Nose/Hoover
 pressure barostat.  P is pressure; T is temperature.  This creates a
 system trajectory consistent with the isothermal-isobaric ensemble.
 
 This fix differs from the "fix npt"_fix_nh.html command, which
 assumes point particles and only updates their position and velocity.
 
 The thermostat is applied to both the translational and rotational
 degrees of freedom for the spherical particles, assuming a compute is
 used which calculates a temperature that includes the rotational
 degrees of freedom (see below).  The translational degrees of freedom
 can also have a bias velocity removed from them before thermostatting
 takes place; see the description below.
 
 Additional parameters affecting the thermostat and barostat are
 specified by keywords and values documented with the "fix
 npt"_fix_nh.html command.  See, for example, discussion of the {temp},
 {iso}, {aniso}, and {dilate} keywords.
 
 The particles in the fix group are the only ones whose velocities and
 positions are updated by the velocity/position update portion of the
 NPT integration.
 
 Regardless of what particles are in the fix group, a global pressure is
 computed for all particles.  Similarly, when the size of the simulation
 box is changed, all particles are re-scaled to new positions, unless the
 keyword {dilate} is specified with a value of {partial}, in which case
 only the particles in the fix group are re-scaled.  The latter can be
 useful for leaving the coordinates of particles in a solid substrate
 unchanged and controlling the pressure of a surrounding fluid.
 
 :line
 
 This fix computes a temperature and pressure each timestep.  To do
 this, the fix creates its own computes of style "temp/sphere" and 
 "pressure", as if these commands had been issued:
 
 compute fix-ID_temp all temp/sphere
 compute fix-ID_press all pressure fix-ID_temp :pre
 
 See the "compute temp/sphere"_compute_temp_sphere.html and "compute
 pressure"_compute_pressure.html commands for details.  Note that the
 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
 + underscore + "press", and the group for the new computes is "all"
 since pressure is computed for the entire system.
 
 Note that these are NOT the computes used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
 and {thermo_press}.  This means you can change the attributes of this
 fix's temperature or pressure via the
 "compute_modify"_compute_modify.html command or print this temperature
 or pressure during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} or
 {thermo_press} will have no effect on this fix.
 
 Like other fixes that perform thermostatting, this fix can be used
 with "compute commands"_compute.html that calculate a temperature
 after removing a "bias" from the atom velocities.  E.g. removing the
 center-of-mass velocity from a group of atoms or only calculating
 temperature on the x-component of velocity or only calculating
 temperature for atoms in a geometric region.  This is not done by
 default, but only if the "fix_modify"_fix_modify.html command is used
 to assign a temperature compute to this fix that includes such a bias
 term.  See the doc pages for individual "compute
 commands"_compute.html to determine which ones include a bias.  In
 this case, the thermostat works in the following manner: the current
 temperature is calculated taking the bias into account, bias is
 removed from each atom, thermostatting is performed on the remaining
 thermal degrees of freedom, and the bias is added back in.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover thermostat and barostat
 to "binary restart files"_restart.html.  See the
 "read_restart"_read_restart.html 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.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are
 supported by this fix.  You can use them to assign a
 "compute"_compute.html you have defined to this fix which will be used
 in its thermostatting or barostatting procedure.  If you do this, note
 that the kinetic energy derived from the compute temperature should be
 consistent with the virial term computed using all atoms for the
 pressure.  LAMMPS will warn you if you choose to compute temperature
 on a subset of atoms.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover thermostatting and
 barostatting to the system's potential energy as part of
 "thermodynamic output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix npt"_fix_nh.html command.
 
 This fix can ramp its target temperature and pressure over multiple
 runs, using the {start} and {stop} keywords of the "run"_run.html
 command.  See the "run"_run.html command for details of how to do
 this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
 This fix requires that atoms store torque and angular velocity (omega)
 and a radius as defined by the "atom_style sphere"_atom_style.html
 command.
 
 All particles in the group must be finite-size spheres.  They cannot
 be point particles.
 
 [Related commands:]
 
 "fix npt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix
 nvt_sphere"_fix_nvt_sphere.html, "fix
 npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html
 
 [Default:] none
diff --git a/doc/fix_nve.txt b/doc/fix_nve.txt
index 68333011e..b43a78c62 100644
--- a/doc/fix_nve.txt
+++ b/doc/fix_nve.txt
@@ -1,69 +1,71 @@
 "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
 
 fix nve command :h3
 fix nve/cuda command :h3
+fix nve/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nve :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 nve = style name of this fix command :ul
 
 [Examples:]
 
 fix 1 all nve :pre
 
 [Description:]
 
 Perform constant NVE integration to update position and velocity for
 atoms in the group each timestep.  V is volume; E is energy.  This
 creates a system trajectory consistent with the microcanonical
 ensemble.
 
 :line
 
-Styles with a {cuda} suffix are functionally the same as the
-corresponding style without the suffix.  They have been optimized to
-run faster, depending on your available hardware, as discussed in
-"Section_accelerate"_Section_accelerate.html of the manual.  The
-accelerated styles take the same arguments and should produce the same
-results, except for round-off and precision issues.
-
-These accelerated styles are part of the USER-CUDA package.  They are
-only enabled if LAMMPS was built with that package.  See the "Making
-LAMMPS"_Section_start.html#start_3 section for more info.
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
 
 You can specify the accelerated styles explicitly in your input script
 by including their suffix, or you can use the "-suffix command-line
 switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
 use the "suffix"_suffix.html command in your input script.
 
 See "Section_accelerate"_Section_accelerate.html of the manual for
 more instructions on how to use the accelerated styles effectively.
 
 :line
 
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 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.
 
 [Restrictions:] none
 
 [Related commands:]
 
 "fix nvt"_fix_nh.html, "fix npt"_fix_nh.html
 
 [Default:] none
diff --git a/doc/fix_nvt_asphere.txt b/doc/fix_nvt_asphere.txt
index 8af5be128..7c48f6059 100644
--- a/doc/fix_nvt_asphere.txt
+++ b/doc/fix_nvt_asphere.txt
@@ -1,129 +1,152 @@
 "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
 
 fix nvt/asphere command :h3
+fix nvt/asphere/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nvt/asphere keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 nvt/asphere = style name of this fix command
 additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all nvt/asphere temp 300.0 300.0 100.0
 fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2 :pre
 
 [Description:]
 
 Perform constant NVT integration to update position, velocity,
 orientation, and angular velocity each timestep for aspherical or
 ellipsoidal particles in the group using a Nose/Hoover temperature
 thermostat.  V is volume; T is temperature.  This creates a system
 trajectory consistent with the canonical ensemble.
 
 This fix differs from the "fix nvt"_fix_nh.html command, which
 assumes point particles and only updates their position and velocity.
 
 The thermostat is applied to both the translational and rotational
 degrees of freedom for the aspherical particles, assuming a compute is
 used which calculates a temperature that includes the rotational
 degrees of freedom (see below).  The translational degrees of freedom
 can also have a bias velocity removed from them before thermostatting
 takes place; see the description below.
 
 Additional parameters affecting the thermostat are specified by
 keywords and values documented with the "fix nvt"_fix_nh.html
 command.  See, for example, discussion of the {temp} and {drag}
 keywords.
 
 This fix computes a temperature each timestep.  To do this, the fix
 creates its own compute of style "temp/asphere", as if this command 
 had been issued:
 
 compute fix-ID_temp group-ID temp/asphere :pre
 
 See the "compute temp/asphere"_compute_temp_asphere.html command for
 details.  Note that the ID of the new compute is the fix-ID +
 underscore + "temp", and the group for the new compute is the same as
 the fix group.
 
 Note that this is NOT the compute used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
 This means you can change the attributes of this fix's temperature
 (e.g. its degrees-of-freedom) via the
 "compute_modify"_compute_modify.html command or print this temperature
 during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} will have no
 effect on this fix.
 
 Like other fixes that perform thermostatting, this fix can be used
 with "compute commands"_compute.html that calculate a temperature
 after removing a "bias" from the atom velocities.  E.g. removing the
 center-of-mass velocity from a group of atoms or only calculating
 temperature on the x-component of velocity or only calculating
 temperature for atoms in a geometric region.  This is not done by
 default, but only if the "fix_modify"_fix_modify.html command is used
 to assign a temperature compute to this fix that includes such a bias
 term.  See the doc pages for individual "compute
 commands"_compute.html to determine which ones include a bias.  In
 this case, the thermostat works in the following manner: the current
 temperature is calculated taking the bias into account, bias is
 removed from each atom, thermostatting is performed on the remaining
 thermal degrees of freedom, and the bias is added back in.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover thermostat to "binary
 restart files"_restart.html.  See the "read_restart"_read_restart.html
 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.
 
 The "fix_modify"_fix_modify.html {temp} option is supported by this
 fix.  You can use it to assign a "compute"_compute.html you have
 defined to this fix which will be used in its thermostatting
 procedure.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover thermostatting to
 the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix nvt"_fix_nh.html command.
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
 "run"_run.html command for details of how to do this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
 This fix is part of the ASPHERE package.  It is only enabled if LAMMPS
 was built with that package.  See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 This fix requires that atoms store torque and angular momementum and a
 quaternion as defined by the "atom_style ellipsoid"_atom_style.html
 command.
 
 All particles in the group must be finite-size.  They cannot be point
 particles, but they can be aspherical or spherical as defined by their
 shape attribute.
 
 [Related commands:]
 
 "fix nvt"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
 npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html
 
 [Default:] none
diff --git a/doc/fix_nvt_sllod.txt b/doc/fix_nvt_sllod.txt
index d83eb37f5..a7f0e8f60 100644
--- a/doc/fix_nvt_sllod.txt
+++ b/doc/fix_nvt_sllod.txt
@@ -1,147 +1,170 @@
 "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
 
 fix nvt/sllod command :h3
+fix nvt/sllod/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nvt/sllod keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 nvt/sllod = style name of this fix command
 additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all nvt/sllod temp 300.0 300.0 100.0
 fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2 :pre
 
 [Description:]
 
 Perform constant NVT integration to update positions and velocities
 each timestep for atoms in the group using a Nose/Hoover temperature
 thermostat.  V is volume; T is temperature.  This creates a system
 trajectory consistent with the canonical ensemble. 
 
 This thermostat is used for a simulation box that is changing size
 and/or shape, for example in a non-equilibrium MD (NEMD) simulation.
 The size/shape change is induced by use of the "fix
 deform"_fix_deform.html command, so each point in the simulation box
 can be thought of as having a "streaming" velocity.  This
 position-dependent streaming velocity is subtracted from each atom's
 actual velocity to yield a thermal velocity which is used for
 temperature computation and thermostatting.  For example, if the box
 is being sheared in x, relative to y, then points at the bottom of the
 box (low y) have a small x velocity, while points at the top of the
 box (hi y) have a large x velocity.  These velocities do not
 contribute to the thermal "temperature" of the atom.
 
 IMPORTANT NOTE: "Fix deform"_fix_deform.html has an option for
 remapping either atom coordinates or velocities to the changing
 simulation box.  To use fix nvt/sllod, fix deform should NOT remap
 atom positions, because fix nvt/sllod adjusts the atom positions and
 velocities to create a velocity profile that matches the changing box
 size/shape.  Fix deform SHOULD remap atom velocities when atoms cross
 periodic boundaries since that is consistent with maintaining the
 velocity profile created by fix nvt/sllod.  LAMMPS will give an
 error if this setting is not consistent.
 
 The SLLOD equations of motion coupled to a Nose/Hoover thermostat are
 discussed in "(Tuckerman)"_#Tuckerman (eqs 4 and 5), which is what is
 implemented in LAMMPS in a velocity Verlet formulation.
 
 Additional parameters affecting the thermostat are specified by
 keywords and values documented with the "fix nvt"_fix_nh.html
 command.  See, for example, discussion of the {temp} and {drag}
 keywords.
 
 This fix computes a temperature each timestep.  To do this, the fix
 creates its own compute of style "temp/deform", as if this command had
 been issued:
 
 compute fix-ID_temp group-ID temp/deform :pre
 
 See the "compute temp/deform"_compute_temp_deform.html command for
 details.  Note that the ID of the new compute is the fix-ID +
 underscore + "temp", and the group for the new compute is the same as
 the fix group.
 
 Note that this is NOT the compute used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
 This means you can change the attributes of this fix's temperature
 (e.g. its degrees-of-freedom) via the
 "compute_modify"_compute_modify.html command or print this temperature
 during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} will have no
 effect on this fix.
 
 Like other fixes that perform thermostatting, this fix can be used
 with "compute commands"_compute.html that calculate a temperature
 after removing a "bias" from the atom velocities.  E.g. removing the
 center-of-mass velocity from a group of atoms or only calculating
 temperature on the x-component of velocity or only calculating
 temperature for atoms in a geometric region.  This is not done by
 default, but only if the "fix_modify"_fix_modify.html command is used
 to assign a temperature compute to this fix that includes such a bias
 term.  See the doc pages for individual "compute
 commands"_compute.html to determine which ones include a bias.  In
 this case, the thermostat works in the following manner: the current
 temperature is calculated taking the bias into account, bias is
 removed from each atom, thermostatting is performed on the remaining
 thermal degrees of freedom, and the bias is added back in.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover thermostat to "binary
 restart files"_restart.html.  See the "read_restart"_read_restart.html
 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.
 
 The "fix_modify"_fix_modify.html {temp} option is supported by this
 fix.  You can use it to assign a "compute"_compute.html you have
 defined to this fix which will be used in its thermostatting
 procedure.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover thermostatting to
 the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix nvt"_fix_nh.html command.
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
 "run"_run.html command for details of how to do this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:] 
 
 This fix works best without Nose-Hoover chain thermostats, i.e. using
 tchain = 1.  Setting tchain to larger values can result in poor
 equilibration.
 
 [Related commands:]
 
 "fix nve"_fix_nve.html, "fix nvt"_fix_nh.html, "fix
 temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html,
 "fix_modify"_fix_modify.html, "compute
 temp/deform"_compute_temp_deform.html
 
 [Default:]
 
 Same as "fix nvt"_fix_nh.html, except tchain = 1.
 
 :line
 
 :link(Tuckerman)
 [(Tuckerman)] Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys,
 106, 5615 (1997).
diff --git a/doc/fix_nvt_sphere.txt b/doc/fix_nvt_sphere.txt
index 9cc8d1e08..142be2907 100644
--- a/doc/fix_nvt_sphere.txt
+++ b/doc/fix_nvt_sphere.txt
@@ -1,125 +1,148 @@
 "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
 
 fix nvt/sphere command :h3
+fix nvt/sphere/omp command :h3
 
 [Syntax:]
 
 fix ID group-ID nvt/sphere keyword value ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command
 nvt/sphere = style name of this fix command
 additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul
 
 [Examples:]
 
 fix 1 all nvt/sphere temp 300.0 300.0 100.0
 fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2 :pre
 
 [Description:]
 
 Perform constant NVT integration to update position, velocity, and
 angular velocity each timestep for finite-size spherical particles in
 the group using a Nose/Hoover temperature thermostat.  V is volume; T
 is temperature.  This creates a system trajectory consistent with the
 canonical ensemble.
 
 This fix differs from the "fix nvt"_fix_nh.html command, which
 assumes point particles and only updates their position and velocity.
 
 The thermostat is applied to both the translational and rotational
 degrees of freedom for the spherical particles, assuming a compute is
 used which calculates a temperature that includes the rotational
 degrees of freedom (see below).  The translational degrees of freedom
 can also have a bias velocity removed from them before thermostatting
 takes place; see the description below.
 
 Additional parameters affecting the thermostat are specified by
 keywords and values documented with the "fix nvt"_fix_nh.html
 command.  See, for example, discussion of the {temp} and {drag}
 keywords.
 
 This fix computes a temperature each timestep.  To do this, the fix
 creates its own compute of style "temp/sphere", as if this command 
 had been issued:
 
 compute fix-ID_temp group-ID temp/sphere :pre
 
 See the "compute temp/sphere"_compute_temp_sphere.html command for
 details.  Note that the ID of the new compute is the fix-ID +
 underscore + "temp", and the group for the new compute is the same as
 the fix group.
 
 Note that this is NOT the compute used by thermodynamic output (see
 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
 This means you can change the attributes of this fix's temperature
 (e.g. its degrees-of-freedom) via the
 "compute_modify"_compute_modify.html command or print this temperature
 during thermodynamic output via the "thermo_style
 custom"_thermo_style.html command using the appropriate compute-ID.
 It also means that changing attributes of {thermo_temp} will have no
 effect on this fix.
 
 Like other fixes that perform thermostatting, this fix can be used
 with "compute commands"_compute.html that calculate a temperature
 after removing a "bias" from the atom velocities.  E.g. removing the
 center-of-mass velocity from a group of atoms or only calculating
 temperature on the x-component of velocity or only calculating
 temperature for atoms in a geometric region.  This is not done by
 default, but only if the "fix_modify"_fix_modify.html command is used
 to assign a temperature compute to this fix that includes such a bias
 term.  See the doc pages for individual "compute
 commands"_compute.html to determine which ones include a bias.  In
 this case, the thermostat works in the following manner: the current
 temperature is calculated taking the bias into account, bias is
 removed from each atom, thermostatting is performed on the remaining
 thermal degrees of freedom, and the bias is added back in.
 
+:line
+
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 This fix writes the state of the Nose/Hoover thermostat to "binary
 restart files"_restart.html.  See the "read_restart"_read_restart.html
 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.
 
 The "fix_modify"_fix_modify.html {temp} option is supported by this
 fix.  You can use it to assign a "compute"_compute.html you have
 defined to this fix which will be used in its thermostatting
 procedure.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by this
 fix to add the energy change induced by Nose/Hoover thermostatting to
 the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 This fix computes the same global scalar and global vector of
 quantities as does the "fix nvt"_fix_nh.html command.
 
 This fix can ramp its target temperature over multiple runs, using the
 {start} and {stop} keywords of the "run"_run.html command.  See the
 "run"_run.html command for details of how to do this.
 
 This fix is not invoked during "energy minimization"_minimize.html.
 
 [Restrictions:]
 
 This fix requires that atoms store torque and angular velocity (omega)
 and a radius as defined by the "atom_style sphere"_atom_style.html
 command.
 
 All particles in the group must be finite-size spheres.  They cannot
 be point particles.
 
 [Related commands:]
 
 "fix nvt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix
 nvt_asphere"_fix_nvt_asphere.html, "fix
 npt_sphere"_fix_npt_sphere.html, "fix_modify"_fix_modify.html
 
 [Default:] none
diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt
index e03e6c15c..6792a84b1 100644
--- a/doc/fix_rigid.txt
+++ b/doc/fix_rigid.txt
@@ -1,674 +1,696 @@
 "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
 
 fix rigid command :h3
 fix rigid/nve command :h3
 fix rigid/nvt command :h3
 fix rigid/npt command :h3
 fix rigid/nph command :h3
 fix rigid/small command :h3
 
 [Syntax:]
 
 fix ID group-ID style bodystyle args keyword values ... :pre
 
 ID, group-ID are documented in "fix"_fix.html command :ulb,l
 style = {rigid} or {rigid/nve} or {rigid/nvt} or {rigid/npt} or {rigid/nph} or {rigid/small} :l
 bodystyle = {single} or {molecule} or {group} :l
   {single} args = none
   {molecule} args = none
   {group} args = N groupID1 groupID2 ...
     N = # of groups
     groupID1, groupID2, ... = list of N group IDs :pre
 
 zero or more keyword/value pairs may be appended :l
 keyword = {langevin} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {couple} or {tparam} or {pchain} or {dilate} or {force} or {torque} or {infile} :l
   {langevin} values = Tstart Tstop Tperiod seed
     Tstart,Tstop = desired temperature at start/stop of run (temperature units)
     Tdamp = temperature damping parameter (time units)
     seed = random number seed to use for white noise (positive integer)
   {temp} values = Tstart Tstop Tdamp
     Tstart,Tstop = desired temperature at start/stop of run (temperature units)
     Tdamp = temperature damping parameter (time units)
   {iso} or {aniso} values = Pstart Pstop Pdamp
     Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
     Pdamp = pressure damping parameter (time units)
   {x} or {y} or {z} values = Pstart Pstop Pdamp
     Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
     Pdamp = stress damping parameter (time units)
   {couple} = {none} or {xyz} or {xy} or {yz} or {xz}
   {tparam} values = Tchain Titer Torder
     Tchain = length of Nose/Hoover thermostat chain
     Titer = number of thermostat iterations performed
     Torder = 3 or 5 = Yoshida-Suzuki integration parameters
   {pchain} values = Pchain
     Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat
   {dilate} value = dilate-group-ID
     dilate-group-ID = only dilate atoms in this group due to barostat volume changes
   {force} values = M xflag yflag zflag
     M = which rigid body from 1-Nbody (see asterisk form below)
     xflag,yflag,zflag = off/on if component of center-of-mass force is active
   {torque} values = M xflag yflag zflag
     M = which rigid body from 1-Nbody (see asterisk form below)
     xflag,yflag,zflag = off/on if component of center-of-mass torque is active
   {infile} filename
     filename = file with per-body values of mass, center-of-mass, moments of inertia :pre
 :ule
 
 [Examples:]
 
 fix 1 clump rigid single
 fix 1 clump rigid/small molecule
 fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984
 fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0
 fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on
 fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984
 fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off 
 fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0
 fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz
 fix 1 water rigid/nph molecule iso 0.5 0.5 1.0 :pre
 
 [Description:]
 
 Treat one or more sets of atoms as independent rigid bodies.  This
 means that each timestep the total force and torque on each rigid body
 is computed as the sum of the forces and torques on its constituent
 particles and the coordinates, velocities, and orientations of the
 atoms in each body are updated so that the body moves and rotates as a
 single entity.
 
 Examples of large rigid bodies are a large colloidal particle, or
 portions of a large biomolecule such as a protein.
 
 Example of small rigid bodies are patchy nanoparticles, such as those
 modeled in "this paper"_#Zhang by Sharon Glotzer's group, clumps of
 granular particles, lipid molecules consiting of one or more point
 dipoles connected to other spheroids or ellipsoids, irregular
 particles built from line segments (2d) or triangles (3d), and
 coarse-grain models of nano or colloidal particles consisting of a
 small number of constituent particles.  Note that the "fix
 shake"_fix_shake.html command can also be used to rigidify small
 molecules of 2, 3, or 4 atoms, e.g. water molecules.  That fix treats
 the constituent atoms as point masses.
 
 These fixes also update the positions and velocities of the atoms in
 each rigid body via time integration, in the NVE, NVT, NPT, or NPH
 ensemble, as described below.  
 
 There are two main variants of this fix, fix rigid and fix
 rigid/small.  The NVE/NVT/NPT/NHT versions belong to one of the two
 variants, as their style names indicate.  
 
 IMPORTANT NOTE: Not all of the bodystyle options and keyword/value
 options are available for both the {rigid} and {rigid/small} variants.
 See details below.
 
 The {rigid} variant is typically the best choice for a system with a
 small number of large rigid bodies, each of which can extend across
 the domain of many processors.  It operates by creating a single
 global list of rigid bodies, which all processors contribute to.
 MPI_Allreduce operations are performed each timestep to sum the
 contributions from each processor to the force and torque on all the
 bodies.  This operation will not scale well in parallel if large
 numbers of rigid bodies are simulated.
 
 The {rigid/small} variant is typically best for a system with a large
 number of small rigid bodies.  Each body is assigned to the atom
 closest to the geometrical center of the body.  The fix operates using
 local lists of rigid bodies owned by each processor and information is
 summed and exchanged via local communication between neighboring
 processors when ghost atom info is accumlated.  This means that the
 ghost atom cutoff be large enough to cover the distance between the
 atom that owns the body and every other atom in the body.  If the
 "pair_style"_pair_style.html cutoff is not of sufficient extent to
 insure this, then the "communicate cutoff"_communicate.html command
 can be used.
 
 Which of the two variants is faster for a particular problem is hard
 to predict.  The best way to decide is to perform a short test run.
 Both variants should give identical numerical answers for short runs.
 Long runs should give statistically similar results, but round-off
 differences will accumulate to produce divergent trajectories.
 
 IMPORTANT NOTE: You should not update the atoms in rigid bodies via
 other time-integration fixes (e.g. "fix nve"_fix_nve.html, "fix
 nvt"_fix_nvt.html, "fix npt"_fix_npt.html), or you will be integrating
 their motion more than once each timestep.  When performing a hybrid
 simulation with some atoms in rigid bodies, and some not, a separate
 time integration fix like "fix nve"_fix_nve.html or "fix
 nvt"_fix_nh.html should be used for the non-rigid particles.
 
 IMPORTANT NOTE: These fixes are overkill if you simply want to hold a
 collection of atoms stationary or have them move with a constant
 velocity.  A simpler way to hold atoms stationary is to not include
 those atoms in your time integration fix.  E.g. use "fix 1 mobile nve"
 instead of "fix 1 all nve", where "mobile" is the group of atoms that
 you want to move.  You can move atoms with a constant velocity by
 assigning them an initial velocity (via the "velocity"_velocity.html
 command), setting the force on them to 0.0 (via the "fix
 setforce"_fix_setforce.html command), and integrating them as usual
 (e.g. via the "fix nve"_fix_nve.html command).
 
 :line
 
 Each rigid body must have two or more atoms.  An atom can belong to at
 most one rigid body.  Which atoms are in which bodies can be defined
 via several options.
 
 For bodystyle {single} the entire fix group of atoms is treated as one
 rigid body.  This option is only allowed for fix rigid and its
 sub-styles.
 
 For bodystyle {molecule}, each set of atoms in the fix group with a
 different molecule ID is treated as a rigid body.  This option is
 allowed for fix rigid and fix rigid/small, and their sub-styles.  Note
 that atoms with a molecule ID = 0 will be treated as a single rigid
 body.  For a system with atomic solvent (typically this is atoms with
 molecule ID = 0) surrounding rigid bodies, this may not be what you
 want.  Thus you should be careful to use a fix group that only
 includes atoms you want to be part of rigid bodies.
 
 For bodystyle {group}, each of the listed groups is treated as a
 separate rigid body.  Only atoms that are also in the fix group are
 included in each rigid body.  This option is only allowed for fix
 rigid and its sub-styles.
 
 IMPORTANT NOTE: To compute the initial center-of-mass position and
 other properties of each rigid body, the image flags for each atom in
 the body are used to "unwrap" the atom coordinates.  Thus you must
 insure that these image flags are consistent so that the unwrapping
 creates a valid rigid body (one where the atoms are close together),
 particularly if the atoms in a single rigid body straddle a periodic
 boundary.  This means the input data file or restart file must define
 the image flags for each atom consistently or that you have used the
 "set"_set.html command to specify them correctly.  If a dimension is
 non-periodic then the image flag of each atom must be 0 in that
 dimension, else an error is generated.
 
 The {force} and {torque} keywords discussed next are only allowed for
 fix rigid and its sub-styles.
 
 By default, each rigid body is acted on by other atoms which induce an
 external force and torque on its center of mass, causing it to
 translate and rotate.  Components of the external center-of-mass force
 and torque can be turned off by the {force} and {torque} keywords.
 This may be useful if you wish a body to rotate but not translate, or
 vice versa, or if you wish it to rotate or translate continuously
 unaffected by interactions with other particles.  Note that if you
 expect a rigid body not to move or rotate by using these keywords, you
 must insure its initial center-of-mass translational or angular
 velocity is 0.0.  Otherwise the initial translational or angular
 momentum the body has will persist.
 
 An xflag, yflag, or zflag set to {off} means turn off the component of
 force of torque in that dimension.  A setting of {on} means turn on
 the component, which is the default.  Which rigid body(s) the settings
 apply to is determined by the first argument of the {force} and
 {torque} keywords.  It can be an integer M from 1 to Nbody, where
 Nbody is the number of rigid bodies defined.  A wild-card asterisk can
 be used in place of, or in conjunction with, the M argument to set the
 flags for multiple rigid bodies.  This takes the form "*" or "*n" or
 "n*" or "m*n".  If N = the number of rigid bodies, then an asterisk
 with no numeric values means all bodies from 1 to N.  A leading
 asterisk means all bodies from 1 to n (inclusive).  A trailing
 asterisk means all bodies from n to N (inclusive).  A middle asterisk
 means all types from m to n (inclusive).  Note that you can use the
 {force} or {torque} keywords as many times as you like.  If a
 particular rigid body has its component flags set multiple times, the
 settings from the final keyword are used.
 
 For computational efficiency, you may wish to turn off pairwise and
 bond interactions within each rigid body, as they no longer contribute
 to the motion.  The "neigh_modify exclude"_neigh_modify.html and
 "delete_bonds"_delete_bonds.html commands are used to do this.
 
 For computational efficiency, you should typically define one fix
 rigid or fix rigid/small command which includes all the desired rigid
 bodies.  LAMMPS will allow multiple rigid fixes to be defined, but it
 is more expensive.
 
 :line
 
 The constituent particles within a rigid body can be point particles
 (the default in LAMMPS) or finite-size particles, such as spheres or
 ellipsoids or line segments or triangles.  See the "atom_style sphere
 and ellipsoid and line and tri"_atom_style.html commands for more
 details on these kinds of particles.  Finite-size particles contribute
 differently to the moment of inertia of a rigid body than do point
 particles.  Finite-size particles can also experience torque (e.g. due
 to "frictional granular interactions"_pair_gran.html) and have an
 orientation.  These contributions are accounted for by these fixes.
 
 Forces between particles within a body do not contribute to the
 external force or torque on the body.  Thus for computational
 efficiency, you may wish to turn off pairwise and bond interactions
 between particles within each rigid body.  The "neigh_modify
 exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html
 commands are used to do this.  For finite-size particles this also
 means the particles can be highly overlapped when creating the rigid
 body.
 
 :line
 
 The {rigid} and {rigid/small} and {rigid/nve} styles perform constant
 NVE time integration.  The only difference is that the {rigid} and
 {rigid/small} styles use an integration technique based on Richardson
 iterations.  The {rigid/nve} style uses the methods described in the
 paper by "Miller"_#Miller, which are thought to provide better energy
 conservation than an iterative approach.
 
 The {rigid/nvt} style performs constant NVT integration using a
 Nose/Hoover thermostat with chains as described originally in
 "(Hoover)"_#Hoover and "(Martyna)"_#Martyna, which thermostats both
 the translational and rotational degrees of freedom of the rigid
 bodies.  The rigid-body algorithm used by {rigid/nvt} is described in
 the paper by "Kamberaj"_#Kamberaj.
 
 The {rigid/npt} and {rigid/nph} styles perform constant NPT or NPH
 integration using a Nose/Hoover barostat with chains.  For the NPT
 case, the same Nose/Hoover thermostat is also used as with
 {rigid/nvt}.
 
 The barostat parameters are specified using one or more of the {iso},
 {aniso}, {x}, {y}, {z} and {couple} keywords.  These keywords give you
 the ability to specify 3 diagonal components of the external stress
 tensor, and to couple these components together so that the dimensions
 they represent are varied together during a constant-pressure
 simulation.  The effects of these keywords are similar to those
 defined in "fix npt/nph"_fix_nh.html
 
 NOTE: Currently the {rigid/npt} and {rigid/nph} styles do not support
 triclinic (non-orthongonal) boxes.
 
 The target pressures for each of the 6 components of the stress tensor
 can be specified independently via the {x}, {y}, {z} keywords, which
 correspond to the 3 simulation box dimensions.  For each component,
 the external pressure or tensor component at each timestep is a ramped
 value during the run from {Pstart} to {Pstop}. If a target pressure is
 specified for a component, then the corresponding box dimension will
 change during a simulation.  For example, if the {y} keyword is used,
 the y-box length will change.  A box dimension will not change if that
 component is not specified, although you have the option to change
 that dimension via the "fix deform"_fix_deform.html command.
 
 For all barostat keywords, the {Pdamp} parameter operates like the
 {Tdamp} parameter, determining the time scale on which pressure is
 relaxed.  For example, a value of 10.0 means to relax the pressure in
 a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see
 the "units"_units.html command).
 
 Regardless of what atoms are in the fix group (the only atoms which
 are time integrated), a global pressure or stress tensor is computed
 for all atoms.  Similarly, when the size of the simulation box is
 changed, all atoms are re-scaled to new positions, unless the keyword
 {dilate} is specified with a {dilate-group-ID} for a group that
 represents a subset of the atoms.  This can be useful, for example, to
 leave the coordinates of atoms in a solid substrate unchanged and
 controlling the pressure of a surrounding fluid.  Another example is a
 system consisting of rigid bodies and point particles where the
 barostat is only coupled with the rigid bodies.  This option should be
 used with care, since it can be unphysical to dilate some atoms and
 not others, because it can introduce large, instantaneous
 displacements between a pair of atoms (one dilated, one not) that are
 far from the dilation origin.
 
 The {couple} keyword allows two or three of the diagonal components of
 the pressure tensor to be "coupled" together.  The value specified
 with the keyword determines which are coupled.  For example, {xz}
 means the {Pxx} and {Pzz} components of the stress tensor are coupled.
 {Xyz} means all 3 diagonal components are coupled.  Coupling means two
 things: the instantaneous stress will be computed as an average of the
 corresponding diagonal components, and the coupled box dimensions will
 be changed together in lockstep, meaning coupled dimensions will be
 dilated or contracted by the same percentage every timestep.  The
 {Pstart}, {Pstop}, {Pdamp} parameters for any coupled dimensions must
 be identical.  {Couple xyz} can be used for a 2d simulation; the {z}
 dimension is simply ignored.
 
 The {iso} and {aniso} keywords are simply shortcuts that are
 equivalent to specifying several other keywords together.
 
 The keyword {iso} means couple all 3 diagonal components together when
 pressure is computed (hydrostatic pressure), and dilate/contract the
 dimensions together.  Using "iso Pstart Pstop Pdamp" is the same as
 specifying these 4 keywords:
 
 x Pstart Pstop Pdamp
 y Pstart Pstop Pdamp
 z Pstart Pstop Pdamp
 couple xyz :pre
 
 The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled
 independently using the {Pxx}, {Pyy}, and {Pzz} components of the
 stress tensor as the driving forces, and the specified scalar external
 pressure.  Using "aniso Pstart Pstop Pdamp" is the same as specifying
 these 4 keywords:
 
 x Pstart Pstop Pdamp
 y Pstart Pstop Pdamp
 z Pstart Pstop Pdamp
 couple none :pre
 
 :line
 
 The keyword/value option pairs are used in the following ways.
 
 The {langevin} and {temp} and {tparam} keywords perform thermostatting
 of the rigid bodies, altering both their translational and rotational
 degrees of freedom.  What is meant by "temperature" of a collection of
 rigid bodies and how it can be monitored via the fix output is
 discussed below.
 
 The {langevin} keyword applies a Langevin thermostat to the constant
 NVE time integration performed by either the {rigid} or {rigid/small}
 or {rigid/nve} styles.  It cannot be used with the {rigid/nvt} style.
 The desired temperature at each timestep is a ramped value during the
 run from {Tstart} to {Tstop}.  The {Tdamp} parameter is specified in
 time units and determines how rapidly the temperature is relaxed.  For
 example, a value of 100.0 means to relax the temperature in a timespan
 of (roughly) 100 time units (tau or fmsec or psec - see the
 "units"_units.html command).  The random # {seed} must be a positive
 integer.  The way the Langevin thermostatting operates is explained on
 the "fix langevin"_fix_langevin.html doc page.
 
 IMPORTANT NOTE: When the {langevin} keyword is used with fix rigid
 versus fix rigid/small, different dynamics will result for parallel
 runs.  This is because of the way random numbers are used in the two
 cases.  The dynamics for the two cases should be statistically
 similar, but will not be identical, even for a single timestep.
 
 The {temp} and {tparam} keywords apply a Nose/Hoover thermostat to the
 NVT time integration performed by the {rigid/nvt} style.  They cannot
 be used with the {rigid} or {rigid/small} or {rigid/nve} styles.  The
 desired temperature at each timestep is a ramped value during the run
 from {Tstart} to {Tstop}.  The {Tdamp} parameter is specified in time
 units and determines how rapidly the temperature is relaxed.  For
 example, a value of 100.0 means to relax the temperature in a timespan
 of (roughly) 100 time units (tau or fmsec or psec - see the
 "units"_units.html command).
 
 Nose/Hoover chains are used in conjunction with this thermostat.  The
 {tparam} keyword can optionally be used to change the chain settings
 used.  {Tchain} is the number of thermostats in the Nose Hoover chain.
 This value, along with {Tdamp} can be varied to dampen undesirable
 oscillations in temperature that can occur in a simulation.  As a rule
 of thumb, increasing the chain length should lead to smaller
 oscillations. The keyword {pchain} specifies the number of
 thermostats in the chain thermostatting the barostat degrees of
 freedom. 
 
 IMPORTANT NOTE: There are alternate ways to thermostat a system of
 rigid bodies.  You can use "fix langevin"_fix_langevin.html to treat
 the individual particles in the rigid bodies as effectively immersed
 in an implicit solvent, e.g. a Brownian dynamics model.  For hybrid
 systems with both rigid bodies and solvent particles, you can
 thermostat only the solvent particles that surround one or more rigid
 bodies by appropriate choice of groups in the compute and fix commands
 for temperature and thermostatting.  The solvent interactions with the
 rigid bodies should then effectively thermostat the rigid body
 temperature as well without use of the Langevin or Nose/Hoover options
 associated with the fix rigid commands.
 
 The {infile} keyword allows a file of rigid body attributes to be read
 in from a file, rather then letting LAMMPS compute them.  It can only
 be used with the fix rigid command and its variants.  There are 3 such
 attributes: the total mass of the rigid body, its center-of-mass
 position, and its 6 moments of inertia.  For rigid bodies consisting
 of point particles or non-overlapping finite-size particles, LAMMPS
 can compute these values accurately.  However, for rigid bodies
 consisting of finite-size particles which overlap each other, LAMMPS
 will ignore the overlaps when computing these 3 attributes.  The
 amount of error this induces depends on the amount of overlap.  To
 avoid this issue, the values can be pre-computed (e.g. using Monte
 Carlo integration).
 
 The format of the file is as follows.  Note that the file does not
 have to list attributes for every rigid body integrated by fix rigid.
 Only bodies which the file specifies will have their computed
 attributes overridden.  The file can contain initial blank lines or
 comment lines starting with "#" which are ignored.  The first
 non-blank, non-comment line should list N = the number of lines to
 follow.  The N successive lines contain the following information:
 
 ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz
 ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz
 ...
 IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz :pre
 
 The rigid body IDs are all positive integers.  For the {single}
 bodystyle, only an ID of 1 can be used.  For the {group} bodystyle,
 IDs from 1 to Ng can be used where Ng is the number of specified
 groups.  For the {molecule} bodystyle, use the molecule ID for the
 atoms in a specific rigid body as the rigid body ID.
 
 The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are
 self-explanatory.  The center-of-mass should be consistent with what
 is calculated for the position of the rigid body with all its atoms
 unwrapped by their respective image flags.  If this produces a
 center-of-mass that is outside the simulation box, LAMMPS wraps it
 back into the box.  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 prinicpal axes of
 the rigid body itself.  LAMMPS performs the latter calculation
 internally.
 
 IMPORTANT NOTE: The last point means that you cannot restart a
 simulation with rigid bodies using the
 "read_restart"_read_restart.html command and use the same {infile} of
 rigid body attributes as input for the 2nd simulation, if the rigid
 bodies have moved or rotated.  Instead, you need to produce a new
 {infile} that reflects the correct attributes for each rigid body at
 the time of restart.  We are thinking about a good way to overcome
 this issue.
 
 :line
 
 If you use a "temperature compute"_compute.html with a group that
 includes particles in rigid bodies, the degrees-of-freedom removed by
 each rigid body are accounted for in the temperature (and pressure)
 computation, but only if the temperature group includes all the
 particles in a particular rigid body.
 
 A 3d rigid body has 6 degrees of freedom (3 translational, 3
 rotational), except for a collection of point particles lying on a
 straight line, which has only 5, e.g a dimer.  A 2d rigid body has 3
 degrees of freedom (2 translational, 1 rotational).
 
 IMPORTANT NOTE: You may wish to explicitly subtract additional
 degrees-of-freedom if you use the {force} and {torque} keywords to
 eliminate certain motions of one or more rigid bodies.  LAMMPS does
 not do this automatically.
 
 The rigid body contribution to the pressure of the system (virial) is
 also accounted for by this fix.
 
 IMPORTANT NOTE: The periodic image flags of atoms in rigid bodies are
 altered so that the rigid body can be reconstructed correctly when it
 straddles periodic boundaries.  The atom image flags are not
 incremented/decremented as they would be for non-rigid atoms as the
 rigid body crosses periodic boundaries.  This means you cannot
 interpret them as you normally would.  For example, the image flag
 values written to a "dump file"_dump.html will be different than they
 would be if the atoms were not in a rigid body.  Likewise the "compute
 msd"_compute_msd.html will not compute the expected mean-squared
 displacement for such atoms if the body moves across periodic
 boundaries.  It also means that if you have bonds between a pair of
 rigid bodies and the bond straddles a periodic boundary, you cannot
 use the "replicate"_replicate.html command to increase the system
 size.  Note that this fix does define image flags for each rigid body,
 which are incremented when the rigid body crosses a periodic boundary
 in the usual way.  These image flags have the same meaning as atom
 images (see the "dump" command) and can be accessed and output as
 described below.
 
 :line
 
 If your simlulation is a hybrid model with a mixture of rigid bodies
 and non-rigid particles (e.g. solvent) there are several ways these
 rigid fixes can be used in tandem with "fix nve"_fix_nve.html, "fix
 nvt"_fix_nh.html, "fix npt"_fix_nh.html, and "fix nph"_fix_nh.html.
 
 If you wish to perform NVE dynamics (no thermostatting or
 barostatting), use fix rigid or fix rigid/nve to integrate the rigid
 bodies, and "fix nve"_fix_nve.html to integrate the non-rigid
 particles.
 
 If you wish to perform NVT dynamics (thermostatting, but no
 barostatting), you can use fix rigid/nvt for the rigid bodies, and any
 thermostatting fix for the non-rigid particles ("fix nvt"_fix_nh.html,
 "fix langevin"_fix_langevin.html, "fix
 temp/berendsen"_fix_temp_berendsen.html).  You can also use fix rigid
 or fix rigid/nve for the rigid bodies and thermostat them using "fix
 langevin"_fix_langevin.html on the group that contains all the
 particles in the rigid bodies.  The net force added by "fix
 langevin"_fix_langevin.html to each rigid body effectively thermostats
 its translational center-of-mass motion.  Not sure how well it does at
 thermostatting its rotational motion.
 
 If you with to perform NPT or NPH dynamics (barostatting), you cannot
 use both "fix npt"_fix_nh.html and fix rigid/npt (or the nph
 variants).  This is because there can only be one fix which monitors
 the global pressure and changes the simulation box dimensions.  So you
 have 3 choices:
 
 Use fix rigid/npt for the rigid bodies.  Use the {dilate} all option
 so that it will dilate the positions of the non-rigid particles as
 well.  Use "fix nvt"_fix_nh.html (or any other thermostat) for the
 non-rigid particles. :ulb,l
 
 Use "fix npt"_fix_nh.html for the group of non-rigid particles.  Use
 the {dilate} all option so that it will dilate the center-of-mass
 positions of the rigid bodies as well.  Use fix rigid/nvt for the
 rigid bodies. :l
 
 Use "fix press/berendsen"_fix_press_berendsen.html to compute the
 pressure and change the box dimensions.  Use fix rigid/nvt for the
 rigid bodies.  Use "fix nvt"_fix_nh.thml (or any other thermostat) for
 the non-rigid particles. :l,ule
 
 In all case, the rigid bodies and non-rigid particles both contribute
 to the global pressure and the box is scaled the same by any of the
 barostatting fixes.
 
 You could even use the 2nd and 3rd options for a non-hybrid simulation
 consisting of only rigid bodies, assuming you give "fix
 npt"_fix_nh.html an empty group, though it's an odd thing to do.  The
 barostatting fixes ("fix npt"_fix_nh.html and "fix
 press/berensen"_fix_press_berendsen.html) will monitor the pressure
 and change the box dimensions, but not time integrate any particles.
 The integration of the rigid bodies will be performed by fix
 rigid/nvt.
 
 :line
 
+Styles with a {cuda}, {gpu}, {omp}, or {opt} suffix are functionally
+the same as the corresponding style without the suffix.  They have
+been optimized to run faster, depending on your available hardware, as
+discussed in "Section_accelerate"_Section_accelerate.html of the
+manual.  The accelerated styles take the same arguments and should
+produce the same results, except for round-off and precision issues.
+
+These accelerated styles are part of the USER-CUDA, GPU, USER-OMP and OPT
+packages, respectively.  They are only enabled if LAMMPS was built with
+those packages.  See the "Making LAMMPS"_Section_start.html#start_3
+section for more info.
+
+You can specify the accelerated styles explicitly in your input script
+by including their suffix, or you can use the "-suffix command-line
+switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
+use the "suffix"_suffix.html command in your input script.
+
+See "Section_accelerate"_Section_accelerate.html of the manual for
+more instructions on how to use the accelerated styles effectively.
+
+:line
+
 [Restart, fix_modify, output, run start/stop, minimize info:]
 
 No information about the {rigid} and {rigid/small} and {rigid/nve}
 fixes are written to "binary restart files"_restart.html.  For style
 {rigid/nvt} the state of the Nose/Hoover thermostat is written to
 "binary restart files"_restart.html.  See the
 "read_restart"_read_restart.html 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.
 
 The "fix_modify"_fix_modify.html {energy} option is supported by the
 rigid/nvt fix to add the energy change induced by the thermostatting
 to the system's potential energy as part of "thermodynamic
 output"_thermo_style.html.
 
 The "fix_modify"_fix_modify.html {temp} and {press} options are 
 supported by the rigid/npt and rigid/nph fixes to change the computes used
 to calculate the instantaneous pressure tensor. Note that the rigid/nvt fix
 does not use any external compute to compute instantaneous temperature.
 
 No global or per-atom quantities are stored by the {rigid/small} fix
 for access by various "output commands"_Section_howto.html#howto_15.
 
 The {rigid} and {rigid/nve} 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.
 
 The {rigid/nvt}, {rigid/npt}, and {rigid/nph} 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.
 
 All of the {rigid} fixes (but not the {rigid/small} fix) 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.
 
 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
 {molecule} keyword, the bodies are ordered by ascending molecule ID.
 For the {group} keyword, the list of group IDs determines the ordering
 of bodies.
 
 The array values calculated by these fixes are "intensive", meaning
 they are independent of the number of atoms in the simulation.
 
 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.
 
 :line
 
 [Restrictions:]
 
 These fixes are all part of the RIGID package.  It is only enabled if
 LAMMPS was built with that package.  See the "Making
 LAMMPS"_Section_start.html#start_3 section for more info.
 
 [Related commands:]
 
 "delete_bonds"_delete_bonds.html, "neigh_modify"_neigh_modify.html
 exclude
 
 [Default:]
 
 The option defaults are force * on on on and torque * on on on,
 meaning all rigid bodies are acted on by center-of-mass force and
 torque.  Also Tchain = Pchain = 10, Titer = 1, Torder = 3.
 
 :line
 
 :link(Hoover)
 [(Hoover)] Hoover, Phys Rev A, 31, 1695 (1985).
 
 :link(Kamberaj)
 [(Kamberaj)] Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005).
 
 :link(Martyna)
 [(Martyna)] Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992);
 Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117.
 
 :link(Miller)
 [(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, 
 J Chem Phys, 116, 8649 (2002).
 
 :link(Zhang)
 [(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).