Physics 573 – Numerical Methods in Physics
Spring 2008
Dr. Thomas Papenbrock Lecture hours:
226
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 (
[2] W. H. Press et al.: Numerical Recipes in Fortran 77, 2nd edition, Cambridge University
Press (
[3] S. E. Koonin: Computational Physics, Benjamin/Cummings
(
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
[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 |
|
|
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] |
|
3 |
22-Jan |
4 |
Fortran
90 cont’d: control structures |
[1], [8] |
|
|
24-Jan |
|
Project 1: practical application of lectures 2-4 |
|
|
4 |
29-Jan |
5 |
Numerical
integration of functions |
[2] |
|
|
31-Jan |
6 |
Root
finding: Newton-Raphson |
[3] [8] |
|
5 |
5-Feb |
|
Project 2: practical application of lectures 5-6 |
|
|
|
7-Feb |
7 |
Integration
of ordinary differential equations (ODE) |
[2] |
|
6 |
12-Feb |
8 |
ODE
cont’d: Runge-Kutta method. Stability. Chaos |
[2] [3] |
|
|
14-Feb |
|
Project 3: practical application of lectures 7-8 |
|
|
7 |
19-Feb |
9 |
Minimization
of functions |
[2] |
|
|
21-Feb |
10 |
Minimization
cont’d: simulated annealing method |
[2] |
|
8 |
26-Feb |
|
Project 4: practical application of lectures 9-10 |
|
|
|
28-Feb |
11 |
Eigenvalue (EV) problems: Small oscillations |
[2] |
|
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 |
|
[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 |
|