MAT 1062H:
Introductory Numerical Methods for PDE
Professor: Mary Pugh
Contact information: mpugh@math. utoronto.ca
Office hours: by appointment
Office location: room 3141, Earth Sciences Centre,
22 Russell Street
(To find my
office, enter the building on the Northwest corner of Huron and
Russell. Get to the third floor. Walk as far south as you can.
Now walk as far west as you can.)
Meeting time and place:
The class meets on Tuesdays 11:10am-12pm and Thursdays
10:10am-12pm in MP 134. The first lecture will be on
on Tuesday January 6 and the last on Thursday April 9.
Goal:
We'll study numerical methods for solving partial differential
equations that commonly arise in physics and engineering. We will pay
special attention to how numerical methods should be designed in a way
that respects the mathematical structure of the equation.
Parabolic PDE:
boundary conditions,
explicit and implicit discretizations,
consistency, stability, and convergence,
multi-dimensional problems
Elliptic PDE:
variational formulations and finite element methods
Hyperbolic PDE:
CFL stabilty condition, finite volume method,
nonlinear conservation laws, shock capturing
Special topics (as time permits):
spectral methods,
pseudospectral methods
Why we care:
Here are some
disasters which could have been averted if only someone had
been paying closer attention to their numerical analysis. :-)
Prerequisites:
You should be familiar with the material that would be taught in a serious undergraduate PDE course. Sample programs will be provided in matlab. If you know matlab, great! If you don't, you're expected to be sufficiently comfortable with computers that you can learn matlab on the fly. Which isn't actually hard at all, unless you hate computers.
If you have programmed before and if you've already taken a course in
numerical analysis and numerical linear algebra then you might also
want to audit or enroll in CSC 446/2310 "Computational Methods for
PDE" which is meeting W1-3, F2-3 in BA B024. This course will have a
different flavour than mine and so I recommend it as well.
Recommended Reading: There are two books which provide
background reading on numerical analysis, including numerical linear
algebra, ODEs, finite difference methods, accuracy, and the like.
Both are on reserve at the math/stat library on the 6th floor of
Bahen. "An introduction to numerical analysis" by Kendall E. Atkinson
is at the graduate level. "Elementary numerical analysis" by Kendall
Atkinson and Weimin Han is at the undergraduate level.
For the finite difference methods, I have
asked that
"Finite difference schemes and partial differential
equations" by John C. Strikwerda
be put on reserve at the engineering
library.
For the spectral methods, I have asked that
"Spectral Methods: Fundamentals in Single Domains" by Claudio Canuto
be put on reserve in the math/stat library.
Note that both Strikwerda's and Canuto's books have some content available
at
google books.
Programming: I will be using matlab in class and will provide
matlab code for you to study and modify.
You can program in whatever language you
want. For your homeworks and exams, you will be asked for graphs and
other output; I usually won't want to see your code.
Matlab is proprietary. You can buy a student version of it in the
textbook section of the UofT bookstore for $117 before taxes.
If you're in the math
department, you have access to matlab on the computer "sphere". Log
in to coxeter and from there log in to sphere. If you aren't in the
math department then you have to hope that matlab's installed on the
machine you have access to.
Octave is
free software which has the matlab look and feel. You can install it on
your own computer and the matlab code I provide should work just
fine.
SciPy is an open source software
which is a python-based scientific computing environment. It's well
worth looking into.
Getting Started: If you're really new to computing then I encourage
you to get started very soon. To get started, have a look at an
old webpage
of mine. You would like to look at the matlab primer as well as the links
How to write up your homework and
Show you can save and execute a file. Read "flash stick" wherever I refer to a floppy disk in the second page.
Syllabus
Lecture Notes: Jan 6, 2009
Lecture Notes: Jan 8, 2009
Lecture Notes: Jan 13, 2009
Homework 1. due on Tuesday January 27. Note: you're only being asked to hand in problems 2-4.
Lecture Notes: Jan 15, 2009
Here's the demo from class on Jan 15. It needs heat1.m, heat3.m, and heat_cn.m
found here.
Lecture Notes: Jan 20, 2009
Lecture Notes: Jan 22, 2009
Lecture Notes: Jan 27, 2009
Homework 2. due on Thursday February 12.
Here's the demo from class on Jan 29. It needs heat_eul_neu.m found here.
Here's another demo. It needs buggy_heat_eul_neu.m
found here.
Here's another demo. It needs subopt_bcs_heat_eul_neu.m
found here.
Lecture Notes: Jan 29, 2009
Some notes on the diffusion equation in higher dimensions, if you want them...
Lecture Notes: Feb 3, 2009
Lecture Notes: Feb 5, 2009
You can find the in-class demos for the advection equation
here.
Convergence studies of schemes for initial data with different
amounts of smoothness.
Lecture Notes: Feb 10, 2009
Homework 3.
due on Thursday February 26.
The take-home exam will be due at 11:10 on Tuesday March 3. I will email it to you by 11am on Monday March 2.
Lecture Notes: Feb 12, 2009
Lecture Notes: Feb 24, 2009
Lecture Notes: Feb 26, 2009
You can find the in-class demos from Feb 26
here.
Homework 4.
due on Tuesday March 17. Note: the first version I put up of this HW had a first problem which was identical to the last problem on HW3. It involved finding a modified equation. You don't need to do that problem.
Lecture Notes: Mar 3, 2009. The proof of the Lax-Wendroff theorem is provided for those of you who're curious to read it. It's not required reading.
Lecture Notes: Mar 5, 2009.
You can find the in-class demos from March 5
here.
Lecture Notes: Mar 10, 2009.
Lecture Notes: Mar 12, 2009. Supplemental
reading, if you want it.
Lecture Notes: Mar 17, 2009.
You can find the in-class demos from March 17
here.
Lecture Notes: Mar 19, 2009.
Homework 5.
due on Thursday April 2. The script
class_Mar17.m may be helpful
for problem 2e.
Lecture Notes: Mar 24, 2009.
Lecture Notes: Mar 26, 2009.
Lecture Notes: Mar 31, 2009.
You can find the in-class demos from March 31
here.
Lecture Notes: Apr 2, 2009.
Lecture Notes: Apr 7, 2009.
Homework 6.
due on Monday April 20 along with your final exam.
You can find the in-class demos from April 7
here.
Lecture Notes: Apr 9, 2009.
You can find the in-class demos from April 9
here.