Course 8023 - Numerical Differential Equations I - Fall 2019

Official Information
Course Number:Mathematics 8023.001
Course Title:Numerical Differential Equations I
Time:MW 10:30-11:50
Place:617 Wachman Hall
Instructor: Benjamin Seibold
Instructor Office:518 Wachman Hall
Instructor Email: seibold(at) 
Office Hours:MW 12:00-1:00pm
Official: Course Syllabus
Course Textbook: Randall J. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations - Steady State and Time Dependent Problems, SIAM, 2007
Further Reading: L.C. Evans, Partial Differential Equations, Graduate Studies in Mathematics, V. 19, American Mathematical Society, 1998
L.N. Trefethen, Spectral Methods in MATLAB, SIAM, Philadelphia, 2000
Randall J. LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge University Press, 2002
Jan S. Hesthaven, Tim Warburton, Nodal Discontinuous Galerkin Methods, Springer, 2008
Grading Policy
The final grade consists of three parts, each counting 33.3%:
Homework Problems:Each homework assignment will be worked on for two weeks.
Course project:From the third until the second to last week, each participant works on a course project. Students can/should suggest projects themselves. The instructor is quite flexible with project topics as long as they are new, interesting, and relate to the topics of this course. The project grade involves a midterm report (20%), a final report (50%), and a final presentation (30%). Due dates are announced in class.
Exams:December 12, 2019.
This course is designed for graduate students of all areas who are interested in numerical methods for differential equations, with focus on a rigorous mathematical basis. Many modern and efficient approaches are presented, after fundamentals of numerical approximation are established. Of particular focus are a qualitative understanding of the considered partial differential equation, high-order time-stepping approaches, fundamentals of finite difference, finite volume, and finite element methods, and important concepts such as stability, convergence, and error analysis.
Fundamentals:Stability, convergence, error analysis, Fourier approaches.
Methods:Runge-Kutta, multistep, finite difference, finite volume, finite element methods.
Problems:Boundary value problems, Poisson equation and other elliptic problems, advection and transport, diffusion, wave propagation, conservation laws.
Course Schedule
08/26/2019   Lec 1
I. Fundamental Concepts: ODE IVPs vs. BVPs, PDE well-posedness
   Read: ODE, IVP, BVP, PDE,
08/28/2019   Lec 2
Fourier methods for linear PDE IVPs, well- and ill-posedness
09/04/2019   Lec 3
Laplace/Poisson equation, heat equation, transport/wave equation
09/09/2019   Lec 4
II. Boundary value problems and elliptic equations: generalized finite difference approach
09/11/2019   Lec 5
Boundary value problems, consistency
09/18/2019   Lec 6
Convergence and stability for BVPs
   Read: Spectral radius
09/23/2019   Lec 7
Neumann b.c., 2D Poisson equation
09/25/2019   Lec 8
Deferred correction, advection-diffusion-reaction problems
09/30/2019   Lec 9
Variable coefficient diffusion, anisotropic diffusion
10/01/2019   Lec 10
Singularly perturbed problems, Shishkin meshes
10/02/2019   Lec 11
Finite element method: weak form, spaces, Galerkin approach
10/07/2019   Lec 12
Finite element method: 2d & different b.c., meshfree finite difference method
10/09/2019   Lec 13
III. Time-stepping: Errors, consistency, zero-stability, convergence, absolute stability
10/14/2019   Lec 14
Methods: Taylor series, Runge-Kutta, multistep, stiff problems
10/15/2019   Lec 15
IV. Parabolic equations: heat equation, method of lines, stability
   Read: Method of lines
10/16/2019   Lec 16
Accuracy, Lax-equivalence theorem
10/21/2019   Lec 17
Von Neumann stability analysis, boundary conditions
10/28/2019   Lec 18
Multi-dimensional problems
   Read: ADI, Thomas algorithm
10/29/2019   Lec 19
Finite element method
11/30/2019   Lec 20
V. Wave propagation: advection, MOL, Lax-Wendroff, Lax-Friedrichs
11/06/2019   Lec 21
Upwind methods, stability analysis
   Read: Upwind
11/11/2019   Lec 22
Modified equation
   Read: Modified equation
11/13/2019   Lec 23
Linear hyperbolic systems, wave equation
   Read: Hyperbolic PDE
11/18/2019   Lec 24
VI. Spectral methods: periodic problems
11/20/2019   Lec 25
Fast Fourier transform
   Read: FFT
12/02/2019   Lec 26
Non-periodic problems
12/04/2019   Lec 27
12/09/2019   Lec 28
Project presentations
12/12/2019 Final Examination
Matlab Programs
Chapter I: Fundamental concepts
mit18086_linpde_fourier.m Four linear PDE solved by Fourier series
Shows the solution to the IVPs u_t=u_x, u_t=u_xx, u_t=u_xxx, and u_t=u_xxxx, with periodic b.c., computed using Fourier series. The initial condition is given by its Fourier coefficients. In the example a box function is approximated.
Chapter II: Boundary value problems and elliptic equations
mit18086_stencil_stability.m Compute stencil approximating a derivative given a set of points and plot von Neumann growth factor
Computes the stencil weights which approximate the n-th derivative for a given set of points. Also plots the von Neumann growth factor of an explicit time step method (with Courant number r), solving the initial value problem u_t = u_nx.
Example for third derivative of four points to the left:
>> mit18086_stencil_stability(-3:0,3,.1)
mit18086_poisson.m Numerical solution of Poisson equation in 1D, 2D, and 3D
Set-up of system matrices using Matlab's kron.
mit18336_poisson1d_error.m Perform numerical error analysis for the Poisson equation
A differentiable but oscillatory right hand side is considered.
Chapter III: Time-stepping
Runge-Kutta methods of orders 1,2,3,4, and 5
Initial value problem ODE are solved approximated equidistant time steps.
Chapter IV: Parabolic equations
mit18086_fd_heateqn.m Finite differences for the heat equation
Solves the heat equation u_t=u_xx with Dirichlet (left) and Neumann (right) boundary conditions.
temple8023_heateqn2d.m Finite differences for the 2D heat equation
Solves the heat equation u_t=u_xx+u_yy with homogeneous Dirichlet boundary conditions, and time-stepping with the Crank-Nicolson method. The global error and compute time are provided, allowing for an easy convergence and CPU time scaling study.
Chapter V: Wave propagation
mit18086_fd_transport_growth.m Finite differences for the one-way wave equation, additionally plots von Neumann growth factor
Approximates solution to u_t=u_x, which is a pulse travelling to the left. The methods of choice are upwind, downwind, centered, Lax-Friedrichs, Lax-Wendroff, and Crank-Nicolson. For each method, the corresponding growth factor for von Neumann stability analysis is shown.
mit18086_fd_transport_limiter.m Nonlinear finite differences for the one-way wave equation with discontinuous initial conditions
Solves u_t+cu_x=0 by finite difference methods. Of interest are discontinuous initial conditions. The methods of choice are upwind, Lax-Friedrichs and Lax-Wendroff as linear methods, and as a nonlinear method Lax-Wendroff-upwind with van Leer and Superbee flux limiter.
mit18086_fd_waveeqn.m Finite differences for the wave equation
Solves the wave equation u_tt=u_xx by the Leapfrog method. The example has a fixed end on the left, and a loose end on the right.
Chapter VI: Spectral methods (all codes by Nick Trefethen; website with all codes)
p4.m Periodic spectral differentiation using matrices
p5.m Periodic spectral differentiation using FFT
p13.m Solving a linear BVP
p14.m Solving a nonlinear BVP
p15.m Solving an eigenvalue problem
p16.m Solving the 2D Poisson equation
p17.m Solving the 2D Helmholtz equation
Additional Reading Materials
Homework Problem Sets
Course Projects
Project proposals due: September 6, 2019.
Project midterm reports due: October 21, 2019.
Project final reports due: December 17, 2019.
  • Brandi Henry: Modeling the Spread of Panama Disease among Cavendish Bananas in China with an Evaluation of Australia's Biosecurity
  • Andrew Higgins: Optimal Control for Microwaving Non-Homogeneous Food
  • James Rosado: Hodgkin-Huxley Conductance Based Model: From 1D to 3D