\(\renewcommand{\AA}{\text{Å}}\)
LAMMPS Documentation (2 Aug 2023 version)
LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel Simulator.
LAMMPS is a classical molecular dynamics simulation code focusing on materials modeling. It was designed to run efficiently on parallel computers and to be easy to extend and modify. Originally developed at Sandia National Laboratories, a US Department of Energy facility, LAMMPS now includes contributions from many research groups and individuals from many institutions. Most of the funding for LAMMPS has come from the US Department of Energy (DOE). LAMMPS is open-source software distributed under the terms of the GNU Public License Version 2 (GPLv2).
The LAMMPS website has a variety of information about the code. It includes links to an online version of this manual, an online forum where users can post questions and discuss LAMMPS, and a GitHub site where all LAMMPS development is coordinated.
The content for this manual is part of the LAMMPS distribution in its doc directory.
The version of the manual on the LAMMPS website corresponds to the latest LAMMPS feature release. It is available at: https://docs.lammps.org/.
A version of the manual corresponding to the latest LAMMPS stable release (state of the stable branch on GitHub) is available online at: https://docs.lammps.org/stable/
A version of the manual with the features most recently added to LAMMPS (state of the develop branch on GitHub) is available at: https://docs.lammps.org/latest/
If needed, you can build a copy on your local machine of the manual (HTML pages or PDF file) for the version of LAMMPS you have downloaded. Follow the steps on the Build the LAMMPS documentation page. If you have difficulties viewing the pages, please see this note.
The manual is organized into three parts:
The User Guide with information about how to obtain, configure, compile, install, and use LAMMPS,
the Programmer Guide with information about how to use the LAMMPS library interface from different programming languages, how to modify and extend LAMMPS, the program design, internal programming interfaces, and code design conventions,
the Command Reference with detailed descriptions of all input script commands available in LAMMPS.
After becoming familiar with LAMMPS, consider bookmarking this page, since it gives quick access to tables with links to the documentation for all LAMMPS commands.
User Guide
- 1. Introduction
- 2. Install LAMMPS
- 3. Build LAMMPS
- 3.1. Build LAMMPS with CMake
- 3.2. Build LAMMPS with make
- 3.3. Link LAMMPS as a library to another code
- 3.4. Basic build options
- 3.5. Optional build settings
- 3.6. Include packages in build
- 3.7. Packages with extra build options
- 3.8. Build the LAMMPS documentation
- 3.9. Notes for building LAMMPS on Windows
- 3.10. Notes for saving disk space when building LAMMPS from source
- 3.11. Development build options
- 4. Run LAMMPS
- 5. Commands
- 5.1. LAMMPS input scripts
- 5.2. Parsing rules for input scripts
- 5.3. Input script structure
- 5.4. Commands by category
- 5.5. General commands
- 5.6. Fix commands
- 5.7. Compute commands
- 5.8. Pair_style potentials
- 5.9. Bond_style potentials
- 5.10. Angle_style potentials
- 5.11. Dihedral_style potentials
- 5.12. Improper_style potentials
- 5.13. KSpace solvers
- 5.14. Dump commands
- 5.15. Removed commands and packages
- 6. Optional packages
- 7. Accelerate performance
- 8. Howto discussions
- 9. Example scripts
- 10. Auxiliary tools
- 11. Errors
Programmer Guide
- 1. LAMMPS Library Interfaces
- 2. Use Python with LAMMPS
- 3. Modifying & extending LAMMPS
- 3.1. Overview
- 3.2. Submitting new features for inclusion in LAMMPS
- 3.3. Requirements for contributions to LAMMPS
- 3.4. LAMMPS programming style
- 3.5. Atom styles
- 3.6. Pair styles
- 3.7. Bond, angle, dihedral, improper styles
- 3.8. Compute styles
- 3.9. Fix styles
- 3.10. Input script command style
- 3.11. Dump styles
- 3.12. Kspace styles
- 3.13. Minimization styles
- 3.14. Region styles
- 3.15. Body styles
- 3.16. Granular Sub-Model styles
- 3.17. Thermodynamic output options
- 3.18. Variable options
- 4. Information for Developers
- 4.1. Source files
- 4.2. Class topology
- 4.3. Code design
- 4.4. Parallel algorithms
- 4.5. Accessing per-atom data
- 4.6. Communication patterns
- 4.7. How a timestep works
- 4.8. Writing new styles
- 4.9. Notes for developers and code maintainers
- 4.10. Notes for updating code written for older LAMMPS versions
- 4.11. Writing plugins
- 4.12. Adding tests for unit testing
- 4.13. C++ base classes
- 4.14. Platform abstraction functions
- 4.15. Utility functions
- 4.16. Special Math functions
- 4.17. Tokenizer classes
- 4.18. Argument parsing classes
- 4.19. File reader classes
- 4.20. Memory pool classes
- 4.21. Eigensolver functions
- 4.22. Communication buffer coding with ubuf
- 4.23. Use of distributed grids within style classes
Command Reference
Indices and tables
Web Browser Compatibility
The HTML version of the manual makes use of advanced features present in “modern” web browsers. This leads to incompatibilities with older web browsers and specific vendor browsers (e.g. Internet Explorer on Windows) where parts of the pages are not rendered as expected (e.g. the layout is broken or mathematical expressions not typeset). In that case we recommend to install/use a different/newer web browser or use the PDF version of the manual.
The following web browser versions have been verified to work as expected on Linux, macOS, and Windows where available:
Safari version 11.1 and later
Firefox version 54 and later
Chrome version 54 and later
Opera version 41 and later
Edge version 80 and later
Also Android version 7.1 and later and iOS version 11 and later have been verified to render this website as expected.