2
$\begingroup$

Plot of average spin Here, the horizontal axis is the strength of the ambient magnetic field. The Hamiltonian I used is $$H = -h\sum_i \sigma_i - J\sum_{\langle i \, j \rangle}\sigma_i\sigma_j.$$ The horizontal axis is $h$, and the vertical axis is the average of the spin values $\sigma_i\in\{\pm1\}$. $J$ is set to $1$ for simplicity. For low temperatures ($\beta$ is $3$, $5$, $7$ for blue, red, green respectively), apart from the expected phase transition at $h=0$, there is two other 'steps' appearing on both sides of the plot. The asymptotic value seems to be about 0.65, not very reasonable for any explanations I can think of: fluctuations from the last round of Markov spin-flipping (only 100 is candidate to be flipped each round, out of 10000), the external field has quenched most flipping (the average should have been $\pm 1$, then), etc.

Is this phenomenon caused by computational flaws, or is it actually appearing in the physic model? Thanks in advance!

$\endgroup$
  • $\begingroup$ What is the used value for the coupling constant $J$? $\endgroup$ – WarreG Jan 18 '19 at 14:14
  • 1
    $\begingroup$ @WarreG edited. $J=1$. $\endgroup$ – Trebor Jan 18 '19 at 14:18
  • $\begingroup$ +1, this is a very good question. Have you tried varying the time for which you run the simulation? It could be that this is a transition in kinetic rates, not just the equilibrium state. $\endgroup$ – Nathaniel Jan 18 '19 at 14:22
  • 1
    $\begingroup$ Though, at low temperatures you should have average spin values of +1 or -1, so there is something strange here in any case. You may have a bug. Have you tried watching your simulation graphically? $\endgroup$ – Nathaniel Jan 18 '19 at 14:26
  • 1
    $\begingroup$ Not sure if it has any influence but, what is the dimensionality of your system? How much neighbors does each spin have? $\endgroup$ – WarreG Jan 18 '19 at 14:26
1
$\begingroup$

OK, thanks to @Nathaniel the problem is solved. The asymptotic value actually varies according to the simulation time. So this is because the system has not yet reached a stable state. The simulation time was chosen because, since I didn't want to wait for too long, the algorithm has to stop in a reasonable amount of time. After lengthening the simulation time, I got a perfect one-step curve.

Having come to this, one can further conclude that, when running Monte-Carlo type algorithms, it is quite important to check for convergence. Thanks for your help!

$\endgroup$
  • 1
    $\begingroup$ And convergence of MC algorithms is quite slow, O($\sqrt{n}$) ($n$ is number of samples)! The life of a computationalist... good results are not easy/cheap/fast results. $\endgroup$ – tpg2114 Jan 18 '19 at 14:34

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.