4. Packages

This section gives an overview of the add-on optional packages that extend LAMMPS functionality. Packages 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.

Here are links for two tables below, which list standard and user packages.

Section_start 3 of the manual describes the difference between standard packages and user packages. It also has general details on how to include/exclude specific packages as part of the LAMMPS build process, and on how to build auxiliary libraries or modify a machine Makefile if a package requires it.

Following the two tables below, is a sub-section for each package. It has a summary of what the package contains. It has specific instructions on how to install it, build or obtain any auxiliary library it requires, and any Makefile.machine changes it requires. It also lists pointers to examples of its use or documentation provided in the LAMMPS distribution.

Note

The sub-sections below are still being filled in, as of Feb 2016.

Unless otherwise noted below, every package is independent of all the others. I.e. any package can be included or excluded in a LAMMPS build, independent of all other packages. However, note that some packages include commands derived from commands in other packages. If the other package is not installed, the derived command from the new package will also not be installed when you include the new one. E.g. the pair lj/cut/coul/long/omp command from the USER-OMP package will not be installed as part of the USER-OMP package if the KSPACE package is not also installed, since it contains the pair lj/cut/coul/long command. If you later install the KSPACE package and the USER-OMP package is already installed, both the pair lj/cut/coul/long and lj/cut/coul/long/omp commands will be installed.


4.1. Standard packages

The current list of standard packages is as follows. Each package name links to a sub-section below with more details.

Package Description Author(s) Doc page Example Library
ASPHERE aspherical particles
Section_howto 6.14 ellipse
BODY body-style particles
body body
CLASS2 class 2 force fields
pair_style lj/class2
COLLOID colloidal particles
atom_style colloid colloid
COMPRESS I/O compression Axel Kohlmeyer (Temple U) dump */gz
CORESHELL adiabatic core/shell model Hendrik Heenen (Technical U of Munich) Section_howto 6.25 coreshell
DIPOLE point dipole particles
pair_style dipole/cut dipole
FLD Fast Lubrication Dynamics Kumar & Bybee & Higdon (1) pair_style lubricateU
GPU GPU-enabled styles Mike Brown (ORNL) Section accelerate gpu lib/gpu
GRANULAR granular systems
Section_howto 6.6 pour
KIM openKIM potentials Smirichinski & Elliot & Tadmor (3) pair_style kim kim KIM
KOKKOS Kokkos-enabled styles Trott & Edwards (4) Section_accelerate kokkos lib/kokkos
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 6.3 peptide
OPT optimized pair styles 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
PYTHON embed Python code in an input script
python python lib/python
REAX ReaxFF potential Aidan Thompson (Sandia) pair_style reax reax lib/reax
REPLICA multi-replica methods
Section_howto 6.5 tad
RIGID rigid bodies
fix rigid rigid
SHOCK shock loading methods
fix msst
SNAP quantum-fit potential Aidan Thompson (Sandia) pair snap snap
SRD stochastic rotation dynamics
fix srd srd
VORONOI Voronoi tesselations Daniel Schwen (LANL) compute voronoi/atom
Voro++
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).

(4) The KOKKOS package was created primarily by Christian Trott (Sandia). It uses the Kokkos library which was developed by Carter Edwards, Christian, and collaborators at Sandia.

The “Doc page” column links to either a sub-section of the Section_howto of the manual, or an input script command implemented as part of the package, or to additional documentation provided within 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 details on all of this below for individual packages. p.s.: are we ever going to get commit messages from you? ;-)


4.1.1. ASPHERE package

Contents: Aspherical particle models for ellipsoids, 2d lines, 3d triangles.

To install via make or Make.py:

make yes-asphere
make machine
Make.py -p asphere -a machine

To un-install via make or Make.py:

make no-asphere
make machine
Make.py -p ^asphere -a machine

Supporting info: examples/ASPHERE, examples/ellipse, Section howto 6.14, pair gayberne


4.1.2. BODY package

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info: examples/body


4.1.3. CLASS2 package

Contents:

To install via make or Make.py:

make yes-class2
make machine
Make.py -p class2 -a machine

To un-install via make or Make.py:

make no-class2
make machine
Make.py -p ^class2 -a machine

Supporting info:


4.1.4. COLLOID package

Contents:

To install via make or Make.py:

make yes-colloid
make machine
Make.py -p colloid -a machine

To un-install via make or Make.py:

make no-colloid
make machine
Make.py -p ^colloid -a machine

Supporting info: examples/colloid, examples/srd


4.1.5. COMPRESS package

Contents:

To install via make or Make.py:

make yes-compress
make machine
Make.py -p compress -a machine

To un-install via make or Make.py:

make no-compress
make machine
Make.py -p ^compress -a machine

Supporting info:


4.1.6. CORESHELL package

Contents:

To install via make or Make.py:

make yes-coreshell
make machine
Make.py -p coreshell -a machine

To un-install via make or Make.py:

make no-coreshell
make machine
Make.py -p ^coreshell -a machine

Supporting info: examples/coreshell, Section howto 6.26


4.1.7. DIPOLE package

Contents:

To install via make or Make.py:

make yes-dipole
make machine
Make.py -p dipole -a machine

To un-install via make or Make.py:

make no-dipole
make machine
Make.py -p ^dipole -a machine

Supporting info: examples/dipole


4.1.8. FLD package

Contents:

To install via make or Make.py:

make yes-fld
make machine
Make.py -p fld -a machine

To un-install via make or Make.py:

make no-fld
make machine
Make.py -p ^fld -a machine

Supporting info:


4.1.9. GPU package

Contents:

To install via make or Make.py:

make yes-gpu
make machine
Make.py -p gpu -a machine

To un-install via make or Make.py:

make no-gpu
make machine
Make.py -p ^gpu -a machine

Supporting info: examples/accelerate, bench/FERMI, bench/KEPLER


4.1.10. GRANULAR package

Contents:

To install via make or Make.py:

make yes-granular
make machine
Make.py -p granular -a machine

To un-install via make or Make.py:

make no-granular
make machine
Make.py -p ^granular -a machine

Supporting info: examples/pour, bench/in.chute, Section howto 6.6


4.1.11. KIM package

Contents:

To install via make or Make.py:

make yes-kim
make machine
Make.py -p kim -a machine

To un-install via make or Make.py:

make no-kim
make machine
Make.py -p ^kim -a machine

Supporting info: examples/kim


4.1.12. KOKKOS package

Contents:

To install via make or Make.py:

make yes-kokkow
make machine
Make.py -p kokkow -a machine

To un-install via make or Make.py:

make no-kokkow
make machine
Make.py -p ^kokkow -a machine

Supporting info:

For the KOKKOS package, you have 3 choices when building. You can build with OMP or Cuda or Phi support. Phi support uses Xeon Phi chips in “native” mode. This can be done by setting the following variables in your Makefile.machine:

  • for OMP support, set OMP = yes
  • for Cuda support, set OMP = yes and CUDA = yes
  • for Phi support, set OMP = yes and MIC = yes

These can also be set as additional arguments to the make command, e.g.

make g++ OMP=yes MIC=yes

Building the KOKKOS package with CUDA support requires a Makefile machine that uses the NVIDIA “nvcc” compiler, as well as an appropriate “arch” setting appropriate to the GPU hardware and NVIDIA software you have on your machine. See src/MAKE/OPTIONS/Makefile.kokkos_cuda for an example of such a machine Makefile.

Examples: examples/accelerate, bench/FERMI, bench/KEPLER


4.1.13. KSPACE package

Contents:

To install via make or Make.py:

make yes-kspace
make machine
Make.py -p kspace -a machine

To un-install via make or Make.py:

make no-kspace
make machine
Make.py -p ^kspace -a machine

Supporting info:

Examples: examples/peptide, bench/in.rhodo

Doc: Section howto 6.7, Section howto 6.8, Section howto 6.9


4.1.14. MANYBODY package

Contents:

To install via make or Make.py:

make yes-manybody
make machine
Make.py -p manybody -a machine

To un-install via make or Make.py:

make no-manybody
make machine
Make.py -p ^manybody -a machine

Supporting info:

Examples: examples/comb, examples/eim, examples/nb3d, examples/vashishta


4.1.15. MC package

Contents:

To install via make or Make.py:

make yes-mc
make machine
Make.py -p mc -a machine

To un-install via make or Make.py:

make no-mc
make machine
Make.py -p ^mc -a machine

Supporting info:


4.1.16. MEAM package

Contents:

To install via make or Make.py:

make yes-meam
make machine
Make.py -p meam -a machine

To un-install via make or Make.py:

make no-meam
make machine
Make.py -p ^meam -a machine

Supporting info: examples/meam


4.1.17. MISC package

Contents:

To install via make or Make.py:

make yes-misc
make machine
Make.py -p misc -a machine

To un-install via make or Make.py:

make no-misc
make machine
Make.py -p ^misc -a machine

Supporting info: examples/misc


4.1.18. MOLECULE package

Contents:

To install via make or Make.py:

make yes-molecule
make machine
Make.py -p molecule -a machine

To un-install via make or Make.py:

make no-molecule
make machine
Make.py -p ^molecule -a machine

Supporting info: examples/micelle, examples/peptide, bench/in.chain, bench/in.rhodo, Section howto 6.3


4.1.19. MPIIO package

Contents:

To install via make or Make.py:

make yes-mpiio
make machine
Make.py -p mpiio -a machine

To un-install via make or Make.py:

make no-mpiio
make machine
Make.py -p ^mpiio -a machine

Supporting info:


4.1.20. OPT package

Contents:

To install via make or Make.py:

make yes-opt
make machine
Make.py -p opt -a machine

To un-install via make or Make.py:

make no-opt
make machine
Make.py -p ^opt -a machine

Supporting info: examples/accelerate, bench/KEPLER

For the OPT package, your Makefile.machine needs an additional settings for CCFLAGS.

  • CCFLAGS: add -restrict

4.1.21. PERI package

Contents:

To install via make or Make.py:

make yes-peri
make machine
Make.py -p peri -a machine

To un-install via make or Make.py:

make no-peri
make machine
Make.py -p ^peri -a machine

Supporting info: examples/peri


4.1.22. POEMS package

Contents:

To install via make or Make.py:

make yes-poems
make machine
Make.py -p poems -a machine

To un-install via make or Make.py:

make no-poems
make machine
Make.py -p ^poems -a machine

Supporting info: examples/rigid


4.1.23. PYTHON package

Contents:

To install via make or Make.py:

make yes-python
make machine
Make.py -p python -a machine

To un-install via make or Make.py:

make no-python
make machine
Make.py -p ^python -a machine

Supporting info: examples/python


4.1.24. QEQ package

Contents:

To install via make or Make.py:

make yes-qeq
make machine
Make.py -p qeq -a machine

To un-install via make or Make.py:

make no-qeq
make machine
Make.py -p ^qeq -a machine

Supporting info: examples/qeq


4.1.25. REAX package

Contents:

To install via make or Make.py:

make yes-reax
make machine
Make.py -p reax -a machine

To un-install via make or Make.py:

make no-reax
make machine
Make.py -p ^reax -a machine

Supporting info: examples/reax


4.1.26. REPLICA package

Contents:

To install via make or Make.py:

make yes-replica
make machine
Make.py -p replica -a machine

To un-install via make or Make.py:

make no-replica
make machine
Make.py -p ^replica -a machine

Supporting info: examples/neb, examples/prd, examples/tad, Section howto 6.5


4.1.27. RIGID package

Contents:

To install via make or Make.py:

make yes-rigid
make machine
Make.py -p rigid -a machine

To un-install via make or Make.py:

make no-rigid
make machine
Make.py -p ^rigid -a machine

Supporting info: examples/ASPHERE, examples/rigid


4.1.28. SHOCK package

Contents:

To install via make or Make.py:

make yes-shock
make machine
Make.py -p shock -a machine

To un-install via make or Make.py:

make no-shock
make machine
Make.py -p ^shock -a machine

Supporting info: examples/hugoniostat, examples/msst


4.1.29. SNAP package

Contents:

To install via make or Make.py:

make yes-snap
make machine
Make.py -p snap -a machine

To un-install via make or Make.py:

make no-snap
make machine
Make.py -p ^snap -a machine

Supporting info: examples/snap


4.1.30. SRD package

Contents:

To install via make or Make.py:

make yes-srd
make machine
Make.py -p srd -a machine

To un-install via make or Make.py:

make no-srd
make machine
Make.py -p ^srd -a machine

Supporting info:


4.1.31. VORONOI package

Contents:

To install via make or Make.py:

make yes-voronoi
make machine
Make.py -p voronoi -a machine

To un-install via make or Make.py:

make no-voronoi
make machine
Make.py -p ^voronoi -a machine

Supporting info: examples/voronoi


4.1.32. XTC package

Contents:

To install via make or Make.py:

make yes-xtc
make machine
Make.py -p xtc -a machine

To un-install via make or Make.py:

make no-xtc
make machine
Make.py -p ^xtc -a machine

Supporting info:


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-ATC atom-to-continuum coupling Jones & Templeton & Zimmerman (1) 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 (2) fix colvars USER/colvars colvars lib/colvars
USER-CUDA NVIDIA GPU styles Christian Trott (U Tech Ilmenau) Section accelerate USER/cuda
lib/cuda
USER-DIFFRACTION virutal x-ray and electron diffraction Shawn Coleman (ARL) compute xrd USER/diffraction
USER-DPD dissipative particle dynamics (DPD) Larentzos & Mattox & Brennan (5) src/USER-DPD/README USER/dpd
USER-DRUDE Drude oscillators Dequidt & Devemy & Padua (3) tutorial USER/drude
USER-EFF electron force field Andres Jaramillo-Botero (Caltech) pair_style eff/cut USER/eff eff
USER-FEP free energy perturbation Agilio Padua (U Blaise Pascal Clermont-Ferrand) compute fep USER/fep
USER-H5MD dump output via HDF5 Pierre de Buyl (KU Leuven) dump h5md
lib/h5md
USER-INTEL Vectorized CPU and Intel(R) coprocessor styles
  1. Michael Brown (Intel)
Section accelerate examples/intel
USER-LB Lattice Boltzmann fluid Colin Denniston (U Western Ontario) fix lb/fluid USER/lb
USER-MGPT fast MGPT multi-ion potentials Tomas Oppelstrup & John Moriarty (LLNL) pair_style mgpt USER/mgpt
USER-MISC single-file contributions USER-MISC/README USER-MISC/README
USER-MOLFILE VMD molfile plug-ins Axel Kohlmeyer (Temple U) dump molfile
VMD-MOLFILE
USER-OMP OpenMP threaded styles Axel Kohlmeyer (Temple U) Section accelerate
USER-PHONON phonon dynamical matrix Ling-Ti Kong (Shanghai Jiao Tong U) fix phonon USER/phonon
USER-QMMM QM/MM coupling Axel Kohlmeyer (Temple U) fix qmmm USER/qmmm
lib/qmmm
USER-QTB quantum nuclear effects Yuan Shen (Stanford) fix qtb fix_qbmsst qtb
USER-QUIP QUIP/libatoms interface Albert Bartok-Partay (U Cambridge) pair_style quip USER/quip
lib/quip
USER-REAXC C version of ReaxFF Metin Aktulga (LBNL) pair_style reaxc reax
USER-SMD smoothed Mach dynamics Georg Ganzenmuller (EMI) userguide.pdf USER/smd
USER-SMTBQ Second Moment Tight Binding - QEq potential Salles & Maras & Politano & Tetot (4) pair_style smtbq USER/smtbq
USER-SPH smoothed particle hydrodynamics Georg Ganzenmuller (EMI) userguide.pdf USER/sph sph
USER-TALLY Pairwise tallied computes Axel Kohlmeyer (Temple U) compute USER/tally
USER-VTK VTK-style dumps Berger and Queteschiner (6) compute custom/vtk
lib/vtk
             

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

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

(2) 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).

(3) The DRUDE package was created by Alain Dequidt (U Blaise Pascal Clermont-Ferrand) and co-authors Julien Devemy (CNRS) and Agilio Padua (U Blaise Pascal).

(4) The SMTBQ package was created by Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS, France).

(5) The USER-DPD package was created by James Larentzos (ARL), Timothy Mattox (Engility), and John Brennan (ARL).

(6) The USER-VTK package was created by Richard Berger (JKU) and Daniel Queteschiner (DCS Computing).

The “Doc page” column links to either a sub-section of the Section_howto of the manual, or an input script command implemented as part of the package, or to additional documentation provided within 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. 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 details on all of this below for individual packages.


4.2.1. USER-ATC package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

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.

Examples: examples/USER/atc


4.2.2. USER-AWPMD package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

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.

Examples: examples/USER/awpmd


4.2.3. USER-CG-CMM package

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info:

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.

Examples: examples/USER/cg-cmm


4.2.4. USER-COLVARS package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

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.

Examples: examples/USER/colvars

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:


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

Examples: examples/accelerate, bench/FERMI, bench/KEPLER

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:


4.2.6. USER-DIFFRACTION package

This package contains the commands neeed to calculate x-ray and electron diffraction intensities based on kinematic diffraction theory.

See these doc pages and their related commands to get started:

The person who created this package is Shawn P. Coleman (shawn.p.coleman8.ctr at mail.mil) while at the University of Arkansas. Contact him directly if you have questions.

Examples: examples/USER/diffraction

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info:


4.2.7. USER-DPD package

This package implements the dissipative particle dynamics (DPD) method under isothermal, isoenergetic, isobaric and isenthalpic conditions. The DPD equations of motion are integrated efficiently through the Shardlow splitting algorithm.

See these doc pages and their related commands to get started:

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

The people who created this package are James Larentzos (james.p.larentzos.civ at mail.mil), Timothy Mattox (Timothy.Mattox at engilitycorp.com) and John Brennan (john.k.brennan.civ at mail.mil). Contact them directly if you have questions.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/dpd


4.2.8. USER-DRUDE package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package implements methods for simulating polarizable systems in LAMMPS using thermalized Drude oscillators.

See these doc pages and their related commands to get started:

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

The person who created this package is Alain Dequidt at Universite Blaise Pascal Clermont-Ferrand (alain.dequidt at univ-bpclermont.fr) Contact him directly if you have questions. Co-authors: Julien Devemy, Agilio Padua.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/drude

Doc: Section howto 6.27


4.2.9. USER-EFF package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

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.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/eff


4.2.10. USER-FEP package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package provides methods for performing free energy perturbation simulations with soft-core pair potentials in LAMMPS.

See these doc pages and their related commands to get started:

The person who created this package is Agilio Padua at Universite Blaise Pascal Clermont-Ferrand (agilio.padua at univ-bpclermont.fr) Contact him directly if you have questions.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/fep


4.2.11. USER-H5MD package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package contains a dump h5md command for performing a dump of atom properties in HDF5 format. HDF5 files are binary, portable and self-describing and can be examined and used by a variety of auxiliary tools. The output HDF5 files are structured in a format called H5MD, which was designed to store molecular data, and can be used and produced by various MD and MD-related codes. The dump h5md command gives a citation to a paper describing the format.

The person who created this package and the underlying H5MD format is Pierre de Buyl at KU Leuven (see http://pdebuyl.be). Contact him directly if you have questions.


4.2.12. USER-INTEL package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package provides options for performing neighbor list and non-bonded force calculations in single, mixed, or double precision and also a capability for accelerating calculations with an Intel(R) Xeon Phi(TM) coprocessor.

See this section of the manual to get started:

Section_accelerate

The person who created this package is W. Michael Brown at Intel (michael.w.brown at intel.com). Contact him directly if you have questions.

For the USER-INTEL package, you have 2 choices when building. You can build with CPU or Phi support. The latter uses Xeon Phi chips in “offload” mode. Each of these modes requires additional settings in your Makefile.machine for CCFLAGS and LINKFLAGS.

For CPU mode (if using an Intel compiler):

  • CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits
  • LINKFLAGS: add -fopenmp

For Phi mode add the following in addition to the CPU mode flags:

  • CCFLAGS: add -DLMP_INTEL_OFFLOAD and
  • LINKFLAGS: add -offload

And also add this to CCFLAGS:

-offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs="gather_scatter_loop_unroll=4""

Examples: examples/accelerate, bench/KEPLER


4.2.13. USER-LB package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package contains a LAMMPS implementation of a background Lattice-Boltzmann fluid, which can be used to model MD particles influenced by hydrodynamic forces.

See this doc page and its related commands to get started:

fix lb/fluid

The people who created this package are Frances Mackay (fmackay at uwo.ca) and Colin (cdennist at uwo.ca) Denniston, University of Western Ontario. Contact them directly if you have questions.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/lb


4.2.14. USER-MGPT package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package contains a fast implementation for LAMMPS of 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 Lawrence Livermore National Lab (LLNL).

In the general matrix representation of MGPT, which can also be applied to f-band actinide metals, the multi-ion potentials are evaluated on the fly during a simulation through d- or f-state matrix multiplication, and the forces that move the ions are determined analytically. The mgpt pair style in this package calculates forces and energies using an optimized matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL.

See this doc page to get started:

pair_style mgpt

The persons who created the USER-MGPT package are Tomas Oppelstrup (oppelstrup2@llnl.gov) and John Moriarty (moriarty2@llnl.gov) Contact them directly if you have any questions.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/mgpt


4.2.15. USER-MISC package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

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.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/misc


4.2.16. USER-MOLFILE package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package contains a dump molfile command which uses molfile plugins that are bundled with the VMD molecular visualization and analysis program, to enable LAMMPS to dump its information in formats compatible with various molecular simulation tools.

The package only provides the interface code, not the plugins. These 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.

See this doc page to get started:

dump molfile

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


4.2.17. USER-OMP package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

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.

For the USER-OMP package, your Makefile.machine needs additional settings for CCFLAGS and LINKFLAGS.

  • CCFLAGS: add -fopenmp and -restrict
  • LINKFLAGS: add -fopenmp

Examples: examples/accelerate, bench/KEPLER


4.2.18. USER-PHONON package

This package contains a fix phonon command that calculates dynamical matrices, which can then be used to compute phonon dispersion relations, directly from molecular dynamics simulations.

See this doc page to get started:

fix phonon

The person who created this package is Ling-Ti Kong (konglt at sjtu.edu.cn) at Shanghai Jiao Tong University. Contact him directly if you have questions.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/phonon


4.2.19. USER-QMMM package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package provides a fix qmmm command which allows LAMMPS to be used in a QM/MM simulation, currently only in combination with pw.x code from the Quantum ESPRESSO package.

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.

See this doc page to get started:

fix qmmm

as well as the lib/qmmm/README file.

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


4.2.20. USER-QTB package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package provides a self-consistent quantum treatment of the 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, alter the energy power spectrum and the heat capacity towards their quantum nature. This package could be of interest if one wants to model systems at temperatures lower than their classical limits or when temperatures ramp up across the classical limits in the simulation.

See these two doc pages to get started:

fix qtb provides quantum nulcear correction through a colored thermostat and can be used with other time integration schemes like fix nve or fix nph.

fix qbmsst enables quantum nuclear correction of a multi-scale shock technique simulation by coupling the quantum thermal bath with the shocked system.

The person who created this package is Yuan Shen (sy0302 at stanford.edu) at Stanford University. Contact him directly if you have questions.

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Examples: examples/USER/qtb


4.2.21. USER-QUIP package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

Examples: examples/USER/quip


4.2.22. USER-REAXC package

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info:

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.

Examples: examples/reax


4.2.23. USER-SMD package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

This package implements smoothed Mach dynamics (SMD) in LAMMPS. Currently, the package has the following features:

  • Does liquids via traditional Smooth Particle Hydrodynamics (SPH)
  • Also solves solids mechanics problems via a state of the art stabilized meshless method with hourglass control.
  • Can specify hydrostatic interactions independently from material strength models, i.e. pressure and deviatoric stresses are separated.
  • Many material models available (Johnson-Cook, plasticity with hardening, Mie-Grueneisen, Polynomial EOS). Easy to add new material models.
  • Rigid boundary conditions (walls) can be loaded as surface geometries from *.STL files.

See the file doc/PDF/SMD_LAMMPS_userguide.pdf to get started.

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

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.

Examples: examples/USER/smd


4.2.24. USER-SMTBQ package

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info:

This package implements the Second Moment Tight Binding - QEq (SMTB-Q) potential for the description of ionocovalent bonds in oxides.

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

See this doc page to get started:

pair_style smtbq

The persons who created the USER-SMTBQ package are Nicolas Salles, Emile Maras, Olivier Politano, Robert Tetot, who can be contacted at these email addreses: lammps@u-bourgogne.fr, nsalles@laas.fr. Contact them directly if you have any questions.

Examples: examples/USER/smtbq


4.2.25. USER-SPH package

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info:

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

Examples: examples/USER/sph


4.2.26. USER-TALLY package

Contents:

To install via make or Make.py:

make yes-body
make machine
Make.py -p body -a machine

To un-install via make or Make.py:

make no-body
make machine
Make.py -p ^body -a machine

Supporting info:

Examples: examples/USER/tally


4.2.27. USER-VTK package

Contents:

To install via make or Make.py:

To un-install via make or Make.py:

Supporting info:

Examples: examples/USER/tally