Note: this applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4. (Safari or Firefox works, IE does not.) On other operating systems, you may obtain the latest Java plugin from Sun's Java site.

How to run the applet: To set it up, click on one of the "setup" buttons: "setup-1" sets all the spins pointing down, "setup+1" sets them pointing up, and "setup-random" points each spin up or down with equal probability. Then hit "go". You'll need to move the speed slider above the lattice to the right to speed it up (if you don't see the speed slider, refresh your page). To stop the simulation, just hit the "go" button again.

The temperature is set at 2.269 which is very near the critical point for this model, but you can adjust it. Above or at this temperature, the magnetization (the fraction of up spins minus the fraction of down spins) will fluctuate around zero. Below this temperature, the symmetry between up and down will be "spontaneously broken" and either the magnetization will stay negative or stay positive (at least in the limit of large systems).

It is interesting to try different temperatures and see what happens. For example, at a temperature just a little below the critical temperature like 2.200, you might think that the equilibrium magnetization would be near zero, but in fact it will be quite close to -1 or +1, as is easy to see if you start with all spins up or all spins down. However if you start with a random configuration, you will see large domains of the minority spin, that only very slowly decay away as the system equilibrates.

Another interesting thing to do is to set the temperature at zero, and then hit the random setup. Most times, the system will eventually equilibrate at all up or all down spins, but if you try this repeatedly sometimes you will eventually see the formation of two stable domains with spins of opposite sign, separated by two "domain walls" (note that toroidal boundary conditions are used). These domain walls are stable because each spin on the border sees 3 neighbors pointing the same way as it, and only one neighbor pointing in the other direction. 

So domain wall configurations are local minima of the energy, but they are certainly not global minima: the two global minima have all spins pointing up or all spins pointing down. By starting in a random configuration and then letting the system equilibrate at zero temperature, we are freezing in defects, something that one sees in real life when one cools crystals too quickly. To avoid that happening, one should "anneal" by slowly reducing the temperature. If you anneal the temperature down slowly, and make sure you equilibrate at the new temperature before reducing temperature again, you can avoid getting domain walls.

More Information about the Ising Model From the NetLogo Website

NetLogo Homepage 

Back to NerdWisdom Blog