Wang-Landau method

From SklogWiki
Revision as of 11:34, 18 November 2010 by Nice and Tidy (talk | contribs)
Jump to: navigation, search

The Wang-Landau method was proposed by F. Wang and D. P. Landau [1] [2] to compute the density of states,  \Omega (E) , of Potts models; where  \Omega(E) is the number of microstates of the system having energy  E .

Outline of the method

The Wang-Landau method, in its original version, is a simulation technique designed to achieve a uniform sampling of the energies of the system in a given range. In a standard Metropolis Monte Carlo in the canonical ensemble the probability of a given microstate,  X , is given by:

 P(X) \propto \exp \left[ - E(X)/k_B T \right] ;

whereas for the Wang-Landau procedure one can write:

 P(X) \propto \exp \left[ f(E(X)) \right]  ;

where  f(E) is a function of the energy.  f(E) changes during the simulation in order produce a predefined distribution of energies (usually a uniform distribution); this is done by modifying the values of  f(E) to reduce the probability of the energies that have been already visited, i.e. If the current configuration has energy  E_i ,  f(E_i) is updated as:

 f^{new}(E_i) = f(E_i) - \Delta f  ;

where it has been considered that the system has discrete values of the energy (as happens in Potts Models), and  \Delta f > 0  .

Such a simple scheme is continued until the shape of the energy distribution approaches the one predefined. Notice that this simulation scheme does not produce an equilibrium procedure, since it does not fulfill detailed balance. To overcome this problem, the Wang-Landau procedure consists in the repetition of the scheme sketched above along several stages. In each subsequent stage the perturbation parameter  \Delta f is reduced. So, for the last stages the function  f(E) hardly changes and the simulation results of these last stages can be considered as a good description of the actual equilibrium system, therefore:

 g(E) \propto e^{f(E)} \int d X_i \delta( E,  E_i ) = e^{f(E)} \Omega(E);

where  E_i = E(X_i) ,  \delta(x,y) is the Kronecker Delta, and  g(E) is the fraction of microstates with energy  E obtained in the sampling.

If the probability distribution of energies,  g(E) , is nearly flat (if a uniform distribution of energies is the target), i.e.

 g(E_i) \simeq  1/n_{E} ; ; for each value  E_i in the selected range,

with  n_{E} being the total number of discrete values of the energy in the range, then the density of states will be given by:

 \Omega(E) \propto \exp \left[ - f(E) \right]

Microcanonical thermodynamics

Once one knows  \Omega(E) with accuracy, one can derive the thermodynamics of the system, since the entropy in the microcanonical ensemble is given by:

 S \left( E \right) = k_{B}   \log \Omega(E)

where  k_{B} is the Boltzmann constant.


The Wang-Landau method has inspired a number of simulation algorithms that use the same strategy in different contexts. For example:

Phase equilibria

In the original version one computes the entropy of the system as a function of the internal energy,  E , for fixed conditions of volume, and number of particles. In Refs. [6][7][8] it was shown how the procedure can be applied to compute other thermodynamic potentials that can be subsequently used to locate phase transitions. For instance, one can compute the Helmholtz energy function ,  A \left( N | V, T \right) as a function of the number of particle  N for fixed conditions of volume,  V , and temperature,  T .

Refinement of the results

It can be convenient to supplement the Wang-Landau algorithm, which does not fulfil detailed balance, with an equilibrium simulation [7][8]. In this equilibrium simulation one can use the final result for  f\left( E \right) (or  f\left( N \right) ) extracted from the Wang-Landau technique as a fixed function to weight the probability of the different configurations. Such a strategy simplifies the estimation of error bars, provides a good test of the results consistency, and can be used to refine the numerical results.


The Wang-Landau algorithm has been applied successfully to several problems in physics[?] , biology[?] , and chemistry[?] .

See also


  1. Fugao Wang and D. P. Landau "Efficient, Multiple-Range Random Walk Algorithm to Calculate the Density of States", Physical Review Letters 86 pp. 2050-2053 (2001)
  2. Fugao Wang and D. P. Landau "Determining the density of states for classical statistical models: A random walk algorithm to produce a flat histogram", Physical Review E 64 056101 (2001)
  3. N. G. Almarza and E. Lomba, "Determination of the interaction potential from the pair distribution function: An inverse Monte Carlo technique", Physical Review E 68 011202 (2003)
  4. N. G. Almarza, E. Lomba, and D. Molina. "Determination of effective pair interactions from the structure factor", Physical Review E 70 021203 (2004)
  5. 5.0 5.1 Nigel B. Wilding "A nonequilibrium Monte Carlo approach to potential refinement in inverse problems", Journal of Chemical Physics 119, 12163 (2003) Cite error: Invalid <ref> tag; name "wilding" defined multiple times with different content
  6. 6.0 6.1 E. Lomba, C. Martín, and N. G. Almarza, "Simulation study of the phase behavior of a planar Maier-Saupe nematogenic liquid", Physical Review E 71 046132 (2005) Cite error: Invalid <ref> tag; name "Lomba1" defined multiple times with different content
  7. 7.0 7.1 7.2 E. Lomba, N. G. Almarza, C. Martín, and C. McBride, "Phase behavior of attractive and repulsive ramp fluids: Integral equation and computer simulation studies", Journal of Chemical Physics 126 244510 (2007) Cite error: Invalid <ref> tag; name "Lomba2" defined multiple times with different content Cite error: Invalid <ref> tag; name "Lomba2" defined multiple times with different content
  8. 8.0 8.1 8.2 Georg Ganzenmüller and Philip J. Camp "Applications of Wang-Landau sampling to determine phase equilibria in complex fluids", Journal of Chemical Physics 127 154504 (2007) Cite error: Invalid <ref> tag; name "Ganzenmuller" defined multiple times with different content Cite error: Invalid <ref> tag; name "Ganzenmuller" defined multiple times with different content

Related reading