MATH 84458446
Numerical Analysis of Differential Equations
MATH 8446, Spring 2018: MWF 11:1512:05 Vincent Hall 364 
Instructor: Douglas N. Arnold 
Contact info: 512 Vincent Hall, tel: 69137, email:

Office hours: Tuesday 11:1512:05, Friday 12:101:00 
About the course: This is a twosemester graduate level
introduction to the numerical solution of partial differential equations.
The first semester
will begin with finite difference methods for the Laplacian
and the basic techniques to analyze them (maximum principle, Fourier analysis,
energy estimates). It will then continue with a study of
numerical linear algebra relevant to solution of discretized PDEs, such as those arising
from the finite difference discretization of the Laplacian (classical iterations,
conjugate gradients, multigrid). The remainder of the course will
be devoted to finite element methods for elliptic problems,
and their analysis. In the first semester we will introduce finite element methods
for elliptic problems and analyze their behavior mathematicially. During the second semester we will treat more advanced topics
in finite elements: timedependent problems, C^{1} finite elements, nonconforming finite finite elements, mixed methods, and
various applications, such as the Stokes and NavierStokes equations, elasticity, and Maxwell's equations, and
get introduced to finite element exterior calculus.
The course will include
computational examples and projects using
Python, and, especially, the FEniCS finite element
software environment. A feature of the course is that
we will emphasize a uniform framework based on consistency and stability to analyze
both finite element and finite difference methods, for both stationary and
timedependent problems.




The cost for inadequate numerical analysis can be high. The first time
this offshore platform was installed, it
crashed to the sea bottom causing a seismic event measuring 3.0 on the
Richter scale and costing $700,000,000. The cause: flawed algorithms for
the numerical solution of the relevant partial differential equations.
For more information see here.


Text and syllabus:
The course will follows these Lecture Notes.
The table of contents may be taken as the syllabus for the course.
Other references:
Similar material is covered in numerous texts. The following are all available
online through the University of Minnesota libraries.
 Finite Difference Methods for Ordinary and Partial Differential Equations: Steadystate and Timedependent Problems, Randall J. Leveque, Society for Industrial and Applied Mathematics, 2007.
 Finite Elements: Theory, Fast Solvers, and Applications in Solid Mechanics, Dietrich Braess, third edition, Cambridge University Press, 2007.
 The Finite Element Method for Elliptic Problems, Philippe Ciarlet, Society for Industrial and Applied Mathematics, 2002.
 The Mathematical Theory of Finite Element Methods, Susanne Brenner and Ridgway Scott, third edition, Springer, 2008.
 Numerical Treatment of Partial Differential Equations, Christian Grossmann, HansGörg Roos, and Martin Stynes, Springer, 2007.
Lecture schedule: • 8445
•8446
Exams: There will be homework sets including
computational assignments, an inclass midterm, and a final exam each semester.
Homework:
 Homework 1, due 9/27, latex
 Homework 2, due 10/13 (start of class), latex
 Homework 3, due 11/22 (start of class), latex
 Homework 4, due 2/7 (start of class), latex
 Homework 5, due 2/28 (start of class), latex
Programming:
The course will use Python in class examples, and students are expected to do
class assignments in Python. This includes the key tools of the Python ecosystem
for scientific computing: NumPy (numerical Python), SciPy (scientific Python), and
Matplotlib (for plotting). Here is a nice Introduction to Python, NumPy, SciPy, and Matplotlib. More tutorial and reference material is at
SciPy.org, and you can find much more on the web.
Midway through the first semester we will begin to use FEniCS.
For a quick start with FEniCS see my notes Getting started with FEniCS.
For a more extensive introduction, see the FEniCS tutorial.
Code: Programs studied in class, etc., are here.
Class expectations:
Students are expected to attend the lectures and read the notes in coordination with them.
The lectures and notes will be terse at times, and students are expected to
work out and fill in the details. You may discuss homework problems with me or with other students.
However, you must write up your solution independently and in your own words, and all students
must write their own code for the computer assignments.
Updated December 11, 2017