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