Previous Section - LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands - Next Section

### 4. Packages

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

4.1 Standard packages
4.2 User packages

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 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.

#### 4.1 Standard packages

The current list of standard packages is as follows:

Package | Description | Author(s) | Doc page | Example | Library
ASPHERE | aspherical particles | - | Section_howto | ellipse | -
CLASS2 | class 2 force fields | - | pair_style lj/class2 | - | -
COLLOID | colloidal particles | - | atom_style colloid | colloid | -
DIPOLE | point dipole particles | - | pair_style dipole/cut | dipole | -
FLD | Fast Lubrication Dynamics | Kumar & Bybee & Higdon (1) | pair_style lubricateU | - | -
GPU | GPU-enabled potentials | Mike Brown (ORNL) | Section accelerate | gpu | lib/gpu
GRANULAR | granular systems | - | Section_howto | pour | -
KIM | openKIM potentials | Smirichinski & Elliot & Tadmor (3) | pair_style kim | kim | lib/kim
KSPACE | long-range Coulombic solvers | - | kspace_style | peptide | -
MANYBODY | many-body potentials | - | pair_style tersoff | shear | -
MEAM | modified EAM potential | Greg Wagner (Sandia) | pair_style meam | meam | lib/meam
MC | Monte Carlo options | - | fix gcmc | - | -
MOLECULE | molecular system force fields | - | Section_howto | peptide | -
OPT | optimized pair potentials | Fischer & Richie & Natoli (2) | Section accelerate | - | -
PERI | Peridynamics models | Mike Parks (Sandia) | pair_style peri | peri | -
POEMS | coupled rigid body motion | Rudra Mukherjee (JPL) | fix poems | rigid | lib/poems
REAX | ReaxFF potential | Aidan Thompson (Sandia) | pair_style reax | reax | lib/reax
REPLICA | multi-replica methods | - | Section_howto | tad | -
RIGID | rigid bodies | - | fix rigid | rigid | -
SHOCK | shock loading methods | - | fix msst | - | -
SRD | stochastic rotation dynamics | - | fix srd | srd | -
XTC | dumps in XTC format | - | dump | - | -

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 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. These are in the lib directory of the distribution. This section of the manual gives details on the 2-step build process with external libraries.

#### 4.2 User packages

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

Package | Description | Author(s) | Doc page | Example | Pic/movie | Library
USER-MISC | single-file contributions | USER-MISC/README | USER-MISC/README | - | - | -
USER-ATC | atom-to-continuum coupling | Jones & Templeton & Zimmerman (2) | fix atc | USER/atc | atc | lib/atc
USER-AWPMD | wave-packet MD | Ilya Valuev (JIHT) | pair_style awpmd/cut | USER/awpmd | - | lib/awpmd
USER-CG-CMM | coarse-graining model | Axel Kohlmeyer (Temple U) | pair_style lj/sdk | USER/cg-cmm | cg | -
USER-COLVARS | collective variables | Fiorin & Henin & Kohlmeyer (3) | fix colvars | USER/colvars | colvars | lib/colvars
USER-CUDA | NVIDIA GPU styles | Christian Trott (U Tech Ilmenau) | Section accelerate | USER/cuda | - | lib/cuda
USER-EFF | electron force field | Andres Jaramillo-Botero (Caltech) | pair_style eff/cut | USER/eff | eff | -
USER-MOLFILE | VMD molfile plug-ins | Axel Kohlmeyer (Temple U) | dump molfile | - | - | lib/molfile
USER-OMP | OpenMP threaded styles | Axel Kohlmeyer (Temple U) | Section accelerate | - | - | -
USER-REAXC | C version of ReaxFF | Metin Aktulga (LBNL) | pair_style reaxc | reax | - | -
USER-SPH | smoothed particle hydrodynamics | Georg Ganzenmuller (EMI) | userguide.pdf | USER/sph | sph | -

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

(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 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. These are in the lib directory of the distribution. This section of the manual gives details on the 2-step build process with external libraries.

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

#### USER-MISC package

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

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.

#### USER-ATC package

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.

#### USER-AWPMD package

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.

#### USER-COLVARS package

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.

See the doc page of fix colvars 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.

#### USER-CG-CMM package

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

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.

#### USER-CUDA package

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

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.

#### USER-EFF package

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.

#### USER-OMP package

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

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

#### USER-REAXC package

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.

#### USER-SPH package

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.