Rubin Landau

Professor of Physics
Department of Physics
Or State University
Corvallis, Oregon 97331
rubin@physics.orst.edu

Computational Physics Course and Laboratory Development

The first term concentrates on the basic mathematical, numerical, and conceptual elements needed for using a computer as a virtual physical science laboratory. Each element is studied in the context of simple project, thus permitting the students to work independently and to understand at their own rate each element's virtues, areas of applicability, limits, and potential for visualization. We start off setting up accounts, getting friendly with Unix, and learning how to use the networked equipment. Then we get on to the basics of computing: algorithms, precision, efficiency, and verification, and from there to some necessary numerical analysis and its associated approximation and round-off error.

The second term focuses on realistic physical problems which apply and extend the preceding techniques. An important aspect is the use of advanced library routines in multiple-subroutine programs, interactions with larger research codes, and the use of vector and parallel computers. The projects here sometimes get longer and more individual, and some team work may occur. By design, there are more projects than can be covered in two quarters. This permits a full-year course and choices by the instructor and students based on needs and interests.

During each week there typically is two hour's worth of lectures explaining new material and assignments. The instructor spends scheduled time assisting students in the laboratory (which is reserved for class use during this time, and available at all other times). Each week students demonstrate their projects to the instructor. This limits enrollment to about 12.

For the simple projects the students must write their own programs in Fortran, C, C++, Fortran90, or Maple. For more advanced ones, a model program is usually supplied (the students can them modify it or use it as a template). The student can use any complied language, and in some cases, Maple or Matlab. We use networked Unix workstations with emacs, vi, xedit, ..., editors, and various X applications. The graphics is mainly xgraph, although some students prefer xmgr. The 3D plots are done with gnuplot. Files are usually stored as postscript files and then printed out with multips or mpage. Some students will use idraw or xfig to fancy up their projects.


Thomas L. Marchioro
Jeffrey R. Christiansen
uces_info@krellinst.org
17 July, 1997