Math 228B - Numerical Solution of Differential Equations

Instructor: Jon Wilkening

Lectures: MWF 11 AM - 12 noon, 3111 Etcheverry

Office Hours (1051 Evans): Tuesday 3:45-4:45 PM (both classes),
Friday 3:15-4 PM (Math 191), Friday 4-4:45 PM (Math 228B), plus discussions on EdStem.

GSI: Jiahao Yao, jiahao@math.berkeley.edu
GSI office hours (935 Evans): Friday 9-11 AM (Math 228B), Friday 10 AM - 12 noon (Math 191)

Prerequisites: I will assume familiarity with undergraduate analysis, linear algebra and numerical analysis; some background from 228A will be assumed (I will post my lecture notes for 228A)

Required Texts:
Jon Wilkening, Hand-written lecture notes for Math 228B from Spring 2021

Recommended Reading:
Jon Wilkening, Hand-written lecture notes for Math 228A from Fall 2020
K. W. Morton and D. F. Mayers, Numerical solution of partial differential equations. (*)
Claes Johnson, Numerical Solution of Partial Differential Equations by the Finite Element Method, Dover, 2009.
R. J. LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge, 2002. (*)
Randall J. LeVeque, Finite difference methods for ordinary and partial differential equations. (*)
John C. Strikwerda, Finite difference schemes and partial differential equations, (2nd edition, SIAM, *)
Dietrich Braess, Finite Elements: Theory, Fast Solvers, and Applications in Solid Mechanics.
Rainer Kress, Linear Integral Equations. (*)
(*) = available digitally through UCB library

Syllabus: The first half of the course will focus on finite difference and spectral methods for parabolic and hyperbolic partial differential equations. I will describe von Neumann stability analysis, CFL conditions, the Lax-Richtmeyer equivalence theorem (consistency + stability = convergence), dissipation and dispersion. We will use these tools to analyze several popular schemes (Lax-Wendroff, Lax-Friedrichs, leapfrog, Crank-Nicolson, ADI). Next we will study the method of lines, Fourier pseudo-spectral methods, implicit/explicit schemes and exponential time-differencing schemes for the KdV equation. The last third of the course will focus on finite volume methods for hyperbolic conservation laws, finite element methods for elliptic equations (Poisson), and boundary integral methods for the Laplace equation with applications in irrotational water waves. Here is a tentative schedule:

Course Material: I will post handouts, lecture notes, assignments and other course material on bCourses. Please e-mail me (wilkening@berkeley.edu) if you do not have access to the bCourses page.

Grading: 100% Homework
Homework: 7 assignments (lowest score dropped). Problems will involve a mix of theoretical exercises and programming assignments/mini-projects. I generally find Matlab is the simplest programming language to use for this class, so I recommend Matlab unless you are already an expert programmer in another language such as Python, C++, Julia or Fortran. Assignments will be submitted to Gradescope on selected Saturdays by 2 PM Pacific time.