Glauber dynamics
In statistical physics, Glauber dynamics is a way to simulate the Ising model (a model of magnetism) on a computer. It is a type of Markov Chain Monte Carlo algorithm.[1]
The algorithm
In the Ising model, we have say N particles that can spin up (+1) or down (-1). Say the particles are on a 2D grid. We label each with an x and y coordinate. Glauber's algorithm becomes:[1]
- Choose a particle [math]\displaystyle{ \sigma_{x,y} }[/math] at random.
- Sum its four neighboring spins. [math]\displaystyle{ S = \sigma_{x+1,y} + \sigma_{x-1,y} + \sigma_{x,y+1} + \sigma_{x,y-1} }[/math].
- Compute the change in energy if the spin x, y were to flip. This is [math]\displaystyle{ \Delta E = 2\sigma_{x, y} S }[/math] (see the Hamiltonian for the Ising model).
- If [math]\displaystyle{ \Delta E \lt 0 }[/math] flip the spin. That is if flipping reduces the energy, then do it.
- Else flip the spin with probability [math]\displaystyle{ e^{-\Delta E/T} }[/math] where T is the temperature.
- Display the new grid. Repeat the above N times.
This tries to approximate how the spins change over time. The fancy term is that it is part of nonequilibrium statistical mechanics, which roughly studies the time-dependent behavior of statistical mechanics.[1]
History
The algorithm is named after Roy J. Glauber, Nobel Prize winner and a Harvard physicist who worked at Los Alamos.[1]