The autocorrelation of the magnetisation is plotted for the Ising model of a ferromagnet. The critical temperature is 2.3 J/k Is this the expected behaviour? as in, it decays super fast for temperatures lower than the critical, decays the slowest at the critical temperature, and then the decay time drops again at greater temperatures. IF so, why?
-
1$\begingroup$ You really should average your autocorrelation over more data to get good fits and no oscillations like in the second and third plot. It seems that instead of the autocorrelation (which averages over all times) you just took the correlation to your initial state. From the data in the first plot you wont get a significant fit result, as the autocorrelation goes to zero on timescales you can't resolve. $\endgroup$– paleonixCommented Apr 10, 2019 at 21:50
-
$\begingroup$ We have a tagging system in the site to let users know what topic(s) the question covers, so please don't be lazy and use the exact same tags as your title question. Make your title actually descriptive of the question so users can get an idea as to what it's about before clicking on the link. $\endgroup$– Kyle KanosCommented Apr 11, 2019 at 13:06
1 Answer
If this is square lattice, 2.3k for critical temperature would be correct. Check Wikipedia page for Ising model, Onsagar's exact solution.
As for the behaviour of the autocorrelation time which you described, it's 100% accurate. This is so called critical slowing down, many cluster algorithms like Worm, Wolff and etc were invented to solve this problem. Why does this happen? Well, at high temperatures any change of the lattice will be accepted, because the configuration probability is proportional to inverse temperature, and at high temperatures, the probability of each configuration is almost the same, so every change will be accepted and you will get an average over a large sample of different data (hence no autocorrelation).
At very low temperatures, the lattice tends to stay in its ground state, so almost no change will be accepted, and it doesn't matter how many times you sweep the lattice, the result of averaging will be same so again you get a low autocorrelation (except for zero temperature of course, where variance is zero).
At the critical temperature, like at low temperatures, small perturbations will be accepted (i.e the configuration of the lattice does not change that much, hence you will sample the same data over and over), but unlike low temperatures, if you sweep the lattice and try to sample data again, you will see that the result of averaging over this new sampled data is different from previous one! Thus the autocorrelation time increases.