next up previous
Next: A C Code for Up: Case Study 1: The Previous: Case Study 1: The

Introduction

In the introductory lecture, I introduced state-counting using a simple, one-dimensional Ising system. To be precise, this was a particular case known as a Ising system of noninteracting spins, because each spin made its own independent contribution to the Hamiltonian.

Now, we will consider a more interesting Ising system; namely, that of interacting spins on a 2d square lattice. What do we mean by interacting? We mean that the Hamiltonian depends on pairs of spins:


\begin{displaymath}
\mathscr{H} = -\sum_{\left<ij\right>}s_is_j
\end{displaymath} (77)

where the notation $\left<ij\right>$ denotes that we are summing over unique pairs of nearest neighbors, and, as before a spin $s_i$ is either +1 or -1. How many unique pairs of nearest neighbors are there on a lattice of $N$ spins (assuming periodic boundary conditions)? To answer this question, we must know the coordination, $z$, of the lattice; that is, how many nearest neigbhors does one lattice position have? For a square lattice, $z$ = 4. Each spin therefore contributes two unique spin pairs to the system, so there are $Nz/2$ unique nearest neighbor pairs.

Think about this Hamiltonian. It says that energy is minimal when all $N$ spins have the same alignment, either all up or all down. Imagine a microscopic observable called the magnetization, or average spin orientation, $M$:

\begin{displaymath}
M \equiv \frac{1}{N} \sum_i^N s_i
\end{displaymath} (78)

Then, $M$ = +1 and -1 are two energetically equivalent microstates. We can then expect that if there is any thermal energy in the system which randomly flips spins, the amount of this thermal energy (that is, the temerature) will somehow control the observable magnetization. We ``observe'' magnetization using an ensemble average:
\begin{displaymath}
\left<M\right> = \frac{
\begin{minipage}{8cm}
\begin{displ...
...(s_1,\dots,s_N\right)\right]
\end{displaymath}\end{minipage}}
\end{displaymath} (79)

Our physical intution tells us that as $T\rightarrow$ 0, $\left<M\right>\rightarrow$ 1, and as $T\rightarrow\infty$, $\left<M\right>\rightarrow$ 0. The fascinating thing about an Ising magnet is that there is a finite temperature called the critical temperature, $T_c$. If we start out with a ``hot'' system, and cool it to just below $T_c$, the absolute value of the magnetization spontaneously jumps from 0 to some finite positive value. In other words, the system undergoes a phase transition from a disordered phase to a partially ordered phase. A Metropolis Monte Carlo simulation can allow us to probe the behavior of an Ising system and learn how the system behaves near criticality. The rest of this case study will be devoted to showing you the inner workings of a C program which simulates the Ising lattice using Metropolis MC, as a first implementation of this technique. In the suggested exercises appearing at the end of this case study, you will modify this code slightly to compute averages values of certain observables.

But first, I recommend a visit to the website of Peter Young at UC Santa Cruz (http://bartok.ucsc.edu/peter/java/ising/ising.html). You will see a Java implentation of a Monte Carlo simulation of a 2-dimensional Ising magnet (One of many on the web; google ``ising simulation'' and you'll get a nice sample.) This is a fun little Java applet that lets you play with an Ising system. You can change the temperature of the simulation: making it cold will ``freeze'' the system, and making it hot ``melts'' it. Near the critical temperature, $T_c$, relatively large regions of mostly-up spins compete with regions of mostly down spin. In one of the exercises, we'll learn how to measure an observable called the correlation length, which characterizes the size of these domains and is a useful signature of criticality.


next up previous
Next: A C Code for Up: Case Study 1: The Previous: Case Study 1: The
cfa22@drexel.edu