| ## mdrun Main Table of Contents | VERSION 3.2.0 Sun 25 Jan 2004

### Description

The mdrun program is the main computational chemistry engine within GROMACS. Obviously, it performs Molecular Dynamics simulations, but it can also perform Brownian Dynamics and Langevin Dynamics as well as Conjugate Gradient or Steepest Descents energy minimization. Normal mode analysis is another option. In this case mdrun builds a Hessian matrix from single conformation. For usual Normal Modes-like calculations, make sure that the structure provided is properly energy-minimised. The generated matrix can be diagonalized by g_nmeig.

The mdrun program reads the run input file (`-s`) and distributes the topology over nodes if needed. The coordinates are passed around, so that computations can begin. First a neighborlist is made, then the forces are computed. The forces are globally summed, and the velocities and positions are updated. If necessary shake is performed to constrain bond lengths and/or bond angles. Temperature and Pressure can be controlled using weak coupling to a bath.

mdrun produces at least three output file, plus one log file (`-g`) per node. The trajectory file (`-o`), contains coordinates, velocities and optionally forces. The structure file (`-c`) contains the coordinates and velocities of the last step. The energy file (`-e`) contains energies, the temperature, pressure, etc, a lot of these things are also printed in the log file of node 0. Optionally coordinates can be written to a compressed trajectory file (`-x`).

When running in parallel with PVM or an old version of MPI the `-np` option must be given to indicate the number of nodes.

The option `-dgdl` is only used when free energy perturbation is turned on.

With `-rerun` an input trajectory can be given for which forces and energies will be (re)calculated. Neighbor searching will be performed for every frame, unless `nstlist` is zero (see the `.mdp` file).

ED (essential dynamics) sampling is switched on by using the `-ei` flag followed by an `.edi` file. The `.edi` file can be produced using options in the essdyn menu of the WHAT IF program. mdrun produces a `.edo` file that contains projections of positions, velocities and forces onto selected eigenvectors.

The -table option can be used to pass mdrun a formatted table with user-defined potential functions. The file is read from either the current directory or from the GMXLIB directory. A number of preformatted tables are presented in the GMXLIB dir, for 6-8, 6-9, 6-10, 6-11, 6-12 Lennard Jones potentials with normal Coulomb.

The options `-pi`, `-po`, `-pd`, `-pn` are used for potential of mean force calculations and umbrella sampling. See manual.

Finally some experimental algorithms can be tested when the appropriate options have been given. Currently under investigation are: polarizibility, glass simulations, Free energy perturbation, X-Ray bombardments and parallel independent simulations.

When mdrun receives a TERM signal, it will set nsteps to the current step plus one. When mdrun receives a USR1 signal, it will set nsteps to the next multiple of nstxout after the current step. In both cases all the usual output will be written to file. When running with MPI, a signal to one of the mdrun processes is sufficient, this signal should not be sent to mpirun or the mdrun process that is the parent of the others.

### Files

option | filename | type | description
--- | --- | --- | ---
`-s` | `topol.tpr` | Input | Generic run input: tpr tpb tpa xml
`-o` | `traj.trr` | Output | Full precision trajectory: trr trj
`-x` | `traj.xtc` | Output, Opt. | Compressed trajectory (portable xdr format)
`-c` | `confout.gro` | Output | Generic structure: gro g96 pdb xml
`-e` | `ener.edr` | Output | Generic energy: edr ene
`-g` | `md.log` | Output | Log file
`-dgdl` | `dgdl.xvg` | Output, Opt. | xvgr/xmgr file
`-field` | `field.xvg` | Output, Opt. | xvgr/xmgr file
`-table` | `table.xvg` | Input, Opt. | xvgr/xmgr file
`-rerun` | `rerun.xtc` | Input, Opt. | Generic trajectory: xtc trr trj gro g96 pdb
`-ei` | `sam.edi` | Input, Opt. | ED sampling input
`-eo` | `sam.edo` | Output, Opt. | ED sampling output
`-j` | `wham.gct` | Input, Opt. | General coupling stuff
`-jo` | `bam.gct` | Input, Opt. | General coupling stuff
`-ffout` | `gct.xvg` | Output, Opt. | xvgr/xmgr file
`-devout` | `deviatie.xvg` | Output, Opt. | xvgr/xmgr file
`-runav` | `runaver.xvg` | Output, Opt. | xvgr/xmgr file
`-pi` | `pull.ppa` | Input, Opt. | Pull parameters
`-po` | `pullout.ppa` | Output, Opt. | Pull parameters
`-pd` | `pull.pdo` | Output, Opt. | Pull data output
`-pn` | `pull.ndx` | Input, Opt. | Index file
`-mtx` | `nm.mtx` | Output, Opt. | Hessian matrix
`-dn` | `dipole.ndx` | Output, Opt. | Index file

### Other options

option | type | default | description
--- | --- | --- | ---
`-[no]h` | bool | `no` | Print help info and quit
`-nice` | int | `19` | Set the nicelevel
`-deffnm` | string | `` | Set the default filename for all file options
`-np` | int | `1` | Number of nodes, must be the same as used for grompp
`-nt` | int | `1` | Number of threads to start on each node
`-[no]v` | bool | `no` | Be loud and noisy
`-[no]compact` | bool | `yes` | Write a compact log file
`-[no]multi` | bool | `no` | Do multiple simulations in parallel (only with -np > 1)
`-[no]glas` | bool | `no` | Do glass simulation with special long range corrections
`-[no]ionize` | bool | `no` | Do a simulation including the effect of an X-Ray bombardment on your system

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