Diffusion on a lattice

Introduction

A simple Monte Carlo simulation of N particles on a lattice with a maximum of one particle per site.

Algorithm

The algorithm for simulating the model is summarized by the following steps:

  1. A particle is chosen at random.
  2. One of the four nearest neighbor sites of the particle is chosen at random.
  3. If the site is empty, the particle is moved to that site; otherwise it remains where it is. In either case the time advances by 1/N.
  4. The mean square displacement <R2> is computed after one Monte Carlo per particle, that is, after N particles have been chosen at random. (In one Monte Carlo step per particle, some particles may be chosen more than once and some not chosen at all.)

Problems

  1. Run the simulation and compute the slope of the plot of <R2> versus time. The slope of this plot (divided by 4) is the diffusion coefficient D.
  2. Repeat the simulation for different densities and plot the diffusion coefficient D as a function of the density ρ. Discuss the dependence of D on ρ.
  3. Is <R2> always approximately linear in time for any density?

Java Classes

Updated 27 February 2007.