Default values are given in parentheses, or listed first among
choices. The first option in the list is always the default
-option. Units are given in square brackets The difference between a
+option. Units are given in square brackets. The difference between a
dash and an underscore is ignored.
A :ref:`sample mdp file <mdp>` is available. This should be
twice as fast as with a Berendsen thermostat with the same
:mdp:`tau-t`.
- .. mdp-value:: sd2
-
- This used to be the default sd integrator, but is now
- deprecated. Four Gaussian random numbers are required per
- coordinate per step. With constraints, the temperature will be
- slightly too high.
-
.. mdp-value:: bd
An Euler integrator for Brownian or position Langevin dynamics,
molecule. When :mdp:`nstlist` is larger than one,
:mdp:`nstlist` insertions are performed in a sphere with radius
:mdp:`rtpi` around a the same random location using the same
- neighborlist (and the same long-range energy when :mdp:`rvdw`
- or :mdp:`rcoulomb` > :mdp:`rlist`, which is only allowed for
- single-atom molecules). Since neighborlist construction is
- expensive, one can perform several extra insertions with the
- same list almost for free. The random seed is set with
+ neighborlist. Since neighborlist construction is expensive,
+ one can perform several extra insertions with the same list
+ almost for free. The random seed is set with
:mdp:`ld-seed`. The temperature for the Boltzmann weighting is
set with :mdp:`ref-t`, this should match the temperature of the
simulation of the original trajectory. Dispersion correction is
(100)
number of steps that elapse between calculating the energies, 0 is
- never. This option is only relevant with dynamics. With a
- twin-range cut-off setup :mdp:`nstcalcenergy` should be equal to
- or a multiple of :mdp:`nstlist`. This option affects the
+ never. This option is only relevant with dynamics. This option affects the
performance in parallel simulations, because calculating energies
requires global communication between all processes which can
become a bottleneck at high parallelization.
automatically set based on :mdp:`verlet-buffer-tolerance`,
unless this is set to -1, in which case :mdp:`rlist` will be
used. This option has an explicit, exact cut-off at :mdp:`rvdw`
- equal to :mdp:`rcoulomb`. Currently only cut-off,
- reaction-field, PME electrostatics and plain LJ are
- supported. Some :ref:`gmx mdrun` functionality is not yet
+ equal to :mdp:`rcoulomb`, unless PME or Ewald is used, in which
+ case :mdp:`rcoulomb` > :mdp:`rvdw` is allowed. Currently only
+ cut-off, reaction-field, PME or Ewald electrostatics and plain
+ LJ are supported. Some :ref:`gmx mdrun` functionality is not yet
supported with the :mdp:`Verlet` scheme, but :ref:`gmx grompp`
checks for this. Native GPU acceleration is only supported with
:mdp:`Verlet`. With GPU-accelerated PME or with separate PME
.. mdp-value:: >0
- Frequency to update the neighbor list (and the long-range
- forces, when using twin-range cut-offs). When this is 0, the
+ Frequency to update the neighbor list. When this is 0, the
neighbor list is made only once. With energy minimization the
neighborlist will be updated for every energy evaluation when
:mdp:`nstlist` is greater than 0. With :mdp:`Verlet` and
Unused.
-.. mdp:: nstcalclr
-
- (-1) \[steps\]
- Controls the period between calculations of long-range forces when
- using the group cut-off scheme.
-
- .. mdp-value:: 1
-
- Calculate the long-range forces every single step. This is
- useful to have separate neighbor lists with buffers for
- electrostatics and Van der Waals interactions, and in particular
- it makes it possible to have the Van der Waals cutoff longer
- than electrostatics (useful *e.g.* with PME). However, there is
- no point in having identical long-range cutoffs for both
- interaction forms and update them every step - then it will be
- slightly faster to put everything in the short-range list.
-
- .. mdp-value:: >1
-
- Calculate the long-range forces every :mdp:`nstcalclr` steps
- and use a multiple-time-step integrator to combine forces. This
- can now be done more frequently than :mdp:`nstlist` since the
- lists are stored, and it might be a good idea *e.g.* for Van der
- Waals interactions that vary slower than electrostatics.
-
- .. mdp-value:: \-1
-
- Calculate long-range forces on steps where neighbor searching is
- performed. While this is the default value, you might want to
- consider updating the long-range forces more frequently.
-
- Note that twin-range force evaluation might be enabled
- automatically by PP-PME load balancing. This is done in order to
- maintain the chosen Van der Waals interaction radius even if the
- load balancing is changing the electrostatics cutoff. If the
- :ref:`mdp` file already specifies twin-range interactions (*e.g.* to
- evaluate Lennard-Jones interactions with a longer cutoff than
- the PME electrostatics every 2-3 steps), the load balancing will
- have also a small effect on Lennard-Jones, since the short-range
- cutoff (inside which forces are evaluated every step) is
- changed.
-
.. mdp:: ns-type
.. mdp-value:: grid
:mdp:`verlet-buffer-tolerance` option and the value of
:mdp:`rlist` is ignored.
-.. mdp:: rlistlong
-
- (-1) \[nm\]
- Cut-off distance for the long-range neighbor list. This parameter
- is only relevant for a twin-range cut-off setup with switched
- potentials. In that case a buffer region is required to account for
- the size of charge groups. In all other cases this parameter is
- automatically set to the longest cut-off distance.
-
Electrostatics
^^^^^^^^^^^^^^
.. mdp-value:: Cut-off
- Twin range cut-offs with neighborlist cut-off :mdp:`rlist` and
- Coulomb cut-off :mdp:`rcoulomb`, where :mdp:`rcoulomb` >=
- :mdp:`rlist`.
+ Plain cut-off with neighborlist radius :mdp:`rlist` and
+ Coulomb cut-off :mdp:`rcoulomb`, where :mdp:`rlist` >=
+ :mdp:`rcoulomb`.
.. mdp-value:: Ewald
.. mdp-value:: Reaction-Field
Reaction field electrostatics with Coulomb cut-off
- :mdp:`rcoulomb`, where :mdp:`rcoulomb` >= :mdp:`rlist`. The
+ :mdp:`rcoulomb`, where :mdp:`rlist` >= :mdp:`rvdw`. The
dielectric constant beyond the cut-off is
:mdp:`epsilon-rf`. The dielectric constant can be set to
infinity by setting :mdp:`epsilon-rf` =0.
.. mdp-value:: Generalized-Reaction-Field
Generalized reaction field with Coulomb cut-off
- :mdp:`rcoulomb`, where :mdp:`rcoulomb` >= :mdp:`rlist`. The
+ :mdp:`rcoulomb`, where :mdp:`rlist` >= :mdp:`rcoulomb`. The
dielectric constant beyond the cut-off is
:mdp:`epsilon-rf`. The ionic strength is computed from the
number of charged (*i.e.* with non zero charge) charge
:mdp:`Reaction-Field-zero` computationally more expensive than
normal reaction-field.
- .. mdp-value:: Reaction-Field-nec
-
- The same as :mdp-value:`coulombtype=Reaction-Field`, but
- implemented as in |Gromacs| versions before 3.3. No
- reaction-field correction is applied to excluded atom pairs and
- self pairs. The 1-4 interactions are calculated using a
- reaction-field. The missing correction due to the excluded pairs
- that do not have a 1-4 interaction is up to a few percent of the
- total electrostatic energy and causes a minor difference in the
- forces and the pressure.
-
.. mdp-value:: Shift
Analogous to :mdp-value:`vdwtype=Shift` for :mdp:`vdwtype`. You
.. mdp:: lincs-warnangle
- (30) \[degrees\]
+ (30) \[deg\]
maximum angle that a bond can rotate before LINCS will complain
.. mdp:: morse
(1e-6)
the relative constraint tolerance for constraint pulling
-.. mdp:: pull-print-com1
+.. mdp:: pull-print-com
.. mdp-value:: no
- do not print the COM of the first group in each pull coordinate
+ do not print the COM for any group
.. mdp-value:: yes
- print the COM of the first group in each pull coordinate
-
-.. mdp:: pull-print-com2
-
- .. mdp-value:: no
-
- do not print the COM of the second group in each pull coordinate
-
- .. mdp-value:: yes
-
- print the COM of the second group in each pull coordinate
+ print the COM of all groups for all pull coordinates
.. mdp:: pull-print-ref-value
.. mdp-value:: flat-bottom
- At distances beyond :mdp:`pull-coord1-init` a harmonic potential
+ At distances above :mdp:`pull-coord1-init` a harmonic potential
+ is applied, otherwise no potential is applied.
+
+ .. mdp-value:: flat-bottom-high
+
+ At distances below :mdp:`pull-coord1-init` a harmonic potential
is applied, otherwise no potential is applied.
+ .. mdp-value:: external-potential
+
+ An external potential that needs to be provided by another
+ module.
+
+.. mdp:: pull-coord1-potential-provider
+
+ The name of the external module that provides the potential for
+ the case where :mdp:`pull-coord1-type` is external-potential.
+
.. mdp:: pull-coord1-geometry
.. mdp-value:: distance
component. This geometry is not supported with constraint
pulling.
+ .. mdp-value:: angle
+
+ Pull along an angle defined by four groups. The angle is
+ defined as the angle between two vectors: the vector connecting
+ the COM of the first group to the COM of the second group and
+ the vector connecting the COM of the third group to the COM of
+ the fourth group.
+
+ .. mdp-value:: angle-axis
+
+ As :mdp-value:`angle` but the second vector is given by :mdp:`pull-coord1-vec`.
+ Thus, only the two groups that define the first vector need to be given.
+
+ .. mdp-value:: dihedral
+
+ Pull along a dihedral angle defined by six groups. These pairwise
+ define three vectors: the vector connecting the COM of group 1
+ to the COM of group 2, the COM of group 3 to the COM of group 4,
+ and the COM of group 5 to the COM group 6. The dihedral angle is
+ then defined as the angle between two planes: the plane spanned by the
+ the two first vectors and the plane spanned the two last vectors.
+
+
.. mdp:: pull-coord1-groups
- The two groups indices should be given on which this pull
- coordinate will operate. The first index can be 0, in which case an
+ The group indices on which this pull coordinate will operate.
+ The number of group indices required is geometry dependent.
+ The first index can be 0, in which case an
absolute reference of :mdp:`pull-coord1-origin` is used. With an
absolute reference the system is no longer translation invariant
and one should think about what to do with the center of mass
- motion. Note that (only) for :mdp:`pull-coord1-geometry` =
- :mdp-value:`direction-relative` four groups are required.
+ motion.
.. mdp:: pull-coord1-dim
.. mdp:: pull-coord1-init
- (0.0) \[nm\]
+ (0.0) \[nm\] / \[deg\]
The reference distance at t=0.
.. mdp:: pull-coord1-rate
- (0) \[nm/ps\]
+ (0) \[nm/ps\] / \[deg/ps\]
The rate of change of the reference position.
.. mdp:: pull-coord1-k
- (0) \[kJ mol-1 nm-2\] / \[kJ mol-1 nm-1\]
+ (0) \[kJ mol-1 nm-2\] / \[kJ mol-1 nm-1\] / \[kJ mol-1 rad-2\] / \[kJ mol-1 rad-1\]
The force constant. For umbrella pulling this is the harmonic force
- constant in kJ mol-1 nm-2. For constant force pulling this is the
+ constant in kJ mol-1 nm-2 (or kJ mol-1 rad-2 for angles). For constant force pulling this is the
force constant of the linear potential, and thus the negative (!)
- of the constant force in kJ mol-1 nm-1.
+ of the constant force in kJ mol-1 nm-1 (or kJ mol-1 rad-1 for angles).
+ Note that for angles the force constant is expressed in terms of radians
+ (while :mdp:`pull-coord1-init` and :mdp:`pull-coord1-rate` are expressed in degrees).
.. mdp:: pull-coord1-kB
- (pull-k1) \[kJ mol-1 nm-2\] / \[kJ mol-1 nm-1\]
+ (pull-k1) \[kJ mol-1 nm-2\] / \[kJ mol-1 nm-1\] / \[kJ mol-1 rad-2\] / \[kJ mol-1 rad-1\]
As :mdp:`pull-coord1-k`, but for state B. This is only used when
:mdp:`free-energy` is turned on. The force constant is then (1 -
lambda) * :mdp:`pull-coord1-k` + lambda * :mdp:`pull-coord1-kB`.
calculations are done.
-Adaptive Resolution Simulation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Computational Electrophysiology
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Use these options to switch on and control ion/water position exchanges in "Computational
+Electrophysiology" simulation setups. (See the `reference manual`_ for details).
-.. mdp:: adress
+.. mdp:: swapcoords
- (no)
- Decide whether the AdResS feature is turned on.
+ .. mdp-value:: no
-.. mdp:: adress-type
+ Do not enable ion/water position exchanges.
- .. mdp-value:: Off
+ .. mdp-value:: X ; Y ; Z
- Do an AdResS simulation with weight equal 1, which is equivalent
- to an explicit (normal) MD simulation. The difference to
- disabled AdResS is that the AdResS variables are still read-in
- and hence are defined.
+ Allow for ion/water position exchanges along the chosen direction.
+ In a typical setup with the membranes parallel to the x-y plane,
+ ion/water pairs need to be exchanged in Z direction to sustain the
+ requested ion concentrations in the compartments.
- .. mdp-value:: Constant
+.. mdp:: swap-frequency
- Do an AdResS simulation with a constant weight,
- :mdp:`adress-const-wf` defines the value of the weight
+ (1) The swap attempt frequency, i.e. every how many time steps the ion counts
+ per compartment are determined and exchanges made if necessary.
+ Normally it is not necessary to check at every time step.
+ For typical Computational Electrophysiology setups, a value of about 100 is
+ sufficient and yields a negligible performance impact.
- .. mdp-value:: XSplit
+.. mdp:: split-group0
- Do an AdResS simulation with simulation box split in
- x-direction, so basically the weight is only a function of the x
- coordinate and all distances are measured using the x coordinate
- only.
+ Name of the index group of the membrane-embedded part of channel #0.
+ The center of mass of these atoms defines one of the compartment boundaries
+ and should be chosen such that it is near the center of the membrane.
- .. mdp-value:: Sphere
+.. mdp:: split-group1
- Do an AdResS simulation with spherical explicit zone.
+ Channel #1 defines the position of the other compartment boundary.
-.. mdp:: adress-const-wf
+.. mdp:: massw-split0
- (1)
- Provides the weight for a constant weight simulation
- (:mdp:`adress-type` =Constant)
+ (no) Defines whether or not mass-weighting is used to calculate the split group center.
-.. mdp:: adress-ex-width
+ .. mdp-value:: no
- (0)
- Width of the explicit zone, measured from
- :mdp:`adress-reference-coords`.
+ Use the geometrical center.
-.. mdp:: adress-hy-width
+ .. mdp-value:: yes
- (0)
- Width of the hybrid zone.
+ Use the center of mass.
-.. mdp:: adress-reference-coords
+.. mdp:: massw-split1
- (0,0,0)
- Position of the center of the explicit zone. Periodic boundary
- conditions apply for measuring the distance from it.
+ (no) As above, but for split-group #1.
-.. mdp:: adress-cg-grp-names
+.. mdp:: solvent-group
- The names of the coarse-grained energy groups. All other energy
- groups are considered explicit and their interactions will be
- automatically excluded with the coarse-grained groups.
+ Name of the index group of solvent molecules.
-.. mdp:: adress-site
+.. mdp:: coupl-steps
- The mapping point from which the weight is calculated.
+ (\10) Average the number of ions per compartment over these many swap attempt steps.
+ This can be used to prevent that ions near a compartment boundary
+ (diffusing through a channel, e.g.) lead to unwanted back and forth swaps.
- .. mdp-value:: COM
+.. mdp:: iontypes
- The weight is calculated from the center of mass of each charge group.
+ (1) The number of different ion types to be controlled. These are during the
+ simulation exchanged with solvent molecules to reach the desired reference numbers.
- .. mdp-value:: COG
+.. mdp:: iontype0-name
- The weight is calculated from the center of geometry of each charge group.
+ Name of the first ion type.
- .. mdp-value:: Atom
+.. mdp:: iontype0-in-A
- The weight is calculated from the position of 1st atom of each charge group.
+ (-1) Requested (=reference) number of ions of type 0 in compartment A.
+ The default value of -1 means: use the number of ions as found in time step 0
+ as reference value.
- .. mdp-value:: AtomPerAtom
+.. mdp:: iontype0-in-B
- The weight is calculated from the position of each individual atom.
+ (-1) Reference number of ions of type 0 for compartment B.
-.. mdp:: adress-interface-correction
+.. mdp:: bulk-offsetA
- .. mdp-value:: Off
+ (0.0) Offset of the first swap layer from the compartment A midplane.
+ By default (i.e. bulk offset = 0.0), ion/water exchanges happen between layers
+ at maximum distance (= bulk concentration) to the split group layers. However,
+ an offset b (-1.0 < b < +1.0) can be specified to offset the bulk layer from the middle at 0.0
+ towards one of the compartment-partitioning layers (at +/- 1.0).
- Do not apply any interface correction.
+.. mdp:: bulk-offsetB
- .. mdp-value:: thermoforce
+ (0.0) Offset of the other swap layer from the compartment B midplane.
- Apply thermodynamic force interface correction. The table can be
- specified using the ``-tabletf`` option of :ref:`gmx mdrun`. The
- table should contain the potential and force (acting on
- molecules) as function of the distance from
- :mdp:`adress-reference-coords`.
-.. mdp:: adress-tf-grp-names
+.. mdp:: threshold
- The names of the energy groups to which the thermoforce is applied
- if enabled in :mdp:`adress-interface-correction`. If no group is
- given the default table is applied.
+ (\1) Only swap ions if threshold difference to requested count is reached.
-.. mdp:: adress-ex-forcecap
+.. mdp:: cyl0-r
- (0)
- Cap the force in the hybrid region, useful for big molecules. 0
- disables force capping.
+ (2.0) \[nm\] Radius of the split cylinder #0.
+ Two split cylinders (mimicking the channel pores) can optionally be defined
+ relative to the center of the split group. With the help of these cylinders
+ it can be counted which ions have passed which channel. The split cylinder
+ definition has no impact on whether or not ion/water swaps are done.
+
+.. mdp:: cyl0-up
+
+ (1.0) \[nm\] Upper extension of the split cylinder #0.
+
+.. mdp:: cyl0-down
+
+ (1.0) \[nm\] Lower extension of the split cylinder #0.
+
+.. mdp:: cyl1-r
+
+ (2.0) \[nm\] Radius of the split cylinder #1.
+
+.. mdp:: cyl1-up
+
+ (1.0) \[nm\] Upper extension of the split cylinder #1.
+
+.. mdp:: cyl1-down
+
+ (1.0) \[nm\] Lower extension of the split cylinder #1.
User defined thingies
These you can use if you modify code. You can pass integers and
reals and groups to your subroutine. Check the inputrec definition
- in ``src/gromacs/legacyheaders/types/inputrec.h``
+ in ``src/gromacs/mdtypes/inputrec.h``
+
+Removed features
+^^^^^^^^^^^^^^^^
+
+This feature has been removed from |Gromacs|, but so that old
+:ref:`mdp` and :ref:`tpr` files cannot be mistakenly misused, we still
+parse this option. :ref:`gmx grompp` and :ref:`gmx mdrun` will issue a
+fatal error if this is set.
+
+.. mdp:: adress
+
+ (no)
.. _reference manual: gmx-manual-parent-dir_