OPES_EXPANDED
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.

On-the-fly probability enhanced sampling with expanded ensembles for the target distribution.

This method is similar to the OPES method (OPES) with expanded ensembles target distribution (replica-exchange-like) [60].

An expanded ensemble is obtained by summing a set of ensembles at slightly different termodynamic conditions, or with slightly different Hamiltonians. Such ensembles can be sampled via methods like replica exchange, or this OPES_EXPANDED bias action. A typical example is a multicanonical simulation, in which a whole range of temperatures is sampled instead of a single one.

In oreder to define an expanded target ensemble we use expansion collective variables (ECVs), \(\Delta u_\lambda(\mathbf{x})\). The bias at step \(n\) is

\[ V_n(\mathbf{x})=-\frac{1}{\beta}\log \left(\frac{1}{N_{\{\lambda\}}}\sum_\lambda e^{-\Delta u_\lambda(\mathbf{x})+\beta\Delta F_n(\lambda)}\right)\, . \]

See Ref.[60] for more details on the method.

Notice that the estimates in the DELTAFS file are expressed in energy units, and should be multiplied by \(\beta\) to be dimensionless as in Ref.[60]. The DELTAFS file also contains an estimate of \(c(t)=\frac{1}{\beta} \log \langle e^{\beta V}\rangle\). Similarly to OPES_METAD, it is printed only for reference, since \(c(t)\) reaches a fixed value as the bias converges, and should NOT be used for reweighting. Its value is also needed for restarting a simulation.

You can store the instantaneous \(\Delta F_n(\lambda)\) estimates also in a more readable format using STATE_WFILE and STATE_WSTRIDE. Restart can be done either from a DELTAFS file or from a STATE_RFILE, it is equivalent.

Contrary to OPES_METAD, OPES_EXPANDED does not use kernel density estimation.

Examples
Click on the labels of the actions for more information on what each action computes
tested on master
# simulate multiple temperatures, as in parallel tempering
ene: ENERGY 
ecv: ECV_MULTITHERMAL ARGcompulsory keyword 
the label of the internal energy of the system. =ene TEMP_MAXthe maximum of the temperature range =1000 
opes: OPES_EXPANDED ARGcompulsory keyword 
the label of the ECVs that define the expansion. =ecv.* PACEcompulsory keyword 
how often the bias is updated =500 
PRINT FILEthe name of the file on which to output these quantities =COLVAR STRIDEcompulsory keyword ( default=1 )
the frequency with which the quantities of interest should be output =500 ARGcompulsory keyword 
the labels of the values that you would like to print to the file =ene,opes.bias 

You can easily combine multiple ECVs. The OPES_EXPANDED bias will create a multidimensional target grid to sample all the combinations.

Click on the labels of the actions for more information on what each action computes
tested on master
# simulate multiple temperatures while biasing a CV
ene: ENERGY 
dst: DISTANCE ATOMSthe pair of atom that we are calculating the distance between. =1,2 
ecv1: ECV_MULTITHERMAL ARGcompulsory keyword 
the label of the internal energy of the system. =ene TEMP_SET_ALLmanually set all the temperatures =200,300,500,1000 
ecv2: ECV_UMBRELLAS_LINE ARGcompulsory keyword 
the labels of the scalar values that are input to this action =dst CV_MINcompulsory keyword 
the minimum of the CV range to be explored =1.2 CV_MAXcompulsory keyword 
the maximum of the CV range to be explored =4.3 SIGMAcompulsory keyword 
sigma of the umbrella Gaussians =0.5 
opes: OPES_EXPANDED ARGcompulsory keyword 
the label of the ECVs that define the expansion. =ecv1.*,ecv2.* PACEcompulsory keyword 
how often the bias is updated =500 OBSERVATION_STEPScompulsory keyword ( default=100 )
number of unbiased initial PACE steps to collect statistics for initialization =1 
PRINT FILEthe name of the file on which to output these quantities =COLVAR STRIDEcompulsory keyword ( default=1 )
the frequency with which the quantities of interest should be output =500 ARGcompulsory keyword 
the labels of the values that you would like to print to the file =ene,dst,opes.bias 

If an ECV is based on more than one CV you must provide all the output component, in the proper order. You can use Regular Expressions for that, like in the following example.

Click on the labels of the actions for more information on what each action computes
tested on master
# simulate multiple temperatures and pressures while biasing a two-CVs linear path
ene: ENERGY 
vol: VOLUME 
ecv_mtp: ECV_MULTITHERMAL_MULTIBARIC ...
   ARGcompulsory keyword 
the labels of the potential energy and of the volume of the system. =ene,vol 
   TEMPcompulsory keyword ( default=-1 )
temperature. =300 
   TEMP_MINthe minimum of the temperature range =200 
   TEMP_MAXthe maximum of the temperature range =800 
   PRESSUREcompulsory keyword 
pressure. =0.06022140857*1000 #1 kbar 
   PRESSURE_MINthe minimum of the pressure range =0 
   PRESSURE_MAXthe maximum of the pressure range =0.06022140857*2000 #2 kbar 
...
cv1: DISTANCE ATOMSthe pair of atom that we are calculating the distance between. =1,2 
cv2: DISTANCE ATOMSthe pair of atom that we are calculating the distance between. =3,4 
ecv_umb: ECV_UMBRELLAS_LINE ARGcompulsory keyword 
the labels of the scalar values that are input to this action =cv1,cv2 TEMPcompulsory keyword ( default=-1 )
temperature. =300 CV_MINcompulsory keyword 
the minimum of the CV range to be explored =0.1,0.1 CV_MAXcompulsory keyword 
the maximum of the CV range to be explored =1.5,1.5 SIGMAcompulsory keyword 
sigma of the umbrella Gaussians =0.2 BARRIERa guess of the free energy barrier to be overcome (better to stay higher than lower)
=70 
opes: OPES_EXPANDED ARGcompulsory keyword 
the label of the ECVs that define the expansion. =(ecv_.*) PACEcompulsory keyword 
how often the bias is updated =500 WALKERS_MPI( default=off ) switch on MPI version of multiple walkers  PRINT_STRIDEcompulsory keyword ( default=100 )
stride for printing to DELTAFS file, in units of PACE =1000 
PRINT FILEthe name of the file on which to output these quantities =COLVAR STRIDEcompulsory keyword ( default=1 )
the frequency with which the quantities of interest should be output =500 ARGcompulsory keyword 
the labels of the values that you would like to print to the file =ene,vol,cv1,cv2,opes.bias 
Glossary of keywords and components
Description of components

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

In addition the following quantities can be calculated by employing the keywords listed below

Quantity Keyword Description
work CALC_WORK total accumulated work done by the bias
Compulsory keywords
ARG the label of the ECVs that define the expansion. You can use an * to make sure all the output components of the ECVs are used, as in the examples above
PACE how often the bias is updated
OBSERVATION_STEPS ( default=100 ) number of unbiased initial PACE steps to collect statistics for initialization
FILE ( default=DELTAFS ) a file with the estimate of the relative Delta F for each component of the target and of the global c(t)
PRINT_STRIDE ( default=100 ) stride for printing to DELTAFS file, in units of PACE
Options
NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically
STORE_STATES ( default=off ) append to STATE_WFILE instead of ovewriting it each time
CALC_WORK ( default=off ) calculate the total accumulated work done by the bias since last restart
WALKERS_MPI ( default=off ) switch on MPI version of multiple walkers
SERIAL

( default=off ) perform calculations in serial

FMT specify format for DELTAFS file
STATE_RFILE read from this file the Delta F estimates and all the info needed to RESTART the simulation
STATE_WFILE write to this file the Delta F estimates and all the info needed to RESTART the simulation
STATE_WSTRIDE number of MD steps between writing the STATE_WFILE. Default is only on CPT events (but not all MD codes set them)
RESTART allows per-action setting of restart (YES/NO/AUTO)
UPDATE_FROM Only update this action from this time
UPDATE_UNTIL Only update this action until this time