|
This applet implements the Wang-Landau algorithm, which simulates the model in the multicanonical ensemble, and computes
(an estimate of) the density of states of the model.
In this ensemble, the usual
Boltzmann weight w(E)=exp(-E/kT) is replaced by w(E)=1/n(E), where n(E) gradually converges to the exact density of states as the simulation
advances. A single-spin update from Ea to Eb is accepted with probability n(Ea)/n(Eb), so that the energy histogram
N(E)=w(E) n(E) eventually becomes flat.
Wang-Landau's iteration scheme works roughly as follow: each time an energy level E is
visited, n(E) gets updated according to n(E) *= f, or equally
S(E) += ln f, where S(E)=ln n(E) is the microcanonical entroyp
("ln f" is displayed as "WL-weight" in the left panel). Most visited energy levels are thus disfavored,
which slowly lead to a flat histogram (the algorithm "compensates" for rare events by over-favoring them,
and conversely for events which show up too often).
Once in a while, the histogram roughness is checked, and if it falls below a given threshold (
the "Maximum histogram roughness" field in the configuration panel), the update-weight is reduced by two,
and the simulation goes on.
Ref:
Wang, F. & Landau, D.P.
Determining the density of states for classical statistical models: A random walk algorithm to produce a flat histogram
Phys. Rev. E, 2001 , 64 , 056101
Applet help:
- The S(E) chart on the right side displays the estimate of the
microcanonical entropy S(E) in real time.
- The south-panel displays charts of reweighted thermodymical averages as a funtion of temperature.
The "F(kT,E)" button let you visualize the variational free energy. For first-order transitions
(Q>4) and near the transition temperature, you might witness two minima (provided the lattice
size is not too small).
- The "temperature" button let you configure many things regarding the simulation, e.g. temperature range for
the reweighting procedure, number of measurements between checks histogram roughness, ...
- if the applet runs too slowly, reduce the "Latency". If still slow, deselect the "Animate" checkbox.
Download source code : montecarlo.zip
|