4. Information for Developers — LAMMPS documentation

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

# 4. Information for Developers

This section describes the internal structure and basic algorithms of the LAMMPS code. This is a work in progress and additional information will be added incrementally depending on availability of time and requests from the LAMMPS user community.

- 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