Skip to content

metadynamics

Adds a biasing potential to molecular dynamics to perform metadynamics. The biasing potential is computed from collective variables of the structure and to discourage the system to visit the positions that are historically visited in the chemical space. Metadynamics can be used for for conformer search or free energy calculations.

aimd(
 structure(molecule = water)
 n_steps = 10
 gradient(xtb(model=gfn0))
 thermostat()
 metadynamics(
    collective_variable = 'aligned_rmsd'
    bias_width = 1. au
    bias_force_constant = 1.e-4 au
    reference_sampling_period = 1. ps)
)

The implementation is based on

  1. conformer search, S. Grimme et al., J. Chem. Theory Comput., 2019, 155, 2847-2862;
  2. free energy calculation, Bussi, et al. Rev. Comput. Chem 28 (2015): 1-49.
This command can appear in the global context.

Options

bias_atoms

Specify the atom index that will be treated with the bias potential. If this option is not given, assuming the bias potential is applied to all the atoms in the system.

  • The type is [int]
  • There is no default value.
bias_force_constant

Strength of the bias potential (Eq. 2, from Grimme. et al ).

  • The type is quantity
  • There is no default value.
  • The value must be nonnegative
bias_temperature

Specify the bias temperature for well-tempered metadynamics calculation, from Bussi et al., PRL 100, 020603 (2008). . The parameter is recommended to be set as the free energy magnitude that is thermodynamically meaningful in the simulations. The default value for this option is 0., meaning well-tempered modification of the bias is not switched on.

  • The type is quantity
  • The default is 0.0 kelvin
bias_width

Width of the bias potential in space and time (Eq. 2, from Grimme. et al ).

  • The type is quantity
  • There is no default value.
  • The value must be nonnegative
collective_variable

Specify the collective variable based on which metadynamics bias is applied. "aligned_rmsd" is the recommended option for doing conformer search. Physically meaningful options, such as bond length, angle, and dihedral angle are recommended when doing free energy calcualtions.

  • The type is string-lowered
  • The default is aligned_rmsd
  • The value must be one of:
    • aligned_rmsd - Molecular aligned RMSD, see Coutsias et al., J. Comput. Chem. 2004, 25: 1849 for details. Both translational and rotational difference are excluded.
    • shifted_rmsd - Molecular shifted RMSD, however only translational difference is excluded.
    • dihedral - Dihedral angle, "bias_atoms" option that specify the dihedral angle with four atom indexes are required in the metadynamics input.
free_energy_scan_steps

Specify the number of MD steps that elapse between two metadynamics free energy scans.

  • The type is int
  • The default is 2000
  • The value must be positive
max_reference_structures

Maximum number of the reference structures that used to apply the history-dependent bias potential in the system dynamics. Old structures are removed from the reference structure list when the list length exceeds this number.

  • The type is int
  • The default is 50
n_free_energy_scan_points

Specify the number of sampling points (with different collective variable values) for calculating the free energy landscape.

  • The type is int
  • The default is 50
  • The value must be positive
reference_sampling_period

The period at which the metadynamics reference geometries get updated.

  • The type is quantity
  • The default is 1.0 ps
  • The value must be nonnegative
time_damping_coefficient

Specify the coefficient that determines a time period during which the bias potential assoicated to the latest reference geometry is fully switched on. It is used as \(\kappa\) in ( Grimme. et al .) $$ f_{dmp} = \frac{2}{1 + \exp(-\kappa k)} - 1 $$ where \(k\) is the step number. Finite \(\kappa\) helps suppress the AIMD instabilities when using large time steps. The default value 0.03 follows implementation in Grimme. et al .

  • The type is quantity
  • The default is 0.03 au
  • The value must be nonnegative