Physics 606

Techniques of Computational Physics

Welcome to the Techniques of Computational Physics course web page. This course is offered Fall Semester 2002. Here we will provide  information about the course as well as materials. Both lecture materials and other background materials will be provided as the course developes.

Note that we intend to make extensive use of this web page. Please refer to it on a regular basis for occasional extra materials, lecture notes, and hand-outs. The url for this web page is: 

Course Instructor:
        My email address is:

Course Information

Course Materials:

Course Objectives:

This course is an introduction to the methods of  computational physics for graduate students. The emphasis will be on the development of tools useful in formulating and solving problems in the physical sciences. Among the topics to be covered are: 

There may be other topics that can be covered. We shall tailor the topics somewhat to the interests of the students and instructor.

The course will meet on Mondays and Wednesdays from 7:30 to 8:45 p.m. in the Conference Room in the Department of Physics and Astronomy in room 106 of Overman Hall.

Tentative Course Syllabus for Fall Semester 2002

Introduction to Unix
1 week
Basic Unix and Intermediate Unix
Finite Difference Approximations for Derivatives
1 week
Numerical Differentiation notes
Introduction to Fortran 90
2 weeks

Numerical Methods for Ordinary Differential Equations with examples in f90
2 weeks

Numerical Solution of One-dimensional Wave Equation with examples in f90
1 week

Numerical Solution of Two-dimensional Wave Equations plus Boundary Conditions in f90
1 week

Introduction to Parallel Computing on Linux Clusters (OSC on-site training plus worked applications)
2 weeks

Using MPI to implement the distributed computing solution of the 2d wave equation in f90
2 weeks

Introduction to Computational Fluid Dynamics--basic treatments and methods
2 weeks

Using MPI to implement the distributed computing solution of 2d fluid dynamical systems
2 weeks

Requirements for the course:

A knowledge of Physics at the undergraduate level is assumed. Further study in mathematics would be helpful.  If you already know a high level language [such as C, C++, fortran] that will help. Mathematica may be a component in the course delivery.  Also, matlab will be used for some post simulation graphics and data analysis. We intend that the student will learn enough matlab during the semester so that it will be a useful tool for this and subsequent graduate courses.  The student will be expected to learn Mathematica and Matlab programming mostly on your own as needed. Both Mathematica and Matlab are available on the bgunix machines. Occasional discussion of these useful programs and an introduction to some aspects of them will be given in class as needed. 


There will be several assigned problems in the form of computer programs which the student is to write after appropriate discussion in class on the computational topic.  The due date of a given assignment will be announced when the assignment is made.

There will also be a required term project in computational physics to be completed and handed in on the day that the course would have its in class final examination.  That date will be announced later in the term.  

The grade for this course will be determined by taking the problem sets [assigned programs and exercises] as 50% and the term project as %50.