WangLandau

class WangLandau : public feasst::Bias

Wang Landau flat histogram bias. https://doi.org/10.1103/PhysRevLett.86.2050 https://doi.org/10.1063/1.1615966

Public Functions

WangLandau(argtype args = argtype())

args:

  • min_flatness : Number of flatness checks required for completion.

  • add_to_ln_probability : The initial amount to add to the natural log of the macrostate probability upon visiting that state (default: 1.0).

  • reduce_ln_probability : Reduce the amount to add to the natural log of the macrostate probability by multiplcation of this factor upon reaching a sufficiently flat histogram (default: 0.5).

  • flatness_threshold : The visited states histogram is determined to be flat when the percentage between minimum visisted states and average reaches this threshold (default: 0.8).

  • updates_per_flat_check: Updates per check for flatness (default: 10^2).

  • min_visit_per_macro: The minimum number of visits for each macrostate required during flatness check (default: 10^3).

void update_or_revert(const int macrostate_old, const int macrostate_new, const double ln_metropolis_prob, const bool is_accepted, const bool revert)

Update the bias due to an attempted transition.

int num_iterations_to_complete() const

Return the number of iterations required for completion. In TransitionMatrix and WLTM, this is the minimum number of sweeps. In WangLandau, this is the minimum number of flatness checks. Afterward, check again for completeness.

void set_num_iterations_to_complete(const int iteration)

Set the number of iterations required for completion.

const LnProbability &ln_prob() const

The natural log of the macrostate probability.

void set_ln_prob(const LnProbability &ln_prob)

Set the macrostate probability distribution.