The demon algorithm

edit

Motivation

edit

In thermodynamical systems equal macroscopic properties (e. g. temperature) can results from different microscopic properties (e. g. velocities of individual particles). Computer simulations of the full equations of motion for every individual particle to simulate microscopic properties is computationally very expensive. Monte Carlo methods can overcome this problem by sampling microscopic states according to stochastic rules instead of modeling the complete physics.

The microcanonical ensemble is a collection of microscopic states which have fixed energy, volume and number of particles. In an enclosed system with a certain number of particles, energy is the only macroscopic variable affected by the microphysics. The Monte Carlo simulation of a microcanonical ensemble thus requires sampling different microscopic states with the same energy. When the number of possible microscopic states of thermodynamical systems is very large, it is inefficient to randomly draw a state from all possible states and accept it for the simulation if it has the right energy, since many drawn states would be rejected.

The demon algorithm

edit

The demon algorithm is a Monte Carlo method for sampling members of a microcanonical ensemble with a given energy. An additional degree of freedom, called 'the demon', is added to the system and is able to store and provide energy. If a microscopic state produced by a small change of the microscopic state has lower energy than the original state, the excess energy is transferred to the demon. For a sampled state that has higher energy than desired, the demon provides the missing energy if it is available. The demon can not have negative energy and it does not interact with the particles beyond exchanging energy. Note that the additional degree of freedom provided by the demon does not alter a system with many particles significantly on a macroscopic level.

The full procedure can be summarized by the following steps:


1. Perform a random change in the state of a randomly chosen particle (e. g. change velocity or position).


2. Calculate the change in energy   of the thermal system.


3. Negative  , i. e. excess energy, is given to the demon by adding   to the demon. This case ( ) is always accepted.


4. The demon provides positive   to keep the total energy constant only if it has sufficient energy, i. e.  . In this case the change is accepted, otherwise the randomly chosen change in velocity is rejected and the algorithm is restarted from the original microscopic state.


5. If the change is accepted, repeat the algorithm for the new configuration.


Since energy fluctuations per degree of freedom are only of order  , the presence of the demon has little effect on macroscopic properties of systems with high numbers of particles. After many iterations of the algorithm, the interplay of demon and energy changes equilibrates the system. Assuming that a particular system approaches all possible states over very long times (quasi-ergodicity), the resulting Monte Carlo dynamics realistically sample microscopic states that correspond to the given energy value. This is only true if macroscopic quantities are stable over many Monte Carlo steps, i. e. if the system is at equilibrium.



References

edit
  • Harvey Gould, Jan Tobochnik, Wolfgang Christian: "An Introduction to Computer Simulation Methods" (2007), Addison Wesley, chapter 15: Monte Carlo Simulations of Thermal Systems