**Instructor:**
Jon Wilkening

**Lectures:** TuTh 9:30-11:00, Room 3111 Etcheverry

**Course Control Number:** 54512

**Office:** 1091 Evans

**Office Hours:** Monday 10:30-11:55 AM, Tues 3:45-5:00 PM

**Prerequisites:** Math 128A or equivalent knowledge of
basic numerical analysis. Some programming experience (e.g.
Matlab, Fortran, C, or C++)

**Recommended Reading:**

Jon Wilkening, Lecture Notes for Math 228A,B

Randall J. LeVeque,
Finite Difference Methods for Ordinary and Partial Differential Equations

Randall J. LeVeque, Finite Volume Methods for Hyperbolic Problems

John C. Strikwerda, Finite difference schemes and partial differential
equations

Dietrich Braess, Finite Elements: Theory, Fast Solvers, and Applications
in Solid Mechanics

Rainer Kress, Linear Integral Equations, 2nd Edition

**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, implicit-explicit methods, exponential
time-differencing schemes.) 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 irrotational water wave.

**Course Webpage:** I will post handouts and assignments on
B-Space.
Please e-mail me if you do not have access to the B-Space page.

**Grading:** Grades will be based entirely on homework.

**Homework:** 8 assignments containing a mixture of theoretical
questions and coding projects to implement the schemes we discuss in
class. Any programming language is OK as long as you write the codes
yourselves. (Matlab, C, C++, Fortran, Mathematica, Python, etc)