| 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. |
Expand a simulation to sample multiple temperatures simultaneously.
The internal energy \(U\) of of the system should be used as ARG.
\[ \Delta u_{\beta'}=(\beta'-\beta) U\, , \]
where \(\beta'\) are the temperatures to be sampled and \(\beta\) is the temperature at which the simulation is conducted. In case of fixed volume, the internal energy is simply the potential energy given by the ENERGY colvar \(U=E\), and you will run a multicanonical simulation. If instead the simulation is at fixed pressure \(p\), the contribution of the volume must be added \(U=E+pV\) (see example below).
By defauly the needed steps in temperatures are automatically guessed from few initial unbiased MD steps, as descibed in [75]. Otherwise you can manually set this number with TEMP_STEPS. In both cases the steps will be geometrically spaced in temperature. Use instead the keyword NO_GEOM_SPACING for a linear spacing in the inverse temperature (beta), that typically increases the focus on lower temperatures. Finally, you can use instead the keyword TEMP_SET_ALL and explicitly provide each temperature.
You can reweight the resulting simulation at any temperature in the chosen range, using e.g. REWEIGHT_TEMP_PRESS. A similar target distribution can be sampled using TD_MULTICANONICAL.
Fixed volume, multicanonical simulation:
ene: ENERGY ecv: ECV_MULTITHERMAL ARGcompulsory keyword the label of the internal energy of the system. =ene TEMPcompulsory keyword ( default=-1 ) temperature. =300 TEMP_MINthe minimum of the temperature range =300 TEMP_MAXthe maximum of the temperature range =800 opes: OPES_EXPANDED ARGcompulsory keyword the label of the ECVs that define the expansion. =ecv.ene PACEcompulsory keyword how often the bias is updated =500
which, if your MD code passes the temperature to PLUMED, is equivalent to:
ene: ENERGY ecv: ECV_MULTITHERMAL ARGcompulsory keyword the label of the internal energy of the system. =ene TEMP_MAXthe maximum of the temperature range =800 opes: OPES_EXPANDED ARGcompulsory keyword the label of the ECVs that define the expansion. =ecv.ene PACEcompulsory keyword how often the bias is updated =500
If instead the pressure is fixed and the volume changes, you shuld calculate the internal energy first, \(U=E+pV\)
ene: ENERGY vol: VOLUME intEne: CUSTOM PERIODICcompulsory keyword if the output of your function is periodic then you should specify the periodicity of the function. =NO ARGthe input for this action is the scalar output from one or more other actions. =ene,vol FUNCcompulsory keyword the function you wish to evaluate =x+0.06022140857*y ecv: ECV_MULTITHERMAL ARGcompulsory keyword the label of the internal energy of the system. =intEne TEMP_MAXthe maximum of the temperature range =800 opes: OPES_EXPANDED ARGcompulsory keyword the label of the ECVs that define the expansion. =ecv.intEne PACEcompulsory keyword how often the bias is updated =500
Notice that \(p=0.06022140857\) corresponds to 1 bar when using the default PLUMED units.
| TEMP | ( default=-1 ) temperature. If not specified tries to get it from MD engine |
| ARG | the label of the internal energy of the system. If volume is fixed it is calculated by the ENERGY colvar |
| NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
| NO_GEOM_SPACING | ( default=off ) do not use geometrical spacing in temperature, but instead linear spacing in inverse temperature |
| TEMP_MIN | the minimum of the temperature range |
| TEMP_MAX | the maximum of the temperature range |
| TEMP_STEPS | the number of steps in temperature |
| TEMP_SET_ALL | manually set all the temperatures |