PHY480 - Computational Physics
Lecture / Laboratory
Tuesday, Thursday 10:00am-11:50am (BPS1240).
Friday 3-6pm (BPS1240)
International option
After discussion with the instructor, students in the course may take the internationl option.
The international component is in collaboration with
Technical University Delft, in Delft the Netherlands. In the international option
coding may be done in either C++ or Fortran 90, the choice being made by
each group of students.
Lecturer:
Phillip Duxbury: Office: BPS 4260, Email: duxbury at pa.msu.edu
Course Outline
This course involves developing Fortran code and using it to simulate
several different systems of broad interest in physics. The main
projects are based on the following methods / problems which form the basis of
computational physics:
Monte Carlo Methods.
Molecular Dynamics Methods
Eigenvalue problems
Differential equations
Outline of the first project - Due Friday 1st February 2008
Write a Fortran 90 code to carry out a Monte Carlo simulation
of a nearest neighbor, spin 1/2 Ising model on a square lattice.
Assume that the interactions are only with the nearest
neighbors and that there is no applied magnetic field. Write
the code so that the cell that you treat is square and
has L sites in each direction. Use free boundary
conditions. Your project report should include:
(i) A copy of your code; (ii) A plot of the lattice averaged magnetization
as a function of time, for at least three values of the temperature (iii)
A plot of the time and lattice averaged magnetization as a function of temperature for
a lattice of size at least $L=20$. You should label the axes of your
graphs and also write a brief report describing the model, monte
carlo procedures, the Metropolis method in particular, and
a description of your results.
Reference materials
Here is a
summary of Fortran 90 which we shall refer to during the course. It comes from the
www site
Here is a list of
useful unix commands and an introduction to
Linux Computing in BPS1240.
The worksheets for the
PHY201 might be also useful
Some useful books
Introduction to computer simulations methods, Second Edition.
H. Gould and J. Tobochnik (Addison-Wesley,1996)
Molecular modeling for beginners, A Hinchcliffe (Wiley,2003)
Computational phyiscs, J.M. Thijssen (Cambridge University Press,1999)
"An introduction to Fortran 90 for scientific computing", by James M. Ortega.
A more advanced book is
"Fortran 90/95 explained" second edition. by Michael Metcalf and
John Reid. Oxford University Press, 1999.
A nice (free) online book containing Fortran 77, Fortran 90 and C++ codes for
a wide range of useful procedures is
Numerical recipes online . They are charging for later editions.
Some other useful links
Fortran tutorial
A short introduction to fortran 90,
though the links at the bottom are mostly dead
Michael Feig's Lecture notes of biomolecular
simulations using CHARMM. Read this to learn how to define the energy functions.
Review of Monte Carlo
Methods for proteins (.pdf file). Read this to learn how to choose the Monte Carlo moves.
The rational behind force fields
The CHARMM22 force field for proteins
Review of simulation
methods for macromolecules by Kurt Kremer (.pdf file)
c++ or f90 - you make the call
C++ is better for scientific computing
f90 is better, including efficiency comparisons