next up previous

3. Monte Carlo Method: Standard (NVT)

In a canonical average such as
\langle a \rangle_{NVT} = \frac{1}{Q} 
\int a(\mbox{$\bf 1$...
...f 1$}..\mbox{$\bf N$})/kT\}  d\mbox{$\bf 1$}..d\mbox{$\bf N$}
\end{displaymath} (3.1)

the denominator $Q \equiv \int \exp\{-E(\mbox{$\bf 1$}..\mbox{$\bf N$})/kT\} 
d\mbox{$\bf 1$}..d\mbox{$\bf N$}
$ is usually unknown.

In the section on ``Biased Random Walks'' we learned that this is no hindrance for the calculation of averages:

Writing, for a certain $N$-particle configuration, $\mbox{$\bf\Gamma$}_{c} \equiv \left\{\mbox{$\bf 1$}..\mbox{$\bf N$} \right\}$, we generate a Markov chain of, say, $K$ configurations $\{ \mbox{$\bf\Gamma$}_{c}(k), k=1,\dots K\}$ such that the relative frequency of a configuration in the chain is proportional to the corresponding Boltzmann factor. An estimate for the mean value $\langle a \rangle$ is then

\langle a \rangle = \frac{1}{K} \sum_{k=1}^{K}a \left[ \mbox{$\bf\Gamma$}_{c}(k)

Here is the procedure due to N. METROPOLIS:
Figure 3.1: Statistical-mechanical Monte Carlo for a model fluid with continuous potential
{\bf Metropolis Monte Carlo:}
\mbox{}\ *[1ex]
... symmetrical about $0$,
such as a Gauss distribution, will do.

In the case of hard disks or spheres the 3rd step in the above recipe must be modified. Values of $E(k)$ and $E'$ are then restricted to $0$ or $\infty$, with Boltzmann factors $1$ or $0$, respectively. Here is the modified part of the MC procedure:

Figure 3.2: Monte Carlo for hard spheres
Let $\mbox{$\bf \Gamma$}_{c}(k) \equiv \left\{ \m...
...$\bf \Gamma$}_{c}(k+1)=\mbox{$\bf \Gamma$}_{c}'\;$.

Yet another modification is needed for spin systems:

Figure 3.3: Monte Carlo simulation on an Ising lattice
\fbox{ \begin{minipage}{510pt}
Let $\mbox{$\bf \Gamma$}_{c}(k)\equiv \left\{ \s...
...a_{i}$ unchanged:

PROJECT MC (FLUID): Write a subroutine MCSTEP which performs the basic Monte Carlo step as described in Fig. 3.1: selecting at random one of the LJ particles that were placed on a lattice by STARTCONFIG, displace it slightly and apply the PBC; then compute the new potential energy (using NIC!) and check whether the modified configuration is accepted or not, given a specific temperature $T^{*}$; if accepted, the next configuration is the modified one, otherwise the old configuration is retained for another step.

Write a main routine to combine the subroutines STARTCONF, ENERGY, and MCSTEP into a working MC program.

PROJECT MC (LATTICE): Let $N=n.n$ spins $\sigma_{i}= \pm 1; \; i=1, \dots N$ be situated on the vertices of a two-dimensional square lattice. The interaction energy is defined by

E = \sum_{i} E_{i} = -\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{4} \sigma_{i}

where the sum over $j\/$ involves the 4 nearest neighbors of spin $i$. Periodic boundary conditions are assumed

next up previous
F. J. Vesely / University of Vienna