This is part of the bias module |
Adds a ratchet-and-pawl like restraint on one or more variables.
This action can be used to evolve a system towards a target value in CV space using an harmonic potential moving with the thermal fluctuations of the CV [83] [108] [34]. The biasing potential in this method is as follows:
\( V(\rho(t)) = \left \{ \begin{array}{ll} \frac{K}{2}\left(\rho(t)-\rho_m(t)\right)^2, &\rho(t)>\rho_m(t)\\ 0, & \rho(t)\le\rho_m(t), \end{array} \right . \)
where
\( \rho(t)=\left(CV(t)-TO\right)^2 \)
and
\( \rho_m(t)=\min_{0\le\tau\le t}\rho(\tau)+\eta(t) \).
The method is based on the introduction of a biasing potential which is zero when the system is moving towards the desired arrival point and which damps the fluctuations when the system attempts to move in the opposite direction. As in the case of the ratchet and pawl system, propelled by thermal motion of the solvent molecules, the biasing potential does not exert work on the system. \(\eta(t)\) is an additional white noise acting on the minimum position of the bias.
The following input sets up two biases, one on the distance between atoms 3 and 5 and another on the distance between atoms 2 and 4. The two target values are defined using TO and the two strength using KAPPA. The total energy of the bias is printed.
d1: DISTANCEATOMS=3,5 d2: DISTANCEthe pair of atom that we are calculating the distance between.ATOMS=2,4 abmd: ABMDthe pair of atom that we are calculating the distance between.ARG=d1,d2the input for this action is the scalar output from one or more other actions.TO=1.0,1.5compulsory keyword The array of target valuesKAPPA=5.0,5.0 PRINTcompulsory keyword The array of force constants.ARG=abmd.bias,abmd.d1_min,abmd.d2_minthe input for this action is the scalar output from one or more other actions.
By default this Action calculates the following quantities. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.
Quantity | Description |
bias | the instantaneous value of the bias potential |
force2 | the instantaneous value of the squared force due to this bias potential |
_min | one or multiple instances of this quantity can be referenced elsewhere in the input file. These quantities will be named with the arguments of the bias followed by the character string _min. These quantities tell the user the minimum value assumed by rho_m(t). |
TO | The array of target values |
KAPPA | The array of force constants. |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
ARG | the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3... |
MIN | Array of starting values for the bias (set rho_m(t), otherwise it is set using the current value of ARG) |
NOISE | Array of white noise intensities (add a temperature to the ABMD) |
SEED | Array of seeds for the white noise (add a temperature to the ABMD) |