"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws -
"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
Section"_Section_accelerate.html :c

:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)

:line

4. Packages :h3

This section gives a quick overview of the add-on packages that extend
LAMMPS functionality.

4.1 "Standard packages"_#pkg_1
4.2 "User packages"_#pkg_2 :all(b)

LAMMPS includes many optional packages, which are groups of files that
enable a specific set of features.  For example, force fields for
molecular systems or granular systems are in packages.  You can see
the list of all packages by typing "make package" from within the src
directory of the LAMMPS distribution.

See "Section_start 3"_Section_start.html#start_3 of the manual for
details on how to include/exclude specific packages as part of the
LAMMPS build process, and for more details about the differences
between standard packages and user packages in LAMMPS.

Below, the packages currently availabe in LAMMPS are listed.  For
standard packages, just a one-line description is given.  For user
packages, more details are provided.

:line
:line

4.1 Standard packages :h4,link(pkg_1)

The current list of standard packages is as follows:

Package, Description, Author(s), Doc page, Example, Library
ASPHERE, aspherical particles, -, "Section_howto"_Section_howto.html#howto_14, ellipse, -
CLASS2, class 2 force fields, -, "pair_style lj/class2"_pair_class2.html, -, -
COLLOID, colloidal particles, -, "atom_style colloid"_atom_style.html, colloid, -
DIPOLE, point dipole particles, -, "pair_style dipole/cut"_pair_dipole.html, dipole, -
FLD, Fast Lubrication Dynamics, Kumar & Bybee & Higdon (1), "pair_style lubricateU"_pair_lubricateU.html, -, -
GPU, GPU-enabled potentials, Mike Brown (ORNL), "Section accelerate"_Section_accelerate.html#acc_6, gpu, lib/gpu
GRANULAR, granular systems, -, "Section_howto"_Section_howto.html#howto_6, pour, -
KIM, openKIM potentials, Smirichinski & Elliot & Tadmor (3), "pair_style kim"_pair_kim.html, kim, KIM
KSPACE, long-range Coulombic solvers, -, "kspace_style"_kspace_style.html, peptide, -
MANYBODY, many-body potentials, -, "pair_style tersoff"_pair_tersoff.html, shear, -
MEAM, modified EAM potential, Greg Wagner (Sandia), "pair_style meam"_pair_meam.html, meam, lib/meam
MC, Monte Carlo options, -, "fix gcmc"_fix_gcmc.html, -, -
MOLECULE, molecular system force fields, -, "Section_howto"_Section_howto.html#howto_3, peptide, -
OPT, optimized pair potentials, Fischer & Richie & Natoli (2), "Section accelerate"_Section_accelerate.html#acc_4, -, -
PERI, Peridynamics models, Mike Parks (Sandia), "pair_style peri"_pair_peri.html, peri, -
POEMS, coupled rigid body motion, Rudra Mukherjee (JPL), "fix poems"_fix_poems.html, rigid, lib/poems
REAX, ReaxFF potential, Aidan Thompson (Sandia), "pair_style reax"_pair_reax.html, reax,  lib/reax
REPLICA, multi-replica methods, -, "Section_howto"_Section_howto.html#howto_5, tad, -
RIGID, rigid bodies, -, "fix rigid"_fix_rigid.html, rigid, -
SHOCK, shock loading methods, -, "fix msst"_fix_msst.html, -, -
SRD, stochastic rotation dynamics, -, "fix srd"_fix_srd.html, srd, -
VORONOI, Voronoi tesselations, Daniel Schwen (LANL), "compute voronoi/atom"_compute_voronoi_atom.html, -, Voro++
XTC, dumps in XTC format, -, "dump"_dump.html, -, -
:tb(ea=c)

The "Authors" column lists a name(s) if a specific person is
responible for creating and maintaining the package.

(1) The FLD package was created by Amit Kumar and Michael Bybee from
Jonathan Higdon's group at UIUC.

(2) The OPT package was created by James Fischer (High Performance
Technologies), David Richie, and Vincent Natoli (Stone Ridge
Technolgy).

(3) The KIM package was created by Valeriu Smirichinski, Ryan Elliott,
and Ellad Tadmor (U Minn).

The "Doc page" column links to either a portion of the
"Section_howto"_Section_howto.html of the manual, or an input script
command implemented as part of the package.

The "Example" column is a sub-directory in the examples directory of
the distribution which has an input script that uses the package.
E.g. "peptide" refers to the examples/peptide directory.

The "Library" column lists an external library which must be built
first and which LAMMPS links to when it is built.  If it is listed as
lib/package, then the code for the library is under the lib directory
of the LAMMPS distribution.  See the lib/package/README file for info
on how to build the library.  If it is not listed as lib/package, then
it is a third-party library not included in the LAMMPS distribution.
See the src/package/README or src/package/Makefile.lammps file for
info on where to download the library.  "Section
start"_Section_start.html#start_3_3 of the manual also gives details
on how to build LAMMPS with both kinds of auxiliary libraries.

:line
:line

4.2 User packages :h4,link(pkg_2)

The current list of user-contributed packages is as follows:

Package, Description, Author(s), Doc page, Example, Pic/movie, Library
USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (2), "fix atc"_fix_atc.html, USER/atc, "atc"_atc, lib/atc
USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd
USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, -
USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (3), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars
USER-CUDA, NVIDIA GPU styles, Christian Trott (U Tech Ilmenau), "Section accelerate"_Section_accelerate.html#acc_7, USER/cuda, -, lib/cuda
USER-EFF, electron force field, Andres Jaramillo-Botero (Caltech), "pair_style eff/cut"_pair_eff.html, USER/eff, "eff"_eff, -
USER-LB, Lattice Boltzmann fluid, Colin Denniston (U Western Ontario), "fix lb/fluid"_fix_lb_fluid.html, USER/lb, -, -
USER-MISC, single-file contributions, USER-MISC/README, USER-MISC/README, -, -, -
USER-MOLFILE, "VMD"_VMD molfile plug-ins, Axel Kohlmeyer (Temple U), "dump molfile"_dump_molfile.html, -, -, VMD-MOLFILE
USER-OMP, OpenMP threaded styles, Axel Kohlmeyer (Temple U), "Section accelerate"_Section_accelerate.html#acc_5, -, -, -
USER-REAXC, C version of ReaxFF, Metin Aktulga (LBNL), "pair_style reaxc"_pair_reax_c.html, reax, -, -
USER-SPH, smoothed particle hydrodynamics, Georg Ganzenmuller (EMI), "userguide.pdf"_USER/sph/SPH_LAMMPS_userguide.pdf, USER/sph, "sph"_sph, -
:tb(ea=c)

:link(atc,http://lammps.sandia.gov/pictures.html#atc)
:link(cg,http://lammps.sandia.gov/pictures.html#cg)
:link(eff,http://lammps.sandia.gov/movies.html#eff)
:link(sph,http://lammps.sandia.gov/movies.html#sph)
:link(VMD,http://www.ks.uiuc.edu/Research/vmd)

The "Authors" column lists a name(s) if a specific person is
responible for creating and maintaining the package.

If the Library is not listed as lib/package, then it is a third-party
library not included in the LAMMPS distribution.  See the
src/package/Makefile.lammps file for info on where to download the
library from.

(2) The ATC package was created by Reese Jones, Jeremy Templeton, and
Jon Zimmerman (Sandia).

(3) The COLVARS package was created by Axel Kohlmeyer (Temple U) using
the colvars module library written by Giacomo Fiorin (Temple U) and
Jerome Henin (LISM, Marseille, France).

The "Doc page" column links to either a portion of the
"Section_howto"_Section_howto.html of the manual, or an input script
command implemented as part of the package, or to additional
documentation provided witht he package.

The "Example" column is a sub-directory in the examples directory of
the distribution which has an input script that uses the package.
E.g. "peptide" refers to the examples/peptide directory.  USER/cuda
refers to the examples/USER/cuda directory.

The "Library" column lists an external library which must be built
first and which LAMMPS links to when it is built.  If it is listed as
lib/package, then the code for the library is under the lib directory
of the LAMMPS distribution.  See the lib/package/README file for info
on how to build the library.  If it is not listed as lib/package, then
it is a third-party library not included in the LAMMPS distribution.
See the src/package/Makefile.lammps file for info on where to download
the library.  "Section start"_Section_start.html#start_3_3 of the
manual also gives details on how to build LAMMPS with both kinds of
auxiliary libraries.

More details on each package, from the USER-*/README file is given
below.

:line

USER-MISC package :h4

The files in this package are a potpourri of (mostly) unrelated
features contributed to LAMMPS by users.  Each feature is a single
pair of files (*.cpp and *.h).

More information about each feature can be found by reading its doc
page in the LAMMPS doc directory.  The doc page which lists all LAMMPS
input script commands is as follows:

"Section_commands"_Section_commands.html#cmd_5

User-contributed features are listed at the bottom of the fix,
compute, pair, etc sections.

The list of features and author of each is given in the
src/USER-MISC/README file.

You should contact the author directly if you have specific questions
about the feature or its coding.

:line

USER-ATC package :h4

This package implements a "fix atc" command which can be used in a
LAMMPS input script.  This fix can be employed to either do concurrent
coupling of MD with FE-based physics surrogates or on-the-fly
post-processing of atomic information to continuum fields.

See the doc page for the fix atc command to get started.  At the
bottom of the doc page are many links to additional documentation
contained in the doc/USER/atc directory.

There are example scripts for using this package in examples/USER/atc.

This package uses an external library in lib/atc which must be
compiled before making LAMMPS.  See the lib/atc/README file and the
LAMMPS manual for information on building LAMMPS with external
libraries.

The primary people who created this package are Reese Jones (rjones at
sandia.gov), Jeremy Templeton (jatempl at sandia.gov) and Jon
Zimmerman (jzimmer at sandia.gov) at Sandia.  Contact them directly if
you have questions.

:line

USER-AWPMD package :h4

This package contains a LAMMPS implementation of the Antisymmetrized
Wave Packet Molecular Dynamics (AWPMD) method.

See the doc page for the pair_style awpmd/cut command to get started.

There are example scripts for using this package in examples/USER/awpmd.

This package uses an external library in lib/awpmd which must be
compiled before making LAMMPS.  See the lib/awpmd/README file and the
LAMMPS manual for information on building LAMMPS with external
libraries.

The person who created this package is Ilya Valuev at the JIHT in
Russia (valuev at physik.hu-berlin.de).  Contact him directly if you
have questions.

:line

USER-COLVARS package :h4

This package implements the "fix colvars" command which can be
used in a LAMMPS input script.

This fix allows to use "collective variables" to implement
Adaptive Biasing Force, Metadynamics, Steered MD, Umbrella
Sampling and Restraints. This code consists of two parts:

A portable collective variable module library written and maintained by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and Jerome Henin (LISM, CNRS, Marseille, France). This code is located in the directory lib/colvars and needs to be compiled first.
The colvars fix and an interface layer, exchanges information between LAMMPS and the collective variable module. :ul

See the doc page of "fix colvars"_fix_colvars.html for more details.

There are example scripts for using this package in
examples/USER/colvars

This is a very new interface that does not yet support all
features in the module and will see future optimizations
and improvements. The colvars module library is also available
in NAMD has been thoroughly used and tested there. Bugs and
problems are likely due to the interface layers code.
Thus the current version of this package should be considered
beta quality.

The person who created this package is Axel Kohlmeyer at Temple U
(akohlmey at gmail.com).  Contact him directly if you have questions.

:line

USER-CG-CMM package :h4

This package implements 3 commands which can be used in a LAMMPS input
script:

pair_style lj/sdk
pair_style lj/sdk/coul/long
angle_style sdk :ul

These styles allow coarse grained MD simulations with the
parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007)
(SDK), with extensions to simulate ionic liquids, electrolytes, lipids
and charged amino acids.

See the doc pages for these commands for details.

There are example scripts for using this package in
examples/USER/cg-cmm.

This is the second generation implementation reducing the the clutter
of the previous version. For many systems with electrostatics, it will
be faster to use pair_style hybrid/overlay with lj/sdk and coul/long
instead of the combined lj/sdk/coul/long style.  since the number of
charged atom types is usually small.  For any other coulomb
interactions this is now required.  To exploit this property, the use
of the kspace_style pppm/cg is recommended over regular pppm. For all
new styles, input file backward compatibility is provided.  The old
implementation is still available through appending the /old
suffix. These will be discontinued and removed after the new
implementation has been fully validated.

The current version of this package should be considered beta
quality. The CG potentials work correctly for "normal" situations, but
have not been testing with all kinds of potential parameters and
simulation systems.

The person who created this package is Axel Kohlmeyer at Temple U
(akohlmey at gmail.com).  Contact him directly if you have questions.

:line

USER-CUDA package :h4

This package provides acceleration of various LAMMPS pair styles, fix
styles, compute styles, and long-range Coulombics via PPPM for NVIDIA
GPUs.
 
See this section of the manual to get started:

"Section_accelerate"_Section_accelerate.html#acc_7

There are example scripts for using this package in
examples/USER/cuda.

This package uses an external library in lib/cuda which must be
compiled before making LAMMPS.  See the lib/cuda/README file and the
LAMMPS manual for information on building LAMMPS with external
libraries.

The person who created this package is Christian Trott at the
University of Technology Ilmenau, Germany (christian.trott at
tu-ilmenau.de).  Contact him directly if you have questions.

:line

USER-EFF package :h4

This package contains a LAMMPS implementation of the electron Force
Field (eFF) currently under development at Caltech, 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.

eFF can be viewed as an approximation to QM wave packet dynamics and
Fermionic molecular dynamics, combining the ability of electronic
structure methods to describe atomic structure, bonding, and chemistry
in materials, and of plasma methods to describe nonequilibrium
dynamics of large systems with a large number of highly excited
electrons. We classify it as a mixed QM-classical approach rather than
a conventional force field method, which introduces QM-based terms (a
spin-dependent repulsion term to account for the Pauli exclusion
principle and the electron wavefunction kinetic energy associated with
the Heisenberg principle) that reduce, along with classical
electrostatic terms between nuclei and electrons, to the sum of a set
of effective pairwise potentials.  This makes eFF uniquely suited to
simulate materials over a wide range of temperatures and pressures
where electronically excited and ionized states of matter can occur
and coexist.

The necessary customizations to the LAMMPS core are in place to
enable the correct handling of explicit electron properties during
minimization and dynamics.

See the doc page for the pair_style eff/cut command to get started.

There are example scripts for using this package in
examples/USER/eff.

There are auxiliary tools for using this package in tools/eff.

The person who created this package is Andres Jaramillo-Botero at
CalTech (ajaramil at wag.caltech.edu).  Contact him directly if you
have questions.

:line

USER-OMP package :h4

This package provides OpenMP multi-threading support and
other optimizations of various LAMMPS pair styles, dihedral
styles, and fix styles.
 
See this section of the manual to get started:

"Section_accelerate"_Section_accelerate.html#acc_5

The person who created this package is Axel Kohlmeyer at Temple U
(akohlmey at gmail.com).  Contact him directly if you have questions.

:line

USER-REAXC package :h4

This package contains a implementation for LAMMPS of the ReaxFF force
field.  ReaxFF uses distance-dependent bond-order functions to
represent the contributions of chemical bonding to the potential
energy.  It was originally developed by Adri van Duin and the Goddard
group at CalTech.

The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in
C, should give identical or very similar results to pair_style reax,
which is a ReaxFF implementation on top of a Fortran library, a
version of which library was originally authored by Adri van Duin.

The reax/c version should be somewhat faster and more scalable,
particularly with respect to the charge equilibration calculation.  It
should also be easier to build and use since there are no complicating
issues with Fortran memory allocation or linking to a Fortran library.

For technical details about this implemention of ReaxFF, see
this paper:

Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods
and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty,
S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011).

See the doc page for the pair_style reax/c command for details
of how to use it in LAMMPS.

The person who created this package is Hasan Metin Aktulga (hmaktulga
at lbl.gov), while at Purdue University.  Contact him directly, or
Aidan Thompson at Sandia (athomps at sandia.gov), if you have
questions.

:line

USER-SPH package :h4

This package implements smoothed particle hydrodynamics (SPH) in
LAMMPS.  Currently, the package has the following features:

* Tait, ideal gas, Lennard-Jones equation of states, full support for 
  complete (i.e. internal-energy dependent) equations of state
* plain or Monaghans XSPH integration of the equations of motion
* density continuity or density summation to propagate the density field
* commands to set internal energy and density of particles from the 
  input script
* output commands to access internal energy and density for dumping and 
  thermo output

See the file doc/USER/sph/SPH_LAMMPS_userguide.pdf to get started.

There are example scripts for using this package in examples/USER/sph.

The person who created this package is Georg Ganzenmuller at the
Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in
Germany (georg.ganzenmueller at emi.fhg.de).  Contact him directly if
you have questions.
