0%

Study note about Ising model

The main references of the study note are Monte Carlo simulation of classical Heisenberg model in three dimensions, Computational Quantum Physics and arXiv:0803.0217.

Ising Model is a mathematical model of ferromagnetism in statistical mechanics. The model consists of discrete variables that represent magnetic dipole moments of atomic ‘spins’ that can be in one of two states: +1 (up) or -1 (down). The spins are arranged in a graph, usually a lattice, allowing each spin to interact with its neighbors.

Mathematical definition of Ising Model

Consider a set Λ\Lambda of lattice sites. For each lattice site kΛk\in\Lambda, its spin state is represented by σk={+1,1}\sigma_{k} = \{+1, -1\}. The energy of a spin configuration σ={σk}kΛ\sigma = \{\sigma_{k}\}_{k\in\Lambda} is given by the Hamiltonian function H(σ)H(\sigma):

H(σ)=<ij>Jijσiσjμjhjσj(1)H(\sigma) = -\sum_{<ij>} J_{ij}\sigma_{i}\sigma_{j} - \mu\sum_{j}h_{j}\sigma_{j}\tag{1}

where σi\sigma_{i} and σj\sigma_{j} are spin states (+1 or -1) of two adjacent sites i,jΛi, j \in \Lambda, respectively. JijJ_{ij} is the interaction between site ii and site jj. Jij>0J_{ij}>0 indicates that the interaction is ferromagnetic, while Jij<0J_{ij}<0 indicates that the interaction is antiferromagnetic. Quantity μ\mu is the magnetic moment and hjh_{j} is the external magnetic field interacting with site jj. hj>0h_{j}>0 means the spin site jj desires to line up in the positive direction, while hj<0h_{j}<0 means the spin site jj desires to line up in the negative direction. The first sum is over pairs of adjacent spins (every pair is counted once). The notation <ij><ij> indicates that sites ii and jj are nearest neighbors.

The configuration probability is given by the Boltzmann distribution with inverse temperature β=1/(kBT)0\beta = 1/(k_{B}T)\geq 0:

Pβ(σ)=eβH(σ)Zβ=eH(σ)/(kBT)Zβ(2)P_{\beta}(\sigma) = \frac{e^{-\beta H(\sigma)}}{Z_{\beta}} = \frac{e^{-H(\sigma)/(k_{B}T)}}{Z_{\beta}}\tag{2}

where kBk_{B} is the Boltzmann constant, TT is the temperature of the system, and Zβ=σeβH(σ)Z_{\beta} = \sum_{\sigma}e^{-\beta H(\sigma)} is the partition function. The configuration probabilities Pβ(σ)P_{\beta }(\sigma) represent the probability that (in equilibrium) the system is in a state with configuration σ\sigma. Hence, Pβ(σ)eH(σ)/TP_{\beta}(\sigma)\propto e^{-H(\sigma)/T} implies that lower energy states are exponentially more probable than higher energy states, especially at low temperature. As a result, the system tends to evolve over time towards configurations that minimize the total energy.

Simplication

Ignore the external magnetic field hjh_{j}, the corresponding Hamiltionian function of Ising Model becomes:

H(σ)=<ij>Jijσiσj(3)H(\sigma) = -\sum_{<ij>} J_{ij}\sigma_{i}\sigma_{j} \tag{3}

(Monte Carlo simulation of classical Heisenberg model in three dimensions) If the system is ferromagnetic, which means Jij>0J_{ij}>0 holds for all adjacent sites in this system; it is obvious that configurations with spins to same direction are less energetic and therefore are more probable in the lower temperatures.

Monte-Carlo simulation of 2D Ising model

Here assumes L=ΛL = |\Lambda| is the number of sites on the square lattice. Since every spin site has two possible states: +1 (up) or -1 (down), there are 2L2^{L} different states that are possible. Hence, it is difficult to evaluate the Ising Model numerically with a large value of LL, which motivates the reason for applying Monte Carlo Methods to simulate the Ising Model.

Metropolis-Hastings algorithm

In practice, Metropolis-Hastings algorithm with powerful versatility is the most commonly used Monte Carlo algorithm for the estimation of Ising Model. The main steps of Metropolis algorithm are:

  1. Initialize a spin configuration σ\sigma of LL spins.
  2. Choose a random site jj on lattice, and then flip the spin of jj (Here just let σj=σj\sigma_{j} = -\sigma_{j}). Finally record the spin configuration with flipped value of σj\sigma_{j} as σ\sigma^{'}.
  3. Caculate the change in energy dEdE (Here dEdE is just equivalent to H(σ)H(σ)H(\sigma^{'}) - H(\sigma)).
  4. If dE<0dE<0, keep the flipped value. Otherwise, keep the flipped value with probability eβ(H(σ)H(σ))e^{-\beta (H(\sigma^{'}) - H(\sigma))}.
  5. Repeat the step 2-4.

Implementation of the Ising Model simulations by Monte Carlo approach can be found in repository “Simulation”.