Physics 573 Ė Numerical Methods in Physics

Spring 2008

 

Dr. Thomas Papenbrock                                                                       Lecture hours:

226 N Ayres Hall                                                                                 8:10-9:25 Tue/Thu

tpapenbr@utk.edu                                                                                Nielsen Physics 512

Office hours: 10:00-12:00 Tue/Thu, or by appointment

 

Course description: This course will teach basic Fortran algorithms and numerical methods that solve a variety of physics problems.

 

Prerequisites: The course assumes a familiarity with linear algebra and differential equations. A good working knowledge of classical mechanics, quantum mechanics and thermodynamics is of advantage to fully benefit from the physics problems that will be solved and addressed in this course.  

 

Books: We will use information from various sources, available in books or online.

[1]        M. Metcalf and J. Reid: Fortran 90/95 explained, 2nd edition, Oxford University Press (Oxford) 1999

[2]        W. H. Press et al.: Numerical Recipes in Fortran 77, 2nd edition, Cambridge University Press (New York) 2001

[3]        S. E. Koonin: Computational Physics, Benjamin/Cummings (Menlo Park, CA) 1986

 

Online texts:

[4]        Numerical Recipes online: http://www.nrbook.com/a/

[5]        P. Pachecoís User Guide to MPI:  ftp://math.usfca.edu/pub/MPI/mpi.guide.ps.Z

[6]        MPI online at NERSC: http://www.nersc.gov/nusers/help/tutorials/mpi/intro/print.php

[7]        W. Krauthís Introduction to Monte Carlo: http://www.lps.ens.fr/~krauth/budapest.pdf

[8]        Morten Hjorth-Jensenís Lecture Notes on Computational Physics

            http://www.uio.no/studier/emner/matnat/fys/FYS3150/h07/undervisningsmateriale/Lecture%20Notes/lecture2007.pdf.These notes contain many interesting physics examples and projects. Recommended reading!

 

Academic honesty: All work submitted by a student is expected to represent their own work. Students are expected to perform all work in conformance with the University policies regarding Academic Honesty.

 

Computer use: Each student must obtain a Unix account at UTK. Please register for the Unix account at http://accounts.utk.edu/uact/register/ as soon as possible. Useful information for Unix users can be found at http://oit.utk.edu/usag/unixmenu.html. The UT computers unix.cas.utk.edu and moe.cas.utk.edu will be used for homework and projects.

 

Grading policy: The semester grade will be a weighted average of homework scores, pre-class reading quiz, the semester project, the studentís participation in the in-class projects, and class attendance.

 

Homework will comprise 50% of the final semester grade.

Homework will consist of problems/projects that each student has to solve numerically within one week after the homework assignment. Due dates for problem sets are firm. In lieu of extensions, the lowest score on homework sets will be dropped from the average.  

 

The semester project will comprise 20% of the final semester grade.

During the semester, each student has to solve a scientific problem with the numerical methods of this course. The choice of the project is up to the student. Examples can be chosen from scientific articles in published journals (e.g. Physical Review Letters, Nature, Science, etc.). The following rules apply. First, the project cannot be simply related to any of the homework problems or in-class projects. Only non-trivial extensions of these problems are permitted, and the project must be considerably larger in scope than a homework problem. Second, the project must be new to you. It cannot be part of your thesis. Third, the project has to be solved individually and independently. The studentís deliverables are the Fortran90 program that solves the problem, and a short in-class presentation of the problem and its solution.  

 

Pre-class reading quizzes will comprise 10% of the final semester grade.

It is expected that you read the relevant material before class. You should know the basic concepts and definitions, in order to maximize the benefit of the lecture. There will be regular reading quizzes: A few questions will be posed on Blackboard (http://online.utk.edu) and have to be answered no later than 40 minutes before class.

 

Project participation and class attendance will comprise 20% of the final semester grade.

Class attendance is required. For the in-class projects, I expect active participation from each student.

 

Schedule: The class will meet 30 times. There will be 21 lectures, the final exam (presentation of studentís projects), and eight in-class projects, where the students will apply the material of previous lectures to solve physics problems. The schedule below is tentative. Any changes will be announced in class.

 

Week

Date

Lecture

Material

Reading

1

10-Jan

1

Introduction: Motivation and course overview

 

2

15-Jan

2

Computer use: security, compiling, linking, graphics

 

 

17-Jan

3

Fortran 90: data types

[1], [8] Ch. 2

3

22-Jan

4

Fortran 90 contíd: control structures

[1], [8] Ch. 2

 

24-Jan

 

Project 1: practical application of lectures 2-4

 

4

29-Jan

5

Numerical integration of functions

[2] Ch. 4, [8] Ch. 7

 

31-Jan

6

Root finding: Newton-Raphson

[3] Ch. 9.0, 9.1, 9.4

[8] Ch. 5

5

5-Feb

 

Project 2: practical application of lectures 5-6

 

 

7-Feb

7

Integration of ordinary differential equations (ODE)

[2] Ch. 16.0, [8] Ch. 13, [3] Ch. 2.1-2.2

6

12-Feb

8

ODE contíd: Runge-Kutta method. Stability. Chaos

[2] Ch. 16.1-16.2

[3] Ch. 2.3-2.5

 

14-Feb

 

Project 3: practical application of lectures 7-8

 

7

19-Feb

9

Minimization of functions

[2] Ch. 10

 

21-Feb

10

Minimization contíd: simulated annealing method 

[2] Ch. 10.9

8

26-Feb

 

Project 4: practical application of lectures 9-10

 

 

28-Feb

11

Eigenvalue (EV) problems: Small oscillations

[2] Ch. 9, [8] Ch. 12

9

4-Mar

12

EV contíd: Schroedinger equation

[3] chap. 3.4-3.5

 

6-Mar

13

EV contíd Hartree-Fock approximation

[3] chap. 3.5

10

11-Mar

 

Project 5: practical application of lectures 11-13

 

 

13-Mar

14

Code optimization

 

11

18-Mar

 

Spring Break

 

 

20-Mar

 

Spring Break

 

12 

25-Mar

15

Monte Carlo (MC) methods 

[3] chap. 8.1-8.2

[7] 1.1-1.2

[8] chap. 8

 

27-Mar

16

MC contíd: Metropolis algorithm

[3] chap. 8.3

[7] 1.2-1.3

[8] chap. 9

13 

1-Apr

 

Project 6: practical application of lectures 15-16

[8] chap. 10, 11

 

3-Apr

17

Sorting

[2] chap. 8.0-8.3

14 

8-Apr

18

Recursion

[1] chap. 5.16-5.17

 

10-Apr

 

Project 7: practical application of lectures 17-18

 

15

15-Apr

19

Parallelization: Message Passing Interface (MPI)

[5],[6], [8] chap. 7.7

 

17-Apr

20

MPI contíd.

[5],[6]

16

22-Apr

21

MPI contíd. Manager-worker algorithm

 

 

24-Apr

 

Project 8: practical application of lectures 20-21

 

 

4/29-6/5

 

Final Exam: Presentation of studentsí projects