I have some difficulties in understanding how to compute the magnetic susceptibility from a Monte Carlo simulation of the Ising model. I know that it is related to the magnetisation of the system by $\chi=\beta \text{Var(m)}$ so it seems that I need to compute the magnetisation over a complete simulation, keep all the values into a vector, and finally compute the variance of that set of measurements.

But what if I would like to compute the magnetic suscpetiblity as a function of the Monte Carlo step? In fact, my goal is to show that after a thermalisation period all the physical observables reach their own equilibrium value. So I would like to plot $\chi$ versus the Monte Carlo step and see how many iterations I need in order to have a stable value for $\chi$.

But if I try to save every consecutive measurements of $m$ and at each step compute $\text{Var(m)}$, I end up with a wrong plot. Where is the conceptual error?


1 Answer 1


I think there is a conceptual error here to assume that at each step you can compute the susceptibility of the magnetization. Definition of the susceptibility of the magnetization in the Monte Carlo simulation is, $$ \chi_{M}= \beta( \langle M^2 \rangle - \langle |M| \rangle ^2 ). $$ Clearly in the Monte-Carlo (MC) simulation we require ensemble average of the magnetization-squared and ensemble average of the absolute magnetization to compute the susceptibility reliably. One option could be blocking the data while computing the susceptibility. In that case, each block in the MC simulation should be considered as a single data. For example, for 100 Million MC sweeps of the order parameter (e.g. magnetization), we can create 100 blocks each with 1 Million sweeps and compute susceptibility for each each block separately. Then to see whether the susceptibility has reached the equilibration, we can then plot the susceptibility against the new sweep number where 1 Million original MC-sweeps is equivalent to 1 MC-sweep for the susceptibilites. Although, I have never seen people do this. I guess the reason is that we can always check whether $\langle M^2\rangle$ and $\langle |M|\rangle^2$ have reached to equilibrium separately. If both these quantities reach to equilibrium after N sweeps, then the susceptibility would also reach to a equilibrium value after N sweeps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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