Computational Physics: Advanced Monte Carlo Methods

First semester 2012/13

This course provide an Introduction to Monte Carlo techniques in Equilibrium and Non-equilibrium Systems.
The course consists in 7 lectures (25/9, 2/10, 9/10, 16/10, 23/10, 30/10, 6/11) and individual tutored classes.
The program is: Monte Carlo computation of Integrals, Importance sampling, Markov Chains and Detailed Balance, The Metropolis Algorithm, Critical slowing down, Cluster algorithms, Monte Carlo in continuous time, Kawasaki algorithm: local and non-local, Coupled chemical reactions: the Gillespie algorithm.


Lecture notes (pdf)
One of the first papers on Monte Carlo methods N. Metropolis and S. Ulam, The Monte Carlo method, JSTOR 44, 335 (1949).
M.E.J. Newman and G.T. Barkema, "Monte Carlo Methods in Statistical Physics" (Oxford University Press). (This is an excellent and very detailed book about Monte Carlo simulations in classical Statistical Physics, where the emphasis is on lattice models).
D. Frenkel and B. Smit, "Understanding molecular simulations", Academic Press (2002). (A very detailed and good book, containing also some material on Molecular Dynamics simulations).
B.A. Berg, Markov-Chain Monte Carlo Methods for Simulations of Biomolecules.
An online course on Monte Carlo simulation is provided by P. Coddington, Monte Carlo simulations in Statistical Physics
D. T. Gillespie, Exact Stochastic Simulation of Coupled Chemical Reactions, J. Phys. Chem. 81, 2340 (1977)

Additional Material

Applet fot the Buffon needle
Estimating pi with the hit-and-miss method
Applet for Ising model simulations (I) - This applet gives the possibility of choosing between different algorithms (Single spin flip, Wolff, Kawasaki....)
Applet for Ising model simulations (II) - This applet is very fast, but only restricted to single spin flip. It shows also magnetization and energy plots produced while the simulation runs

Simple Codes in Octave/Matlab

Octave is a language intended for numerical computations, which is essentially compatible with Matlab, but it is free. You can download it from this website. Here below some examples of simple codes in Octave. They should also work in Matlab, although I haven't tested them.

Uniform Random Numbers with a gap
Estimating the area of a circle of radius 1 using the hit-and-miss method
A simple example of Markov process via matrix products and direct Monte Carlo simulation
How to select efficiently from q states according to a given probability distribution (q large)
(to run these codes in Octave copy them on a file, say file.m, and they type source("file.m") from the octave input line).

Exam guidelines

The exam consists in the discussion of the assignments, with some questions about the theory. All relevant output of your exercises should be collected in a single pdf file containing the plots produced by your simulations. Each figure should contain a caption describing (i) what you plot (eg. x-y axes with their units, MC steps or, better, use sweeps), (ii) the parameters used (e.g.T=0.8, q=10 Potts model) and (iii) the type of algorithm used (eg. "Local Kawasaki", "Heat Bath"...). Send this figure with your codes by e-mail a few days before the exam. The codes should also contain some comments so that the different parts can be understood.

Tutoring sessions (room 06.13 - Celestijnenlaan 200D)

1st assignment: Pieter Baerts, Roald Frederickx, Wouter Gins, Jens Goemaere, Steff Horemans - Tuesday Oct. 9, 10:30-12:30
2nd assignment: Laurens Kabir, Ruben de Groote, Michiel Laleman, Kasper Meerts, Nathalie Mertens, James Barry Morse, Asterios Ntais - Tuesday Oct. 16, 12:00-14:00
3rd assignment: Karel Reynders, Álvaro Romero Gonzalo, Eli Slenders, Bram Swennen, Naomi Kerrya Thompson, Joris Van Houtven - Tuesday Oct. 23, 16:30-18:30
4th assignment: Yannick Vreys, Durga Ananthanarayanan, Yuanyuan Guan, Ioannis Anayuostopoulos - Wednesday Oct. 31, 13:00-15:00
5th assignment: Federica Maggioni, Gauthier Durieux, Bob Velghe, Thomas Vermeulen, Ting Yin