gmx mdrun [-s [<.tpr>]] [-cpi [<.cpt>]] [-table [<.xvg>]] [-tablep [<.xvg>]] [-tableb [<.xvg> [...]]] [-rerun [<.xtc/.trr/...>]] [-ei [<.edi>]] [-multidir [<dir> [...]]] [-awh [<.xvg>]] [-membed [<.dat>]] [-mp [<.top>]] [-mn [<.ndx>]] [-o [<.trr/.cpt/...>]] [-x [<.xtc/.tng>]] [-cpo [<.cpt>]] [-c [<.gro/.g96/...>]] [-e [<.edr>]] [-g [<.log>]] [-dhdl [<.xvg>]] [-field [<.xvg>]] [-tpi [<.xvg>]] [-tpid [<.xvg>]] [-eo [<.xvg>]] [-px [<.xvg>]] [-pf [<.xvg>]] [-ro [<.xvg>]] [-ra [<.log>]] [-rs [<.log>]] [-rt [<.log>]] [-mtx [<.mtx>]] [-if [<.xvg>]] [-swap [<.xvg>]] [-deffnm <string>] [-xvg <enum>] [-dd <vector>] [-ddorder <enum>] [-npme <int>] [-nt <int>] [-ntmpi <int>] [-ntomp <int>] [-ntomp_pme <int>] [-pin <enum>] [-pinoffset <int>] [-pinstride <int>] [-gpu_id <string>] [-gputasks <string>] [-[no]ddcheck] [-rdd <real>] [-rcon <real>] [-dlb <enum>] [-dds <real>] [-nb <enum>] [-nstlist <int>] [-[no]tunepme] [-pme <enum>] [-pmefft <enum>] [-bonded <enum>] [-update <enum>] [-[no]v] [-pforce <real>] [-[no]reprod] [-cpt <real>] [-[no]cpnum] [-[no]append] [-nsteps <int>] [-maxh <real>] [-replex <int>] [-nex <int>] [-reseed <int>]
gmx mdrun is the main computational chemistry engine
within GROMACS. Obviously, it performs Molecular Dynamics simulations,
but it can also perform Stochastic Dynamics, Energy Minimization,
test particle insertion or (re)calculation of energies.
Normal mode analysis is another option. In this case
builds a Hessian matrix from single conformation.
For usual Normal Modes-like calculations, make sure that
the structure provided is properly energy-minimized.
The generated matrix can be diagonalized by gmx nmeig.
mdrun program reads the run input file (
and distributes the topology over ranks if needed.
mdrun produces at least four output files.
A single log file (
-g) is written.
The trajectory file (
-o), contains coordinates, velocities and
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.
Optionally coordinates can be written to a compressed trajectory file
-dhdl is only used when free energy calculation is
Running mdrun efficiently in parallel is a complex topic, many aspects of which are covered in the online User Guide. You should look there for practical advice on using many of the options available in mdrun.
ED (essential dynamics) sampling and/or additional flooding potentials
are switched on by using the
-ei flag followed by an .edi
file. The .edi file can be produced with the
or by using options in the essdyn menu of the WHAT IF program.
mdrun produces a .xvg output file that
contains projections of positions, velocities and forces onto selected
When user-defined potential functions have been selected in the
.mdp file the
-table option is used to pass
a formatted table with potential functions. The file is read from
either the current directory or from the
A number of pre-formatted tables are presented in the
for 6-8, 6-9, 6-10, 6-11, 6-12 Lennard-Jones potentials with
When pair interactions are present, a separate table for pair interaction
functions is read using the
When tabulated bonded functions are present in the topology,
interaction functions are read using the
For each different tabulated interaction type used, a table file name must
be given. For the topology to work, a file name given here must match a
character sequence before the file extension. That sequence is: an underscore,
then a ‘b’ for bonds, an ‘a’ for angles or a ‘d’ for dihedrals,
and finally the matching table number index used in the topology. Note that,
these options are deprecated, and in future will be available via grompp.
-pf are used for writing pull COM
coordinates and forces when pulling is selected
in the .mdp file.
-membed does what used to be g_membed, i.e. embed
a protein into a membrane. This module requires a number of settings
that are provided in a data file that is the argument of this option.
For more details in membrane embedding, see the documentation in the
user guide. The options
-mp are used to provide
the index and topology files used for the embedding.
-pforce is useful when you suspect a simulation
crashes due to too large forces. With this option coordinates and
forces of atoms with a force larger than a certain value will
be printed to stderr. It will also terminate the run when non-finite
forces are present.
Checkpoints containing the complete state of the system are written
at regular intervals (option
-cpt) to the file
-cpt is set to -1.
The previous checkpoint is backed up to
make sure that a recent state of the system is always available,
even when the simulation is terminated while writing a checkpoint.
-cpnum all checkpoint files are kept and appended
with the step number.
A simulation can be continued by reading the full state from file
-cpi. This option is intelligent in the way that
if no checkpoint file is found, GROMACS just assumes a normal run and
starts from the first step of the .tpr file. By default the output
will be appending to the existing output files. The checkpoint file
contains checksums of all output files, such that you will never
loose data when some output files are modified, corrupt or removed.
There are three scenarios with
* no files with matching names are present: new output files are written
* all files are present with names and checksums matching those stored
in the checkpoint file: files are appended
* otherwise no files are modified and a fatal error is generated
-noappend new output files are opened and the simulation
part number is added to all output file names.
Note that in all cases the checkpoint file itself is not renamed
and will be overwritten, unless its name does not match
With checkpointing the output is appended to previously written
output files, unless
-noappend is used or none of the previous
output files are present (except for the checkpoint file).
The integrity of the files to be appended is verified using checksums
which are stored in the checkpoint file. This ensures that output can
not be mixed up or corrupted due to file appending. When only some
of the previous output files are present, a fatal error is generated
and no old output files are modified and no new output files are opened.
The result with appending will be the same as from a single run.
The contents will be binary identical, unless you use a different number
of ranks or dynamic load balancing or the FFT library uses optimizations
-maxh a simulation is terminated and a checkpoint
file is written at the first neighbor search step where the run time
-maxh*0.99 hours. This option is particularly useful in
combination with setting
nsteps to -1 either in the mdp or using the
similarly named command line option (although the latter is deprecated).
This results in an infinite run,
terminated only when the time limit set by
-maxh is reached (if any)
or upon receiving a signal.
Interactive molecular dynamics (IMD) can be activated by using at least one
of the three IMD switches: The
-imdterm switch allows one to terminate
the simulation from the molecular viewer (e.g. VMD). With
mdrun pauses whenever no IMD client is connected. Pulling from the
IMD remote can be turned on by
mdrun listens to can be altered by
file pointed to by
-if contains atom indices and forces if IMD
pulling is used.
Options to specify input files:
Portable xdr run input file
-cpi[<.cpt>] (state.cpt) (Optional)
-table[<.xvg>] (table.xvg) (Optional)
-tablep[<.xvg>] (tablep.xvg) (Optional)
-tableb[<.xvg> […]] (table.xvg) (Optional)
-rerun[<.xtc/.trr/…>] (rerun.xtc) (Optional)
-ei[<.edi>] (sam.edi) (Optional)
ED sampling input
-multidir[<dir> […]] (rundir) (Optional)
-awh[<.xvg>] (awhinit.xvg) (Optional)
-membed[<.dat>] (membed.dat) (Optional)
Generic data file
-mp[<.top>] (membed.top) (Optional)
-mn[<.ndx>] (membed.ndx) (Optional)
Options to specify output files:
-x[<.xtc/.tng>] (traj_comp.xtc) (Optional)
Compressed trajectory (tng format or portable xdr format)
-cpo[<.cpt>] (state.cpt) (Optional)
-dhdl[<.xvg>] (dhdl.xvg) (Optional)
-field[<.xvg>] (field.xvg) (Optional)
-tpi[<.xvg>] (tpi.xvg) (Optional)
-tpid[<.xvg>] (tpidist.xvg) (Optional)
-eo[<.xvg>] (edsam.xvg) (Optional)
-px[<.xvg>] (pullx.xvg) (Optional)
-pf[<.xvg>] (pullf.xvg) (Optional)
-ro[<.xvg>] (rotation.xvg) (Optional)
-ra[<.log>] (rotangles.log) (Optional)
-rs[<.log>] (rotslabs.log) (Optional)
-rt[<.log>] (rottorque.log) (Optional)
-mtx[<.mtx>] (nm.mtx) (Optional)
-if[<.xvg>] (imdforces.xvg) (Optional)
-swap[<.xvg>] (swapions.xvg) (Optional)
Set the default filename for all file options
xvg plot formatting: xmgrace, xmgr, none
-dd<vector> (0 0 0)
Domain decomposition grid, 0 is optimize
DD rank order: interleave, pp_pme, cartesian
Number of separate ranks to be used for PME, -1 is guess
Total number of threads to start (0 is guess)
Number of thread-MPI ranks to start (0 is guess)
Number of OpenMP threads per MPI rank to start (0 is guess)
Number of OpenMP threads per MPI rank to start (0 is -ntomp)
Whether mdrun should try to set thread affinities: auto, on, off
The lowest logical core number to which mdrun should pin the first thread
Pinning distance in logical cores for threads, use 0 to minimize the number of threads per physical core
List of unique GPU device IDs available to use
List of GPU device IDs, mapping each PP task on each node to a device
Check for all bonded interactions with DD
The maximum distance for bonded interactions with DD (nm), 0 is determine from initial coordinates
Maximum distance for P-LINCS (nm), 0 is estimate
Dynamic load balancing (with DD): auto, no, yes
Fraction in (0,1) by whose reciprocal the initial DD cell size will be increased in order to provide a margin in which dynamic load balancing can act while preserving the minimum cell size.
Calculate non-bonded interactions on: auto, cpu, gpu
Set nstlist when using a Verlet buffer tolerance (0 is guess)
Optimize PME load between PP/PME ranks or GPU/CPU
Perform PME calculations on: auto, cpu, gpu
Perform PME FFT calculations on: auto, cpu, gpu
Perform bonded calculations on: auto, cpu, gpu
Perform update and constraints on: auto, cpu, gpu
Be loud and noisy
Print all forces larger than this (kJ/mol nm)
Try to avoid optimizations that affect binary reproducibility
Checkpoint interval (minutes)
Keep and number checkpoint files
Append to previous output files when continuing from checkpoint instead of adding the simulation part number to all file names
Run this number of steps (-1 means infinite, -2 means use mdp option, smaller is invalid)
Terminate after 0.99 times this time (hours)
Attempt replica exchange periodically with this period (steps)
Number of random exchanges to carry out each exchange interval (N^3 is one suggestion). -nex zero or not specified gives neighbor replica exchange.
Seed for replica exchange, -1 is generate a seed