LAMMPS WWW Site
LAMMPS Features
LAMMPS is a classical molecular dynamics code with the following
functionality:
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 needed: MPI and single-processor FFT
- easy to extend with new features and functionality
- in parallel, run one or multiple simulations simultaneously
- runs from an input script
- syntax for defining and using variables and formulas
- syntax for looping over runs and breaking out of loops
- run a series of simluations from one script
Kinds of systems LAMMPS can simulate
(atom style command)
- atomic (e.g. box of Lennard-Jonesium)
- bead-spring polymers
- united-atom polymers or organic molecules
- all-atom polymers, organic molecules, proteins, DNA
- metals
- granular materials
- coarse-grained mesoscale models
- ellipsoidal particles
- point dipolar 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-grain potentials: DPD, GayBerne, REsquared, colloidal
- 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)
- hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
- overlaid potentials: superposition of multiple pair potentials
- 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
Creation of atoms
(read_data, lattice,
create_atoms, delete_atoms,
displace_atoms 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)
- 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
- independent or coupled rigid body integration
- SHAKE bond and angle constraints
- bond breaking, formation, swapping
- walls of various kinds
- targeted molecular dynamics (TMD) and steered molecule dynamics (SMD) constraints
- non-equilibrium molecular dynamics (NEMD)
- variety of additional boundary conditions and constraints
Integrators
(run, run_style, temper commands)
- velocity-Verlet integrator
- Brownian dynamics
- energy minimization via conjugate gradient or steepest descent relaxation
- rRESPA hierarchical timestepping
- parallel tempering (replica exchange)
Diagnostics
(fix command, compute command)
- 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 formats
Pre- and post-processing
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.
More details are given in the following sections of the LAMMPS
documentation: