Numerical Simulations in Statistical Mechanics
Graduate Course

         [ Teachers | Intro | Syllabus | Material | Biblio ]


  • Dr. Arnaud Buhot     [e-mail][www]
    SPrAM, INAC, CEA Grenoble.
    Phone +33 4 38 78 38 68




With the advent of computers it became possible to carry out simulations of models which were intractable using `classical' theoretical techniques. In many cases computer have, for the first time in history, enable physicists not only to invent new models for various aspects of nature but also to solve those same models without substantial simplification. In recent years computer power has increased quite dramatically, with access to computers becoming both easier and more common (e.g. with personal computers and workstations), and computer simulation methods have also been steadily refined. As a result computer simulations have become another way of doing physics research. They provide another perspective, in some cases simulations provide a theoretical basis for understanding experimental results, and in other instances simulations provide `experimental' data with which theory may be compared.

This 6-7 lecture course is intended to introduce graduate students to numerical simulations in condensed matter. Special emphasis will be given to the physics of the numerical algorithms and a vast range of problems will be covered.

It will be assumed that students have a previous knowledge of statistical mechanics. Some previous experience in programming is needed. For those students who have not (or have forgot) basic programming skills, a zero-lecture about FORTRAN programming will be held.

At the end of the course students are encouraged to develop a project under supervision




If necessary a brief introduction to programming in FORTRAN will be given before the course
  1. Introduction to FORTRAN programming
    1. Central Limit Theorem.
    2. Fortran background (variable, operators, functions, Input/Output...).
    3. Random number generators.
In the main body of the course, it is hoped that the following topics will be covered:
  1. Some necessary background
    1. A quick reminder in thermodynamics and statistical mechanics.
    2. 1D Ising Model.
    3. Finite size scaling.
    4. Fluctuations and errors.

  2. Equilibrium Monte Carlo Simulations
    1. Ising Model.
    2. Important sampling.
    3. Metropolis, Glauber and Kawasaky algorithms.
    4. Cluster methods.
    5. Multicanonical methods.

  3. Non-equilibrium Monte Carlo Simulations
    1. Directed percolation.
    2. Kinetically constrained models.
    3. Continuous time Monte Carlo.

  4. Off-lattice simulations
    1. Hard sphere problems.
    2. Cluster algorithms.
    3. Molecular dynamics.

  5. Langevin Dynamics
    1. Brownian motion.
    2. Model A, model B, etc. equations.
    3. Kardar-Parisi-Zhang equation.
    4. Numerical simulation of stochastic differential equations.

  6. Projects




  • K. Binder and D. W. Heermann,
    Monte Carlo Simulation in Statistical Physics. An introduction.
    Springer-Verlag, Berlin (1988).

  • D. P. Landau and K. Binder,
    A guide to Monte Carlo Simulations in Statistical Physics,
    Cambridge University Press (2000).

  • M. E. J. Newman and G. T. Barkema,
    Monte Carlo Methods in Statistical Physics,
    Clarendon Press, Oxford (1999).

  • C. W. Gardiner,
    Handbook of Stochastic Methods,
    Springer-Verlag, Berlin, (1997).

  • Daan Frenkel and Berend Smit,
    Understanding Molecular Simulation: From Algorithms to Applications,
    Academic Press Boston (1996).

  • Werner Krauth,
    Introduction to Monte Carlo Algorithms,
    43 pages [pdf]

  • K. P. N. Murthy,
    Introduction to Monte Carlo Simulation of Statistical Physics problems,
    45 pages [pdf]




  • Introduction to Fortran, Aleksandar Donev, 31 pages [pdf,ps]

  • Professional Programmers's Guide to Fortran 77, Clive G. Page, 122 pages [ps]
Document files are in Postscript format

  • 0th Lecture: Background in Fortran and Central Limit Theorem
  • 1st Lecture: Background in thermodynamics and 1D Ising Model
  • 2nd Lecture: Equilibrium Monte-Carlo simulations and 2D Ising model
  • 3rd Lecture: Non-equilibrium Monte-Carlo simulations : directed percolation and kinetically constrained models
  • 4th Lecture: Off-lattice simulations : cluster algorithm and molecular dynamics
  • 5th Lecture: Langevin dynamics and KPZ dynamics
Notes on the 2nd Lecture


Some codes are in ASCII format. Ask A. Buhot for the remaining ones but try to make your own ones before

  • 0th Lecture
    • clt.f: Central Limit Theorem verification
    • moment.f: moment calculation subroutine

  • 1st Lecture
    • ising1d.f: 1D Ising model (calculate the partition function)
    • eval.f: energy evaluation subroutine

  • 2nd Lecture
    • ising.f: 2D Ising model with Glauber/Metropolis dynamics
    • kawa.f: 2D Ising model with Kawasaki dynamics
    • wolff.f: 2D Ising model with Wolff algorithm

  • 3rd Lecture
    • dptrivial.f: 1D Directed Percolation using trivial Monte Carlo algorithm
    • dpwrong.f: 1D Directed Percolation using wrong continuous time Monte Carlo
    • dpright.f: 1D Directed Percolation using correct continuous time Monte Carlo
    • dpwrong.eps: Comparison of the three Monte-Carlo algorithms
    • resp.f: Fluctuation-Dissipation Relations in the 1D Constrained Ising chain.
    • resp.dat: Contains the common variables for resp.f

  • 4th Lecture
    • cluster.f: 2D monodisperse hard square model using the cluster algorithm.
    • cluster.dat: Contains the common variables for cluster.f
    • init.f: Create an initial condition for the 2D monodisperse hard square model.
    • visu.f: Create a postscript file to visualise the squares

  • 5th Lecture
    • ou.f: Simulate the Ornstein-Uhlenbeck process.
    • ma.f: Simulate the -x^2+x^4 theory using Model A dynamics
    • mb.f: Simulate the -x^2+x^4 theory using Model B dynamics
    • kpz.f: Simulate the KPZ equition in 1D.
Free counter and web stats