This is part of the opes module | |
It is only available if you configure PLUMED with ./configure –enable-modules=opes . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list. |
Target a multiumbrella ensemble, by combining systems each with a parabolic bias potential at a different location.
Any set of collective variables \(\mathbf{s}\) can be used as ARG.
\[ \Delta u_{\mathbf{s}_i}(\mathbf{s})=\sum_j^{\text{dim}}\frac{([s]_j-[s_i]_j)^2}{2\sigma^2}\, . \]
The Gaussian umbrellas are placed along a line, from CV_MIN to CV_MAX. The umbrellas are placed at a distance SIGMA*SPACING from each other, if you need more flexibility use ECV_UMBRELLAS_FILE. The unbiased fluctuations in the basin usually are a reasonable guess for the value of SIGMA. Typically, a SPACING greater than 1 can lead to faster convergence, by reducing the total number of umbrellas. The umbrellas can be multidimensional, but the CVs dimensions should be rescaled since a single SIGMA must be used.
The keyword BARRIER can be helpful to avoid breaking your system due to a too strong initial bias. If you think the placed umbrellas will not cover the whole unbiased probability distribution you should add it explicitly to the target, with the flag ADD_P0, for more robust convergence. See also Appendix B of Ref.[60] for more details on these last two options.
The flag LOWER_HALF_ONLY modifies the ECVs so that they are set to zero when \(\mathbf{s}>\mathbf{s}_i\), as in LOWER_WALLS. This can be useful e.g. when the CV used is the ENERGY and one wants to sample a broad range of high energy values, similar to ECV_MULTITHERMAL but with a flat energy distribution as target. By pushing only from below one can avoid too extreme forces that could crash the simulation.
cv: DISTANCEATOMS=1,2 ecv: ECV_UMBRELLAS_LINEthe pair of atom that we are calculating the distance between.ARG=cvthe input for this action is the scalar output from one or more other actions.CV_MIN=1.2compulsory keyword the minimum of the CV range to be exploredCV_MAX=4.3compulsory keyword the maximum of the CV range to be exploredSIGMA=0.5compulsory keyword sigma of the umbrella GaussiansSPACING=1.5 opes: OPES_EXPANDEDcompulsory keyword ( default=1 ) the distance between umbrellas, in units of SIGMAARG=ecv.*compulsory keyword the label of the ECVs that define the expansion.PACE=500compulsory keyword how often the bias is updated
It is also possible to combine different ECV_UMBRELLAS_LINE to build a grid of CV values that will be sampled. For example the following code will sample a whole 2D region of cv1 and cv2.
cv1: DISTANCEATOMS=1,2 ecv2: ECV_UMBRELLAS_LINEthe pair of atom that we are calculating the distance between.ARG=cv1the input for this action is the scalar output from one or more other actions.CV_MIN=1.2compulsory keyword the minimum of the CV range to be exploredCV_MAX=4.3compulsory keyword the maximum of the CV range to be exploredSIGMA=0.5 cv2: DISTANCEcompulsory keyword sigma of the umbrella GaussiansATOMS=3,4 ecv1: ECV_UMBRELLAS_LINEthe pair of atom that we are calculating the distance between.ARG=cv2the input for this action is the scalar output from one or more other actions.CV_MIN=13.8compulsory keyword the minimum of the CV range to be exploredCV_MAX=21.4compulsory keyword the maximum of the CV range to be exploredSIGMA=4.3 opes: OPES_EXPANDEDcompulsory keyword sigma of the umbrella GaussiansARG=ecv1.*,ecv2.*compulsory keyword the label of the ECVs that define the expansion.PACE=500compulsory keyword how often the bias is updated
TEMP | ( default=-1 ) temperature. If not specified tries to get it from MD engine |
CV_MIN | the minimum of the CV range to be explored |
CV_MAX | the maximum of the CV range to be explored |
SIGMA | sigma of the umbrella Gaussians |
SPACING | ( default=1 ) the distance between umbrellas, in units of SIGMA |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
ADD_P0 | ( default=off ) add the unbiased Boltzmann distribution to the target distribution, to make sure to sample it |
LOWER_HALF_ONLY | ( default=off ) use only the lower half of each umbrella potentials |
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... |
BARRIER | a guess of the free energy barrier to be overcome (better to stay higher than lower) |