AMATH 581: Scientific Computing
SLN 10228, MWF 8:30-9:20, MGH 271

Scientific Computing

Homework Grades Message Board Lecture Notes (.pdf)

Instructor:

Professor Nathan Kutz
Condon Hall 708
tel: 685-3029
fax: 685-1440
email: kutz@amath.washington.edu
office hours: M 2:30-3:30, WF 9:30-10:30, WF 1:30-2:30



Figure

Dynamics of a repulsive Bose-Einstein condensate trapped in a 3-D lattice potential. The equation was solved using a filtered spectral method in space and 4th-order Runge-Kutta in time. By the end of this course, you should be able to perform this numerical simulation.
Course description Course Objectives Prerequisites Textbook & Notes Syllabus Schedule

Course Description

Survey of practical numerical solution techniques for ordinary and partial differential equations. Emphasis will be on the implementation of numerical schemes to practical problems of the engineering and physical sciences. Methods for partial differential equations will include finite difference, finite element and spectral techniques. Full use will be made of MATLAB and its built in programming and solving functionality.

Course Objectives

How to recognize and solve numerically practical problems which may arise in your research. We will solve some serious problems using the full power of MATLAB's built in functions and routines. This class is geared for those who need to get the basics in scientific computing. All major types of PDEs (parabolic, elliptic, and hyperbolic) will be considered in 1D, 2D and 3D in problems ranging from quantum mechanics to fluid flows.

NOTE: This course is a survey of computational methods. The focus is on the implemention of numerical schemes with significant aid from built-in MATLAB functionality such as FFTs, fast matrix solvers, etc. It is not a course in numerical analysis since our coverage of many technical issues is only cursory. A much more comprehensive and detailed treatment of some of the methods covered here is given in AMATH 584, 585, 586.

Prerequisites

Solid background in ODEs, PDEs and familiarity with MATLAB, or permission.

Textbook & Notes

There will be no text for this course. I will provide my notes on-line for you to download. I have several texts which will be on reserve at the library to look through the different sections.
Lecture Notes: .pdf

Reference Texts on Reserve:

1. R. L. Burden and J. D. Faires, Numerical Analysis (Sixth Edition). Brooks/Cole, 1997.
2. L. N. Trefethen, Spectral Methods in MATLAB. SIAM.
3. L. N. Trefethen and D. Bau, Numerical Linear Algebra. SIAM.
4. J. C. Strikwerda, Finite Difference Schemes and Partial Differential Equations. CRC Press.
5. D. R. Durran, Numerical Methods for Wave Equations in Geophysical Fluid Dynamics. Springer.

Syllabus

(1) Solution Methods for Differential Equations: (2 weeks)

We will begin with ODE solvers applied to both initial and boundary value problems. Our application will be to finding the eigenstates of a quantum mechanical problem or of an optical waveguide.

(a) Initial value problems
(b) Euler method, 2nd- and 4th-order Runge-Kutta, Adams-Bashford
(c) Stability and time stepping issues
(d) Boundary values problems: shooting/collocation/relaxation

(2) Finite Difference Schemes for Partial Differential Equations: (3 weeks)

We will introduce the idea of finite-differencing of differential operators. Our application will be to two problems: vibrating modes of a drum and the evolution of potential vorticity in an advection-diffusion problem of fluid mechanics.

(a) Collocation
(b) Stability and CFL conditions
(c) Time and space stepping routines
(d) Tri-diagonal matrix operations

(3) Spectral Methods for Partial Differential Equations: (3 weeks)

Transform methods for PDEs will be introduced with special emphasis given to the Fast-Fourier Transform. We will revisit the potential vorticity in an advection-diffusion problem of fluid mechanics by using these spectral techniques.

(a) The Fast-Fourier transform (FFT)
(b) Chebychev transforms
(c) Time and space stepping routines
(d) Numerical filtering algorithms

(4) Finite Element Schemes for Partial Differential Equations: (2 weeks)

For complicated computational domains, the use of a finite element scheme is compulsory. The steady-state flow of a fluid over various airfoils will be considered.

(a) Mesh generation
(b) Advanced matrix operations
(c) Boundary conditions

On-line Lectures for 10/25 and 10/27

You can download the following .wmv files which can be played with Windows Media Player

Lecture 13: Basic Time-Stepping Schemes (Sec. 3.1 in the notes)

Lecture 14: Time-Stepping Schemes: Explicit and Implicit Methods (Sec. 3.2 in the notes)

Concerning Homework 3

You can download the cheb.m file here. Also, for the cheb part of the homework, take D1 and D2 to be 0.01. That will help with the spikes which develop.

cheb.m: cheb.m

Schedule and Homework

Follow links in the table below to obtain a copy of the homework in Adobe Acrobat (.pdf) format. You may also obtain here solutions to some of the homework and exam problems. An item shown below in plain text is not yet available. For additional information regarding viewing and printing the homework and solution sets, click here.

Homework Homework Due Date Homework Problem Sets
First day of classes Wednesday, September 27
Homework#1 (10 pts) due Friday, November 3 Homework #1 ( .pdf)
Veteran's Day (no class) Friday, November 10
Homework#2 (20 pts) due Friday, November 17 Homework #2 (.pdf)
Thanksgiving Break (no class) Friday, November 24
Homework#3 (10 pts) and Final Report (40 pts) due Friday, December 8 Homework #3 (.pdf)
Last day of classes Friday, December 8

Grading

Your course grade will be determined entirely from your homework. There will be no exams. Each of the three homework sets will be part of a computational notebook generated by the student.

On the due date of each homework, a write-up of that particular homework will be turned in. Since each homework is part of a larger computational notebook, the homeworks will be returned shortly to the student with comments and recommended or mandatory revisions. At the end of the quarter, the five homework sets will be incorporated together into a single, finished product. All the revisions and comments suggested should be incorporated into this final report. Each homework should be written as if it were an article/tutorial being prepared for submission. I expect a high level of professionalism on these reports. The following is the expected format for homework submission:

Title/author/abstract Title, author/address lines, and short (100 words or less) abstract. (It is not to be a separate title page!)
Sec. I. Introduction and Overview
Sec. II. Theoretical Background
Sec. III. Algorithm Implementation and Development
Sec. IV. Computational Results
Sec. V. Summary and Conclusions
Appendix A MATLAB functions used and brief implementation explanation
Appendix B MATLAB codes
Appendix C (optional) Any algebraically intense calculations (long and drawn out calculations have no business in Sec. II!)

The first time the homework is turned in, it is worth 10 points (20 points for Hw 2). I will grade based upon how completely you solved the homework as well as neatness and little things like: did you label your graphs and include figure captions. Thus the 3 homeworks will be worth 40 points upon their first submission. The final 40 points for the course will come from the completed computational notebook which will include the three homeworks as chapters. I expect the final project to have a brief overview of the chapters along with conluding remarks. It is expected that previous errors will have been corrected. Further, the professionalism of the final document will be evaluated.

A few things should be kept in mind when generating your reports:

1. Use a professional grade word processor (Latex or MSword, for example)
2. For equations: Latex already does a nice job, but in Word, use Microsoft Equation Editor 3.0
3. Label your graphs. Include brief figure captions. Reference the figure in the text with a more detailed account of the figure.
4. Figures should be set flush with the top or bottom of a page.
5. Label all equations.
6. Provide references where appropriate.
7. All coding should be shuffled to Appendix A and B. Reference it when necessary.
8. Always remember: this report is being written for YOU! So be clear and concise. (Although tempted, I won't give extra credit if your report rhymes.)
9. Spellcheck.

You may view your homework and exam grades on-line.

<kutz@amath.washington.edu> Thu Nov 7 17:40:15 2002