LAMMPS WWW Site
LAMMPS Features
LAMMPS is a classical molecular dynamics (MD) code with these general
classes of functionality:
A general overview of LAMMPS is given in the intro
section of the LAMMPS
documentation. To learn details of a feature, find
the input script command(s) that implement it, and read their doc
pages.
General features
- runs on a single processor or in parallel
- distributed-memory message-passing parallelism (MPI)
- spatial-decomposition of simulation domain for parallelism
- open-source distribution
- highly portable C++
- optional libraries used: MPI and single-processor FFT
- easy to extend with new features and functionality
- runs from an input script
- syntax for defining and using variables and formulas
- syntax for looping over runs and breaking out of loops
- run one or multiple simulations simultaneously (in parallel) from one script
Particle and model types
(atom style command)
- atoms
- coarse-grained particles (e.g. bead-spring polymers)
- united-atom polymers or organic molecules
- all-atom polymers, organic molecules, proteins, DNA
- metals
- granular materials
- coarse-grained mesoscale models
- extended spherical and ellipsoidal particles
- point dipolar particles
- rigid collections of particles
- hybrid combinations of these
Force fields
(pair style, bond style,
angle style, dihedral style,
improper style, kspace style
commands)
- pairwise potentials: Lennard-Jones, Buckingham, Morse, Yukawa, soft, class 2 (COMPASS), tabulated
- charged pairwise potentials: Coulombic, point-dipole
- manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), Stillinger-Weber, Tersoff, AI-REBO, ReaxFF
- coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
- mesoscopic potentials: granular, Peridynamics
- bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)
- angle potentials: harmonic, CHARMM, cosine, cosine/squared, class 2 (COMPASS)
- dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS
- improper potentials: harmonic, cvff, class 2 (COMPASS)
- polymer potentials: all-atom, united-atom, bead-spring, breakable
- water potentials: TIP3P, TIP4P, SPC
- implicit solvent potentials: hydrodynamic lubrication, Debye
- long-range Coulombics and dispersion: Ewald, PPPM (similar to particle-mesh Ewald), Ewald/N for long-range Lennard-Jones
- force-field compatibility with common CHARMM, AMBER, OPLS, GROMACS options
- handful of GPU-enabled pair styles
hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
overlaid potentials: superposition of multiple pair potentials
Atom creation
(read_data, lattice,
create_atoms, delete_atoms,
displace_atoms, replicate commands)
- read in atom coords from files
- create atoms on one or more lattices (e.g. grain boundaries)
- delete geometric or logical groups of atoms (e.g. voids)
- replicate existing atoms multiple times
- displace atoms
Ensembles, constraints, and boundary conditions
(fix command)
- 2d or 3d systems
- orthogonal or non-orthogonal (triclinic symmetry) simulation domains
- constant NVE, NVT, NPT, NPH integrators
- thermostatting options for groups and geometric regions of atoms
- pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions
- simulation box deformation (tensile and shear)
- harmonic (umbrella) constraint forces
- rigid body constraints
- SHAKE bond and angle constraints
- bond breaking, formation, swapping
- walls of various kinds
- non-equilibrium molecular dynamics (NEMD)
- variety of additional boundary conditions and constraints
Integrators
(run, run_style, minimize commands)
- velocity-Verlet integrator
- Brownian dynamics
- rigid body integration
- energy minimization via conjugate gradient or steepest descent relaxation
- rRESPA hierarchical timestepping
Diagnostics
- see the various flavors of the fix and compute commands
Output
(dump, restart commands)
- log file of thermodynamic info
- text dump files of atom coords, velocities, other per-atom quantities
- binary restart files
- per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)
- user-defined system-wide (log file) or per-atom (dump file) calculations
- spatial and time averaging of per-atom quantities
- time averaging of system-wide quantities
- atom snapshots in native, XYZ, XTC, DCD, CFG formats
Pre- and post-processing
- Various pre- and post-processing serial tools are packaged
with LAMMPS; see these doc pages.
- Our group has also written and released a separate toolkit called
Pizza.py which provides tools for doing setup, analysis,
plotting, and visualization for LAMMPS simulations. Pizza.py is
written in Python and is available for download from the
Pizza.py WWW site.
Specialized features
These are LAMMPS capabilities which you may not think of as typical
molecular dynamics options: