\(\renewcommand{\AA}{\text{Å}}\)

# 8. Optional packages

This section gives an overview of the optional packages included in the LAMMPS distribution that extend LAMMPS’ functionality. Packages are groups of files that enable a specific set of features. For example, force fields for molecular systems or rigid-body constraints are in packages. You can see the list of all packages and “make” commands to manage them by typing “make package” from within the src directory of the LAMMPS distribution. The list of packages that are included in a specific LAMMPS executable can be displayed by running LAMMPS with the “-h” flag.

The Build package page gives general info on how to install and uninstall packages as part of the LAMMPS build process.

External packages

In addition to packages included with LAMMPS there also are packages that are distributed independently and separate from LAMMPS. Some of them are part of a modified fork of the LAMMPS repository, others are add-on files that have to be integrated into the LAMMPS distribution first. The LAMMPS developers have in most cases no direct knowledge of those packages and which new commands and modifications to LAMMPS they contain. Since LAMMPS is open source under the GPL-v2 license, there is no requirement to tell us about it or integrated them back into LAMMPS. Thus you have to contact the developers of those individual packages in case of questions or problems.

As the LAMMPS internal code structure is sometimes changing, those external packages may need to be updated to remain compatible with the latest LAMMPS versions. The LAMMPS Programmer’s Guide part contains a section with notes for updating code written for older LAMMPS versions which explains significant changes and how to update the corresponding code.

Below is the list of packages that are included in the LAMMPS distribution. The link for each package name gives more details.

Packages are supported by either the LAMMPS developers or the contributing authors. They should all be written in a syntax and style consistent with the rest of LAMMPS.

The “Examples” column is a subdirectory in the examples directory of the distribution which has one or more input scripts that use the package. E.g. `peptide` refers to the `examples/peptide` directory; `PACKAGES/atc` refers to the `examples/PACKAGES/atc` directory. The “Lib” column indicates`` whether an extra library is needed to build and use the package:

- no = no library

- sys = system library: you likely have it on your machine

- int = internal library: provided with LAMMPS, but you may need to build it

- ext = external library: you will need to download and install it on your machine

Package | Description | Doc page | Examples | Lib
--- | --- | --- | --- | ---
ADIOS | dump output via ADIOS | dump adios | `PACKAGES/adios` | ext
AMOEBA | AMOEBA and HIPPO force fields | AMOEBA and HIPPO howto | amoeba | no
APIP | adaptive-precision interatomic potentials | Howto APIP | `PACKAGES/apip` | ext
ASPHERE | aspherical particle models | Howto spherical | ellipse | no
BOCS | BOCS bottom up coarse graining | fix bocs | `PACKAGES/bocs` | no
BODY | body-style particles | Howto body | body | no
BPM | bonded particle models | Howto bpm | bpm | no
BROWNIAN | Brownian dynamics, self-propelled particles | fix brownian, fix propel/self | `PACKAGES/brownian` | no
CG-DNA | coarse-grained DNA force fields | `src/CG-DNA/README` | `PACKAGES/cgdna` | no
CG-SPICA | SPICA (SDK) coarse-graining model | pair_style lj/spica | `PACKAGES/cgspica` | no
CLASS2 | class 2 force fields | pair_style lj/class2 | n/a | no
COLLOID | colloidal particles | atom_style colloid | colloid | no
COLVARS | Colvars collective variables library | fix colvars | `PACKAGES/colvars` | int
COMPRESS | I/O compression | dump */gz | n/a | sys
CORESHELL | adiabatic core/shell model | Howto coreshell | coreshell | no
DIELECTRIC | dielectric boundary solvers and force styles | compute efield/atom | `PACKAGES/dielectric` | no
DIFFRACTION | virtual x-ray and electron diffraction | compute xrd | `PACKAGES/diffraction` | no
DIPOLE | point dipole particles | pair_style lj/…/dipole | dipole | no
DPD-BASIC | basic DPD models | pair_styles dpd dpd/ext | `PACKAGES/dpd-basic` | no
DPD-MESO | mesoscale DPD models | pair_style edpd | `PACKAGES/dpd-meso` | no
DPD-REACT | reactive dissipative particle dynamics | `src/DPD-REACT/README` | `PACKAGES/dpd-react` | no
DPD-SMOOTH | smoothed dissipative particle dynamics | `src/DPD-SMOOTH/README` | `PACKAGES/dpd-smooth` | no
DRUDE | Drude oscillators | Howto drude | `PACKAGES/drude` | no
EFF | electron force field | pair_style eff/cut | `PACKAGES/eff` | no
ELECTRODE | electrode charges to match potential | fix electrode/conp | `PACKAGES/electrode` | no
EXTRA-COMMAND | additional command styles | general commands | n/a | no
EXTRA-COMPUTE | additional compute styles | compute | n/a | no
EXTRA-DUMP | additional dump styles | dump | n/a | no
EXTRA-FIX | additional fix styles | fix | n/a | no
EXTRA-MOLECULE | additional molecular styles | molecular styles | n/a | no
EXTRA-PAIR | additional pair styles | pair_style | n/a | no
FEP | free energy perturbation | compute fep | `PACKAGES/fep` | no
GPU | GPU-enabled styles | Section gpu | Benchmarks | int
GRANULAR | granular systems | Howto granular | pour | no
GRAPHICS | generate graphics output | Visualize LAMMPS snapshots | n/a | no
H5MD | dump output via HDF5 | dump h5md | n/a | ext
INTEL | optimized Intel CPU and KNL styles | Speed intel | Benchmarks | no
INTERLAYER | Inter-layer pair potentials | several pair styles | `PACKAGES/interlayer` | no
KIM | OpenKIM wrapper | pair_style kim | kim | ext
KOKKOS | Kokkos-enabled styles | Speed kokkos | Benchmarks | no
KSPACE | long-range Coulombic solvers | kspace_style | peptide | no
LATBOLTZ | Lattice Boltzmann fluid | fix lb/fluid | `PACKAGES/latboltz` | no
LEPTON | evaluate strings as potential function | pair_style lepton | `PACKAGES/lepton` | int
MACHDYN | smoothed Mach dynamics | SMD User Guide | `PACKAGES/machdyn` | ext
MANIFOLD | motion on 2d surfaces | fix manifoldforce | `PACKAGES/manifold` | no
MANYBODY | many-body potentials | pair_style tersoff | shear | no
MBX | MBX MB-nrg potential library | pair_mbx | `PACKAGES/mbx` | no
MC | Monte Carlo options | fix gcmc | n/a | no
MDI | client-server code coupling | MDI Howto | `PACKAGES/mdi` | ext
MEAM | modified EAM potential (C++) | pair_style meam | meam | no
MESONT | mesoscopic tubular potential model | pair styles mesocnt | `PACKAGES/mesont` | no
MGPT | fast MGPT multi-ion potentials | pair_style mgpt | `PACKAGES/mgpt` | no
MISC | miscellaneous single-file commands | n/a | no | no
ML-HDNNP | High-dimensional neural network potentials | pair_style hdnnp | `PACKAGES/hdnnp` | ext
ML-IAP | multiple machine learning potentials | pair_style mliap | mliap | no
ML-PACE | Atomic Cluster Expansion potential | pair pace | `PACKAGES/pace` | ext
ML-POD | Proper orthogonal decomposition potentials | pair pod | pod | ext
ML-QUIP | QUIP/libatoms interface | pair_style quip | `PACKAGES/quip` | ext
ML-RANN | Pair style for RANN potentials | pair rann | `PACKAGES/rann` | no
ML-SNAP | quantum-fitted potential | pair_style snap | snap | no
ML-UF3 | quantum-fitted ultra fast potentials | pair_style uf3 | `PACKAGES/uf3` | no
MOFFF | styles for MOF-FF force field | pair_style buck6d/coul/gauss | `PACKAGES/mofff` | no
MOLECULE | molecular system force fields | Howto bioFF | peptide | no
MOLFILE | VMD molfile plug-ins | dump molfile | n/a | ext
NETCDF | dump output via NetCDF | dump netcdf | n/a | ext
OPENMP | OpenMP-enabled styles | Speed omp | Benchmarks | no
OPT | optimized pair styles | Speed opt | Benchmarks | no
ORIENT | fixes for orientation depended forces | fix orient/* | `PACKAGES/orient_eco` | no
PERI | Peridynamics models | pair_style peri | peri | no
PHONON | phonon dynamical matrix | fix phonon | `PACKAGES/phonon` | no
PLUGIN | Plugin loader command | plugin | plugins | no
PLUMED | PLUMED free energy library | fix plumed | `PACKAGES/plumed` | ext
PTM | Polyhedral Template Matching | compute ptm/atom | n/a | no
PYTHON | embed Python code in an input script | python | python | sys
QEQ | QEq charge equilibration | fix qeq | qeq | no
QMMM | QM/MM coupling | fix qmmm | `PACKAGES/qmmm` | ext
QTB | quantum nuclear effects | fix qtb fix qbmsst | qtb | no
RHEO | reproducing hydrodynamics and elastic objects | Howto rheo | rheo | no
REACTION | chemical reactions in classical MD | fix bond/react | `PACKAGES/reaction` | no
REAXFF | ReaxFF potential (C/C++) | pair_style reaxff | reax | no
REPLICA | multi-replica methods | Howto replica | tad | no
RIGID | rigid bodies and constraints | fix rigid | rigid | no
SCAFACOS | wrapper for ScaFaCoS Kspace solver | kspace_style scafacos | `PACKAGES/scafacos` | ext
SHOCK | shock loading methods | fix msst | n/a | no
SMTBQ | second moment tight binding potentials | pair styles smtbq, smatb | `PACKAGES/smtbq` | no
SPH | smoothed particle hydrodynamics | SPH User Guide | `PACKAGES/sph` | no
SPIN | magnetic atomic spin dynamics | Howto spins | SPIN | no
SRD | stochastic rotation dynamics | fix srd | srd | no
TALLY | pairwise tally computes | compute XXX/tally | `PACKAGES/tally` | no
UEF | extensional flow | fix nvt/uef | `PACKAGES/uef` | no
VORONOI | Voronoi tesselation | compute voronoi/atom | n/a | ext
VTK | dump output via VTK | compute vtk | n/a | ext
YAFF | additional styles implemented in YAFF | angle_style cross | `PACKAGES/yaff` | no

- 8.1. Package details