## grompp

Main Table of Contents

VERSION 3.2.0
Sun 25 Jan 2004

### Description

The gromacs preprocessor reads a molecular topology file, checks the validity of the file, expands the topology from a molecular description to an atomic description. The topology file contains information about molecule types and the number of molecules, the preprocessor copies each molecule as needed. There is no limitation on the number of molecule types. Bonds and bond-angles can be converted into constraints, separately for hydrogens and heavy atoms. Then a coordinate file is read and velocities can be generated from a Maxwellian distribution if requested. grompp also reads parameters for the mdrun (eg. number of MD steps, time step, cut-off), and others such as NEMD parameters, which are corrected so that the net acceleration is zero. Eventually a binary file is produced that can serve as the sole input file for the MD program.

grompp uses the atom names from the topology file. The atom names in the coordinate file (option `-c`) are only read to generate warnings when they do not match the atom names in the topology. Note that the atom names are irrelevant for the simulation as only the atom types are used for generating interaction parameters.

grompp calls the c-preprocessor to resolve includes, macros etcetera. To specify a macro-preprocessor other than /lib/cpp (such as m4) you can put a line in your parameter file specifying the path to that cpp. Specifying `-pp` will get the pre-processed topology file written out.

If your system does not have a c-preprocessor, you can still use grompp, but you do not have access to the features from the cpp. Command line options to the c-preprocessor can be given in the `.mdp` file. See your local manual (man cpp).

When using position restraints a file with restraint coordinates can be supplied with `-r`, otherwise restraining will be done with respect to the conformation from the `-c` option. For free energy calculation the the coordinates for the B topology can be supplied with `-rb`, otherwise they will be equal to those of the A topology.

Starting coordinates can be read from trajectory with `-t`. The last frame with coordinates and velocities will be read, unless the `-time` option is used. Note that these velocities will not be used when `gen_vel = yes` in your `.mdp` file. An energy file can be supplied with `-e` to have exact restarts when using pressure and/or temperature coupling. For an exact restart do not forget to turn off velocity generation and turn on unconstrained starting when constraints are present in the system. If you want to continue a crashed run, it is easier to use `tpbconv`.

When preparing an input file for parallel `mdrun` it may be advantageous to partition the simulation system over the nodes in a way in which each node has a similar amount of work. The -shuffle option does just that. For a single protein in water this does not make a difference, however for a system where you have many copies of different molecules (e.g. liquid mixture or membrane/water system) the option is definitely a must. The output trajectories will also be shuffled. `grompp` writes an index file (option `-deshuf`) which can be used with `trjconv` to deshuffle the trajectories.

A further optimization for parallel systems is the `-sort` option which sorts molecules according to coordinates. This must always be used in conjunction with `-shuffle`, however sorting also works when you have only one molecule type.

Using the `-morse` option grompp can convert the harmonic bonds in your topology to morse potentials. This makes it possible to break bonds. For this option to work you need an extra file in your $GMXLIB with dissociation energy. Use the -debug option to get more information on the workings of this option (look for MORSE in the grompp.log file using less or something like that).

By default all bonded interactions which have constant energy due to dummy atom constructions will be removed. If this constant energy is not zero, this will result in a shift in the total energy. All bonded interactions can be kept by turning off `-rmdumbds`. Additionally, all constraints for distances which will be constant anyway because of dummy atom constructions will be removed. If any constraints remain which involve dummy atoms, a fatal error will result.

To verify your run input file, please make notice of all warnings on the screen, and correct where necessary. Do also look at the contents of the `mdout.mdp` file, this contains comment lines, as well as the input that `grompp` has read. If in doubt you can start grompp with the `-debug` option which will give you more information in a file called grompp.log (along with real debug info). Finally, you can see the contents of the run input file with the `gmxdump` program.

### Files

option | filename | type | description
--- | --- | --- | ---
`-f` | `grompp.mdp` | Input, Opt. | grompp input file with MD parameters
`-po` | `mdout.mdp` | Output | grompp input file with MD parameters
`-c` | `conf.gro` | Input | Generic structure: gro g96 pdb tpr tpb tpa xml
`-r` | `conf.gro` | Input, Opt. | Generic structure: gro g96 pdb tpr tpb tpa xml
`-rb` | `conf.gro` | Input, Opt. | Generic structure: gro g96 pdb tpr tpb tpa xml
`-n` | `index.ndx` | Input, Opt. | Index file
`-deshuf` | `deshuf.ndx` | Output, Opt. | Index file
`-p` | `topol.top` | Input | Topology file
`-pp` | `processed.top` | Output, Opt. | Topology file
`-o` | `topol.tpr` | Output | Generic run input: tpr tpb tpa xml
`-t` | `traj.trr` | Input, Opt. | Full precision trajectory: trr trj
`-e` | `ener.edr` | Input, Opt. | Generic energy: edr ene

### Other options

option | type | default | description
--- | --- | --- | ---
`-[no]h` | bool | `no` | Print help info and quit
`-nice` | int | `0` | Set the nicelevel
`-[no]v` | bool | `yes` | Be loud and noisy
`-time` | real | `-1` | Take frame at or first after this time.
`-np` | int | `1` | Generate statusfile for # nodes
`-[no]shuffle` | bool | `no` | Shuffle molecules over nodes
`-[no]sort` | bool | `no` | Sort molecules according to X coordinate
`-[no]rmdumbds` | bool | `yes` | Remove constant bonded interactions with dummies
`-load` | string | `` | Releative load capacity of each node on a parallel machine. Be sure to use quotes around the string, which should contain a number for each node
`-maxwarn` | int | `10` | Number of warnings after which input processing stops
`-[no]check14` | bool | `no` | Remove 1-4 interactions without Van der Waals
`-[no]renum` | bool | `yes` | Renumber atomtypes and minimize number of atomtypes

http://www.gromacs.org
gromacs@gromacs.org