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

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 &macro)

Update only.

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 infrequent_update(const Macrostate &macro)

Perform an infrequent update to the bias.

void set_ln_prob(const LnProbability &ln_prob)

Set the macrostate probability distribution.

Arguments

  • 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).

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