GROMACS is a versatile package to perform molecular dynamics, such as simulating the Newtonian equations of motion for systems with hundreds to millions of particles. It is primarily designed for biochemical molecules like proteins, lipids and nucleic acids that have a lot of complicated bonded interactions.
It was originally developed in the Biophysical Chemistry department of University of Groningen, and is now maintained by contributors in universities and research centers worldwide. GROMACS is one of the fastest and most popular software packages available and can run on central processing units (CPUs) and graphics processing units (GPUs). It is free, open-source software released under the GNU General Public License (GPL).
GROMACS supports all the usual algorithms we expect from a modern molecular dynamics implementation but there are also quite a few features that make it stand out from the competition; GROMACS provides extremely high performance compared to all other programs. A lot of algorithmic optimizations have been introduced in the code. GROMACS is user-friendly, with topologies and parameter files written in clear text format. There is a lot of consistency checking, and clear error messages are issued when something is wrong. Since a C preprocessor is used, we can have conditional parts in our topologies and include other files. We can even compress most files and GROMACS will automatically pipe them through gzip upon reading. There is no scripting language. As the simulation is proceeding, GROMACS will continuously tell us how far it has come, and what time and date it expects to be finished.
GROMACS comes with a large selection of flexible tools for trajectory analysis. The output in GROMACS is further provided in the form of finished Xmgr/Grace graphs, with axis labels, legends, etc. GROMACS can be run in parallel, using either the standard MPI communication protocol. GROMACS has many state-of-the-art algorithms that make it possible to extend the time steps of simulations significantly, and thereby further enhance performance without sacrificing accuracy or detail.
GROMACS includes many tools for preparing, running and analyzing molecular dynamics simulations. These are all structured as part of a single gmx wrapper binary, and invoked with commands like gmx grompp. mdrun is the only other binary that can be built; in the normal build it can be run with gmx mdrun.
All GROMACS commands require an option before any arguments. Most options, except for Boolean flags, expect an argument (or multiple in some cases) after the option name. The argument must be a separate command-line argument. If more than one argument needs to be given to an option, they should be similarly separated from each other. Some options also have default arguments, such as just specifying the option without any argument uses the default argument.