So I'm simulating an Ising model using Monte Carlo and the Metropolis algorithm. After letting it reach equilibrium, I try to calculate the autocorrelation of the magnetization. As long as the system is above the critical temperature (about 2.4), I get the expect results. But when it's below the critical point, I get a weird autocorrelation result:

Ising model

That straight line is completely bizarre. Now, at this point I am below the critical temperature, so it's supposed to be different anyway, but I'm not sure. It doesn't feel right.

Is this result expected?

  • $\begingroup$ I don't know anything about the subject matter or the methods but this is usually a valid question to pose when facing problems like this: are your assumptions/techniques valid below the critical temperature? It's critical for a reason, something must change there, so does your simulation, numerical method or governing equation assume something that is no longer true below that point? Or the post-processor that computes the autocorrelation even? Just a thought that might help you diagnose the problem, if there is a problem. $\endgroup$ – tpg2114 May 12 '14 at 19:34
  • $\begingroup$ Alternatively, do you need to assume something in addition to what is already assumed in the models below the critical temperature? Maybe there is an additional constraint or something that needs to be considered. $\endgroup$ – tpg2114 May 12 '14 at 19:34

I would argue that this maybe due to the way you calculate your autocorrelation. An autocorrelation like that straight line is the result of a large square signal.

The Ising model has a phase transition at the critical temperature. Above it, it's disordered; below it, it becomes ordered, which means that the magnetization stops flipping back and forth. This was shown analytically by L. Osanger in his article Crystal Statistics. I. A Two-Dimensional Model with an Order-Disorder Transition. Now, I assume that if you are using The Metropolis algorithm you are using a finite lattice. This just causes the transition to become less sharp (even if you use periodic boundary conditions), but it's still there, as can be seen in this graph which also uses the Metropolis algorithm, in a grid of 100 spins:

Ising Model for 100 spins, using Metropolis algorithm

So you can see that it's not unexpected that below the critical temperature, all the spins align and you just get a constant magnetization. Now, a constant signal should really give you a constant autocorrelation, but if your integration is done over a finite domain, which I assume it is, you would get an slopping autocorrelation like that. This picture should help seeing why:


The value of the green area will decrease linearly with T.

  • $\begingroup$ I think this is more or less right. This is why, in general, you end up measuring the correlations of fluctuations around the mean, $\langle \delta m(t) \delta m(0) \rangle$ where $\delta m = m - \langle m \rangle$. $\endgroup$ – AJK May 13 '14 at 5:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.