# Measuring correlation lengths of 2D Ising model by Monte Carlo simulation?

I want to measure cluster size and cluster number at different temperatures below and above critical temperature in 2d Ising model by Monte Carlo method. In other words, I must measure correlation length (typical cluster size) at different temperatures, but I do not know how to start to measure correlation length. Would you please help me ?

• This older Physics.SE post says the correlation length is the difference in measured temperature to the critical temperature (raised to some power), so it seems you should start with your grid of temperatures – Kyle Kanos Jan 17 '17 at 11:13

For a finite grid then, you'll want to sample temperatures in the range $[1,3]$ to pinpoint where the phase transition occurs. After picking a random temperature, run an Ising grid from random initial conditions for enough time steps that the system thermalizes. You'll have to figure out exactly how to do that, but the basic idea is that the system needs to reach the minimum of its free energy to be in equilibrium before you can measure the correlation length.
Once you have the two point correlation function, we know that the functional form of it is described by (in 2 dimensions): $$C_2(r) \propto \frac{e^{-r/\xi}}{\left(\frac{r}{\xi}\right)^{\eta}}$$ where $\eta$ is a critical exponent of the Ising universality class, and $\xi$ is the correlation length. Note that this form reduces to exponential behavior when the correlation length is small, and power law behavior when the correlation length is big. You can fit your data to the above functional form and extract both the critical exponent and the correlation length.