\Gromacs {#mainpage} ======= \Gromacs is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds, to millions of particles. See [www.gromacs.org](http://www.gromacs.org) for more information. This documentation generated by Doxygen is (mostly) extracted from the source code, and provides documentation for understanding the source code. The documentation can be generated with different levels of details. This documentation has been generated to include \if internal all documentation, including internal functions and classes used for internal implementation purposes. The main audience for this level of detail are people who want to understand detailed implementation of some area, or try to find some specific function within the library. If you are overwhelmed by the amount of details, the [library API documentation](../html-lib/index.xhtml) skips functions not meant to be used outside a single module. \elseif libapi documentation of functions in the library intended for reuse within the library (a subset of these functions is also exposed as a public API). Also overview documentation aimed at \Gromacs developers is included at this level. The main audience for this level of detail are users and developers who want to understand the \Gromacs code in general. If you only want to call \Gromacs, but not modify it, the [public API documentation](../html-user/index.xhtml) provides a cleaner entry point. If you are interested in internal implementation details not described here, you can try searching the [full documentation](../html-full/index.xhtml). \else documentation of functions exposed through installed headers and intended as part of a public API. Note that definition of the public API is very preliminary, and subject to change. The main audience for this level of detail are users of \Gromacs who are interested in writing their own analysis tools that use \Gromacs as a library, as well as other developers who want to link against \Gromacs. To understand the inner workings of \Gromacs, or if you want to contribute to \Gromacs, see the more detailed [library API documentation](../html-lib/index.xhtml) or [full documentation](../html-full/index.xhtml). \endif Currently, only parts of the code are documented here. The following pages give an overview of some of the topics that are documented: - \subpage page_codelayout
This is a good place to start to understand how to navigate the code and the documentation. - \subpage page_analysisframework
Provides an overview of the framework that the \Gromacs library provides for writing (trajectory) analysis tools. - \subpage page_usinglibrary
Provides general guidance for writing software that uses the \Gromacs library. \if libapi - \subpage page_doxygen
Provides an overview and some instructions for using Doxygen to document the source code. - \subpage page_unittesting
Provides an overview of unit testing in \Gromacs. - \subpage page_wrapperbinary
Provides an overview of how the `gmx` wrapper binary is implemented. - \subpage page_simd
Documentation about the new SIMD module that makes it possible to write highly accelerated CPU code that is still portable. \endif This list will hopefully expand over time.