Physics 573 – Numerical Methods in Physics

Spring 2006

 

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.  

 

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://library.lanl.gov/numerical/bookfpdf.html

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

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

[6]        S. E. Koonin’s Computational Physics Fortran codes: http://www.computationalphysics.info

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

 

Remarks: 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. Class attendance is required, particularly for the in-class projects.

 

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 larry.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 and the student’s participation in the in-class projects. Attendance is required.

 

Homework will comprise 80% 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. Though Fortran is the “official language” of the course, students might also use C or C++ to solve the homework problems.

 

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

 

Schedule: The class will meet 29 times. There will be 21 lectures and eight in-class projects, where the students will apply the material of previous lectures to physics problems.

 

Week

Date

Lecture

Material

Reading

1

12-Jan

1

Introduction: Motivation and course overview

 

2

17-Jan

2

Computer use: Security, compiling, linking, graphics

 

 

19-Jan

3

Fortran 90: data types

[1]

3

24-Jan

4

Fortran 90 cont’d: control structures

[1]

 

26-Jan

5

Project 1: practical application of lectures 2-4

 

4

31-Jan

6

Numerical integration of functions

[2] chap. 4

 

2-Feb

7

Root finding: Newton-Raphson

[3] chap9.0,9.1,9.4

5

7-Feb

8

Project 2: practical application of lectures 6-7

 

 

9-Feb

9

Integration of ordinary differential equations (ODE)

[2] chap. 16.0

[3] chap. 2.1-2.2

6

14-Feb

10

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

[2] chap. 16.1-16.2

[3] chap. 2.3-2.5

 

16-Feb

11

Project 3: practical application of lectures 9-10

 

7

21-Feb

12

Sorting

[2] chap. 8.0-8.3

 

23-Feb

13

Recursion

[1] chap. 5.16-5.17

8

28-Feb

14

Project 4: practical application of lectures 12-13

 

 

2-Mar

15

Eigenvalue (EV) problems: Small oscillations

[2] chap 9

9

7-Mar

16

EV cont’d: Schroedinger equation

[3] chap 3.4-3.5

 

9-Mar

17

EV cont’d Hartree-Fock approximation

[3] chap. 3.5

10

14-Mar

18

Project 5: practical application of lectures 15-17

 

 

16-Mar

19

Code optimization

 

11

21-Mar

 

Spring break

 

 

23-Mar

 

Spring break

 

12

28-Mar

20

Minimization of functions

[2] chap. 10

 

30-Mar

21

Minimization cont’d: simulated annealing method 

[2] chap. 10.9

13

4-Apr

22

Project 6: practical application of lectures 20-21

 

 

6-Apr

23

Monte Carlo (MC) methods 

[3] chap. 8.1-8.2

[7] 1.1-1.2

14

11-Apr

24

MC cont’d: Metropolis algorithm

[3] chap 8.3

[7] 1.2-1.3

 

13-Apr

25

Project 7: practical application of lectures 23-24

 

15

18-Apr

26

Parallelization: Message Passing Interface (MPI)

[5],[6]

 

20-Apr

27

MPI cont’d.

[5],[6]

16

25-Apr

28

MPI cont’d. Manager-worker algorithm

 

 

27-Apr

29

Project 8: practical application of lectures 26-28