This project is to use Markov Chain Monte Carlo method to simulate the behavior of spin orders in magnetic materials.
Methods
Monte Carlo Methods are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. Their essential idea is using random samples to solve problems that might be deterministic in principle. In physics-related problems, Monte Carlo methods are useful for simulating systems with many coupled degrees of freedom, for example, our spin interacting system. Here we introduce a specific Monte Carlo method — Markov Chain Monte Carlo (MCMC).
-
Markov Chain Monte Carlo (MCMC)
Markov Chain is a dependent system, the next state of the system depends only on the present state.
All the probabilities are forming a transition matrix, each element in the matrix represents the possibility from one state to the other one. The Makov process will asymptotically reach a unique stationary distribution.
MCMC is simply to construct a Markov chain to do Monte Carlo approximation, the most used algorithm is Metropolis–Hastings Algorithm. -
Metropolis–Hastings Algorithm
The Algorithm is illustrated as the pseudocode:
- Initialize a random state;
- Pick up a random state according to the proposal distribution;
- If satisfy the Metropolis condition, the system transits to the new state; else, transition doesn’t take place;
- save the state, go to step 2.
- Initialize a random state;
The implemental details of MCMC in a magnetic lattice can be referred to
MCMC implementation.ipynb
Models
-
Mean-field Theory
For an individual particle in a many-body system, the effect from all the other particles is approximated by a single averaged effect, which reducing a many-body problem to a one-body problem.
We call it Mean-field Theory.
First, we use Mean-field Theory to estimate the Néel temperature of the magnetic system, please refer to (Attention, lots of formulas!!!)
Mean-field Theory.ipynb -
Ising Model
-
2D Ising Model
In 2D Ising model, the spins are lying in xy-plane and oriented only along either +y or -y directions. The following figure shows the Monte Carlo process.
The codes and other details are in the following page:
2D-Ising-model.ipynb -
3D Ising model
In 3D Ising model, the spins are oriented to two directions, represent by red and blue dots in the following figure.
The codes and all the details are in file:
3D-Ising-model.ipynb
-
-
3D Heisenberg Model
This model allow the spin change both direction and magnitude. The code is in the following file:
3D-Heisenberg Model.ipynb