From c5d3274222a86168312450ba4f6188bb3c47a50d Mon Sep 17 00:00:00 2001
From: Axel Kohlmeyer <akohlmey@gmail.com>
Date: Thu, 23 Aug 2018 10:13:06 -0400
Subject: [PATCH] restore files

---
 doc/src/Packages_details.txt | 2000 ++++++++++++++++++++++++++++++++++
 doc/src/Speed_kokkos.txt     |  381 +++++++
 2 files changed, 2381 insertions(+)
 create mode 100644 doc/src/Packages_details.txt
 create mode 100644 doc/src/Speed_kokkos.txt

diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt
new file mode 100644
index 0000000000..892774be38
--- /dev/null
+++ b/doc/src/Packages_details.txt
@@ -0,0 +1,2000 @@
+"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+Package details :h3
+
+Here is a brief description of all the standard and user packages in
+LAMMPS.  It lists authors (if applicable) and summarizes the package
+contents.  It has specific instructions on how to install the package,
+including, if necessary, info on how to download or build any extra
+library it requires.  It also gives links to documentation, example
+scripts, and pictures/movies (if available) that illustrate use of the
+package.
+
+The majority of packages can be included in a LAMMPS build with a
+single setting (-D PGK_NAME for CMake) or command ("make yes-name" for
+make).  See the "Build package"_Build_package.html doc page for more
+info.  A few packages may require additional steps; this is indicated
+in the descriptions below.  The "Build extras"_Build_extras.html doc
+page gives those details.
+
+NOTE: To see the complete list of commands a package adds to LAMMPS,
+you can examine the files in its src directory, e.g. "ls
+src/GRANULAR".  Files with names that start with fix, compute, atom,
+pair, bond, angle, etc correspond to commands with the same style name
+as contained in the file name.
+
+"ASPHERE"_#PKG-ASPHERE,
+"BODY"_#PKG-BODY,
+"CLASS2"_#PKG-CLASS2,
+"COLLOID"_#PKG-COLLOID,
+"COMPRESS"_#PKG-COMPRESS,
+"CORESHELL"_#PKG-CORESHELL,
+"DIPOLE"_#PKG-DIPOLE,
+"GPU"_#PKG-GPU,
+"GRANULAR"_#PKG-GRANULAR,
+"KIM"_#PKG-KIM,
+"KOKKOS"_#PKG-KOKKOS,
+"KSPACE"_#PKG-KSPACE,
+"LATTE"_#PKG-LATTE,
+"MANYBODY"_#PKG-MANYBODY,
+"MC"_#PKG-MC,
+"MEAM"_#PKG-MEAM,
+"MISC"_#PKG-MISC,
+"MOLECULE"_#PKG-MOLECULE,
+"MPIIO"_#PKG-MPIIO,
+"MSCG"_#PKG-MSCG,
+"OPT"_#PKG-OPT,
+"PERI"_#PKG-PERI,
+"POEMS"_#PKG-POEMS,
+"PYTHON"_#PKG-PYTHON,
+"QEQ"_#PKG-QEQ,
+"REAX"_#PKG-REAX,
+"REPLICA"_#PKG-REPLICA2,
+"RIGID"_#PKG-RIGID,
+"SHOCK"_#PKG-SHOCK,
+"SNAP"_#PKG-SNAP,
+"SPIN"_#PKG-SPIN,
+"SRD"_#PKG-SRD,
+"VORONOI"_#PKG-VORONOI :tb(c=6,ea=c)
+
+"USER-ATC"_#PKG-USER-ATC,
+"USER-AWPMD"_#PKG-USER-AWPMD,
+"USER-BOCS"_#PKG-USER-BOCS,
+"USER-CGDNA"_#PKG-USER-CGDNA,
+"USER-CGSDK"_#PKG-USER-CGSDK,
+"USER-COLVARS"_#PKG-USER-COLVARS,
+"USER-DIFFRACTION"_#PKG-USER-DIFFRACTION,
+"USER-DPD"_#PKG-USER-DPD,
+"USER-DRUDE"_#PKG-USER-DRUDE,
+"USER-EFF"_#PKG-USER-EFF,
+"USER-FEP"_#PKG-USER-FEP,
+"USER-H5MD"_#PKG-USER-H5MD,
+"USER-INTEL"_#PKG-USER-INTEL,
+"USER-LB"_#PKG-USER-LB,
+"USER-MANIFOLD"_#PKG-USER-MANIFOLD,
+"USER-MEAMC"_#PKG-USER-MEAMC,
+"USER-MESO"_#PKG-USER-MESO,
+"USER-MGPT"_#PKG-USER-MGPT,
+"USER-MISC"_#PKG-USER-MISC,
+"USER-MOFFF"_#PKG-USER-MOFFF,
+"USER-MOLFILE"_#PKG-USER-MOLFILE,
+"USER-NETCDF"_#PKG-USER-NETCDF,
+"USER-OMP"_#PKG-USER-OMP,
+"USER-PHONON"_#PKG-USER-PHONON,
+"USER-QMMM"_#PKG-USER-QMMM,
+"USER-QTB"_#PKG-USER-QTB,
+"USER-QUIP"_#PKG-USER-QUIP,
+"USER-REAXC"_#PKG-USER-REAXC,
+"USER-SMD"_#PKG-USER-SMD,
+"USER-SMTBQ"_#PKG-USER-SMTBQ,
+"USER-SPH"_#PKG-USER-SPH,
+"USER-TALLY"_#PKG-USER-TALLY,
+"USER-UEF"_#PKG-USER-UEF,
+"USER-VTK"_#PKG-USER-VTK :tb(c=6,ea=c)
+
+:line
+
+ASPHERE package :link(PKG-ASPHERE),h4
+
+[Contents:]
+
+Computes, time-integration fixes, and pair styles for aspherical
+particle models including ellipsoids, 2d lines, and 3d triangles.
+
+[Supporting info:]
+
+src/ASPHERE: filenames -> commands
+"Howto spherical"_Howto_spherical.html
+"pair_style gayberne"_pair_gayberne.html
+"pair_style resquared"_pair_resquared.html
+"doc/PDF/pair_gayberne_extra.pdf"_PDF/pair_gayberne_extra.pdf
+"doc/PDF/pair_resquared_extra.pdf"_PDF/pair_resquared_extra.pdf
+examples/ASPHERE
+examples/ellipse
+http://lammps.sandia.gov/movies.html#line
+http://lammps.sandia.gov/movies.html#tri :ul
+
+:line
+
+BODY package :link(PKG-BODY),h4
+
+[Contents:]
+
+Body-style particles with internal structure.  Computes,
+time-integration fixes, pair styles, as well as the body styles
+themselves.  See the "Howto body"_Howto_body.html doc page for an
+overview.
+
+[Supporting info:]
+
+src/BODY filenames -> commands
+"Howto_body"_Howto_body.html
+"atom_style body"_atom_style.html
+"fix nve/body"_fix_nve_body.html
+"pair_style body/nparticle"_pair_body_nparticle.html
+examples/body :ul
+
+:line
+
+CLASS2 package :link(PKG-CLASS2),h4
+
+[Contents:]
+
+Bond, angle, dihedral, improper, and pair styles for the COMPASS
+CLASS2 molecular force field.
+
+[Supporting info:]
+
+src/CLASS2: filenames -> commands
+"bond_style class2"_bond_class2.html
+"angle_style class2"_angle_class2.html
+"dihedral_style class2"_dihedral_class2.html
+"improper_style class2"_improper_class2.html
+"pair_style lj/class2"_pair_class2.html :ul
+
+:line
+
+COLLOID package :link(PKG-COLLOID),h4
+
+[Contents:]
+
+Coarse-grained finite-size colloidal particles.  Pair styles and fix
+wall styles for colloidal interactions.  Includes the Fast Lubrication
+Dynamics (FLD) method for hydrodynamic interactions, which is a
+simplified approximation to Stokesian dynamics.
+
+[Authors:] This package includes Fast Lubrication Dynamics pair styles
+which were created by Amit Kumar and Michael Bybee from Jonathan
+Higdon's group at UIUC.
+
+[Supporting info:]
+
+src/COLLOID: filenames -> commands
+"fix wall/colloid"_fix_wall.html
+"pair_style colloid"_pair_colloid.html
+"pair_style yukawa/colloid"_pair_yukawa_colloid.html
+"pair_style brownian"_pair_brownian.html
+"pair_style lubricate"_pair_lubricate.html
+"pair_style lubricateU"_pair_lubricateU.html
+examples/colloid
+examples/srd :ul
+
+:line
+
+COMPRESS package :link(PKG-COMPRESS),h4
+
+[Contents:]
+
+Compressed output of dump files via the zlib compression library,
+using dump styles with a "gz" in their style name.
+
+To use this package you must have the zlib compression library
+available on your system.
+
+[Author:] Axel Kohlmeyer (Temple U).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/COMPRESS: filenames -> commands
+src/COMPRESS/README
+lib/compress/README
+"dump atom/gz"_dump.html
+"dump cfg/gz"_dump.html
+"dump custom/gz"_dump.html
+"dump xyz/gz"_dump.html :ul
+
+:line
+
+CORESHELL package :link(PKG-CORESHELL),h4
+
+[Contents:]
+
+Compute and pair styles that implement the adiabatic core/shell model
+for polarizability.  The pair styles augment Born, Buckingham, and
+Lennard-Jones styles with core/shell capabilities.  The "compute
+temp/cs"_compute_temp_cs.html command calculates the temperature of a
+system with core/shell particles.  See the "Howto
+coreshell"_Howto_coreshell.html doc page for an overview of how to use
+this package.
+
+[Author:] Hendrik Heenen (Technical U of Munich).
+
+[Supporting info:]
+
+src/CORESHELL: filenames -> commands
+"Howto coreshell"_Howto_coreshell.html
+"Howto polarizable"_Howto_polarizable.html
+"compute temp/cs"_compute_temp_cs.html
+"pair_style born/coul/long/cs"_pair_cs.html
+"pair_style buck/coul/long/cs"_pair_cs.html
+"pair_style lj/cut/coul/long/cs"_pair_lj.html
+examples/coreshell :ul
+
+:line
+
+DIPOLE package :link(PKG-DIPOLE),h4
+
+[Contents:]
+
+An atom style and several pair styles for point dipole models with
+short-range or long-range interactions.
+
+[Supporting info:]
+
+src/DIPOLE: filenames -> commands
+"atom_style dipole"_atom_style.html
+"pair_style lj/cut/dipole/cut"_pair_dipole.html
+"pair_style lj/cut/dipole/long"_pair_dipole.html
+"pair_style lj/long/dipole/long"_pair_dipole.html
+examples/dipole :ul
+
+:line
+
+GPU package :link(PKG-GPU),h4
+
+[Contents:]
+
+Dozens of pair styles and a version of the PPPM long-range Coulombic
+solver optimized for GPUs.  All such styles have a "gpu" as a suffix
+in their style name. The GPU code can be compiled with either CUDA or
+OpenCL, however the OpenCL variants are no longer actively maintained
+and only the CUDA versions are regularly tested.  The "Speed
+gpu"_Speed_gpu.html doc page gives details of what hardware and GPU
+software is required on your system, and details on how to build and
+use this package.  Its styles can be invoked at run time via the "-sf
+gpu" or "-suffix gpu" "command-line switches"_Run_options.html.  See
+also the "KOKKOS"_#PKG-KOKKOS package, which has GPU-enabled styles.
+
+[Authors:] Mike Brown (Intel) while at Sandia and ORNL and Trung Nguyen
+(Northwestern U) while at ORNL.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/GPU: filenames -> commands
+src/GPU/README
+lib/gpu/README
+"Speed packages"_Speed_packages.html
+"Speed gpu"_Speed_gpu.html
+"Section 2.6 -sf gpu"_Run_options.html
+"Section 2.6 -pk gpu"_Run_options.html
+"package gpu"_package.html
+"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g)
+"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
+
+:line
+
+GRANULAR package :link(PKG-GRANULAR),h4
+
+[Contents:]
+
+Pair styles and fixes for finite-size granular particles, which
+interact with each other and boundaries via frictional and dissipative
+potentials.
+
+[Supporting info:]
+
+src/GRANULAR: filenames -> commands
+"Howto granular"_Howto_granular.html
+"fix pour"_fix_pour.html
+"fix wall/gran"_fix_wall_gran.html
+"pair_style gran/hooke"_pair_gran.html
+"pair_style gran/hertz/history"_pair_gran.html
+examples/granregion
+examples/pour
+bench/in.chute
+http://lammps.sandia.gov/pictures.html#jamming
+http://lammps.sandia.gov/movies.html#hopper
+http://lammps.sandia.gov/movies.html#dem
+http://lammps.sandia.gov/movies.html#brazil
+http://lammps.sandia.gov/movies.html#granregion :ul
+
+:line
+
+KIM package :link(PKG-KIM),h4
+
+[Contents:]
+
+A "pair_style kim"_pair_kim.html command which is a wrapper on the
+Knowledge Base for Interatomic Models (KIM) repository of interatomic
+potentials, enabling any of them to be used in LAMMPS simulations.
+
+To use this package you must have the KIM library available on your
+system.
+
+Information about the KIM project can be found at its website:
+https://openkim.org.  The KIM project is led by Ellad Tadmor and Ryan
+Elliott (U Minnesota) and James Sethna (Cornell U).
+
+[Authors:] Ryan Elliott (U Minnesota) is the main developer for the KIM
+API which the "pair_style kim"_pair_kim.html command uses.  He
+developed the pair style in collaboration with Valeriu Smirichinski (U
+Minnesota).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/KIM: filenames -> commands
+src/KIM/README
+lib/kim/README
+"pair_style kim"_pair_kim.html
+examples/kim :ul
+
+:line
+
+KOKKOS package :link(PKG-KOKKOS),h4
+
+[Contents:]
+
+Dozens of atom, pair, bond, angle, dihedral, improper, fix, compute
+styles adapted to compile using the Kokkos library which can convert
+them to OpenMP or CUDA code so that they run efficiently on multicore
+CPUs, KNLs, or GPUs.  All the styles have a "kk" as a suffix in their
+style name.  The "Speed kokkos"_Speed_kokkos.html doc page gives
+details of what hardware and software is required on your system, and
+how to build and use this package.  Its styles can be invoked at run
+time via the "-sf kk" or "-suffix kk" "command-line
+switches"_Run_options.html.  Also see the "GPU"_#PKG-GPU, "OPT"_#PKG-OPT,
+"USER-INTEL"_#PKG-USER-INTEL, and "USER-OMP"_#PKG-USER-OMP packages, which
+have styles optimized for CPUs, KNLs, and GPUs.
+
+You must have a C++11 compatible compiler to use this package.
+KOKKOS makes extensive use of advanced C++ features, which can
+expose compiler bugs, especially when compiling for maximum
+performance at high optimization levels. Please see the file
+lib/kokkos/README for a list of compilers and their respective
+platforms, that are known to work.
+
+[Authors:] The KOKKOS package was created primarily by Christian Trott
+and Stan Moore (Sandia), with contributions from other folks as well.
+It uses the open-source "Kokkos library"_https://github.com/kokkos
+which was developed by Carter Edwards, Christian Trott, and others at
+Sandia, and which is included in the LAMMPS distribution in
+lib/kokkos.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/KOKKOS: filenames -> commands
+src/KOKKOS/README
+lib/kokkos/README
+"Speed packages"_Speed_packages.html
+"Speed kokkos"_Speed_kokkos.html
+"Section 2.6 -k on ..."_Run_options.html
+"Section 2.6 -sf kk"_Run_options.html
+"Section 2.6 -pk kokkos"_Run_options.html
+"package kokkos"_package.html
+"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k)
+"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
+
+:line
+
+KSPACE package :link(PKG-KSPACE),h4
+
+[Contents:]
+
+A variety of long-range Coulombic solvers, as well as pair styles
+which compute the corresponding short-range pairwise Coulombic
+interactions.  These include Ewald, particle-particle particle-mesh
+(PPPM), and multilevel summation method (MSM) solvers.
+
+[Install:]
+
+Building with this package requires a 1d FFT library be present on
+your system for use by the PPPM solvers.  This can be the KISS FFT
+library provided with LAMMPS, 3rd party libraries like FFTW, or a
+vendor-supplied FFT library.  See the "Build
+settings"_Build_settings.html doc page for details on how to select
+different FFT options for your LAMPMS build.
+
+[Supporting info:]
+
+src/KSPACE: filenames -> commands
+"kspace_style"_kspace_style.html
+"doc/PDF/kspace.pdf"_PDF/kspace.pdf
+"Howto tip3p"_Howto_tip3p.html
+"Howto tip4p"_Howto_tip4p.html
+"Howto spc"_Howto_spc.html
+"pair_style coul"_pair_coul.html
+"Commands pair"_Commands_pair.html page for styles with "long" or "msm" in name
+examples/peptide
+bench/in.rhodo :ul
+
+:line
+
+LATTE package :link(PKG-LATTE),h4
+
+[Contents:]
+
+A fix command which wraps the LATTE DFTB code, so that molecular
+dynamics can be run with LAMMPS using density-functional tight-binding
+quantum forces calculated by LATTE.
+
+More information on LATTE can be found at this web site:
+"https://github.com/lanl/LATTE"_latte_home.  A brief technical
+description is given with the "fix latte"_fix_latte.html command.
+
+:link(latte_home,https://github.com/lanl/LATTE)
+
+[Authors:] Christian Negre (LANL) and Steve Plimpton (Sandia).  LATTE
+itself is developed at Los Alamos National Laboratory by Marc
+Cawkwell, Anders Niklasson, and Christian Negre.
+
+[Install:]
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/LATTE: filenames -> commands
+src/LATTE/README
+lib/latte/README
+"fix latte"_fix_latte.html
+examples/latte
+"LAMMPS-LATTE tutorial"_https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS :ul
+
+:line
+
+MANYBODY package :link(PKG-MANYBODY),h4
+
+[Contents:]
+
+A variety of manybody and bond-order potentials.  These include
+(AI)REBO, BOP, EAM, EIM, Stillinger-Weber, and Tersoff potentials.
+
+[Supporting info:]
+
+src/MANYBODY: filenames -> commands
+"Commands pair"_Commands_pair.html page
+examples/comb
+examples/eim
+examples/nb3d
+examples/shear
+examples/streitz
+examples/vashishta
+bench/in.eam :ul
+
+:line
+
+MC package :link(PKG-MC),h4
+
+[Contents:]
+
+Several fixes and a pair style that have Monte Carlo (MC) or MC-like
+attributes.  These include fixes for creating, breaking, and swapping
+bonds, for performing atomic swaps, and performing grand-canonical MC
+(GCMC) in conjuction with dynamics.
+
+[Supporting info:]
+
+src/MC: filenames -> commands
+"fix atom/swap"_fix_atom_swap.html
+"fix bond/break"_fix_bond_break.html
+"fix bond/create"_fix_bond_create.html
+"fix bond/swap"_fix_bond_swap.html
+"fix gcmc"_fix_gcmc.html
+"pair_style dsmc"_pair_dsmc.html
+http://lammps.sandia.gov/movies.html#gcmc :ul
+
+:line
+
+MEAM package :link(PKG-MEAM),h4
+
+[Contents:]
+
+A pair style for the modified embedded atom (MEAM) potential.
+
+Please note that the use of the MEAM package is discouraged as
+it has been superseded by the "USER-MEAMC"_#PKG-USER-MEAMC package,
+which is a direct translation of the MEAM package to C++.
+USER-MEAMC contains additional optimizations making it run faster
+than MEAM on most machines, while providing the identical features
+and user interface.
+
+[Author:] Greg Wagner (Northwestern U) while at Sandia.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+NOTE: You should test building the MEAM library with both the Intel
+and GNU compilers to see if a simulation runs faster with one versus
+the other on your system.
+
+[Supporting info:]
+
+src/MEAM: filenames -> commands
+src/meam/README
+lib/meam/README
+"pair_style meam"_pair_meam.html
+examples/meam :ul
+
+:line
+
+MISC package :link(PKG-MISC),h4
+
+[Contents:]
+
+A variety of compute, fix, pair, dump styles with specialized
+capabilities that don't align with other packages.  Do a directory
+listing, "ls src/MISC", to see the list of commands.
+
+NOTE: the MISC package contains styles that require using the
+-restrict flag, when compiling with Intel compilers.
+
+[Supporting info:]
+
+src/MISC: filenames -> commands
+"compute ti"_compute_ti.html
+"fix evaporate"_fix_evaporate.html
+"fix orient/fcc"_fix_orient.html
+"fix ttm"_fix_ttm.html
+"fix thermal/conductivity"_fix_thermal_conductivity.html
+"fix viscosity"_fix_viscosity.html
+examples/KAPPA
+examples/VISCOSITY
+http://lammps.sandia.gov/pictures.html#ttm
+http://lammps.sandia.gov/movies.html#evaporation :ul
+
+:line
+
+MOLECULE package :link(PKG-MOLECULE),h4
+
+[Contents:]
+
+A large number of atom, pair, bond, angle, dihedral, improper styles
+that are used to model molecular systems with fixed covalent bonds.
+The pair styles include the Dreiding (hydrogen-bonding) and CHARMM
+force fields, and a TIP4P water model.
+
+[Supporting info:]
+
+src/MOLECULE: filenames -> commands
+"atom_style"_atom_style.html
+"bond_style"_bond_style.html
+"angle_style"_angle_style.html
+"dihedral_style"_dihedral_style.html
+"improper_style"_improper_style.html
+"pair_style hbond/dreiding/lj"_pair_hbond_dreiding.html
+"pair_style lj/charmm/coul/charmm"_pair_charmm.html
+"Howto bioFF"_Howto_bioFF.html
+examples/cmap
+examples/dreiding
+examples/micelle,
+examples/peptide
+bench/in.chain
+bench/in.rhodo :ul
+
+:line
+
+MPIIO package :link(PKG-MPIIO),h4
+
+[Contents:]
+
+Support for parallel output/input of dump and restart files via the
+MPIIO library.  It adds "dump styles"_dump.html with a "mpiio" in
+their style name.  Restart files with an ".mpiio" suffix are also
+written and read in parallel.
+
+[Supporting info:]
+
+src/MPIIO: filenames -> commands
+"dump"_dump.html
+"restart"_restart.html
+"write_restart"_write_restart.html
+"read_restart"_read_restart.html :ul
+
+:line
+
+MSCG package :link(PKG-mscg),h4
+
+[Contents:]
+
+A "fix mscg"_fix_mscg.html command which can parameterize a
+Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
+library"_mscg_home.
+
+:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
+
+To use this package you must have the MS-CG library available on your
+system.
+
+[Authors:] The fix was written by Lauren Abbott (Sandia).  The MS-CG
+library was developed by Jacob Wagner in Greg Voth's group at the
+University of Chicago.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/MSCG: filenames -> commands
+src/MSCG/README
+lib/mscg/README
+examples/mscg :ul
+
+:line
+
+OPT package :link(PKG-OPT),h4
+
+[Contents:]
+
+A handful of pair styles which are optimized for improved CPU
+performance on single or multiple cores.  These include EAM, LJ,
+CHARMM, and Morse potentials.  The styles have an "opt" suffix in
+their style name.  The "Speed opt"_Speed_opt.html doc page gives
+details of how to build and use this package.  Its styles can be
+invoked at run time via the "-sf opt" or "-suffix opt" "command-line
+switches"_Run_options.html.  See also the "KOKKOS"_#PKG-KOKKOS,
+"USER-INTEL"_#PKG-USER-INTEL, and "USER-OMP"_#PKG-USER-OMP packages, which
+have styles optimized for CPU performance.
+
+[Authors:] James Fischer (High Performance Technologies), David Richie,
+and Vincent Natoli (Stone Ridge Technolgy).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/OPT: filenames -> commands
+"Speed packages"_Speed_packages.html
+"Speed opt"_Speed_opt.html
+"Section 2.6 -sf opt"_Run_options.html
+"Commands pair"_Commands_pair.html for styles followed by (t)
+"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
+
+:line
+
+PERI package :link(PKG-PERI),h4
+
+[Contents:]
+
+An atom style, several pair styles which implement different
+Peridynamics materials models, and several computes which calculate
+diagnostics.  Peridynamics is a a particle-based meshless continuum
+model.
+
+[Authors:] The original package was created by Mike Parks (Sandia).
+Additional Peridynamics models were added by Rezwanur Rahman and John
+Foster (UTSA).
+
+[Supporting info:]
+
+src/PERI: filenames -> commands
+"doc/PDF/PDLammps_overview.pdf"_PDF/PDLammps_overview.pdf
+"doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf
+"doc/PDF/PDLammps_VES.pdf"_PDF/PDLammps_VES.pdf
+"atom_style peri"_atom_style.html
+"pair_style peri/*"_pair_peri.html
+"compute damage/atom"_compute_damage_atom.html
+"compute plasticity/atom"_compute_plasticity_atom.html
+examples/peri
+http://lammps.sandia.gov/movies.html#peri :ul
+
+:line
+
+POEMS package :link(PKG-POEMS),h4
+
+[Contents:]
+
+A fix that wraps the Parallelizable Open source Efficient Multibody
+Software (POEMS) library, which is able to simulate the dynamics of
+articulated body systems.  These are systems with multiple rigid
+bodies (collections of particles) whose motion is coupled by
+connections at hinge points.
+
+[Author:] Rudra Mukherjee (JPL) while at RPI.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/POEMS: filenames -> commands
+src/POEMS/README
+lib/poems/README
+"fix poems"_fix_poems.html
+examples/rigid :ul
+
+:line
+
+PYTHON package :link(PKG-PYTHON),h4
+
+[Contents:]
+
+A "python"_python.html command which allow you to execute Python code
+from a LAMMPS input script.  The code can be in a separate file or
+embedded in the input script itself.  See the "Python
+call"_Python_call.html doc page for an overview of using Python from
+LAMMPS in this manner and all the "Python"_Python_head.html doc pages
+for other ways to use LAMMPS and Python together.
+
+NOTE: Building with the PYTHON package assumes you have a Python
+shared library available on your system, which needs to be a Python 2
+version, 2.6 or later.  Python 3 is not yet supported.  See the
+lib/python/README for more details.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/PYTHON: filenames -> commands
+"Python call"_Python_head.html
+lib/python/README
+examples/python :ul
+
+:line
+
+QEQ package :link(PKG-QEQ),h4
+
+[Contents:]
+
+Several fixes for performing charge equilibration (QEq) via different
+algorithms.  These can be used with pair styles that perform QEq as
+part of their formulation.
+
+[Supporting info:]
+
+src/QEQ: filenames -> commands
+"fix qeq/*"_fix_qeq.html
+examples/qeq
+examples/streitz :ul
+
+:line
+
+REAX package :link(PKG-REAX),h4
+
+[Contents:]
+
+NOTE: the use of the REAX package is discouraged, as it is no longer
+maintained. Please use the "USER-REAXC"_#PKG-USER-REAXC package instead,
+and possibly the KOKKOS enabled variant of that, which has a more robust
+memory management.
+
+A pair style which wraps a Fortran library which implements the ReaxFF
+potential, which is a universal reactive force field.  Also included is
+a "fix reax/bonds"_fix_reax_bonds.html command for monitoring molecules
+as bonds are created and destroyed.
+
+[Author:] Aidan Thompson (Sandia).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/REAX: filenames -> commands
+lib/reax/README
+"pair_style reax"_pair_reax.html
+"fix reax/bonds"_fix_reax_bonds.html
+examples/reax :ul
+
+:line
+
+REPLICA package :link(PKG-REPLICA2),h4
+
+[Contents:]
+
+A collection of multi-replica methods which can be used when running
+multiple LAMMPS simulations (replicas).  See the "Howto
+replica"_Howto_replica.html doc page for an overview of how to run
+multi-replica simulations in LAMMPS.  Methods in the package include
+nudged elastic band (NEB), parallel replica dynamics (PRD),
+temperature accelerated dynamics (TAD), parallel tempering, and a
+verlet/split algorithm for performing long-range Coulombics on one set
+of processors, and the remainder of the force field calcalation on
+another set.
+
+[Supporting info:]
+
+src/REPLICA: filenames -> commands
+"Howto replica"_Howto_replica.html
+"neb"_neb.html
+"prd"_prd.html
+"tad"_tad.html
+"temper"_temper.html,
+"run_style verlet/split"_run_style.html
+examples/neb
+examples/prd
+examples/tad :ul
+
+:line
+
+RIGID package :link(PKG-RIGID),h4
+
+[Contents:]
+
+Fixes which enforce rigid constraints on collections of atoms or
+particles.  This includes SHAKE and RATTLE, as well as varous
+rigid-body integrators for a few large bodies or many small bodies.
+Also several computes which calculate properties of rigid bodies.
+
+[Supporting info:]
+
+src/RIGID: filenames -> commands
+"compute erotate/rigid"_compute_erotate_rigid.html
+fix shake"_fix_shake.html
+"fix rattle"_fix_shake.html
+"fix rigid/*"_fix_rigid.html
+examples/ASPHERE
+examples/rigid
+bench/in.rhodo
+http://lammps.sandia.gov/movies.html#box
+http://lammps.sandia.gov/movies.html#star :ul
+
+:line
+
+SHOCK package :link(PKG-SHOCK),h4
+
+[Contents:]
+
+Fixes for running impact simulations where a shock-wave passes through
+a material.
+
+[Supporting info:]
+
+src/SHOCK: filenames -> commands
+"fix append/atoms"_fix_append_atoms.html
+"fix msst"_fix_msst.html
+"fix nphug"_fix_nphug.html
+"fix wall/piston"_fix_wall_piston.html
+examples/hugoniostat
+examples/msst :ul
+
+:line
+
+SNAP package :link(PKG-SNAP),h4
+
+[Contents:]
+
+A pair style for the spectral neighbor analysis potential (SNAP).
+SNAP is methodology for deriving a highly accurate classical potential
+fit to a large archive of quantum mechanical (DFT) data. Also several
+computes which analyze attributes of the potential.
+
+[Author:] Aidan Thompson (Sandia).
+
+[Supporting info:]
+
+src/SNAP: filenames -> commands
+"pair_style snap"_pair_snap.html
+"compute sna/atom"_compute_sna_atom.html
+"compute snad/atom"_compute_sna_atom.html
+"compute snav/atom"_compute_sna_atom.html
+examples/snap :ul
+
+:line
+
+SPIN package :link(PKG-SPIN),h4
+
+[Contents:]
+
+Model atomic magnetic spins classically, coupled to atoms moving in
+the usual manner via MD.  Various pair, fix, and compute styles.
+
+[Author:] Julian Tranchida (Sandia).
+
+[Supporting info:]
+
+src/SPIN: filenames -> commands
+"Howto spins"_Howto_spins.html
+"pair_style spin/dmi"_pair_spin_dmi.html
+"pair_style spin/exchange"_pair_spin_exchange.html
+"pair_style spin/magelec"_pair_spin_magelec.html
+"pair_style spin/neel"_pair_spin_neel.html
+"fix nve/spin"_fix_nve_spin.html
+"fix precession/spin"_fix_precession_spin.html
+"compute spin"_compute_spin.html
+examples/SPIN :ul
+
+:line
+
+SRD package :link(PKG-SRD),h4
+
+[Contents:]
+
+A pair of fixes which implement the Stochastic Rotation Dynamics (SRD)
+method for coarse-graining of a solvent, typically around large
+colloidal particles.
+
+[Supporting info:]
+
+src/SRD: filenames -> commands
+"fix srd"_fix_srd.html
+"fix wall/srd"_fix_wall_srd.html
+examples/srd
+examples/ASPHERE
+http://lammps.sandia.gov/movies.html#tri
+http://lammps.sandia.gov/movies.html#line
+http://lammps.sandia.gov/movies.html#poly :ul
+
+:line
+
+VORONOI package :link(PKG-VORONOI),h4
+
+[Contents:]
+
+A compute command which calculates the Voronoi tesselation of a
+collection of atoms by wrapping the "Voro++ library"_voro_home.  This
+can be used to calculate the local volume or each atoms or its near
+neighbors.
+
+:link(voro_home,http://math.lbl.gov/voro++)
+
+To use this package you must have the Voro++ library available on your
+system.
+
+[Author:] Daniel Schwen (INL) while at LANL.  The open-source Voro++
+library was written by Chris Rycroft (Harvard U) while at UC Berkeley
+and LBNL.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/VORONOI: filenames -> commands
+src/VORONOI/README
+lib/voronoi/README
+"compute voronoi/atom"_compute_voronoi_atom.html
+examples/voronoi :ul
+
+:line
+
+USER-ATC package :link(PKG-USER-ATC),h4
+
+[Contents:]
+
+ATC stands for atoms-to-continuum.  This package implements a "fix
+atc"_fix_atc.html command to either couple molecular dynamics with
+continuum finite element equations or perform on-the-fly conversion of
+atomic information to continuum fields.
+
+[Authors:] Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-ATC: filenames -> commands
+src/USER-ATC/README
+"fix atc"_fix_atc.html
+examples/USER/atc
+http://lammps.sandia.gov/pictures.html#atc :ul
+
+:line
+
+USER-AWPMD package :link(PKG-USER-AWPMD),h4
+
+[Contents:]
+
+AWPMD stands for Antisymmetrized Wave Packet Molecular Dynamics.  This
+package implements an atom, pair, and fix style which allows electrons
+to be treated as explicit particles in a classical molecular dynamics
+model.
+
+[Author:] Ilya Valuev (JIHT, Russia).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-AWPMD: filenames -> commands
+src/USER-AWPMD/README
+"pair_style awpmd/cut"_pair_awpmd.html
+examples/USER/awpmd :ul
+
+:line
+
+USER-BOCS package :link(PKG-USER-BOCS),h4
+
+[Contents:]
+
+This package provides "fix bocs"_fix_bocs.html, a modified version
+of "fix npt"_fix_nh.html which includes the pressure correction to
+the barostat as outlined in:
+
+N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that 
+accurately describe the structure, pressure, and compressibility of
+molecular liquids," J. Chem. Phys. 143, 243148 (2015).
+
+[Authors:] Nicholas J. H. Dunn and Michael R. DeLyser (The
+Pennsylvania State University)
+
+[Supporting info:]
+
+The USER-BOCS user package for LAMMPS is part of the BOCS software package:
+"https://github.com/noid-group/BOCS"_https://github.com/noid-group/BOCS
+
+See the following reference for information about the entire package:
+
+Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG.
+"BOCS: Bottom-Up Open-Source Coarse-Graining Software."
+J. Phys. Chem. B. 122, 13, 3363-3377 (2018).
+
+Example inputs are in the examples/USER/bocs folder.
+
+:line
+
+USER-CGDNA package :link(PKG-USER-CGDNA),h4
+
+[Contents:]
+
+Several pair styles, a bond style, and integration fixes for
+coarse-grained models of single- and double-stranded DNA based on the
+oxDNA model of Doye, Louis and Ouldridge at the University of Oxford.
+This includes Langevin-type rigid-body integrators with improved
+stability.
+
+[Author:] Oliver Henrich (University of Strathclyde, Glasgow).
+
+[Supporting info:]
+
+src/USER-CGDNA: filenames -> commands
+/src/USER-CGDNA/README
+"pair_style oxdna/*"_pair_oxdna.html
+"pair_style oxdna2/*"_pair_oxdna2.html
+"bond_style oxdna/*"_bond_oxdna.html
+"bond_style oxdna2/*"_bond_oxdna.html
+"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul
+
+:line
+
+USER-CGSDK package :link(PKG-USER-CGSDK),h4
+
+[Contents:]
+
+Several pair styles and an angle style which implement the
+coarse-grained SDK model of Shinoda, DeVane, and Klein which enables
+simulation of ionic liquids, electrolytes, lipids and charged amino
+acids.
+
+[Author:] Axel Kohlmeyer (Temple U).
+
+[Supporting info:]
+
+src/USER-CGSDK: filenames -> commands
+src/USER-CGSDK/README
+"pair_style lj/sdk/*"_pair_sdk.html
+"angle_style sdk"_angle_sdk.html
+examples/USER/cgsdk
+http://lammps.sandia.gov/pictures.html#cg :ul
+
+:line
+
+USER-COLVARS package :link(PKG-USER-COLVARS),h4
+
+[Contents:]
+
+COLVARS stands for collective variables, which can be used to
+implement various enhanced sampling methods, including Adaptive
+Biasing Force, Metadynamics, Steered MD, Umbrella Sampling and
+Restraints.  A "fix colvars"_fix_colvars.html command is implemented
+which wraps a COLVARS library, which implements these methods.
+simulations.
+
+[Authors:] The COLVARS library is written and maintained by
+Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA)
+and Jerome Henin (LISM, CNRS, Marseille, France), originally for
+the NAMD MD code, but with portability in mind.  Axel Kohlmeyer
+(Temple U) provided the interface to LAMMPS.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-COLVARS: filenames -> commands
+"doc/PDF/colvars-refman-lammps.pdf"_PDF/colvars-refman-lammps.pdf
+src/USER-COLVARS/README
+lib/colvars/README
+"fix colvars"_fix_colvars.html
+examples/USER/colvars :ul
+
+:line
+
+USER-DIFFRACTION package :link(PKG-USER-DIFFRACTION),h4
+
+[Contents:]
+
+Two computes and a fix for calculating x-ray and electron diffraction
+intensities based on kinematic diffraction theory.
+
+[Author:] Shawn Coleman while at the U Arkansas.
+
+[Supporting info:]
+
+src/USER-DIFFRACTION: filenames -> commands
+"compute saed"_compute_saed.html
+"compute xrd"_compute_xrd.html
+"fix saed/vtk"_fix_saed_vtk.html
+examples/USER/diffraction :ul
+
+:line
+
+USER-DPD package :link(PKG-USER-DPD),h4
+
+[Contents:]
+
+DPD stands for dissipative particle dynamics.  This package implements
+coarse-grained DPD-based models for energetic, reactive molecular
+crystalline materials.  It includes many pair styles specific to these
+systems, including for reactive DPD, where each particle has internal
+state for multiple species and a coupled set of chemical reaction ODEs
+are integrated each timestep.  Highly accurate time integrators for
+isothermal, isoenergetic, isobaric and isenthalpic conditions are
+included.  These enable long timesteps via the Shardlow splitting
+algorithm.
+
+[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and and John
+Brennan (ARL).
+
+[Supporting info:]
+
+src/USER-DPD: filenames -> commands
+/src/USER-DPD/README
+"compute dpd"_compute_dpd.html
+"compute dpd/atom"_compute_dpd_atom.html
+"fix eos/cv"_fix_eos_table.html
+"fix eos/table"_fix_eos_table.html
+"fix eos/table/rx"_fix_eos_table_rx.html
+"fix shardlow"_fix_shardlow.html
+"fix rx"_fix_rx.html
+"pair_style table/rx"_pair_table_rx.html
+"pair_style dpd/fdt"_pair_dpd_fdt.html
+"pair_style dpd/fdt/energy"_pair_dpd_fdt.html
+"pair_style exp6/rx"_pair_exp6_rx.html
+"pair_style multi/lucy"_pair_multi_lucy.html
+"pair_style multi/lucy/rx"_pair_multi_lucy_rx.html
+examples/USER/dpd :ul
+
+:line
+
+USER-DRUDE package :link(PKG-USER-DRUDE),h4
+
+[Contents:]
+
+Fixes, pair styles, and a compute to simulate thermalized Drude
+oscillators as a model of polarization.  See the "Howto
+drude"_Howto_drude.html and "Howto drude2"_Howto_drude2.html doc pages
+for an overview of how to use the package.  There are auxiliary tools
+for using this package in tools/drude.
+
+[Authors:] Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien
+Devemy (CNRS), and Agilio Padua (U Blaise Pascal).
+
+[Supporting info:]
+
+src/USER-DRUDE: filenames -> commands
+"Howto drude"_Howto_drude.html
+"Howto drude2"_Howto_drude2.html
+"Howto polarizable"_Howto_polarizable.html
+src/USER-DRUDE/README
+"fix drude"_fix_drude.html
+"fix drude/transform/*"_fix_drude_transform.html
+"compute temp/drude"_compute_temp_drude.html
+"pair_style thole"_pair_thole.html
+"pair_style lj/cut/thole/long"_pair_thole.html
+examples/USER/drude
+tools/drude :ul
+
+:line
+
+USER-EFF package :link(PKG-USER-EFF),h4
+
+[Contents:]
+
+EFF stands for electron force field which allows a classical MD code
+to model electrons as particles of variable radius.  This package
+contains atom, pair, fix and compute styles which implement the eFF as
+described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III,
+JCC, 2010.  The eFF potential was first introduced by Su and Goddard,
+in 2007.  There are auxiliary tools for using this package in
+tools/eff; see its README file.
+
+[Author:] Andres Jaramillo-Botero (CalTech).
+
+[Supporting info:]
+
+src/USER-EFF: filenames -> commands
+src/USER-EFF/README
+"atom_style electron"_atom_style.html
+"fix nve/eff"_fix_nve_eff.html
+"fix nvt/eff"_fix_nh_eff.html
+"fix npt/eff"_fix_nh_eff.html
+"fix langevin/eff"_fix_langevin_eff.html
+"compute temp/eff"_compute_temp_eff.html
+"pair_style eff/cut"_pair_eff.html
+"pair_style eff/inline"_pair_eff.html
+examples/USER/eff
+tools/eff/README
+tools/eff
+http://lammps.sandia.gov/movies.html#eff :ul
+
+:line
+
+USER-FEP package :link(PKG-USER-FEP),h4
+
+[Contents:]
+
+FEP stands for free energy perturbation.  This package provides
+methods for performing FEP simulations by using a "fix
+adapt/fep"_fix_adapt_fep.html command with soft-core pair potentials,
+which have a "soft" in their style name.  There are auxiliary tools
+for using this package in tools/fep; see its README file.
+
+[Author:] Agilio Padua (Universite Blaise Pascal Clermont-Ferrand)
+
+[Supporting info:]
+
+src/USER-FEP: filenames -> commands
+src/USER-FEP/README
+"fix adapt/fep"_fix_adapt_fep.html
+"compute fep"_compute_fep.html
+"pair_style */soft"_pair_lj_soft.html
+examples/USER/fep
+tools/fep/README
+tools/fep :ul
+
+:line
+
+USER-H5MD package :link(PKG-USER-H5MD),h4
+
+[Contents:]
+
+H5MD stands for HDF5 for MD.  "HDF5"_HDF5 is a portable, binary,
+self-describing file format, used by many scientific simulations.
+H5MD is a format for molecular simulations, built on top of HDF5.
+This package implements a "dump h5md"_dump_h5md.html command to output
+LAMMPS snapshots in this format.
+
+:link(HDF5,http://www.hdfgroup.org/HDF5)
+
+To use this package you must have the HDF5 library available on your
+system.
+
+[Author:] Pierre de Buyl (KU Leuven) created both the package and the
+H5MD format.
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-H5MD: filenames -> commands
+src/USER-H5MD/README
+lib/h5md/README
+"dump h5md"_dump_h5md.html :ul
+
+:line
+
+USER-INTEL package :link(PKG-USER-INTEL),h4
+
+[Contents:]
+
+Dozens of pair, fix, bond, angle, dihedral, improper, and kspace
+styles which are optimized for Intel CPUs and KNLs (Knights Landing).
+All of them have an "intel" in their style name.  The "Speed
+intel"_Speed_intel.html doc page gives details of what hardware and
+compilers are required on your system, and how to build and use this
+package.  Its styles can be invoked at run time via the "-sf intel" or
+"-suffix intel" "command-line switches"_Run_options.html.  Also see
+the "KOKKOS"_#PKG-KOKKOS, "OPT"_#PKG-OPT, and "USER-OMP"_#PKG-USER-OMP packages,
+which have styles optimized for CPUs and KNLs.
+
+You need to have an Intel compiler, version 14 or higher to take full
+advantage of this package. While compilation with GNU compilers is
+supported, performance will be suboptimal.
+
+NOTE: the USER-INTEL package contains styles that require using the
+-restrict flag, when compiling with Intel compilers.
+
+[Author:] Mike Brown (Intel).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-INTEL: filenames -> commands
+src/USER-INTEL/README
+"Speed packages"_Speed_packages.html
+"Speed intel"_Speed_intel.html
+"Section 2.6 -sf intel"_Run_options.html
+"Section 2.6 -pk intel"_Run_options.html
+"package intel"_package.html
+"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i)
+src/USER-INTEL/TEST
+"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
+
+:line
+
+USER-LB package :link(PKG-USER-LB),h4
+
+[Contents:]
+
+Fixes which implement a background Lattice-Boltzmann (LB) fluid, which
+can be used to model MD particles influenced by hydrodynamic forces.
+
+[Authors:] Frances Mackay and Colin Denniston (University of Western
+Ontario).
+
+[Supporting info:]
+
+src/USER-LB: filenames -> commands
+src/USER-LB/README
+"fix lb/fluid"_fix_lb_fluid.html
+"fix lb/momentum"_fix_lb_momentum.html
+"fix lb/viscous"_fix_lb_viscous.html
+examples/USER/lb :ul
+
+:line
+
+USER-MGPT package :link(PKG-USER-MGPT),h4
+
+[Contents:]
+
+A pair style which provides a fast implementation of the quantum-based
+MGPT multi-ion potentials.  The MGPT or model GPT method derives from
+first-principles DFT-based generalized pseudopotential theory (GPT)
+through a series of systematic approximations valid for mid-period
+transition metals with nearly half-filled d bands.  The MGPT method
+was originally developed by John Moriarty at LLNL.  The pair style in
+this package calculates forces and energies using an optimized
+matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL.
+
+[Authors:] Tomas Oppelstrup and John Moriarty (LLNL).
+
+[Supporting info:]
+
+src/USER-MGPT: filenames -> commands
+src/USER-MGPT/README
+"pair_style mgpt"_pair_mgpt.html
+examples/USER/mgpt :ul
+
+:line
+
+USER-MISC package :link(PKG-USER-MISC),h4
+
+[Contents:]
+
+A potpourri of (mostly) unrelated features contributed to LAMMPS by
+users.  Each feature is a single fix, compute, pair, bond, angle,
+dihedral, improper, or command style.
+
+[Authors:] The author for each style in the package is listed in the
+src/USER-MISC/README file.
+
+[Supporting info:]
+
+src/USER-MISC: filenames -> commands
+src/USER-MISC/README
+one doc page per individual command listed in src/USER-MISC/README
+examples/USER/misc :ul
+
+:line
+
+USER-MANIFOLD package :link(PKG-USER-MANIFOLD),h4
+
+[Contents:]
+
+Several fixes and a "manifold" class which enable simulations of
+particles constrained to a manifold (a 2D surface within the 3D
+simulation box).  This is done by applying the RATTLE constraint
+algorithm to formulate single-particle constraint functions
+g(xi,yi,zi) = 0 and their derivative (i.e. the normal of the manifold)
+n = grad(g).
+
+[Author:] Stefan Paquay (until 2017: Eindhoven University of
+Technology (TU/e), The Netherlands; since 2017: Brandeis University,
+Waltham, MA, USA)
+
+[Supporting info:]
+
+src/USER-MANIFOLD: filenames -> commands
+src/USER-MANIFOLD/README
+"Howto manifold"_Howto_manifold.html
+"fix manifoldforce"_fix_manifoldforce.html
+"fix nve/manifold/rattle"_fix_nve_manifold_rattle.html
+"fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html
+examples/USER/manifold
+http://lammps.sandia.gov/movies.html#manifold :ul
+
+:line
+
+USER-MEAMC package :link(PKG-USER-MEAMC),h4
+
+[Contents:]
+
+A pair style for the modified embedded atom (MEAM) potential
+translated from the Fortran version in the "MEAM"_MEAM package
+to plain C++. In contrast to the MEAM package, no library
+needs to be compiled and the pair style can be instantiated
+multiple times.
+
+[Author:] Sebastian Huetter, (Otto-von-Guericke University Magdeburg)
+based on the Fortran version of Greg Wagner (Northwestern U) while at
+Sandia.
+
+[Supporting info:]
+
+src/USER-MEAMC: filenames -> commands
+src/USER-MEAMC/README
+"pair_style meam/c"_pair_meam.html
+examples/meam :ul
+
+:line
+
+USER-MESO package :link(PKG-USER-MESO),h4
+
+[Contents:]
+
+Several extensions of the the dissipative particle dynamics (DPD)
+method.  Specifically, energy-conserving DPD (eDPD) that can model
+non-isothermal processes, many-body DPD (mDPD) for simulating
+vapor-liquid coexistence, and transport DPD (tDPD) for modeling
+advection-diffusion-reaction systems. The equations of motion of these
+DPD extensions are integrated through a modified velocity-Verlet (MVV)
+algorithm.
+
+[Author:] Zhen Li (Division of Applied Mathematics, Brown University)
+
+[Supporting info:]
+
+src/USER-MESO: filenames -> commands
+src/USER-MESO/README
+"atom_style edpd"_atom_style.html
+"pair_style edpd"_pair_meso.html
+"pair_style mdpd"_pair_meso.html
+"pair_style tdpd"_pair_meso.html
+"fix mvv/dpd"_fix_mvv_dpd.html
+examples/USER/meso
+http://lammps.sandia.gov/movies.html#mesodpd :ul
+
+:line
+
+USER-MOFFF package :link(PKG-USER-MOFFF),h4
+
+[Contents:]
+
+Pair, angle and improper styles needed to employ the MOF-FF
+force field by Schmid and coworkers with LAMMPS. 
+MOF-FF is a first principles derived force field with the primary aim
+to simulate MOFs and related porous framework materials, using spherical 
+Gaussian charges. It is described in S. Bureekaew et al., Phys. Stat. Sol. B
+2013, 250, 1128-1141.
+For the usage of MOF-FF see the example in the example directory as 
+well as the "MOF+"_MOFplus website.
+
+:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
+
+[Author:] Hendrik Heenen (Technical U of Munich), 
+Rochus Schmid (Ruhr-University Bochum).
+
+[Supporting info:]
+
+src/USER-MOFFF: filenames -> commands
+src/USER-MOFFF/README
+"pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html
+"angle_style class2"_angle_class2.html
+"angle_style cosine/buck6d"_angle_cosine_buck6d.html
+"improper_style inversion/harmonic"_improper_inversion_harmonic.html
+examples/USER/mofff :ul
+
+:line
+
+USER-MOLFILE package :link(PKG-USER-MOLFILE),h4
+
+[Contents:]
+
+A "dump molfile"_dump_molfile.html command which uses molfile plugins
+that are bundled with the "VMD"_vmd_home
+molecular visualization and analysis program, to enable LAMMPS to dump
+snapshots in formats compatible with various molecular simulation
+tools.
+
+:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd)
+
+To use this package you must have the desired VMD plugins available on
+your system.
+
+Note that this package only provides the interface code, not the
+plugins themselves, which will be accessed when requesting a specific
+plugin via the "dump molfile"_dump_molfile.html command.  Plugins can
+be obtained from a VMD installation which has to match the platform
+that you are using to compile LAMMPS for. By adding plugins to VMD,
+support for new file formats can be added to LAMMPS (or VMD or other
+programs that use them) without having to recompile the application
+itself.  More information about the VMD molfile plugins can be found
+at
+"http://www.ks.uiuc.edu/Research/vmd/plugins/molfile"_http://www.ks.uiuc.edu/Research/vmd/plugins/molfile.
+
+[Author:] Axel Kohlmeyer (Temple U).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-MOLFILE: filenames -> commands
+src/USER-MOLFILE/README
+lib/molfile/README
+"dump molfile"_dump_molfile.html :ul
+
+:line
+
+USER-NETCDF package :link(PKG-USER-NETCDF),h4
+
+[Contents:]
+
+Dump styles for writing NetCDF formatted dump files.  NetCDF is a
+portable, binary, self-describing file format developed on top of
+HDF5. The file contents follow the AMBER NetCDF trajectory conventions
+(http://ambermd.org/netcdf/nctraj.xhtml), but include extensions.
+
+To use this package you must have the NetCDF library available on your
+system.
+
+Note that NetCDF files can be directly visualized with the following
+tools:
+
+"Ovito"_ovito (Ovito supports the AMBER convention and the extensions mentioned above)
+"VMD"_vmd_home
+"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul
+
+:link(ovito,http://www.ovito.org)
+:link(atomeye,http://www.libatoms.org)
+
+[Author:] Lars Pastewka (Karlsruhe Institute of Technology).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-NETCDF: filenames -> commands
+src/USER-NETCDF/README
+lib/netcdf/README
+"dump netcdf"_dump_netcdf.html :ul
+
+:line
+
+USER-OMP package :link(PKG-USER-OMP),h4
+
+[Contents:]
+
+Hundreds of pair, fix, compute, bond, angle, dihedral, improper, and
+kspace styles which are altered to enable threading on many-core CPUs
+via OpenMP directives.  All of them have an "omp" in their style name.
+The "Speed omp"_Speed_omp.html doc page gives details of what hardware
+and compilers are required on your system, and how to build and use
+this package.  Its styles can be invoked at run time via the "-sf omp"
+or "-suffix omp" "command-line switches"_Run_options.html.  Also see
+the "KOKKOS"_#PKG-KOKKOS, "OPT"_#PKG-OPT, and "USER-INTEL"_#PKG-USER-INTEL
+packages, which have styles optimized for CPUs.
+
+[Author:] Axel Kohlmeyer (Temple U).
+
+NOTE: To enable multi-threading support the compile flag "-fopenmp"
+and the link flag "-fopenmp" (for GNU compilers, you have to look up
+the equivalent flags for other compilers) must be used to build LAMMPS.
+When using Intel compilers, also the "-restrict" flag is required.
+The USER-OMP package can be compiled without enabling OpenMP; then
+all code will be compiled as serial and the only improvement over the
+regular styles are some data access optimization. These flags should
+be added to the CCFLAGS and LINKFLAGS lines of your Makefile.machine.
+See src/MAKE/OPTIONS/Makefile.omp for an example.
+
+Once you have an appropriate Makefile.machine, you can
+install/un-install the package and build LAMMPS in the usual manner:
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-OMP: filenames -> commands
+src/USER-OMP/README
+"Speed packages"_Speed_packages.html
+"Speed omp"_Speed_omp.html
+"Section 2.6 -sf omp"_Run_options.html
+"Section 2.6 -pk omp"_Run_options.html
+"package omp"_package.html
+"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o)
+"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
+
+:line
+
+USER-PHONON package :link(PKG-USER-PHONON),h4
+
+[Contents:]
+
+A "fix phonon"_fix_phonon.html command that calculates dynamical
+matrices, which can then be used to compute phonon dispersion
+relations, directly from molecular dynamics simulations.
+
+[Author:] Ling-Ti Kong (Shanghai Jiao Tong University).
+
+[Supporting info:]
+
+src/USER-PHONON: filenames -> commands
+src/USER-PHONON/README
+"fix phonon"_fix_phonon.html
+examples/USER/phonon :ul
+
+:line
+
+USER-QMMM package :link(PKG-USER-QMMM),h4
+
+[Contents:]
+
+A "fix qmmm"_fix_qmmm.html command which allows LAMMPS to be used in a
+QM/MM simulation, currently only in combination with the "Quantum
+ESPRESSO"_espresso package.
+
+:link(espresso,http://www.quantum-espresso.org)
+
+To use this package you must have Quantum ESPRESSO available on your
+system.
+
+The current implementation only supports an ONIOM style mechanical
+coupling to the Quantum ESPRESSO plane wave DFT package.
+Electrostatic coupling is in preparation and the interface has been
+written in a manner that coupling to other QM codes should be possible
+without changes to LAMMPS itself.
+
+[Author:] Axel Kohlmeyer (Temple U).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-QMMM: filenames -> commands
+src/USER-QMMM/README
+lib/qmmm/README
+"fix phonon"_fix_phonon.html
+lib/qmmm/example-ec/README
+lib/qmmm/example-mc/README :ul
+
+:line
+
+USER-QTB package :link(PKG-USER-QTB),h4
+
+[Contents:]
+
+Two fixes which provide a self-consistent quantum treatment of
+vibrational modes in a classical molecular dynamics simulation.  By
+coupling the MD simulation to a colored thermostat, it introduces zero
+point energy into the system, altering the energy power spectrum and
+the heat capacity to account for their quantum nature. This is useful
+when modeling systems at temperatures lower than their classical
+limits or when temperatures ramp across the classical limits in a
+simulation.
+
+[Author:] Yuan Shen (Stanford U).
+
+[Supporting info:]
+
+src/USER-QTB: filenames -> commands
+src/USER-QTB/README
+"fix qtb"_fix_qtb.html
+"fix qbmsst"_fix_qbmsst.html
+examples/USER/qtb :ul
+
+:line
+
+USER-QUIP package :link(PKG-USER-QUIP),h4
+
+[Contents:]
+
+A "pair_style quip"_pair_quip.html command which wraps the "QUIP
+libAtoms library"_quip, which includes a variety of interatomic
+potentials, including Gaussian Approximation Potential (GAP) models
+developed by the Cambridge University group.
+
+:link(quip,https://github.com/libAtoms/QUIP)
+
+To use this package you must have the QUIP libAtoms library available
+on your system.
+
+[Author:] Albert Bartok (Cambridge University)
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-QUIP: filenames -> commands
+src/USER-QUIP/README
+"pair_style quip"_pair_quip.html
+examples/USER/quip :ul
+
+:line
+
+USER-REAXC package :link(PKG-USER-REAXC),h4
+
+[Contents:]
+
+A pair style which implements the ReaxFF potential in C/C++ (in
+contrast to the "REAX package"_#PKG-REAX and its Fortran library).  ReaxFF
+is universal reactive force field.  See the src/USER-REAXC/README file
+for more info on differences between the two packages.  Also two fixes
+for monitoring molecules as bonds are created and destroyed.
+
+[Author:] Hasan Metin Aktulga (MSU) while at Purdue University.
+
+[Supporting info:]
+
+src/USER-REAXC: filenames -> commands
+src/USER-REAXC/README
+"pair_style reax/c"_pair_reaxc.html
+"fix reax/c/bonds"_fix_reax_bonds.html
+"fix reax/c/species"_fix_reaxc_species.html
+examples/reax :ul
+
+:line
+
+USER-SMD package :link(PKG-USER-SMD),h4
+
+[Contents:]
+
+An atom style, fixes, computes, and several pair styles which
+implements smoothed Mach dynamics (SMD) for solids, which is a model
+related to smoothed particle hydrodynamics (SPH) for liquids (see the
+"USER-SPH package"_#PKG-USER-SPH).
+
+This package solves solids mechanics problems via a state of the art
+stabilized meshless method with hourglass control.  It can specify
+hydrostatic interactions independently from material strength models,
+i.e. pressure and deviatoric stresses are separated.  It provides many
+material models (Johnson-Cook, plasticity with hardening,
+Mie-Grueneisen, Polynomial EOS) and allows new material models to be
+added.  It implements rigid boundary conditions (walls) which can be
+specified as surface geometries from *.STL files.
+
+[Author:] Georg Ganzenmuller (Fraunhofer-Institute for High-Speed
+Dynamics, Ernst Mach Institute, Germany).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-SMD: filenames -> commands
+src/USER-SMD/README
+doc/PDF/SMD_LAMMPS_userguide.pdf
+examples/USER/smd
+http://lammps.sandia.gov/movies.html#smd :ul
+
+:line
+
+USER-SMTBQ package :link(PKG-USER-SMTBQ),h4
+
+[Contents:]
+
+A pair style which implements a Second Moment Tight Binding model with
+QEq charge equilibration (SMTBQ) potential for the description of
+ionocovalent bonds in oxides.
+
+[Authors:] Nicolas Salles, Emile Maras, Olivier Politano, and Robert
+Tetot (LAAS-CNRS, France).
+
+[Supporting info:]
+
+src/USER-SMTBQ: filenames -> commands
+src/USER-SMTBQ/README
+"pair_style smtbq"_pair_smtbq.html
+examples/USER/smtbq :ul
+
+:line
+
+USER-SPH package :link(PKG-USER-SPH),h4
+
+[Contents:]
+
+An atom style, fixes, computes, and several pair styles which
+implements smoothed particle hydrodynamics (SPH) for liquids.  See the
+related "USER-SMD package"_#PKG-USER-SMD package for smooth Mach dynamics
+(SMD) for solids.
+
+This package contains ideal gas, Lennard-Jones equation of states,
+Tait, and full support for complete (i.e. internal-energy dependent)
+equations of state.  It allows for plain or Monaghans XSPH integration
+of the equations of motion.  It has options for density continuity or
+density summation to propagate the density field.  It has
+"set"_set.html command options to set the internal energy and density
+of particles from the input script and allows the same quantities to
+be output with thermodynamic output or to dump files via the "compute
+property/atom"_compute_property_atom.html command.
+
+[Author:] Georg Ganzenmuller (Fraunhofer-Institute for High-Speed
+Dynamics, Ernst Mach Institute, Germany).
+
+[Supporting info:]
+
+src/USER-SPH: filenames -> commands
+src/USER-SPH/README
+doc/PDF/SPH_LAMMPS_userguide.pdf
+examples/USER/sph
+http://lammps.sandia.gov/movies.html#sph :ul
+
+:line
+
+USER-TALLY package :link(PKG-USER-TALLY),h4
+
+[Contents:]
+
+Several compute styles that can be called when pairwise interactions
+are calculated to tally information (forces, heat flux, energy,
+stress, etc) about individual interactions.
+
+[Author:] Axel Kohlmeyer (Temple U).
+
+[Supporting info:]
+
+src/USER-TALLY: filenames -> commands
+src/USER-TALLY/README
+"compute */tally"_compute_tally.html
+examples/USER/tally :ul
+
+:line
+
+USER-UEF package :link(PKG-USER-UEF),h4
+
+[Contents:]
+
+A fix style for the integration of the equations of motion under
+extensional flow with proper boundary conditions, as well as several
+supporting compute styles and an output option.
+
+[Author:] David Nicholson (MIT).
+
+[Supporting info:]
+
+src/USER-UEF: filenames -> commands
+src/USER-UEF/README
+"fix nvt/uef"_fix_nh_uef.html
+"fix npt/uef"_fix_nh_uef.html
+"compute pressure/uef"_compute_pressure_uef.html
+"compute temp/uef"_compute_temp_uef.html
+"dump cfg/uef"_dump_cfg_uef.html
+examples/uef :ul
+
+:line
+
+USER-VTK package :link(PKG-USER-VTK),h4
+
+[Contents:]
+
+A "dump vtk"_dump_vtk.html command which outputs snapshot info in the
+"VTK format"_vtk, enabling visualization by "Paraview"_paraview or
+other visualization packages.
+
+:link(vtk,http://www.vtk.org)
+:link(paraview,http://www.paraview.org)
+
+To use this package you must have VTK library available on your
+system.
+
+[Authors:] Richard Berger (JKU) and Daniel Queteschiner (DCS Computing).
+
+[Install:] 
+
+This package has "specific installation
+instructions"_Build_extras.html#gpu on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/USER-VTK: filenames -> commands
+src/USER-VTK/README
+lib/vtk/README
+"dump vtk"_dump_vtk.html :ul
diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt
new file mode 100644
index 0000000000..eb787df5d6
--- /dev/null
+++ b/doc/src/Speed_kokkos.txt
@@ -0,0 +1,381 @@
+"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+KOKKOS package :h3
+
+Kokkos is a templated C++ library that provides abstractions to allow
+a single implementation of an application kernel (e.g. a pair style)
+to run efficiently on different kinds of hardware, such as GPUs, Intel
+Xeon Phis, or many-core CPUs. Kokkos maps the C++ kernel onto
+different backend languages such as CUDA, OpenMP, or Pthreads.  The
+Kokkos library also provides data abstractions to adjust (at compile
+time) the memory layout of data structures like 2d and 3d arrays to
+optimize performance on different hardware. For more information on
+Kokkos, see "Github"_https://github.com/kokkos/kokkos. Kokkos is part
+of "Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos
+library was written primarily by Carter Edwards, Christian Trott, and
+Dan Sunderland (all Sandia).
+
+The LAMMPS KOKKOS package contains versions of pair, fix, and atom
+styles that use data structures and macros provided by the Kokkos
+library, which is included with LAMMPS in /lib/kokkos. The KOKKOS
+package was developed primarily by Christian Trott (Sandia) and Stan
+Moore (Sandia) with contributions of various styles by others,
+including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez
+(Sandia). For more information on developing using Kokkos abstractions
+see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos_PG.pdf.
+
+Kokkos currently provides support for 3 modes of execution (per MPI
+task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP
+(threading for many-core CPUs and Intel Phi), and CUDA (for NVIDIA
+GPUs). You choose the mode at build time to produce an executable
+compatible with specific hardware.
+
+NOTE: Kokkos support within LAMMPS must be built with a C++11 compatible
+compiler. This means GCC version 4.7.2 or later, Intel 14.0.4 or later, or
+Clang 3.5.2 or later is required.
+
+NOTE: To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA
+software version 7.5 or later must be installed on your system. See
+the discussion for the "GPU package"_Speed_gpu.html for details of how
+to check and do this.
+
+NOTE: Kokkos with CUDA currently implicitly assumes, that the MPI
+library is CUDA-aware and has support for GPU-direct. This is not
+always the case, especially when using pre-compiled MPI libraries
+provided by a Linux distribution. This is not a problem when using
+only a single GPU and a single MPI rank on a desktop. When running
+with multiple MPI ranks, you may see segmentation faults without
+GPU-direct support.  These can be avoided by adding the flags "-pk
+kokkos gpu/direct off"_Run_options.html to the LAMMPS command line or
+by using the command "package kokkos gpu/direct off"_package.html in
+the input file.
+
+[Building LAMMPS with the KOKKOS package:]
+
+See the "Build extras"_Build_extras.html#kokkos doc page for instructions.
+
+[Running LAMMPS with the KOKKOS package:]
+
+All Kokkos operations occur within the context of an individual MPI
+task running on a single node of the machine. The total number of MPI
+tasks used by LAMMPS (one or multiple per compute node) is set in the
+usual manner via the mpirun or mpiexec commands, and is independent of
+Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and
+-npernode switches. Ditto for MPICH via -np and -ppn.
+
+[Running on a multi-core CPU:]
+
+Here is a quick overview of how to use the KOKKOS package
+for CPU acceleration, assuming one or more 16-core nodes.
+
+mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -in in.lj        # 1 node, 16 MPI tasks/node, no multi-threading
+mpirun -np 2 -ppn 1 lmp_kokkos_omp -k on t 16 -sf kk -in in.lj  # 2 nodes, 1 MPI task/node, 16 threads/task
+mpirun -np 2 lmp_kokkos_omp -k on t 8 -sf kk -in in.lj          # 1 node,  2 MPI tasks/node, 8 threads/task
+mpirun -np 32 -ppn 4 lmp_kokkos_omp -k on t 4 -sf kk -in in.lj  # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre
+
+To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk
+kokkos" "command-line switches"_Run_options.html in your mpirun
+command.  You must use the "-k on" "command-line
+switch"_Run_options.html to enable the KOKKOS package. It takes
+additional arguments for hardware settings appropriate to your system.
+For OpenMP use:
+
+-k on t Nt :pre
+
+The "t Nt" option specifies how many OpenMP threads per MPI task to
+use with a node. The default is Nt = 1, which is MPI-only mode.  Note
+that the product of MPI tasks * OpenMP threads/task should not exceed
+the physical number of cores (on a node), otherwise performance will
+suffer. If hyperthreading is enabled, then the product of MPI tasks *
+OpenMP threads/task should not exceed the physical number of cores *
+hardware threads.  The "-k on" switch also issues a "package kokkos"
+command (with no additional arguments) which sets various KOKKOS
+options to default values, as discussed on the "package"_package.html
+command doc page.
+
+The "-sf kk" "command-line switch"_Run_options.html will automatically
+append the "/kk" suffix to styles that support it.  In this manner no
+modification to the input script is needed. Alternatively, one can run
+with the KOKKOS package by editing the input script as described
+below.
+
+NOTE: The default for the "package kokkos"_package.html command is to
+use "full" neighbor lists and set the Newton flag to "off" for both
+pairwise and bonded interactions. However, when running on CPUs, it
+will typically be faster to use "half" neighbor lists and set the
+Newton flag to "on", just as is the case for non-accelerated pair
+styles. It can also be faster to use non-threaded communication.  Use
+the "-pk kokkos" "command-line switch"_Run_options.html to change the
+default "package kokkos"_package.html options. See its doc page for
+details and default settings. Experimenting with its options can
+provide a speed-up for specific calculations. For example:
+
+mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj       # Newton on, Half neighbor list, non-threaded comm :pre
+
+If the "newton"_newton.html command is used in the input
+script, it can also override the Newton flag defaults.
+
+[Core and Thread Affinity:]
+
+When using multi-threading, it is important for performance to bind
+both MPI tasks to physical cores, and threads to physical cores, so
+they do not migrate during a simulation.
+
+If you are not certain MPI tasks are being bound (check the defaults
+for your MPI installation), binding can be forced with these flags:
+
+OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ...
+Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ... :pre
+
+For binding threads with KOKKOS OpenMP, use thread affinity
+environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or
+later, intel 12 or later) setting the environment variable
+OMP_PROC_BIND=true should be sufficient. In general, for best
+performance with OpenMP 4.0 or better set OMP_PROC_BIND=spread and
+OMP_PLACES=threads.  For binding threads with the KOKKOS pthreads
+option, compile LAMMPS the KOKKOS HWLOC=yes option as described below.
+
+[Running on Knight's Landing (KNL) Intel Xeon Phi:]
+
+Here is a quick overview of how to use the KOKKOS package for the
+Intel Knight's Landing (KNL) Xeon Phi:
+
+KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are
+reserved for the OS, and only 64 or 66 cores are used. Each core has 4
+hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
+cores to run on. The product of MPI tasks * OpenMP threads/task should
+not exceed this limit, otherwise performance will suffer. Note that
+with the KOKKOS package you do not need to specify how many KNLs there
+are per node; each KNL is simply treated as running some number of MPI
+tasks.
+
+Examples of mpirun commands that follow these rules are shown below.
+
+Intel KNL node with 68 cores (272 threads/node via 4x hardware threading):
+mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj      # 1 node, 64 MPI tasks/node, 4 threads/task
+mpirun -np 66 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj      # 1 node, 66 MPI tasks/node, 4 threads/task
+mpirun -np 32 lmp_kokkos_phi -k on t 8 -sf kk -in in.lj      # 1 node, 32 MPI tasks/node, 8 threads/task
+mpirun -np 512 -ppn 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj  # 8 nodes, 64 MPI tasks/node, 4 threads/task :pre
+
+The -np setting of the mpirun command sets the number of MPI
+tasks/node. The "-k on t Nt" command-line switch sets the number of
+threads/task as Nt. The product of these two values should be N, i.e.
+256 or 264.
+
+NOTE: The default for the "package kokkos"_package.html command is to
+use "full" neighbor lists and set the Newton flag to "off" for both
+pairwise and bonded interactions. When running on KNL, this will
+typically be best for pair-wise potentials. For manybody potentials,
+using "half" neighbor lists and setting the Newton flag to "on" may be
+faster. It can also be faster to use non-threaded communication.  Use
+the "-pk kokkos" "command-line switch"_Run_options.html to change the
+default "package kokkos"_package.html options. See its doc page for
+details and default settings. Experimenting with its options can
+provide a speed-up for specific calculations. For example:
+
+mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj      #  Newton off, full neighbor list, non-threaded comm
+mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax      # Newton on, half neighbor list, non-threaded comm :pre
+
+NOTE: MPI tasks and threads should be bound to cores as described
+above for CPUs.
+
+NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors
+such as Knight's Corner (KNC), your system must be configured to use
+them in "native" mode, not "offload" mode like the USER-INTEL package
+supports.
+
+[Running on GPUs:]
+
+Use the "-k" "command-line switch"_Run_options.html to
+specify the number of GPUs per node. Typically the -np setting of the
+mpirun command should set the number of MPI tasks/node to be equal to
+the number of physical GPUs on the node.  You can assign multiple MPI
+tasks to the same GPU with the KOKKOS package, but this is usually
+only faster if significant portions of the input script have not
+been ported to use Kokkos. Using CUDA MPS is recommended in this
+scenario. Using a CUDA-aware MPI library with support for GPU-direct
+is highly recommended. GPU-direct use can be avoided by using
+"-pk kokkos gpu/direct no"_package.html.
+As above for multi-core CPUs (and no GPU), if N is the number of
+physical cores/node, then the number of MPI tasks/node should not
+exceed N.
+
+-k on g Ng :pre
+
+Here are examples of how to use the KOKKOS package for GPUs, assuming
+one or more nodes, each with two GPUs:
+
+mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj          # 1 node,   2 MPI tasks/node, 2 GPUs/node
+mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj  # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre
+
+NOTE: The default for the "package kokkos"_package.html command is to
+use "full" neighbor lists and set the Newton flag to "off" for both
+pairwise and bonded interactions, along with threaded communication.
+When running on Maxwell or Kepler GPUs, this will typically be
+best. For Pascal GPUs, using "half" neighbor lists and setting the
+Newton flag to "on" may be faster. For many pair styles, setting the
+neighbor binsize equal to the ghost atom cutoff will give speedup.
+Use the "-pk kokkos" "command-line switch"_Run_options.html to change
+the default "package kokkos"_package.html options. See its doc page
+for details and default settings. Experimenting with its options can
+provide a speed-up for specific calculations. For example:
+
+mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj      # Set binsize = neighbor ghost cutoff
+mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj      # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre
+
+NOTE: For good performance of the KOKKOS package on GPUs, you must
+have Kepler generation GPUs (or later). The Kokkos library exploits
+texture cache options not supported by Telsa generation GPUs (or
+older).
+
+NOTE: When using a GPU, you will achieve the best performance if your
+input script does not use fix or compute styles which are not yet
+Kokkos-enabled. This allows data to stay on the GPU for multiple
+timesteps, without being copied back to the host CPU. Invoking a
+non-Kokkos fix or compute, or performing I/O for
+"thermo"_thermo_style.html or "dump"_dump.html output will cause data
+to be copied back to the CPU incurring a performance penalty.
+
+NOTE: To get an accurate timing breakdown between time spend in pair,
+kspace, etc., you must set the environment variable CUDA_LAUNCH_BLOCKING=1.
+However, this will reduce performance and is not recommended for production runs.
+
+[Run with the KOKKOS package by editing an input script:]
+
+Alternatively the effect of the "-sf" or "-pk" switches can be
+duplicated by adding the "package kokkos"_package.html or "suffix
+kk"_suffix.html commands to your input script.
+
+The discussion above for building LAMMPS with the KOKKOS package, the
+mpirun/mpiexec command, and setting appropriate thread are the same.
+
+You must still use the "-k on" "command-line switch"_Run_options.html
+to enable the KOKKOS package, and specify its additional arguments for
+hardware options appropriate to your system, as documented above.
+
+You can use the "suffix kk"_suffix.html command, or you can explicitly add a
+"kk" suffix to individual styles in your input script, e.g.
+
+pair_style lj/cut/kk 2.5 :pre
+
+You only need to use the "package kokkos"_package.html command if you
+wish to change any of its option defaults, as set by the "-k on"
+"command-line switch"_Run_options.html.
+
+[Using OpenMP threading and CUDA together (experimental):]
+
+With the KOKKOS package, both OpenMP multi-threading and GPUs can be
+used together in a few special cases. In the Makefile, the
+KOKKOS_DEVICES variable must include both "Cuda" and "OpenMP", as is
+the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
+
+KOKKOS_DEVICES=Cuda,OpenMP :pre
+
+The suffix "/kk" is equivalent to "/kk/device", and for Kokkos CUDA,
+using the "-sf kk" in the command line gives the default CUDA version
+everywhere.  However, if the "/kk/host" suffix is added to a specific
+style in the input script, the Kokkos OpenMP (CPU) version of that
+specific style will be used instead.  Set the number of OpenMP threads
+as "t Nt" and the number of GPUs as "g Ng"
+
+-k on t Nt g Ng :pre
+
+For example, the command to run with 1 GPU and 8 OpenMP threads is then:
+
+mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk :pre
+
+Conversely, if the "-sf kk/host" is used in the command line and then
+the "/kk" or "/kk/device" suffix is added to a specific style in your
+input script, then only that specific style will run on the GPU while
+everything else will run on the CPU in OpenMP mode. Note that the
+execution of the CPU and GPU styles will NOT overlap, except for a
+special case:
+
+A kspace style and/or molecular topology (bonds, angles, etc.) running
+on the host CPU can overlap with a pair style running on the
+GPU. First compile with "--default-stream per-thread" added to CCFLAGS
+in the Kokkos CUDA Makefile.  Then explicitly use the "/kk/host"
+suffix for kspace and bonds, angles, etc.  in the input file and the
+"kk" suffix (equal to "kk/device") on the command line.  Also make
+sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1"
+so CPU/GPU overlap can occur.
+
+[Speed-ups to expect:]
+
+The performance of KOKKOS running in different modes is a function of
+your hardware, which KOKKOS-enable styles are used, and the problem
+size.
+
+Generally speaking, the following rules of thumb apply:
+
+When running on CPUs only, with a single thread per MPI task,
+performance of a KOKKOS style is somewhere between the standard
+(un-accelerated) styles (MPI-only mode), and those provided by the
+USER-OMP package. However the difference between all 3 is small (less
+than 20%). :ulb,l
+
+When running on CPUs only, with multiple threads per MPI task,
+performance of a KOKKOS style is a bit slower than the USER-OMP
+package. :l
+
+When running large number of atoms per GPU, KOKKOS is typically faster
+than the GPU package. :l
+
+When running on Intel hardware, KOKKOS is not as fast as
+the USER-INTEL package, which is optimized for that hardware. :l
+:ule
+
+See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the
+LAMMPS web site for performance of the KOKKOS package on different
+hardware.
+
+[Advanced Kokkos options:]
+
+There are other allowed options when building with the KOKKOS package.
+As explained on the "Build extras"_Build_extras.html#kokkos doc page,
+they can be set either as variables on the make command line or in
+Makefile.machine, or they can be specified as CMake variables.  Each
+takes a value shown below.  The default value is listed, which is set
+in the lib/kokkos/Makefile.kokkos file.
+
+KOKKOS_DEBUG, values = {yes}, {no}, default = {no}
+KOKKOS_USE_TPLS, values = {hwloc}, {librt}, {experimental_memkind}, default = {none}
+KOKKOS_CXX_STANDARD, values = {c++11}, {c++1z}, default = {c++11}
+KOKKOS_OPTIONS, values = {aggressive_vectorization}, {disable_profiling}, default = {none}
+KOKKOS_CUDA_OPTIONS, values = {force_uvm}, {use_ldg}, {rdc}, {enable_lambda}, default = {enable_lambda} :ul
+
+KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not
+migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be
+used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not
+necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP
+provides alternative methods via environment variables for binding
+threads to hardware cores.  More info on binding threads to cores is
+given on the "Speed omp"_Speed_omp.html doc page.
+
+KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism
+on most Unix platforms. This library is not available on all
+platforms.
+
+KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style
+within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time
+debugging information that can be useful. It also enables runtime
+bounds checking on Kokkos data structures.
+
+KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when
+building LAMMPS.
+
+KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS
+package must be compiled with the {enable_lambda} option when using
+GPUs.
+
+[Restrictions:]
+
+Currently, there are no precision options with the KOKKOS package. All
+compilation and computation is performed in double precision.
-- 
GitLab