|
Times |
MWF 10:10-11:00AM, Phillips 224 |
Office hours |
Th 12:30-1:30PM, and by email appointment, Chapman 451 |
Instructor |
This graduate course presents the theory and application of numerical approaches to solution of differential equations. Both ordinary differential equations (ODEs) and partial differential equations (PDEs) are discussed.
The instructor reserves the right to make changes to the syllabus. Any changes will be announced as early as possible.
Students will acquire proficiency in the formulation of numerical schemes for solving ODEs and PDEs using finite difference, finite volume, finite element, boundary element, and spectral methods. A broad overview of each approach will be discussed. Depending on class interest, specific methods will be studied in more detail. Applications are chosen from domains such as fluid dynamics, rheology, elasticity, plasticity.
Unless explicitly stated otherwise, all work is individual. You may discuss various approaches to homework problems with students, instructors, but must draft your answers by yourself. In joint projects, each student will clearly identify which portions of the work they contributed.
Homework, 6 assignments x 12 = 72 points
Midterm examination = 12 points
Final project = 16 points
Grade |
Points |
Grade |
Points |
Grade |
Points |
Grade |
Points |
|
|
H-,B+ |
86-90 |
P-,C+ |
71-75 |
L-,D+ |
56-60 |
H+,A |
96-100 |
P+,B |
81-85 |
L+,C |
66-70 |
L–,D- |
50-55 |
H,A- |
91-95 |
P,B- |
76-80 |
L,C- |
61-65 |
F |
0-49 |
This is a graduate-level course. Students are expected to undertake independent work to deepen their understanding of course material
Students are free to establish their own schedule; there is no need to inform instructor of absences. Course attendance is highly recommended to gain insight into course topics
Late homework is not accepted.
Homework is to be submitted in electronic form through Sakai, as a paper for publication in SIAM typeset format. Templates will be provided.
Computer code should be submitted in commented, correct, ready-to-run form, and directly reflect theory and conclusions from the homework submission. Code is to be submitted in the form of a supplement to a SIAM paper
Homework assignments are inspired by the real-world practice of scientific computation.
A midterm examination will given on topics within ODE and finite difference theory
The final examination is a project going into greater detail on a subject chosen from the homeworks
Ordinary differential equations (ODEs): Convergence, consistency, stability; Single-step, multi-step methods; Boundary value problems
Finite difference methods and analysis (FDM): Convergence, consistency, stability; Modified equations; Fourier analysis of finite difference methods
Finite volume methods (FVM): Godunov methods and Riemann problems, Essentially non-oscillatory schemes, Central schemes, Adaptive mesh refinement
Spectral methods (SM): Operator eigenfunction expansions; Collocation methods; Riesz theorem; Convergence analysis
Finite element methods (FEM): Grid generation; Finite element spaces; System matrix assembly; Variational formulations
Boundary element methods (BEM): Convolution solutions, fast solvers
Adaptive mesh refinement (AMR)
Multigrid methods (MG)
There is no single course text. Topics are drawn from the following sources
Course lecture notes, S. Mitran
Finite Volume Methods for Hyperbolic Problems by R. LeVeque,
Spectral Methods in Fluid Dynamics, by C. Canuto, Y. Hussaini, A. Quarteroni, T. Zhang,
The Finite Element Method: Its Basis and Fundamentals, by O. Zienkiewicz, R. Taylor, J. Zhu
Discontinuous Galerkin Methods, by B. Cockburn, G. Karniadakis, C.-W. Shu
Notes are posted prior to class time on a best-effort basis, and are generally specified as sections from Course lecture notes. Additional notes are posted as needed. Read notes before class to gain a first exposure to lecture material.
Week |
Dates |
Monday |
Wednesday |
Friday |
01 |
08/20-24 |
- |
Lesson01: ODEs §3.1-3 |
Lab01: Intro |
02 |
08/27-31 |
Lesson02: ODEs |
Lesson03: ODEs |
Lab02: ODEs |
03 |
09/03-07 |
(Labor Day) |
Lesson04: IBVP |
Lab03: IBVP |
04 |
09/10-14 |
Lesson05: FT |
(Hurricane Florence) |
(Hurricane Florence) |
05 |
09/17-21 |
Lesson06: FDM |
Lesson07: FDM |
Lab04: FDM |
06 |
09/24-28 |
Lesson09: FVM |
Lesson10: FVM |
Lab05: FDM |
07 |
10/01-05 |
Lesson13: FVM |
Lesson14: FVM |
|
08 |
10/08-12 |
Lesson15: SM |
Lesson16: SM |
(University Day) |
09 |
10/15-19 |
Lesson17: SM |
Midterm exam |
(Fall Break) |
10 |
10/22-26 |
Lesson18: SM |
Lesson19: SM |
|
11 |
10/29-02 |
Lesson20: FEM |
Lesson21: FEM |
Lab08: AMR |
12 |
11/05-09 |
Lesson22: FEM |
Lesson23: BEM |
Lab09: FEM |
13 |
11/12-16 |
Lesson24: BEM |
Lesson25: AMR |
Lab10: FEM |
14 |
11/19-23 |
Lesson26: MG |
(Thanksgiving) |
(Thanksgiving) |
15 |
11/26-30 |
Lesson27: MG |
Lesson28: MG |
Lab11: MG |
16 |
12/03-07 |
Review |
Review |
- |
Homework assignments continue the computational labwork.
Nr. |
Issue Date |
Due Date |
Topic |
Problems |
Solutions |
1 |
08/29 |
09/21 |
ODEs & BVP |
|
|
2 |
09/21 |
12/05 |
FDM |
|
|
3 |
10/26 |
12/05 |
FVM |
|
|
4 |
10/26 |
12/05 |
FVM |
|
|
5 |
10/26 |
12/05 |
FEM |
|
|
6 |
10/26 |
12/05 |
MG |
|
|
Project |
10/26 |
12/14 |
Synthesis |
|
Scientific computation is typically carried out in a Un*x environment (e.g. OS/X, various Linux versions). This course uses a customized Linux environment named SciComp@UNC available to students as a virtual machine. Download Virtual Box and the SciComp@UNC virtual machine image.
Various open source tools for carrying out and documenting practical scientific computation will be successively introduced:
TeXmacs: editing of documents containing live computation
SciPy: scientific Python environment
Maxima: symbolic computation
Octave: matrix operations through a Matlab clone
Gnu compilers (Fortran,C,Go): high-performance code development
Julia: a high-performance interactive environment
Paraview: data visualization
OpenDX: data visualization with a graphical editor
Gnuplot: simple data plotter
BEARCLAW: a package for solving partial differential equations
The course will also use a few commercial tools, freely available to students while connected to the campus network (either directly or remotely through the UNC VPN server):
Mathematica: complete system for numerical, symbolic, and graphical computation
Totalview: an interactive debugger for compiled code
The course will focus on application of theoretical concepts to realistic examples. Academic examples are introduced in the weekly lab, and extended to realistic applications in the bi-weekly homework assignments.
Course materials (lecture notes, workbooks, homework, examination examples) are stored in a repository that is accessed through the subversion utility, available on all major operating systems. The URL of the material is http://mitran-lab.amath.unc.edu/courses/MATH761.
The above address is needed for an initial checkout using commands such as:
mkdir ~/courses
cd ~/courses
svn co svn://mitran-lab.amath/unc.edu/courses/MATH761/
In the SciComp@UNC virtual machine the initial checkout can be carried out through the terminal commands
cd ~/courses
make MATH761
Update the course materials before each lecture by:
cd ~/courses
svn update
Links to course materials will also be posted to this site, but the most up-to-date version is that from the subversion repository, so carry out the svn update procedure prior to each lecture.