WLTM
-
class WLTM : public feasst::Bias
Begin with WangLandau and end with TransitionMatrix.[1] For the benefits of using WangLandau for initialization and TransitionMatrix for production convergence, see the Appendix of Shen and Siderius[2].
WLTM operates in the follow three stages.
WangLandau only. With CriteriaWriter, WLTM writes both WangLandau and TransitionMatrix. At this stage, the LnProbability from WangLandau appears as ln_prob. Because TransitionMatrix has not been used yet, the bias appears as all zeros with the header of ln_prob_tm.
When the WangLandau flatness reaches collect_flatness, the CollectrionMatrix begins to update with each trial move, but the bias is still based off of WangLandau.
When the WangLandau flatness reaches min_flatness, and the number of CollectionMatrix sweeps is greater than min_collect_sweeps, then the bias switches to TransitionMatrix. Writh CriteriaWriter, the TransitionMatrix LnProbability appears as ln_prob, while the WangLandau bias appears as ln_prob_wl.
References:
Public Functions
-
void update(const int macrostate_old, const int macrostate_new, const double ln_metropolis_prob, const bool is_accepted, const bool is_endpoint, const Macrostate ¯o)
Update only.
-
int cycles_to_complete() const
Updates min_sweeps, but neither flatness.
-
void set_cycles_to_complete(const int cycle)
Set the number of cycles required for completion.
-
const LnProbability &ln_prob() const
The natural log of the macrostate probability.
-
void infrequent_update(const Macrostate ¯o)
Perform an infrequent update to the bias.
-
void set_ln_prob(const LnProbability &ln_prob)
Set the macrostate probability distribution.
Arguments
WangLandau arguments.
TransitionMatrix arguments.
collect_flatness: Begin populating the CollectionMatrix when WangLandau has completed this many flatness checks. Note that populating the CollectionMatrix does not necessarily mean that the CollectionMatrix is used to compute the Bias.
min_collect_sweeps: In addition to WangLandau::min_flatness, do not use TransitionMatrix as bias until it has this minimum number of sweeps. If -1, do nothing (default: -1).