Advanced Statistical Mechanics 171.704

Course information.
Syllabus
.
Literature.
Lecture notes
.
Homework.
Course project.
Miscellania.

Course information:

Lectures:
Thursday  9-10:30, 178 Bloomberg.
Friday 3:15-4:45, 361 Bloomberg.
Prof. Oleg Tchernyshyov.
Office 323 Bloomberg.
Office hours: Thursday 10:30-12 or by appointment.
Tel. (410)516-8586.
Email olegt@jhu.edu.

Syllabus:

Literature:

    Required texts (available in the bookstore):

    Auxiliary texts (in the library):

    Reviews:

Lecture notes:  

Homework:

Homework is given out every Friday.  It is due the next Friday in class.  

Course project:

Write your own Monte Carlo simulation of a classical statistical model and study its critical behavior.  In particular, measure the critical exponents.  You will get the most bang for the buck from a two-dimensional system (not much happens in 1 dimension; 3-dimensional systems require a lot of CPU time).  The most obvious choices are the Ising model or the Potts model with, say, q = 3 states.  The ferromagnetic Ising model is the most elementary.  If you get bored, try the Potts antiferromagnet.  

Understand what you are doing.  Before you start growing your virtual crystals and building imaginary magnetometers, play with the simulator that I used in the first lecture.  You will find pertinent information below in Miscellania.

Start early in the course, preferably as soon as we have discussed the subject of numerical simulations in class.  See Binney's book for a description of Monte Carlo algorithms.  The local Metropolis scheme is the most straightforward but becomes very slow in the critical region.  Cluster algorithms (Swendsen-Wang or Wolff) will do a much better job.  Sample C++ code implementing the Metropolis algorithm for the q=3 Potts ferromagnet can be found here.

These notes describe the extraction of critical indices in the following systems:

Observation of critical behavior and especially extraction of critical exponents require systems of large enough sizes.  As you will need a fast running code, Matlab, Mathematica, and Maple are most definitely out.  Use a compiled programming language of your choice.  Compilers of C, C++, and FORTRAN are available on any UNIX workstation or Linux PC.  If you don't know any of these, C is your best bet.  It is a small language: you can learn its syntax and start writing a code in a week.  The C Programming Language by B.W. Kernighan and D.M. Ritchie is the one and only reference you'll ever need.

Miscellania: