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 and pressures.
The potential ENERGY, \(E\), and the VOLUME, \(V\), of the system should be used as ARG.
\[ \Delta u_{\beta',p'}=(\beta'-\beta) E + (\beta' p' -\beta p) V\, , \]
where \(\beta', p'\) are the temperatures and pressures to be sampled, while \(\beta, p\) is the temperature and pressure at which the simulation is conducted.
If instead you wish to sample multiple temperatures and a single pressure, you should use ECV_MULTITHERMAL with as ARG the internal energy \(U=E+pV\).
The TEMP_STEPS and PRESSURE_STEPS are automatically guessed from the initial unbiased steps (see OBSERVATION_STEPS in OPES_EXPANDED), unless explicitly set. The algorithm for this guess is described in [60] should provide a rough estimate useful for most applications. The pressures are uniformely spaced, while the temperatures steps are geometrically spaced. Use instead the keyword NO_GEOM_SPACING for a linear spacing in inverse temperature (beta). For more detailed control you can use instead TEMP_SET_ALL and/or PRESSURE_SET_ALL to explicitly set all of them. The temperatures and pressures are then combined in a 2D grid.
You can use CUT_CORNER to avoid a high-temperature/low-pressure region. This can be useful e.g. to increase the temperature for greater ergodicity, while avoiding water to vaporize, as in Ref.[60].
You can reweight the resulting simulation at any temperature and pressure in chosen target, using e.g. REWEIGHT_TEMP_PRESS. A similar target distribution can be sampled using TD_MULTITHERMAL_MULTIBARIC.
ene: ENERGY vol: VOLUME ecv: ECV_MULTITHERMAL_MULTIBARIC ...ARG=ene,volcompulsory keyword the labels of the potential energy and of the volume of the system.TEMP=500compulsory keyword ( default=-1 ) temperature.TEMP_MIN=270the minimum of the temperature rangeTEMP_MAX=800the maximum of the temperature rangePRESSURE=0.06022140857*2000 #2 kbarcompulsory keyword pressure.PRESSURE_MIN=0.06022140857 #1 barthe minimum of the pressure rangePRESSURE_MAX=0.06022140857*4000 #4 kbarthe maximum of the pressure rangeCUT_CORNER=500,0.06022140857,800,0.06022140857*1000 ... opes: OPES_EXPANDEDavoid region of high temperature and low pressure.ARG=ecv.*compulsory keyword the label of the ECVs that define the expansion.FILE=DeltaF.datacompulsory keyword ( default=DELTAFS ) a file with the estimate of the relative Delta F for each component of the target and of the global c(t)PACE=500compulsory keyword how often the bias is updatedWALKERS_MPI( default=off ) switch on MPI version of multiple walkers
Notice that \(p=0.06022140857\) corresponds to 1 bar only when using the default PLUMED units. If you modify them via the UNITS command, then the pressure has to be rescaled accordingly.
TEMP | ( default=-1 ) temperature. If not specified tries to get it from MD engine |
ARG | the labels of the potential energy and of the volume of the system. You can calculate them with ENERGY and VOLUME respectively |
PRESSURE | pressure. Use the proper units |
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 |
PRESSURE_MIN | the minimum of the pressure range |
PRESSURE_MAX | the maximum of the pressure range |
PRESSURE_STEPS | the number of steps in pressure |
PRESSURE_SET_ALL | manually set all the pressures |
SET_ALL_TEMP_PRESSURE | manually set all the target temperature_pressure pairs. An underscore separates temperature and pressure, while different points are comma-separated, e.g.: temp1_pres1,temp1_pres2,... |
CUT_CORNER | avoid region of high temperature and low pressure. Exclude all points below a line in the temperature-pressure plane, defined by two points: \(T_{\text{low}},P_{\text{low}},T_{\text{high}},P_{\text{high}}\) |