Physics 7321 - Computational Physics

Fall 2009

Professor Vaughn


Professor Michael Vaughn email m.vaughn at neu dot edu
Office 223 Dana Telephone 617-373-2954
Office hours Mon 9:15-10:15 am, Wed 3:00 - 4:00 pm, Th 1:30 - 2:30 pm

In addition to the office hours given above, I am generally available when I am in my office. You can just drop by, or you may contact me after class, telephone or send email to arrange a definite time.

Class meetings

The class will meet on M from 1:30 - 4:30 pm in 130 DAna and on W from 1:15 - 2:45 pm in 325 CHurchill (one of the ILS rooms). The Wednesday class will be a lecture dealing mainly with the theoretical aspects of computation and the physics relevant to current projects, while the Monday class in the physics computer lab will also involve working at the computers under the oversight of the lecturer and a graduate assistant. If you do not already have an access code for 130 Dana, you should ask the Graduate Secretary (Chantal Cardona), how to get one.

Books

The only required textbook for the course is This is an excellent tutorial and survey of MATLAB. You should read it and work through some the exercises noted below before the first lab on Monday, 14 September.

An excellent reference book on numerical analysis is This book is available in the NU Bookstore as a recommended textbook -- it is NOT required, and there is a copy on reserve in the library, but if you are interested in the details of numerical analysis, you should look closely at this book.

A general book on computational physics that is also in the bookstore as a recommended book is For some reason unknown to me, the author chose to use Java as his choice of computer language in the second edition, rather than FORTRAN as in the first edition. But with a little experience, you should be able to translate from Java (or FORTRAN) to MATLAB without undue effort. You can also find the first edition on reserve in the library.

Also on reserve in the library are two other books: that I have found useful at times. There are of course many other books in the library on numerical analysis, MATLAB, and computational physics in general.

About the course

The programming language used in this course will be MATLAB. If you are familiar with another programming language such as C, C++, FORTRAN or even Java, then it will be easy enough to learn MATLAB. If you do not know any programming language, MATLAB is a reasonable place to begin. One special advantage of MATLAB is the ease of displaying graphical results on your monitor (and printing them if wanted), so that you can visualize the results of your calculations immediately.

The first class will be on Wednesday, 9 September in 325 CHurchill. It will be an introduction to the course, and a discussion of some aspects of numerical analysis. I will hand out a short problem set that involves some simple issues in computation.

We will spend time on Monday, 14 September in 130 Dana helping people get up to speed with MATLAB. You should start reading the book by Pratap from the beginning. Skim through chapter 1, and start the tutorial exercises in chapter 2 before the Monday class. Note that MATLAB is available not only in 130 Dana, but also on any of the student computer labs on campus. If you have a Nunet login, you might also be able to access the version of MATLAB on the campus server from your laptop.

After the introduction to MATLAB, there will be seven or eight projects using MATLAB to do various computations in physics, ranging from simulations of random processes to solving differential equations of motion, perhaps also partial differential equations, and finding approximate eigenvalues of linear operators. Some formal aspects of numerical analysis will also be discussed.

For each project, you will be asked to turn in a printout of your programs, in addition to your analytical work and numerical results on the project. You may be also be asked to submit an electronic version of your programs, if I want to verify the operation of the program. See the instructions for project reports for further details.

There may (almost certainly will) be a final project during final exam week, at a time to be determined after consulting with the instructors of the other second-year courses. This project will be a test for each individual to see how well you can analyze a problem and code the computations required for its solution. I will be present to be sure that people do not get hopelessly bogged down on minor details, but you will need to grasp the essentials of the problem to do well on the project. I will have more to say on this before the Thanksgiving break.



Working together

One of the best ways to learn is by working together in small groups of two or three. Both leaders and followers will gain from discussing the roadblocks they come across in using the computer, and you should be prepared to come in groups to the computer lab (either 130 Dana, or other computer facilities on campus) to work.

On the other hand, when it comes to writing code and executing your programs, you must work on your own. Using code from external sources (class notes, books, MATLAB help files, etc) is acceptable, even encouraged, but if you use such code, you must document your source. It is not acceptable to submit a program with undocumented code from other sources. See the instructions for project reports for more details. Note that I may ask you to explain and demonstrate how any program you submit is supposed to run and produce the results you submit with it.

Exchanging programs between students will be treated as a serious violation of academic integrity. You are invited to read a detailed statement of the Northeastern University policy on Academic Honesty.

If you have difficulty with the programming for a project, you should come to see me. I am always willing to discuss general ideas on any project, although the detailed programming, and especially debugging, can only be learned by actual experience.
Go to Physics Home Page
The URL for this page is http://nuweb.neu.edu/mvaughn/PHYS_7321_F09.html
latest update 4 September 2009