2885 lines
90 KiB
Plaintext
2885 lines
90 KiB
Plaintext
"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 :h2
|
|
|
|
This section gives an overview of the optional packages that extend
|
|
LAMMPS functionality with instructions on how to build LAMMPS with
|
|
each of them. 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 and "make" commands to manage them by typing "make package"
|
|
from within the src directory of the LAMMPS distribution. "Section
|
|
2.3"_Section_start.html#start_3 gives general info on how to install
|
|
and un-install packages as part of the LAMMPS build process.
|
|
|
|
There are two kinds of packages in LAMMPS, standard and user packages:
|
|
|
|
"Table of standard packages"_#table_standard
|
|
"Table of user packages"_#table_user :ul
|
|
|
|
Either of these kinds of packages may work as is, may require some
|
|
additional code compiled located in the lib folder, or may require
|
|
an external library to be downloaded, compiled, installed, and LAMMPS
|
|
configured to know about its location and additional compiler flags.
|
|
You can often do the build of the internal or external libraries
|
|
in one step by typing "make lib-name args='...'" from the src dir,
|
|
with appropriate arguments included in args='...'. If you just type
|
|
"make lib-name" you should see a help message about supported flags
|
|
and some examples. For more details about this, please study the
|
|
tables below and the sections about the individual packages.
|
|
|
|
Standard packages are supported by the LAMMPS developers and are
|
|
written in a syntax and style consistent with the rest of LAMMPS.
|
|
This means the developers will answer questions about them, debug and
|
|
fix them if necessary, and keep them compatible with future changes to
|
|
LAMMPS.
|
|
|
|
User packages have been contributed by users, and begin with the
|
|
"user" prefix. If they are a single command (single file), they are
|
|
typically in the user-misc package. User packages don't necessarily
|
|
meet the requirements of the standard packages. This means the
|
|
developers will try to keep things working and usually can answer
|
|
technical questions about compiling the package. If you have problems
|
|
using a feature provided in a user package, you may need to contact
|
|
the contributor directly to get help. Information on how to submit
|
|
additions you make to LAMMPS as single files or as a standard or user
|
|
package are given in "this section"_Section_modify.html#mod_15 of the
|
|
manual.
|
|
|
|
Following the next two tables is a sub-section for each package. It
|
|
lists authors (if applicable) and summarizes the package contents. It
|
|
has specific instructions on how to install the package, including (if
|
|
necessary) downloading or building any extra library it requires. It
|
|
also gives links to documentation, example scripts, and
|
|
pictures/movies (if available) that illustrate use of the package.
|
|
|
|
NOTE: To see the complete list of commands a package adds to LAMMPS,
|
|
just look at 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 names.
|
|
|
|
In these two tables, 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/atc refers to the examples/USER/atc directory. The
|
|
"Library" column indicates whether an extra library is needed to build
|
|
and use the package:
|
|
|
|
dash = 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 :ul
|
|
|
|
:line
|
|
:line
|
|
|
|
[Standard packages] :link(table_standard),p
|
|
|
|
Package, Description, Doc page, Example, Library
|
|
"ASPHERE"_#ASPHERE, aspherical particle models, "Section 6.6.14"_Section_howto.html#howto_14, ellipse, -
|
|
"BODY"_#BODY, body-style particles, "body"_body.html, body, -
|
|
"CLASS2"_#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, -
|
|
"COLLOID"_#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, -
|
|
"COMPRESS"_#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys
|
|
"CORESHELL"_#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, -
|
|
"DIPOLE"_#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, -
|
|
"GPU"_#GPU, GPU-enabled styles, "Section 5.3.1"_accelerate_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int
|
|
"GRANULAR"_#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, -
|
|
"KIM"_#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext
|
|
"KOKKOS"_#KOKKOS, Kokkos-enabled styles, "Section 5.3.3"_accelerate_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
|
"KSPACE"_#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, -
|
|
"LATTE"_#LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext
|
|
"MANYBODY"_#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, -
|
|
"MC"_#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, -
|
|
"MEAM"_#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
|
|
"MISC"_#MISC, miscellanous single-file commands, -, -, -
|
|
"MOLECULE"_#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, -
|
|
"MPIIO"_#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, -
|
|
"MSCG"_#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext
|
|
"OPT"_#OPT, optimized pair styles, "Section 5.3.5"_accelerate_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
|
"PERI"_#PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, -
|
|
"POEMS"_#POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int
|
|
"PYTHON"_#PYTHON, embed Python code in an input script, "python"_python.html, python, sys
|
|
"QEQ"_#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, -
|
|
"REAX"_#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int
|
|
"REPLICA"_#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, -
|
|
"RIGID"_#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, -
|
|
"SHOCK"_#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, -
|
|
"SNAP"_#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, -
|
|
"SRD"_#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, -
|
|
"VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l)
|
|
|
|
[USER packages] :link(table_user),p
|
|
|
|
Package, Description, Doc page, Example, Library
|
|
"USER-ATC"_#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int
|
|
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int
|
|
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, -
|
|
"USER-CGSDK"_#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, -
|
|
"USER-COLVARS"_#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int
|
|
"USER-DIFFRACTION"_#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, -
|
|
"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, -
|
|
"USER-DRUDE"_#USER-DRUDE, Drude oscillators, "tutorial"_tutorial_drude.html, USER/drude, -
|
|
"USER-EFF"_#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, -
|
|
"USER-FEP"_#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, -
|
|
"USER-H5MD"_#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext
|
|
"USER-INTEL"_#USER-INTEL, optimized Intel CPU and KNL styles,"Section 5.3.2"_accelerate_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
|
"USER-LB"_#USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, -
|
|
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, -
|
|
"USER-MEAMC"_#USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, -
|
|
"USER-MESO"_#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, -
|
|
"USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, -
|
|
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, -
|
|
"USER-MOFFF"_#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, -
|
|
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext
|
|
"USER-NETCDF"_#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext
|
|
"USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
|
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, -
|
|
"USER-QMMM"_#USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext
|
|
"USER-QTB"_#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, -
|
|
"USER-QUIP"_#USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext
|
|
"USER-REAXC"_#USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, -
|
|
"USER-SMD"_#USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext
|
|
"USER-SMTBQ"_#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, -
|
|
"USER-SPH"_#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, -
|
|
"USER-TALLY"_#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, -
|
|
"USER-UEF"_#USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, -
|
|
"USER-VTK"_#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l)
|
|
|
|
:line
|
|
:line
|
|
|
|
ASPHERE package :link(ASPHERE),h4
|
|
|
|
[Contents:]
|
|
|
|
Computes, time-integration fixes, and pair styles for aspherical
|
|
particle models including ellipsoids, 2d lines, and 3d triangles.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-asphere
|
|
make machine :pre
|
|
|
|
make no-asphere
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/ASPHERE: filenames -> commands
|
|
"Section 6.14"_Section_howto.html#howto_14
|
|
"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(BODY),h4
|
|
|
|
[Contents:]
|
|
|
|
Body-style particles with internal structure. Computes,
|
|
time-integration fixes, pair styles, as well as the body styles
|
|
themselves. See the "body"_body.html doc page for an overview.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-body
|
|
make machine :pre
|
|
|
|
make no-body
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/BODY filenames -> commands
|
|
"body"_body.html
|
|
"atom_style body"_atom_style.html
|
|
"fix nve/body"_fix_nve_body.html
|
|
"pair_style body"_pair_body.html
|
|
examples/body :ul
|
|
|
|
:line
|
|
|
|
CLASS2 package :link(CLASS2),h4
|
|
|
|
[Contents:]
|
|
|
|
Bond, angle, dihedral, improper, and pair styles for the COMPASS
|
|
CLASS2 molecular force field.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-class2
|
|
make machine :pre
|
|
|
|
make no-class2
|
|
make machine :pre
|
|
|
|
[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(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-colloid
|
|
make machine :pre
|
|
|
|
make no-colloid
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Note that building with this package assumes you have the zlib
|
|
compression library available on your system. The LAMMPS build uses
|
|
the settings in the lib/compress/Makefile.lammps file in the
|
|
compile/link process. You should only need to edit this file if the
|
|
LAMMPS build fails on your system.
|
|
|
|
make yes-compress
|
|
make machine :pre
|
|
|
|
make no-compress
|
|
make machine :pre
|
|
|
|
[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(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 "Section
|
|
6.26"_Section_howto.html#howto_26 for an overview of how to use this
|
|
package.
|
|
|
|
[Author:] Hendrik Heenen (Technical U of Munich).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-coreshell
|
|
make machine :pre
|
|
|
|
make no-coreshell
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/CORESHELL: filenames -> commands
|
|
"Section 6.26"_Section_howto.html#howto_26
|
|
"Section 6.25"_Section_howto.html#howto_25
|
|
"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(DIPOLE),h4
|
|
|
|
[Contents:]
|
|
|
|
An atom style and several pair styles for point dipole models with
|
|
short-range or long-range interactions.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-dipole
|
|
make machine :pre
|
|
|
|
make no-dipole
|
|
make machine :pre
|
|
|
|
[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(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.
|
|
"Section 5.3.1"_accelerate_gpu.html 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"_Section_start.html#start_6. See also the "KOKKOS"_#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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the GPU
|
|
library in lib/gpu from a set of provided C and CUDA files. You can
|
|
do this manually if you prefer; follow the instructions in
|
|
lib/gpu/README. Please note, that the GPU library uses MPI calls, so
|
|
you have to make certain to use the same MPI library (or the STUBS
|
|
library) settings as the main LAMMPS code. That same applies to the
|
|
-DLAMMPS_BIGBIG, -DLAMMPS_SMALLBIG, or -DLAMMPS_SMALLSMALL define.
|
|
|
|
You can also do it in one step from the lammps/src
|
|
dir, using a command like these, which simply invoke the
|
|
lib/gpu/Install.py script with the specified args:
|
|
|
|
make lib-gpu # print help message
|
|
make lib-gpu args="-b" # build GPU library with default Makefile.linux
|
|
make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
|
|
make lib-gpu args="-m mpi -p mixed -b" # build GPU library with mixed precision using settings in Makefile.mpi :pre
|
|
|
|
Note that this procedure through the '-m machine' flag starts with one of
|
|
the existing Makefile.machine files in lib/gpu. For your convenience,
|
|
machine makefiles for "mpi" and "serial" are provided, which have the
|
|
same settings as the corresponding machine makefiles in the main LAMMPS
|
|
source folder. In addition you can alter 4 important settings in that
|
|
Makefile, via the -h, -a, -p, -e switches, and also save a copy of the
|
|
new Makefile, if desired:
|
|
|
|
CUDA_HOME = where NVIDIA CUDA software is installed on your system
|
|
CUDA_ARCH = what GPU hardware you have (see help message for details)
|
|
CUDA_PRECISION = precision (double, mixed, single)
|
|
EXTRAMAKE = which Makefile.lammps.* file to copy to Makefile.lammps :ul
|
|
|
|
If the library build is successful, at least 3 files should be created:
|
|
lib/gpu/libgpu.a, lib/gpu/nvc_get_devices, and lib/gpu/Makefile.lammps.
|
|
The latter has settings that enable LAMMPS to link with CUDA libraries.
|
|
If the settings in Makefile.lammps for your machine are not correct,
|
|
the LAMMPS build will fail, and lib/gpu/Makefile.lammps may need to
|
|
be edited.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-gpu
|
|
make machine :pre
|
|
|
|
make no-gpu
|
|
make machine :pre
|
|
|
|
NOTE: If you re-build the GPU library in lib/gpu, you should always
|
|
un-install the GPU package, then re-install it and re-build LAMMPS.
|
|
This is because the compilation of files in the GPU package use the
|
|
library settings from the lib/gpu/Makefile.machine used to build the
|
|
GPU library.
|
|
|
|
[Supporting info:]
|
|
|
|
src/GPU: filenames -> commands
|
|
src/GPU/README
|
|
lib/gpu/README
|
|
"Section 5.3"_Section_accelerate.html#acc_3
|
|
"Section 5.3.1"_accelerate_gpu.html
|
|
"Section 2.6 -sf gpu"_Section_start.html#start_6
|
|
"Section 2.6 -pk gpu"_Section_start.html#start_6
|
|
"package gpu"_package.html
|
|
Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (g)
|
|
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
|
|
|
:line
|
|
|
|
GRANULAR package :link(GRANULAR),h4
|
|
|
|
[Contents:]
|
|
|
|
Pair styles and fixes for finite-size granular particles, which
|
|
interact with each other and boundaries via frictional and dissipative
|
|
potentials.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-granular
|
|
make machine :pre
|
|
|
|
make no-granular
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/GRANULAR: filenames -> commands
|
|
"Section 6.6"_Section_howto.html#howto_6,
|
|
"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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first download and
|
|
build the KIM library and include the KIM models that you want to
|
|
use. You can do this manually if you prefer; follow the instructions
|
|
in lib/kim/README. You can also do it in one step from the lammps/src
|
|
dir, using a command like these, which simply invoke the
|
|
lib/kim/Install.py script with the specified args.
|
|
|
|
make lib-kim # print help message
|
|
make lib-kim args="-b " # (re-)install KIM API lib with only example models
|
|
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
|
|
make lib-kim args="-b -a everything" # install KIM API lib with all models
|
|
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
|
|
make lib-kim args="-p /usr/local/kim-api" # use an existing KIM API installation at the provided location
|
|
make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre
|
|
|
|
Note that in LAMMPS lingo, a KIM model driver is a pair style
|
|
(e.g. EAM or Tersoff). A KIM model is a pair style for a particular
|
|
element or alloy and set of parameters, e.g. EAM for Cu with a
|
|
specific EAM potential file. Also note that installing the KIM API
|
|
library with all its models, may take around 30 min to build. Of
|
|
course you only need to do that once.
|
|
|
|
See the list of KIM model drivers here:
|
|
https://openkim.org/kim-items/model-drivers/alphabetical
|
|
|
|
See the list of all KIM models here:
|
|
https://openkim.org/kim-items/models/by-model-drivers
|
|
|
|
See the list of example KIM models included by default here:
|
|
https://openkim.org/kim-api in the "What is in the KIM API source
|
|
package?" section
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-kim
|
|
make machine :pre
|
|
|
|
make no-kim
|
|
make machine :pre
|
|
|
|
[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(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. "Section 5.3.3"_accelerate_kokkos.html 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"_Section_start.html#start_6. Also see the "GPU"_#GPU,
|
|
"OPT"_#OPT, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP
|
|
packages, which have styles optimized for CPUs, KNLs, and GPUs.
|
|
|
|
You must have a C++11 compatible compiler to use this package.
|
|
|
|
[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 or un-install:]
|
|
|
|
For the KOKKOS package, you have 3 choices when building. You can
|
|
build with either CPU or KNL or GPU support. Each choice requires
|
|
additional settings in your Makefile.machine for the KOKKOS_DEVICES
|
|
and KOKKOS_ARCH settings. See the src/MAKE/OPTIONS/Makefile.kokkos*
|
|
files for examples.
|
|
|
|
For multicore CPUs using OpenMP:
|
|
|
|
KOKKOS_DEVICES = OpenMP
|
|
KOKKOS_ARCH = HSW # HSW = Haswell, SNB = SandyBridge, BDW = Broadwell, etc :pre
|
|
|
|
For Intel KNLs using OpenMP:
|
|
|
|
KOKKOS_DEVICES = OpenMP
|
|
KOKKOS_ARCH = KNL :pre
|
|
|
|
For NVIDIA GPUs using CUDA:
|
|
|
|
KOKKOS_DEVICES = Cuda
|
|
KOKKOS_ARCH = Pascal60,Power8 # P100 hosted by an IBM Power8, etc
|
|
KOKKOS_ARCH = Kepler37,Power8 # K80 hosted by an IBM Power8, etc :pre
|
|
|
|
For GPUs, you also need these 2 lines in your Makefile.machine before
|
|
the CC line is defined, in this case for use with OpenMPI mpicxx. The
|
|
2 lines define a nvcc wrapper compiler, which will use nvcc for
|
|
compiling CUDA files or use a C++ compiler for non-Kokkos, non-CUDA
|
|
files.
|
|
|
|
KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd)
|
|
export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper
|
|
CC = mpicxx :pre
|
|
|
|
Once you have an appropriate Makefile.machine, you can
|
|
install/un-install the package and build LAMMPS in the usual manner.
|
|
Note that you cannot build one executable to run on multiple hardware
|
|
targets (CPU or KNL or GPU). You need to build LAMMPS once for each
|
|
hardware target, to produce a separate executable. Also note that we
|
|
do not recommend building with other acceleration packages installed
|
|
(GPU, OPT, USER-INTEL, USER-OMP) when also building with KOKKOS.
|
|
|
|
make yes-kokkos
|
|
make machine :pre
|
|
|
|
make no-kokkos
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/KOKKOS: filenames -> commands
|
|
src/KOKKOS/README
|
|
lib/kokkos/README
|
|
"Section 5.3"_Section_accelerate.html#acc_3
|
|
"Section 5.3.3"_accelerate_kokkos.html
|
|
"Section 2.6 -k on ..."_Section_start.html#start_6
|
|
"Section 2.6 -sf kk"_Section_start.html#start_6
|
|
"Section 2.6 -pk kokkos"_Section_start.html#start_6
|
|
"package kokkos"_package.html
|
|
Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (k)
|
|
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
|
|
|
:line
|
|
|
|
KSPACE package :link(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 or un-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 step 6 of "Section
|
|
2.2.2"_Section_start.html#start_2_2 of the manual for details on how
|
|
to select different FFT options in your machine Makefile.
|
|
|
|
make yes-kspace
|
|
make machine :pre
|
|
|
|
make no-kspace
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/KSPACE: filenames -> commands
|
|
"kspace_style"_kspace_style.html
|
|
"doc/PDF/kspace.pdf"_PDF/kspace.pdf
|
|
"Section 6.7"_Section_howto.html#howto_7
|
|
"Section 6.8"_Section_howto.html#howto_8
|
|
"Section 6.9"_Section_howto.html#howto_9
|
|
"pair_style coul"_pair_coul.html
|
|
Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 with "long" or "msm" in pair style name
|
|
examples/peptide
|
|
bench/in.rhodo :ul
|
|
|
|
:line
|
|
|
|
LATTE package :link(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first download and
|
|
build the LATTE library. You can do this manually if you prefer;
|
|
follow the instructions in lib/latte/README. You can also do it in
|
|
one step from the lammps/src dir, using a command like these, which
|
|
simply invokes the lib/latte/Install.py script with the specified
|
|
args:
|
|
|
|
make lib-latte # print help message
|
|
make lib-latte args="-b" # download and build in lib/latte/LATTE-master
|
|
make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte
|
|
make lib-latte args="-b -m gfortran" # download and build in lib/latte and
|
|
# copy Makefile.lammps.gfortran to Makefile.lammps
|
|
:pre
|
|
|
|
Note that 3 symbolic (soft) links, "includelink" and "liblink" and
|
|
"filelink.o", are created in lib/latte to point into the LATTE home dir.
|
|
When LAMMPS builds in src it will use these links. You should
|
|
also check that the Makefile.lammps file you create is appropriate
|
|
for the compiler you use on your system to build LATTE.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-latte
|
|
make machine :pre
|
|
|
|
make no-latte
|
|
make machine :pre
|
|
|
|
[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(MANYBODY),h4
|
|
|
|
[Contents:]
|
|
|
|
A variety of manybody and bond-order potentials. These include
|
|
(AI)REBO, BOP, EAM, EIM, Stillinger-Weber, and Tersoff potentials.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-manybody
|
|
make machine :pre
|
|
|
|
make no-manybody
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/MANYBODY: filenames -> commands
|
|
Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5
|
|
examples/comb
|
|
examples/eim
|
|
examples/nb3d
|
|
examples/shear
|
|
examples/streitz
|
|
examples/vashishta
|
|
bench/in.eam :ul
|
|
|
|
:line
|
|
|
|
MC package :link(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-mc
|
|
make machine :pre
|
|
|
|
make no-mc
|
|
make machine :pre
|
|
|
|
[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(MEAM),h4
|
|
|
|
[Contents:]
|
|
|
|
A pair style for the modified embedded atom (MEAM) potential.
|
|
|
|
Please note that the MEAM package has been superseded by the
|
|
"USER-MEAMC"_#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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
MEAM library in lib/meam. You can do this manually if you prefer;
|
|
follow the instructions in lib/meam/README. You can also do it in one
|
|
step from the lammps/src dir, using a command like these, which simply
|
|
invoke the lib/meam/Install.py script with the specified args:
|
|
|
|
make lib-meam # print help message
|
|
make lib-meam args="-m mpi" # build with default Fortran compiler compatible with your MPI library
|
|
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
|
|
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
|
|
|
|
The build should produce two files: lib/meam/libmeam.a and
|
|
lib/meam/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
|
|
Fortran (MEAM library). Typically the two compilers used for LAMMPS
|
|
and the MEAM library need to be consistent (e.g. both Intel or both
|
|
GNU compilers). If necessary, you can edit/create a new
|
|
lib/meam/Makefile.machine file for your system, which should define an
|
|
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
|
file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-meam
|
|
make machine :pre
|
|
|
|
make no-meam
|
|
make machine :pre
|
|
|
|
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(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-misc
|
|
make machine :pre
|
|
|
|
make no-misc
|
|
make machine :pre
|
|
|
|
[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(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-molecule
|
|
make machine :pre
|
|
|
|
make no-molecule
|
|
make machine :pre
|
|
|
|
[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
|
|
"Section 6.3"_Section_howto.html#howto_3
|
|
examples/cmap
|
|
examples/dreiding
|
|
examples/micelle,
|
|
examples/peptide
|
|
bench/in.chain
|
|
bench/in.rhodo :ul
|
|
|
|
:line
|
|
|
|
MPIIO package :link(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
Note that MPIIO is part of the standard message-passing interface
|
|
(MPI) library, so you should not need any additional compiler or link
|
|
settings, beyond what LAMMPS normally uses for MPI on your system.
|
|
|
|
make yes-mpiio
|
|
make machine :pre
|
|
|
|
make no-mpiio
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first download and
|
|
build the MS-CG library. Building the MS-CG library and using it from
|
|
LAMMPS requires a C++11 compatible compiler and that the GSL
|
|
(GNU Scientific Library) headers and libraries are installed on your
|
|
machine. See the lib/mscg/README and MSCG/Install files for more details.
|
|
|
|
Assuming these libraries are in place, you can do the download and
|
|
build of MS-CG manually if you prefer; follow the instructions in
|
|
lib/mscg/README. You can also do it in one step from the lammps/src
|
|
dir, using a command like these, which simply invoke the
|
|
lib/mscg/Install.py script with the specified args:
|
|
|
|
make lib-mscg # print help message
|
|
make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master
|
|
# with the settings compatible with "make serial"
|
|
make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master
|
|
# with the settings compatible with "make mpi"
|
|
make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release :pre
|
|
|
|
Note that 2 symbolic (soft) links, "includelink" and "liblink", will be created in lib/mscg
|
|
to point to the MS-CG src/installation dir. When LAMMPS is built in src it will use these links.
|
|
You should not need to edit the lib/mscg/Makefile.lammps file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-mscg
|
|
make machine :pre
|
|
|
|
make no-mscg
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/MSCG: filenames -> commands
|
|
src/MSCG/README
|
|
lib/mscg/README
|
|
examples/mscg :ul
|
|
|
|
:line
|
|
|
|
OPT package :link(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. "Section 5.3.5"_accelerate_opt.html 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"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS,
|
|
"USER-INTEL"_#USER-INTEL, and "USER-OMP"_#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 or un-install:]
|
|
|
|
make yes-opt
|
|
make machine :pre
|
|
|
|
make no-opt
|
|
make machine :pre
|
|
|
|
NOTE: The compile flag "-restrict" must be used to build LAMMPS with
|
|
the OPT package when using Intel compilers. It should be added to
|
|
the CCFLAGS line of your Makefile.machine. See Makefile.opt in
|
|
src/MAKE/OPTIONS for an example.
|
|
|
|
CCFLAGS: add -restrict for Intel compilers :ul
|
|
|
|
[Supporting info:]
|
|
|
|
src/OPT: filenames -> commands
|
|
"Section 5.3"_Section_accelerate.html#acc_3
|
|
"Section 5.3.5"_accelerate_opt.html
|
|
"Section 2.6 -sf opt"_Section_start.html#start_6
|
|
Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (t)
|
|
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
|
|
|
:line
|
|
|
|
PERI package :link(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-peri
|
|
make machine :pre
|
|
|
|
make no-peri
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
POEMS library in lib/poems. You can do this manually if you prefer;
|
|
follow the instructions in lib/poems/README. You can also do it in
|
|
one step from the lammps/src dir, using a command like these, which
|
|
simply invoke the lib/poems/Install.py script with the specified args:
|
|
|
|
make lib-poems # print help message
|
|
make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
|
|
make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
|
|
make lib-poems args="-m icc" # build with Intel icc compiler :pre
|
|
|
|
The build should produce two files: lib/poems/libpoems.a and
|
|
lib/poems/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to build LAMMPS with the
|
|
POEMS library (though typically the settings are just blank). If
|
|
necessary, you can edit/create a new lib/poems/Makefile.machine file
|
|
for your system, which should define an EXTRAMAKE variable to specify
|
|
a corresponding Makefile.lammps.machine file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-poems
|
|
make machine :pre
|
|
|
|
make no-meam
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/POEMS: filenames -> commands
|
|
src/POEMS/README
|
|
lib/poems/README
|
|
"fix poems"_fix_poems.html
|
|
examples/rigid :ul
|
|
|
|
:line
|
|
|
|
PYTHON package :link(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 "Section
|
|
11.2"_Section_python.html#py_2 for an overview of using Python from
|
|
LAMMPS in this manner and the entire section for other ways to use
|
|
LAMMPS and Python together.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-python
|
|
make machine :pre
|
|
|
|
make no-python
|
|
make machine :pre
|
|
|
|
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. Note that the build uses the
|
|
lib/python/Makefile.lammps file in the compile/link process. You
|
|
should only need to create a new Makefile.lammps.* file (and copy it
|
|
to Makefile.lammps) if the LAMMPS build fails.
|
|
|
|
[Supporting info:]
|
|
|
|
src/PYTHON: filenames -> commands
|
|
"Section 11"_Section_python.html
|
|
lib/python/README
|
|
examples/python :ul
|
|
|
|
:line
|
|
|
|
QEQ package :link(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-qeq
|
|
make machine :pre
|
|
|
|
make no-qeq
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/QEQ: filenames -> commands
|
|
"fix qeq/*"_fix_qeq.html
|
|
examples/qeq
|
|
examples/streitz :ul
|
|
|
|
:line
|
|
|
|
REAX package :link(REAX),h4
|
|
|
|
[Contents:]
|
|
|
|
A pair style which wraps a Fortran library which implements the ReaxFF
|
|
potential, which is a universal reactive force field. See the
|
|
"USER-REAXC package"_#USER-REAXC for an alternate implementation in
|
|
C/C++. Also a "fix reax/bonds"_fix_reax_bonds.html command for
|
|
monitoring molecules as bonds are created and destroyed.
|
|
|
|
[Author:] Aidan Thompson (Sandia).
|
|
|
|
[Install or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
REAX library in lib/reax. You can do this manually if you prefer;
|
|
follow the instructions in lib/reax/README. You can also do it in one
|
|
step from the lammps/src dir, using a command like these, which simply
|
|
invoke the lib/reax/Install.py script with the specified args:
|
|
|
|
make lib-reax # print help message
|
|
make lib-reax args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
|
make lib-reax args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
|
make lib-reax args="-m ifort" # build with Intel ifort compiler :pre
|
|
|
|
The build should produce two files: lib/reax/libreax.a and
|
|
lib/reax/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
|
|
Fortran (REAX library). Typically the two compilers used for LAMMPS
|
|
and the REAX library need to be consistent (e.g. both Intel or both
|
|
GNU compilers). If necessary, you can edit/create a new
|
|
lib/reax/Makefile.machine file for your system, which should define an
|
|
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
|
file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-reax
|
|
make machine :pre
|
|
|
|
make no-reax
|
|
make machine :pre
|
|
|
|
[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(REPLICA),h4
|
|
|
|
[Contents:]
|
|
|
|
A collection of multi-replica methods which can be used when running
|
|
multiple LAMMPS simulations (replicas). See "Section
|
|
6.5"_Section_howto.html#howto_5 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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-replica
|
|
make machine :pre
|
|
|
|
make no-replica
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/REPLICA: filenames -> commands
|
|
"Section 6.5"_Section_howto.html#howto_5
|
|
"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(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.
|
|
|
|
To install/build:
|
|
|
|
make yes-rigid
|
|
make machine :pre
|
|
|
|
To un-install/re-build:
|
|
|
|
make no-rigid
|
|
make machine :pre
|
|
|
|
[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(SHOCK),h4
|
|
|
|
[Contents:]
|
|
|
|
Fixes for running impact simulations where a shock-wave passes through
|
|
a material.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-shock
|
|
make machine :pre
|
|
|
|
make no-shock
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-snap
|
|
make machine :pre
|
|
|
|
make no-snap
|
|
make machine :pre
|
|
|
|
[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
|
|
|
|
SRD package :link(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.
|
|
|
|
To install/build:
|
|
|
|
make yes-srd
|
|
make machine :pre
|
|
|
|
To un-install/re-build:
|
|
|
|
make no-srd
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first download and
|
|
build the Voro++ library. You can do this manually if you prefer;
|
|
follow the instructions in lib/voronoi/README. You can also do it in
|
|
one step from the lammps/src dir, using a command like these, which
|
|
simply invoke the lib/voronoi/Install.py script with the specified
|
|
args:
|
|
|
|
make lib-voronoi # print help message
|
|
make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++-<version>
|
|
make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++
|
|
make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 :pre
|
|
|
|
Note that 2 symbolic (soft) links, "includelink" and "liblink", are
|
|
created in lib/voronoi to point to the Voro++ src dir. When LAMMPS
|
|
builds in src it will use these links. You should not need to edit
|
|
the lib/voronoi/Makefile.lammps file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-voronoi
|
|
make machine :pre
|
|
|
|
make no-voronoi
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/VORONOI: filenames -> commands
|
|
src/VORONOI/README
|
|
lib/voronoi/README
|
|
"compute voronoi/atom"_compute_voronoi_atom.html
|
|
examples/voronoi :ul
|
|
|
|
:line
|
|
:line
|
|
|
|
USER-ATC package :link(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the ATC
|
|
library in lib/atc. You can do this manually if you prefer; follow
|
|
the instructions in lib/atc/README. You can also do it in one step
|
|
from the lammps/src dir, using a command like these, which simply
|
|
invoke the lib/atc/Install.py script with the specified args:
|
|
|
|
make lib-atc # print help message
|
|
make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
|
|
make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
|
make lib-atc args="-m icc" # build with Intel icc compiler :pre
|
|
|
|
The build should produce two files: lib/atc/libatc.a and
|
|
lib/atc/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to build LAMMPS with the ATC
|
|
library. If necessary, you can edit/create a new
|
|
lib/atc/Makefile.machine file for your system, which should define an
|
|
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
|
file.
|
|
|
|
Note that the Makefile.lammps file has settings for the BLAS and
|
|
LAPACK linear algebra libraries. As explained in lib/atc/README these
|
|
can either exist on your system, or you can use the files provided in
|
|
lib/linalg. In the latter case you also need to build the library
|
|
in lib/linalg with a command like these:
|
|
|
|
make lib-linalg # print help message
|
|
make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
|
make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
|
make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-atc
|
|
make machine :pre
|
|
|
|
make no-user-atc
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
AWPMD library in lib/awpmd. You can do this manually if you prefer;
|
|
follow the instructions in lib/awpmd/README. You can also do it in
|
|
one step from the lammps/src dir, using a command like these, which
|
|
simply invoke the lib/awpmd/Install.py script with the specified args:
|
|
|
|
make lib-awpmd # print help message
|
|
make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
|
|
make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
|
make lib-awpmd args="-m icc" # build with Intel icc compiler :pre
|
|
|
|
The build should produce two files: lib/awpmd/libawpmd.a and
|
|
lib/awpmd/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to build LAMMPS with the
|
|
AWPMD library. If necessary, you can edit/create a new
|
|
lib/awpmd/Makefile.machine file for your system, which should define
|
|
an EXTRAMAKE variable to specify a corresponding
|
|
Makefile.lammps.machine file.
|
|
|
|
Note that the Makefile.lammps file has settings for the BLAS and
|
|
LAPACK linear algebra libraries. As explained in lib/awpmd/README
|
|
these can either exist on your system, or you can use the files
|
|
provided in lib/linalg. In the latter case you also need to build the
|
|
library in lib/linalg with a command like these:
|
|
|
|
make lib-linalg # print help message
|
|
make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
|
make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
|
make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-awpmd
|
|
make machine :pre
|
|
|
|
make no-user-awpmd
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/USER-AWPMD: filenames -> commands
|
|
src/USER-AWPMD/README
|
|
"pair_style awpmd/cut"_pair_awpmd.html
|
|
examples/USER/awpmd :ul
|
|
|
|
:line
|
|
|
|
USER-CGDNA package :link(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-cgdna
|
|
make machine :pre
|
|
|
|
make no-user-cgdna
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-cgsdk
|
|
make machine :pre
|
|
|
|
make no-user-cgsdk
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
COLVARS library in lib/colvars. You can do this manually if you
|
|
prefer; follow the instructions in lib/colvars/README. You can also
|
|
do it in one step from the lammps/src dir, using a command like these,
|
|
which simply invoke the lib/colvars/Install.py script with the
|
|
specified args:
|
|
|
|
make lib-colvars # print help message
|
|
make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
|
|
make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
|
make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled :pre
|
|
|
|
The build should produce two files: lib/colvars/libcolvars.a and
|
|
lib/colvars/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to build LAMMPS with the
|
|
COLVARS library (though typically the settings are just blank). If
|
|
necessary, you can edit/create a new lib/colvars/Makefile.machine file
|
|
for your system, which should define an EXTRAMAKE variable to specify
|
|
a corresponding Makefile.lammps.machine file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-colvars
|
|
make machine :pre
|
|
|
|
make no-user-colvars
|
|
make machine :pre
|
|
|
|
[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(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-diffraction
|
|
make machine :pre
|
|
|
|
make no-user-diffraction
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-dpd
|
|
make machine :pre
|
|
|
|
make no-user-dpd
|
|
make machine :pre
|
|
|
|
[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(USER-DRUDE),h4
|
|
|
|
[Contents:]
|
|
|
|
Fixes, pair styles, and a compute to simulate thermalized Drude
|
|
oscillators as a model of polarization. See "Section
|
|
6.27"_Section_howto.html#howto_27 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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-drude
|
|
make machine :pre
|
|
|
|
make no-user-drude
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/USER-DRUDE: filenames -> commands
|
|
"Section 6.27"_Section_howto.html#howto_27
|
|
"Section 6.25"_Section_howto.html#howto_25
|
|
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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-eff
|
|
make machine :pre
|
|
|
|
make no-user-eff
|
|
make machine :pre
|
|
|
|
[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(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)
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-fep
|
|
make machine :pre
|
|
|
|
make no-user-fep
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Note that to follow these steps to compile and link to the CH5MD
|
|
library, you need the standard HDF5 software package installed on your
|
|
system, which should include the h5cc compiler and the HDF5 library.
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
CH5MD library in lib/h5md. You can do this manually if you prefer;
|
|
follow the instructions in lib/h5md/README. You can also do it in one
|
|
step from the lammps/src dir, using a command like these, which simply
|
|
invoke the lib/h5md/Install.py script with the specified args:
|
|
|
|
make lib-h5md # print help message
|
|
make lib-hm5d args="-m h5cc" # build with h5cc compiler :pre
|
|
|
|
The build should produce two files: lib/h5md/libch5md.a and
|
|
lib/h5md/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to build LAMMPS with the
|
|
system HDF5 library. If necessary, you can edit/create a new
|
|
lib/h5md/Makefile.machine file for your system, which should define an
|
|
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
|
file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-h5md
|
|
make machine :pre
|
|
|
|
make no-user-h5md
|
|
make machine :pre
|
|
|
|
[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(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. "Section
|
|
5.3.2"_accelerate_intel.html 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"_Section_start.html#start_6.
|
|
Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and "USER-OMP"_#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 or un-install:]
|
|
|
|
For the USER-INTEL package, you have 2 choices when building. You can
|
|
build with either CPU or KNL support. Each choice requires additional
|
|
settings in your Makefile.machine for CCFLAGS and LINKFLAGS and
|
|
optimized malloc libraries. See the
|
|
src/MAKE/OPTIONS/Makefile.intel_cpu and src/MAKE/OPTIONS/Makefile.knl
|
|
files for examples.
|
|
|
|
For CPUs:
|
|
|
|
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
|
|
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \
|
|
-fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
|
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
|
LIB = -ltbbmalloc -ltbbmalloc_proxy :pre
|
|
|
|
For KNLs:
|
|
|
|
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
|
|
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \
|
|
-fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
|
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
|
LIB = -ltbbmalloc :pre
|
|
|
|
Once you have an appropriate Makefile.machine, you can
|
|
install/un-install the package and build LAMMPS in the usual manner.
|
|
Note that you cannot build one executable to run on multiple hardware
|
|
targets (Intel CPUs or KNL). You need to build LAMMPS once for each
|
|
hardware target, to produce a separate executable.
|
|
|
|
You should also typically install the USER-OMP package, as it can be
|
|
used in tandem with the USER-INTEL package to good effect, as
|
|
explained in "Section 5.3.2"_accelerate_intel.html.
|
|
|
|
make yes-user-intel yes-user-omp
|
|
make machine :pre
|
|
|
|
make no-user-intel no-user-omp
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/USER-INTEL: filenames -> commands
|
|
src/USER-INTEL/README
|
|
"Section 5.3"_Section_accelerate.html#acc_3
|
|
"Section 5.3.2"_accelerate_gpu.html
|
|
"Section 2.6 -sf intel"_Section_start.html#start_6
|
|
"Section 2.6 -pk intel"_Section_start.html#start_6
|
|
"package intel"_package.html
|
|
Styles sections of "Section 3.5"_Section_commands.html#cmd_5 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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-lb
|
|
make machine :pre
|
|
|
|
make no-user-lb
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-mgpt
|
|
make machine :pre
|
|
|
|
make no-user-mgpt
|
|
make machine :pre
|
|
|
|
[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(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-misc
|
|
make machine :pre
|
|
|
|
make no-user-misc
|
|
make machine :pre
|
|
|
|
[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(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)
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-manifold
|
|
make machine :pre
|
|
|
|
make no-user-manifold
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/USER-MANIFOLD: filenames -> commands
|
|
src/USER-MANIFOLD/README
|
|
"doc/manifolds"_manifolds.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(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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-meamc
|
|
make machine :pre
|
|
|
|
make no-user-meamc
|
|
make machine :pre
|
|
|
|
[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(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)
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-meso
|
|
make machine :pre
|
|
|
|
make no-user-meso
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-mofff
|
|
make machine :pre
|
|
|
|
make no-user-mofff
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Note that the lib/molfile/Makefile.lammps file has a setting for a
|
|
dynamic loading library libdl.a that should is typically present on
|
|
all systems, which is required for LAMMPS to link with this package.
|
|
If the setting is not valid for your system, you will need to edit the
|
|
Makefile.lammps file. See lib/molfile/README and
|
|
lib/molfile/Makefile.lammps for details.
|
|
|
|
make yes-user-molfile
|
|
make machine :pre
|
|
|
|
make no-user-molfile
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Note that to follow these steps, you need the standard NetCDF software
|
|
package installed on your system. The lib/netcdf/Makefile.lammps file
|
|
has settings for NetCDF include and library files that LAMMPS needs to
|
|
compile and linkk with this package. If the settings are not valid
|
|
for your system, you will need to edit the Makefile.lammps file. See
|
|
lib/netcdf/README for details.
|
|
|
|
make yes-user-netcdf
|
|
make machine :pre
|
|
|
|
make no-user-netcdf
|
|
make machine :pre
|
|
|
|
[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(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.
|
|
"Section 5.3.4"_accelerate_omp.html 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"_Section_start.html#start_6.
|
|
Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and
|
|
"USER-INTEL"_#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 or un-install:]
|
|
|
|
make yes-user-omp
|
|
make machine :pre
|
|
|
|
make no-user-omp
|
|
make machine :pre
|
|
|
|
CCFLAGS: add -fopenmp (and -restrict when using Intel compilers)
|
|
LINKFLAGS: add -fopenmp :ul
|
|
|
|
[Supporting info:]
|
|
|
|
src/USER-OMP: filenames -> commands
|
|
src/USER-OMP/README
|
|
"Section 5.3"_Section_accelerate.html#acc_3
|
|
"Section 5.3.4"_accelerate_omp.html
|
|
"Section 2.6 -sf omp"_Section_start.html#start_6
|
|
"Section 2.6 -pk omp"_Section_start.html#start_6
|
|
"package omp"_package.html
|
|
Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (o)
|
|
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
|
|
|
:line
|
|
|
|
USER-PHONON package :link(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-phonon
|
|
make machine :pre
|
|
|
|
make no-user-phonon
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first build the
|
|
QMMM library in lib/qmmm. You can do this manually if you prefer;
|
|
follow the first two steps explained in lib/qmmm/README. You can
|
|
also do it in one step from the lammps/src dir, using a command like
|
|
these, which simply invoke the lib/qmmm/Install.py script with the
|
|
specified args:
|
|
|
|
make lib-qmmm # print help message
|
|
make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial")
|
|
make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi")
|
|
make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler :pre
|
|
|
|
The build should produce two files: lib/qmmm/libqmmm.a and
|
|
lib/qmmm/Makefile.lammps. The latter is copied from an existing
|
|
Makefile.lammps.* and has settings needed to build LAMMPS with the
|
|
QMMM library (though typically the settings are just blank). If
|
|
necessary, you can edit/create a new lib/qmmm/Makefile.machine file
|
|
for your system, which should define an EXTRAMAKE variable to specify
|
|
a corresponding Makefile.lammps.machine file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-qmmm
|
|
make machine :pre
|
|
|
|
make no-user-qmmm
|
|
make machine :pre
|
|
|
|
NOTE: The LAMMPS executable these steps produce is not yet functional
|
|
for a QM/MM simulation. You must also build Quantum ESPRESSO and
|
|
create a new executable which links LAMMPS and Quantum ESPRESSO
|
|
together. These are steps 3 and 4 described in the lib/qmmm/README
|
|
file.
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-qtb
|
|
make machine :pre
|
|
|
|
make no-user-qtb
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
Note that to follow these steps to compile and link to the QUIP
|
|
library, you must first download and build QUIP on your systems. It
|
|
can be obtained from GitHub. See step 1 and step 1.1 in the
|
|
lib/quip/README file for details on how to do this. Note that it
|
|
requires setting two environment variables, QUIP_ROOT and QUIP_ARCH,
|
|
which will be accessed by the lib/quip/Makefile.lammps file which is
|
|
used when you compile and link LAMMPS with this package. You should
|
|
only need to edit this file if the LAMMPS build can not use its
|
|
settings to successfully build on your system.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-quip
|
|
make machine :pre
|
|
|
|
make no-user-quip
|
|
make machine :pre
|
|
|
|
[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(USER-REAXC),h4
|
|
|
|
[Contents:]
|
|
|
|
A pair style which implements the ReaxFF potential in C/C++ (in
|
|
contrast to the "REAX package"_#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.
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-reaxc
|
|
make machine :pre
|
|
|
|
make no-user-reaxc
|
|
make machine :pre
|
|
|
|
[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(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"_#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 or un-install:]
|
|
|
|
Before building LAMMPS with this package, you must first download the
|
|
Eigen library. Eigen is a template library, so you do not need to
|
|
build it, just download it. You can do this manually if you prefer;
|
|
follow the instructions in lib/smd/README. You can also do it in one
|
|
step from the lammps/src dir, using a command like these, which simply
|
|
invoke the lib/smd/Install.py script with the specified args:
|
|
|
|
make lib-smd # print help message
|
|
make lib-smd args="-b" # download and build in default lib/smd/eigen-eigen-...
|
|
make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 :pre
|
|
|
|
Note that a symbolic (soft) link named "includelink" is created in
|
|
lib/smd to point to the Eigen dir. When LAMMPS builds it will use
|
|
this link. You should not need to edit the lib/smd/Makefile.lammps file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-smd
|
|
make machine :pre
|
|
|
|
make no-user-smd
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-smtbq
|
|
make machine :pre
|
|
|
|
make no-user-smtbq
|
|
make machine :pre
|
|
|
|
[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(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"_#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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-sph
|
|
make machine :pre
|
|
|
|
make no-user-sph
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-tally
|
|
make machine :pre
|
|
|
|
make no-user-tally
|
|
make machine :pre
|
|
|
|
[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(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).
|
|
|
|
[Install or un-install:]
|
|
|
|
make yes-user-uef
|
|
make machine :pre
|
|
|
|
make no-user-uef
|
|
make machine :pre
|
|
|
|
[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(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 or un-install:]
|
|
|
|
The lib/vtk/Makefile.lammps file has settings for accessing VTK files
|
|
and its library, which are required for LAMMPS to build and link with
|
|
this package. If the settings are not valid for your system, check if
|
|
one of the other lib/vtk/Makefile.lammps.* files is compatible and
|
|
copy it to Makefile.lammps. If none of the provided files work, you
|
|
will need to edit the Makefile.lammps file.
|
|
|
|
You can then install/un-install the package and build LAMMPS in the
|
|
usual manner:
|
|
|
|
make yes-user-vtk
|
|
make machine :pre
|
|
|
|
make no-user-vtk
|
|
make machine :pre
|
|
|
|
[Supporting info:]
|
|
|
|
src/USER-VTK: filenames -> commands
|
|
src/USER-VTK/README
|
|
lib/vtk/README
|
|
"dump vtk"_dump_vtk.html :ul
|