You're not currently signed in. Sign in »

Numerical Methods for Partial Differential Equations

CS555 :: Spring 2024

About the Course

Are you interested in the numerical approximation of solutions to partial differential equations? Then this course is for you!

amr mesh

The course covers roughly three topics: the fundamentals of finite difference approximations, an introduction to finite volume schemes, and comprehensive look at finite element methods.

The course involves several assignments (usually bi-weekly) and a final project that we develop over the semester, culminating in a presentation. There is also a strong participation grade based on handouts and other in-class tasks. The tentative grade breakdown is:

This will be finalized in the first week of class.

The course assignments and examples in class will be in Python.


Recorded Lectures:

Lecture Date Topic
images/0-elliptic.png 01-17 About the course, classifying PDEs, survey of methods
  • Book Chapter 1
images/0-advection1d.png 01-22 Finite differencing for time dependent problems
images/0-lw.png 01-24 Convergence theory, Stability
images/0-wiggles.png 01-29 Stabilty, dispersion, and dissipation
images/0-dispersion.png 01-31 Dispersion, and dissipation
images/0-burgers.png 02-05 Conservation laws, finite volume methods
images/0-fvgrid.png 02-07 Finite Volume Methods
images/0-godunov.png 02-12 Godunov Schemes
images/0-linearreconstruction.png 02-14 Higher resolution and slope limiting
images/0-incomplete.png 02-19 Weak derivatives
images/0-interperror.png 02-21 Projections and weak problems
images/0-discontinuity.png 02-26 Weak forms, Ritz-Galerkin, existence and uniqueness
images/0-1dbasis.png 02-28 Finite element assembly
images/0-1dexample.png 03-04 Finite element interpolant, approximation property
  • Finite element assembly, 1d
  • Read section 4.4
images/0-2dmap.png 03-06 Finite element assembly
  • Spring Break
  • Spring Break
images/0-incomplete.png 03-18 An overview of spaces
images/0-proj.png 03-20 An outline of theory, Lax-Milgram, and more
  • Book section 8.2
images/0-lax.png 03-25 An outline of theory, Lax-Milgram, and more
  • Book section 8.2
images/0-approx.png 03-27 Finite elements and approximation properties
  • Book section 8.3
images/0-dgosc.png 04-01 Back to DG
  • Book section 9.5
images/0-presentations.png 04-03 no class
images/0-hdiv.png 04-08 Least-squares finite elements
  • Book section 10.5
  • tbd
  • tbd
  • tbd
  • Presentations, day 0?
  • Presentations, day 1
  • Presentations, day 2
  • Presentations, day 3
  • No class, reading day


Guidelines and files:

Final Project

The goal of the final project is to develop your own mini app -- a short computational example of some phenomenon in numerical PDEs. This can be related to any of the topics covered, from finite differencing to finite volume methods to finite element methods. An overarching goal of your mini app is to educate your peers on some nuanced aspect of the topics we have covered (or have skipped).

Your deliverables for the project will be a functioning Jupyter notebook, with an embeddeed description, discussion, and guide for the audience. In addition, you will present an overview of up to five minutes (with slides).

The mini app should rely only on standard Python, along with numpy, scipy, and matplotlib. If you strongly feel that you should use additional packages, please obtain prior approval.

The rubrics for the mini app are as follows.

SP, Statement of problem

ID, Implementation details

R, Results

C, Reflections

Slides should focus on

project step description points due
project 0 idea 2
project 1 goals 2
project 2 outline 2
project 3 results 3
project 4 mini app (notebook) 20
project 5 slides 10
project 6 pick a license 1
total 40

Code details.

COVID and Attendance

While face coverings are not required in classrooms (current as of 12/20/2023) we fully support your decision to wear one if you wish.

If you test positive for COVID, then you should not attend class.

If you have any cold-like symptoms or do not feel well, then you should not attend class, regardless of testing negative or positive for COVID.

In either case, your missed attendance due to illness will not impact your grade in the course and we will work with you to cover the material missed in class (via Zoom).