Physics 573 – Numerical Methods in Physics

Spring 2007

 

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 advantageous 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

[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

 

Academic honesty: All work submitted by a student is expected to represent their own work. Students are expected to perform all work in compliance 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, moe.cas.utk.edu, and larry.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 quizzes, the student’s participation in the in-class projects, and class attendance.

 

Homework will comprise 70% 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.  

 

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 29 times. There will be 21 lectures 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

11-Jan

1

Introduction: Motivation and course overview

 

2

16-Jan

2

Computer use: Security, compiling, linking, graphics

 

 

18-Jan

3

Fortran 90: data types

[1]

3

23-Jan

4

Fortran 90 cont’d: control structures

[1]

 

25-Jan

5

Project 1: practical application of lectures 2-4

 

4

30-Jan

6

Numerical integration of functions

[2] chap. 4

 

1-Feb

7

Root finding: Newton-Raphson

[3] chap 9.0,9.1,9.4

5

6-Feb

8

Project 2: practical application of lectures 6-7

 

 

8-Feb

9

Integration of ordinary differential equations (ODE)

[2] chap. 16.0

[3] chap. 2.1-2.2

6

13-Feb

10

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

[2] chap. 16.1-16.2

[3] chap. 2.3-2.5

 

15-Feb

11

Project 3: practical application of lectures 9-10

 

7

20-Feb

12

Sorting

[2] chap. 8.0-8.3

 

22-Feb

13

Recursion

[1] chap. 5.16-5.17

8

27-Feb

14

Project 4: practical application of lectures 12-13

 

 

1-Mar

15

Eigenvalue (EV) problems: Small oscillations

[2] chap 9

9

6-Mar

16

EV cont’d: Schroedinger equation

[3] chap 3.4-3.5

 

8-Mar

17

EV cont’d Hartree-Fock approximation

[3] chap. 3.5

10

13-Mar

 

Spring Break

 

 

15-Mar

 

Spring Break

 

11

20-Mar

18

Project 5: practical application of lectures 15-17

 

 

22-Mar

19

Code optimization

 

12

27-Mar

20

Minimization of functions

[2] chap. 10

 

29-Mar

21

Minimization cont’d: simulated annealing method 

[2] chap. 10.9

13

3-Apr

22

Project 6: practical application of lectures 20-21

 

 

5-Apr

23

Monte Carlo (MC) methods 

[3] chap. 8.1-8.2

[7] 1.1-1.2

14

10-Apr

24

MC cont’d: Metropolis algorithm

[3] chap 8.3

[7] 1.2-1.3

 

12-Apr

25

Project 7: practical application of lectures 23-24

 

15

17-Apr

26

Parallelization: Message Passing Interface (MPI)

[5],[6]

 

19-Apr

27

MPI cont’d.

[5],[6]

16

24-Apr

28

MPI cont’d. Manager-worker algorithm

 

 

26-Apr

29

Project 8: practical application of lectures 26-28