Action: VES_DELTA_F
| Module | ves |
|---|---|
| Description | Usage |
| Implementation of VES Delta F method |
Details and examples
Implementation of VES Delta F method
Implementation of VES method discussed in the paper cited below (step two only).
Notice that this is a stand-alone bias Action, it does not need any of the other VES module components
First you should create some estimate of the local free energy basins of your system, using e.g. multiple METAD short runs, and combining them with the sum_hills utility. Once you have them, you can use this bias Action to perform the VES optimization part of the method.
These local basins are used to model the global free energy. In particular, given the conditional probabilities and the probabilities of being in a given basin , we can write:
We use this free energy model and the chosen bias factor to build the bias potential: . Or, more explicitly: where the parameters are the free energy differences (see below) from the basin.
By default the are shifted so that for all .
In this case the optimization parameters are the difference in height between the minima of the basins.
Using the keyword NORMALIZE, you can also decide to normalize the local free energies so that
.
In this case the parameters will represent not the difference in height (which depends on the chosen CVs),
but the actual free energy difference, .
However, as discussed in the paper cited below, a better estimate of should be obtained through the reweighting procedure.
Examples
The following performs the optimization of the free energy difference between two metastable basins:
#SETTINGS INPUTFILES=regtest/ves/rt-VesDeltaF/fesA.data,regtest/ves/rt-VesDeltaF/fesB.data
cv: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=7,9,15,17 ves: VES_DELTA_FImplementation of VES Delta F method More details ... ARGthe labels of the scalars on which the bias will act=cv TEMPtemperature is compulsory, but it can be sometimes fetched from the MD engine=300 FILE_F0names of files containing local free energies and derivatives=regtest/ves/rt-VesDeltaF/fesA.dataClick here to see an extract from this file.FILE_F1names of files containing local free energies and derivatives=regtest/ves/rt-VesDeltaF/fesB.dataClick here to see an extract from this file.BIASFACTOR the gamma bias factor used for well-tempered target p(s)=10.0 M_STEP the mu step used for the Omega functional minimization=0.1 AV_STRIDE number of simulation steps between alpha updates=500 PRINT_STRIDE stride for printing to ALPHA_FILE=100 ... PRINTPrint quantities to a file. More details FMT the format that should be used to output real numbers=%g STRIDE the frequency with which the quantities of interest should be output=500 FILEthe name of the file on which to output these quantities=Colvar.data ARGthe labels of the values that you would like to print to the file=cv,ves.bias,ves.rct
The local FES files can be obtained as described in Sec. 4.2 of the paper cited below, i.e. for example:
- run 4 independent metad runs, all starting from basin A, and kill them as soon as they make the first transition (see e.g. COMMITTOR)
- cat HILLS* > all_HILLS
- plumed sum_hills --hills all_HILLS --outfile all_fesA.dat --mintozero --min 0 --max 1 --bin 100
- awk -v n_rep=4 '{if($1!="#!" && $1!="") {for(i=1+(NF-1)/2; i<=NF; i++) $i/=n_rep;} print $0}' all_fesA.dat > fesA.data
Input
The arguments that serve as the input for this action are specified using one or more of the keywords in the following table.
| Keyword | Type | Description |
|---|---|---|
| ARG | scalar | the labels of the scalars on which the bias will act |
Output components
This action calculates the values in the following table. These values can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the value required from the list below.
| Name | Type | Description |
|---|---|---|
| bias | scalar | the instantaneous value of the bias potential |
| rct | scalar | the reweighting factor c(t) |
| work | scalar | the work done by the bias in one AV_STRIDE |
Full list of keywords
The following table describes the keywords and options that can be used with this action
| Keyword | Type | Default | Description |
|---|---|---|---|
| ARG | input | none | the labels of the scalars on which the bias will act |
| FILE_F | compulsory | none | names of files containing local free energies and derivatives |
| BIASFACTOR | compulsory | 0 | the gamma bias factor used for well-tempered target p(s) |
| M_STEP | compulsory | 1.0 | the mu step used for the Omega functional minimization |
| AV_STRIDE | compulsory | 500 | number of simulation steps between alpha updates |
| ALPHA_FILEThis keyword do not have examples | compulsory | ALPHA | file name for output minimization parameters |
| NUMERICAL_DERIVATIVESThis keyword do not have examples | optional | false | calculate the derivatives for these quantities numerically |
| TEMP | optional | not used | temperature is compulsory, but it can be sometimes fetched from the MD engine |
| NORMALIZEThis keyword do not have examples | optional | false | normalize all local free energies so that alpha will be (approx) Delta F |
| NO_MINTOZEROThis keyword do not have examples | optional | false | leave local free energies as provided, without shifting them to zero min |
| TG_STRIDEThis keyword do not have examples | optional | not used | number of AV_STRIDE between updates of target p(s) and reweighing factor c(t) |
| TAU_MEANThis keyword do not have examples | optional | not used | exponentially decaying average for alpha (rescaled using AV_STRIDE) |
| INITIAL_ALPHAThis keyword do not have examples | optional | not used | an initial guess for the bias potential parameter alpha |
| DAMPING_OFFThis keyword do not have examples | optional | false | do not use an AdaGrad-like term to rescale M_STEP |
| PRINT_STRIDE | optional | not used | stride for printing to ALPHA_FILE |
| FMTThis keyword do not have examples | optional | not used | specify format for ALPHA_FILE |
| SERIALThis keyword do not have examples | optional | false | perform the calculation in serial even if multiple tasks are available |
| MULTIPLE_WALKERSThis keyword do not have examples | optional | false | use multiple walkers connected via MPI for the optimization |
| RESTARTThis keyword do not have examples | optional | not used | allows per-action setting of restart (YES/NO/AUTO) |
References
More information about how this action can be used is available in the following articles: