Welcome to the GROMACS documentation!


Documentation for developers

The developer documentation currently consists of two parts:

  • A developer guide that provides an overview of the GROMACS codebase, and includes more detailed resouces such as guidelines and information on tools used during development.
  • Doxygen documentation extracted from comments in C/C++ code, documenting the actual C/C++ code.

Some overview documentation that is closely related to the actual C/C++ code appears in the Doxygen documentation, while some other overview content is in the developer guide. The reasons are partially technical, but crosslinks between the developer guide and the Doxygen documentation are provided whenever related content appears split between the two sources.

The documentation does not yet cover all areas, but more content is being (slowly) added. Wiki pages at <http://www.gromacs.org/Developer_Zone> may contain additional information (much of it outdated, though), and can be linked from relevant locations in the developer guide.


  • Doxygen documentation

    • Public API documentation

      This contains documentation for code that appears in installed headers, as well as some overview documentation to understand those parts of the code. Please note that the definition of the public API is very preliminary and subject to change, in particular for parts that have not been documented.

    • Code documentation

      This contains the public API documentation as a subset, but also has more details on the internal implementation of GROMACS. This is a good place to start to understand some specific area of the code in general to, e.g., contribute.

    • Full documentation

      This contains every single documented function from the codebase, including internal There can be an overwhelming amount of detail, but this can be useful if trying to find some specific function within the codebase.

Indices and tables