Math 228B - Numerical Solution of Differential Equations

Instructor: Jon Wilkening

GSI: Angxiu Ni

Lectures: The lectures will be "live" on zoom (Tues/Thurs 9:40-11 AM) and recorded/posted.
Zoom link (for lectures and office hours): see bCourses

Office Hours: Tues 4:30-5:30 PM (starting Jan 26), Friday 9:30-10:30 AM (starting Jan 22)

Prerequisites: Undergraduate Analysis (104), Linear Algebra (110), Numerical Analysis (128A); some background from 228A will be assumed (I will post links to relevant content from Fall 2020)

Required Texts:
John C. Strikwerda, Finite difference schemes and partial differential equations, (2nd edition, SIAM, *)
Claes Johnson, Numerical Solution of Partial Differential Equations by the Finite Element Method, Dover, 2009. ($14 on Amazon)

Recommended Reading:
Jon Wilkening, Hand-written lecture notes for Math 228B from 2007, 2011.
Randall J. LeVeque, Finite difference methods for ordinary and partial differential equations. (*)
K. W. Morton and D. F. Mayers, Numerical solution of partial differential equations. (*)
R. J. LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge, 2002. (*)
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 methods for parabolic and hyperbolic PDE. 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, method of lines.) The second half of the course will focus on finite volume methods for hyperbolic conservation laws, finite element methods for elliptic equations (Poisson, Lamé, Stokes), and boundary integral methods for the Laplace equation and 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. Assignments will be submitted to Gradescope on selected Fridays by 6 PM Pacific time.