Physics 580
Computational Physics Fall 2010
TuTh 12:30-1:45 pm , room P-148
Instructor: Dr. Calvin Johnson
Office: P-135 Phone: 594-1284 e-mail: cjohnson@sciences.sdsu.edu
Office hours: M 11- 12, W 12 -1, Tu 2-3 pm note: I am generally available in my office, and am happy to schedule appointments if you want to be sure to find me.
Class Web Page: www.physics.sdsu.edu/~johnson/phys580
No required text. I strongly recommended Numerical Recipes by Press, et al; you can get the chapters online. Other recommended books (I have requested this be put on reserve in the library): Koonin & Meredith, Computational Physics; Numerical Methods for Physicists, A. Garcia; A First Course in Computational Physics, P. DeVries; Introduction to Computational Physics, T. Pang.
Prerequisites: I
will assume the students have the equivalent of PHYS 317, that is, I assume the students have a good working
knowledge of either Fortran or C.*
Course objectives: Students will learn basic algorithms useful in computational physics in the following areas: integration and differentiation; linear algebra; differential equations. I will also discuss good programming style, as well as other computer languages, including symbolic manipulation programs, C, and Fortran 90, and the class as a whole will compare computational efficiency of different languages.
Grading standards: A = 3.8-4.0 A- = 3.4-3.7 B+ = 3.1-3.3 B = 2.8-3.0 B- = 2.4-2.7 C+ = 2.1-2.3 C = 1.8-2.0 C- = 1.7 D+ = 1.1-1.3 D = 0.8-1.0 D- = 0.4-0.7 F = < 0.4
Grades based upon: Students will turn in 6-8 projects throughout the semester which illustrate algorithms discussed in class. (There is no other homework or exams in the class.) You will have approximately two weeks to work on each project, and each project should be roughly 50-200 lines in length. Projects may be written in Fortran 77/90 or C/C++, and must be able to be compiled under standard GNU compilers (i.e., gfortran/ g77 or g95; also Intel's ifort). Please note I am more fluent in Fortran; you are on your own if you use C/C++ and it is your responsibility to make sure your C/C++ compiles and runs on multiple platforms. (If it runs and compiles on a Linux system with gcc or g++ compiler, I ought to be able to compile and run it.) Most projects will include two levels. The “standard” levels, if successfully completed with adequate documentation, are worth a “B” grade. The additional “expert” levels, which will be much harder and more rigorously graded, will be required for an “A” grade. Late projects will be docked 50%.
There is no final exam. Last day of class is Thursday, Dec 9, 2010.
* If you do not have any experience in writing programs,
this is not the course for you. If
you wish to brush up on Fortran, I recommend
Structured Fortran 77 for Engineers and Scientists, 5th edition,
Delores M. Etter, although any Fortran text would be satisfactory.