Official Information  

Course Number:  Mathematics 8023.001 
Course Title:  Numerical Differential Equations I 
Time:  MW 10:3011:50 
Place:  617 Wachman Hall 
Instructor:  Benjamin Seibold 
Instructor Office:  518 Wachman Hall 
Instructor Email:  seibold(at)temple.edu 
Office Hours:  MW 12:001: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. 
Outline  
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, highorder timestepping 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:  RungeKutta, 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 wellposedness

08/28/2019 Lec 2  Fourier methods for linear PDE IVPs, well and illposedness
Read:
Fourier series,
Wellposed problem

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
Read:
Finite difference method

09/11/2019 Lec 5  Boundary value problems, consistency
Read:
Boundary value problem

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, advectiondiffusionreaction problems

09/30/2019 Lec 9  Variable coefficient diffusion, anisotropic diffusion
Read:
Anisotropic diffusion

10/01/2019 Lec 10  Singularly perturbed problems, Shishkin meshes
Read:
Singular perturbation

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. Timestepping:
Errors, consistency, zerostability, convergence, absolute stability

10/14/2019 Lec 14  Methods: Taylor series, RungeKutta, 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, Laxequivalence theorem
Read:
Lax equivalence theorem

10/21/2019 Lec 17  Von Neumann stability analysis, boundary conditions

10/28/2019 Lec 18  Multidimensional problems
Read:
ADI,
Thomas algorithm

10/29/2019 Lec 19  Finite element method
Read:
Finite element method

11/30/2019 Lec 20  V. Wave propagation:
advection, MOL, LaxWendroff, LaxFriedrichs
Read:
LaxWendroff,
LaxFriedrichs

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  Nonperiodic problems

12/04/2019 Lec 27  Applications

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 nth 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 Setup 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: Timestepping  
ode1.m ode2.m ode3.m ode4.m ode5.m 
RungeKutta 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 timestepping with the CrankNicolson 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 oneway 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, LaxFriedrichs, LaxWendroff, and CrankNicolson. For each method, the corresponding growth factor for von Neumann stability analysis is shown. 
mit18086_fd_transport_limiter.m 
Nonlinear finite differences for the oneway 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, LaxFriedrichs and LaxWendroff as linear methods, and as a nonlinear method LaxWendroffupwind 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)  
cheb.m  
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.
