This is part of the ves module | |
It is only available if you configure PLUMED with ./configure –enable-modules=ves . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list. |
Target distribution given by an arbitrary mathematical expression (static or dynamic).
Use as a target distribution the distribution defined by
\[ p(\mathbf{s}) = \frac{f(\mathbf{s})}{\int d\mathbf{s} \, f(\mathbf{s})} \]
where \(f(\mathbf{s})\) is some arbitrary mathematical function that is parsed by the lepton library.
The function \(f(\mathbf{s})\) is given by the FUNCTION keywords by using s1,s2,..., as variables for the arguments \(\mathbf{s}=(s_1,s_2,\ldots,s_d)\). If one variable is not given the target distribution will be taken as uniform in that argument.
It is also possible to include the free energy surface \(F(\mathbf{s})\) in the target distribution by using the FE variable. In this case the target distribution is dynamic and needs to be updated with current best estimate of \(F(\mathbf{s})\), similarly as for the well-tempered target distribution. Furthermore, the inverse temperature \(\beta = (k_{\mathrm{B}}T)^{-1}\) and the thermal energy \(k_{\mathrm{B}}T\) can be included by using the beta and kBT variables.
The target distribution will be automatically normalized over the region on which it is defined on. Therefore, the function given in FUNCTION needs to be non-negative and normalizable. The code will perform checks to make sure that this is indeed the case.
FUNCTION | The function you wish to use for the target distribution where you should use the variables s1,s2,... for the arguments. You can also use the current estimate of the FES by using the variable FE and the temperature by using the kBT and beta variables. |
SHIFT_TO_ZERO | ( default=off ) Shift the minimum value of the target distribution to zero. This can for example be used to avoid negative values in the target distribution. If this option is active the distribution will be automatically normalized. |
WELLTEMPERED_FACTOR | Broaden the target distribution such that it is taken as [p(s)]^(1/ \(\gamma\)) where \(\gamma\) is the well tempered factor given here. If this option is active the distribution will be automatically normalized. |
Here we use as shifted Maxwell-Boltzmann distribution as a target distribution in one-dimension. Note that it is not need to include the normalization factor as the distribution will be automatically normalized.
TD_CUSTOM ... FUNCTION=(s1+20)^2*exp(-(s1+20)^2/(2*10.0^2)) LABEL=td ... TD_CUSTOM
Here we have a two dimensional target distribution where we use a generalized normal distribution for argument \(s_2\) while the distribution for \(s_1\) is taken as uniform as the variable s1 is not included in the function.
TD_CUSTOM ... FUNCTION=exp(-(abs(s2-20.0)/5.0)^4.0) LABEL=td ... TD_CUSTOM
By using the FE variable the target distribution can depend on the free energy surface \(F(\mathbf{s})\). For example, the following input is identical to using TD_WELLTEMPERED with BIASFACTOR=10.
TD_CUSTOM ... FUNCTION=exp(-(beta/10.0)*FE) LABEL=td ... TD_CUSTOM
Here the inverse temperature is automatically obtained by using the beta variable. It is also possible to use the kBT variable. The following syntax will give the exact same results as the syntax above
TD_CUSTOM ... FUNCTION=exp(-(1.0/(kBT*10.0))*FE)} LABEL=td ... TD_CUSTOM