ComputeBeta
-
class ComputeBeta : public feasst::TrialCompute
Attempt to change the inverse temperature, \(\beta\).
The derivation of the acceptance criteria follows a similar procedure as descibed in TrialComputeMove, except with the following differences.
The limiting distribution in the canonical canonical ensemble is
\(\pi_i \propto e^{-\beta U_i}\)
The transition probabilities are as follows.
Forward event
[reverse event]
Probability, \(\pi_{on}\)
[reverse probability, \(\pi_{no}\)]
Select increase of decrease
[Select increase of decrease]
\(1/2\)
\([1/2]\)
Accept
[Accept]
\(min(1, \chi)\)
\([min(1, 1/\chi)]\)
Application of local detailed balance yields the acceptance probability, \(\chi\).
\(\frac{e^{-\beta_o U}}{2}min(1, \chi) = \frac{e^{-\beta_n U}}{2} min(1, 1/\chi)\)
\(\chi = e^{-(\beta_n - \beta_o) U}\)
Public Functions
-
void perturb_and_acceptance(Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random)
Perform the Perturbations and determine acceptance.
-
void perturb_and_acceptance(Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random)