This is part of the eds module | |
It is only available if you configure PLUMED with ./configure –enable-modules=eds . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list. |
Add a linear bias on a set of observables.
This force is the same as the linear part of the bias in RESTRAINT, but this bias has the ability to compute prefactors adaptively using the scheme of White and Voth [95] in order to match target observable values for a set of CVs. You can see a tutorial on EDS specifically for biasing coordination number at Andrew White's webpage.
The addition to the potential is of the form
\[ \sum_i \frac{\alpha_i}{s_i} x_i \]
where for CV \(x_i\), a coupling constant \({\alpha}_i\) is determined adaptively or set by the user to match a target value for \(x_i\). \(s_i\) is a scale parameter, which by default is set to the target value. It may also be set separately.
Notice that a similar method is available as MAXENT, although with different features and using a different optimization algorithm.
By default this Action calculates the following quantities. These quanties 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 | squared value of force from the bias |
_coupling | For each named CV biased, there will be a corresponding output CV_coupling storing the current linear bias prefactor. |
RANGE | ( default=3.0 ) The largest magnitude of the force constant which one expects (in kBT) for each CV based |
SEED | ( default=0 ) Seed for random order of changing bias |
INIT | ( default=0 ) Starting value for coupling constant |
FIXED | ( default=0 ) Fixed target values for coupling constant. Non-adaptive. |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
RAMP | ( default=off ) Slowly increase bias constant to a fixed value |
COVAR | ( default=off ) Utilize the covariance matrix when updating the bias. Default Off, but may be enabled due to other options |
FREEZE | ( default=off ) Fix bias at current level (only used for restarting). |
MEAN | ( default=off ) Instead of using final bias level from restart, use average. Can only be used in conjunction with FREEZE |
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 proceding 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 componets 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... |
CENTER | The desired centers (equilibrium values) which will be sought during the adaptive linear biasing. This is for fixed values |
CENTER_ARG | The desired centers (equilibrium values) which will be sought during the adaptive linear biasing. CENTER_ARG is for calculated centers, e.g. from a CV or analysis. |
PERIOD | Steps over which to adjust bias for adaptive or ramping |
BIAS_SCALE | A divisor to set the units of the bias. If not set, this will be the experimental value by default (as is done in White and Voth 2014). |
TEMP | The system temperature. If not provided will be taken from MD code (if available) |
MULTI_PROP | What proportion of dimensions to update at each step. Must be in interval [1,0), where 1 indicates all and any other indicates a stochastic update. If not set, default is 1 / N, where N is the number of CVs. |
RESTART_FMT | the format that should be used to output real numbers in EDS restarts |
OUT_RESTART | Output file for all information needed to continue EDS simulation. If you have the RESTART directive set (global or for EDS), this file will be appended to. Note that the header will be printed again if appending. |
IN_RESTART | Read this file to continue an EDS simulation. If same as OUT_RESTART and you have not set the RESTART directive, the file will be backed-up and overwritten with new output. If you do have the RESTART flag set and it is the same name as OUT_RESTART, this file will be appended. |
RESTART | allows per-action setting of restart (YES/NO/AUTO) |
The following input for a harmonic oscillator of two beads will adaptively find a linear bias to change the mean and variance to the target values. The PRINT line shows how to access the value of the coupling constants.
dist: DISTANCE ATOMS=1,2 # this is the squared of the distance dist2: COMBINE ARG=dist POWERS=2 PERIODIC=NO #bias mean and variance eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 PERIOD=50000 TEMP=1.0 PRINT ARG=dist,dist2,eds.dist_coupling,eds.dist2_coupling,eds.bias,eds.force2 FILE=colvars.dat STRIDE=100
Rather than trying to find the coupling constants adaptively, one can ramp up to a constant value.
#ramp couplings from 0,0 to -1,1 over 50000 steps eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 FIXED=-1,1 RAMP PERIOD=50000 TEMP=1.0 #same as above, except starting at -0.5,0.5 rather than default of 0,0 eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 FIXED=-1,1 INIT=-0.5,0.5 RAMP PERIOD=50000 TEMP=1.0
A restart file can be added to dump information needed to restart/continue simulation using these parameters every PERIOD.
#add the option to write to a restart file eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 PERIOD=50000 TEMP=1.0 OUT_RESTART=restart.dat
Read in a previous restart file. Adding RESTART flag makes output append
eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 PERIOD=50000 TEMP=1.0 IN_RESTART=restart.dat RESTART
Read in a previous restart file and freeze the bias at the final level from the previous simulation
eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 TEMP=1.0 IN_RESTART=restart.dat FREEZE
Read in a previous restart file and freeze the bias at the mean from the previous simulation
eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 TEMP=1.0 IN_RESTART=restart.dat FREEZE MEAN
Read in a previous restart file and continue the bias, but use the mean from the previous run as the starting point
eds: EDS ARG=dist,dist2 CENTER=2.0,1.0 PERIOD=50000 TEMP=1.0 IN_RESTART=restart.dat MEAN