This is part of the bias module |
Calculate weights for ensemble averages allow for the computing of ensemble averages at temperatures lower/higher than that used in your original simulation.
We can use our knowledge of the Boltzmann distribution in the cannonical ensemble to reweight the data contained in trajectories. Using this procedure we can take trajectory at temperature \(T_1\) and use it to extract probabilities at a different temperature, \(T_2\), using:
\[ P(s',t) = \frac{ \sum_{t'}^t \delta( s(x) - s' ) \exp\left( +( \left[\frac{1}{T_1} - \frac{1}{T_2}\right] \frac{U(x,t')}{k_B} \right) }{ \sum_{t'}^t \exp\left( +\left[\frac{1}{T_1} - \frac{1}{T_2}\right] \frac{U(x,t')}{k_B} \right) } \]
The weights calculated by this action are equal to \(\exp\left( +( \left[\frac{1}{T_1} - \frac{1}{T_2}\right] \frac{U(x,t')}{k_B} \right)\) and take the effect the bias has on the system into account. These weights can be used in any action that computes ensemble averages. For example this action can be used in tandem with HISTOGRAM or AVERAGE.
REWEIGHT_TEMP | reweight data from a trajectory at one temperature and output the probability distribution at a second temperature. This is not possible during postprocessing. |
TEMP | the system temperature. This is not required if your MD code passes this quantity to PLUMED |
The following input can be used to postprocess a molecular dynamics trajectory calculated at a temperature of 500 K. The HISTOGRAM as a function of the distance between atoms 1 and 2 that would have been obtained if the simulation had been run at the lower temperature of 300 K is estimated using the data from the higher temperature trajectory and output to a file.
x: DISTANCE ATOMS=1,2 aa: REWEIGHT_TEMP TEMP=500 REWEIGHT_TEMP=300 hB: HISTOGRAM ARG=x GRID_MIN=0.0 GRID_MAX=3.0 GRID_BIN=100 BANDWIDTH=0.1 LOGWEIGHTS=aa DUMPGRID GRID=hB FILE=histoB