You're not currently signed in. Sign in »

Numerical Methods for Partial Differential Equations

CS555 :: Spring 2023

About the Course

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

sparse matrix

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.


lecture zoom videos

Lecture Date Topic
images/0-elliptic.png 01-18 About the course, classifying PDEs, survey of methods
images/0-advection1d.png 01-23 Finite differencing for time dependent problems
images/0-lw.png 01-25 Convergence theory, Stability
images/0-wiggles.png 01-30 Stabilty, dispersion, and dissipation
images/0-dispersion.png 02-01 Dispersion, and dissipation
images/0-burgers.png 02-06 Conservation laws, finite volume methods
images/0-fvgrid.png 02-08 Finite Volume Methods
images/0-godunov.png 02-13 Godunov Schemes
images/0-linearreconstruction.png 02-15 Higher resolution and slope limiting
images/0-tvd.png 02-20 Total Variation Diminishing
images/0-multishock.png 02-22 Multiple variables
images/0-2dadvection.png 02-27 Multiple dimensions
images/0-pwpoly.png 03-01 Discontinuous Galerkin for conservation laws
images/0-dg1d.png 03-06 Discontinuous Galerkin for conservation laws, implementation
images/0-interperror.png 03-08 Projections
  • Spring Break
  • Spring Break
images/0-discontinuity.png 03-20 Weak forms, Ritz-Galerkin, existence and uniqueness
  • Book Section 4.1, 4.2
images/0-1dbasis.png 03-22 Finite element interpolant, approximation property
  • Book section 4.3
  • project 0: Project selection + peer feedback
images/0-1dexample.png 03-27 Finite element interpolant, approximation property
images/0-2dmap.png 03-29 Finite element assembly
images/0-incomplete.png 04-03 An overview of spaces
images/0-proj.png 04-05 An outline of theory, Lax-Milgram, and more
images/0-lax.png 04-10 An outline of theory, Lax-Milgram, and more
images/0-approx.png 04-12 Finite elements and approximation properties
images/0-dgosc.png 04-17 Back to DG
images/0-presentations.png 04-19 no class
images/0-hdiv.png 04-24 Least-squares finite elements
  • Book section 10.5
04-26 project: Presentations, day 0
  • project 5: Project slides due
  • Presentation 0.0 -- TBD
  • Presentation 0.1 -- TBD
  • Presentation 0.2 -- TBD
  • Presentation 0.3 -- TBD
  • Presentation 0.4 -- TBD
  • Presentation 0.5 -- TBD
  • Presentation 0.6 -- TBD
05-01 project: Presentations, day 1
  • Presentation 1.0 -- TBD
  • Presentation 1.1 -- TBD
  • Presentation 1.2 -- TBD
  • Presentation 1.3 -- TBD
  • Presentation 1.4 -- TBD
  • Presentation 1.5 -- TBD
  • Presentation 1.6 -- TBD
05-03 project: Presentations, day 2
  • Presentation 2.0 -- TBD
  • Presentation 2.1 -- TBD
  • Presentation 2.2 -- TBD
  • Presentation 2.3 -- TBD
  • Presentation 2.4 -- TBD
  • Presentation 2.5 -- TBD
05-04 No class, reading day
  • project 5: Project reflections due


Guidelines and files

Final Presentations

The final presentation should focus on educating the audience with a clear statement of the problem (PDE) being looked at, a description of the method and its implementation, numerical results that highlight certain features of the study, and some reflective conclusions.

Your presentation should be 10 minutes long (!), with roughly 10 slides (depending on your content). Here is a rubric for the grading (equally weighted).

SP, Statement of problem

SA, Solution approach

ID, Implementation details

R, Results

C, Conclusions

project step description points
project 0 idea 0
project 1 goals 1
project 2 outline 1
project 3 results 1
project 4 results 2
project 5 slides 20
project 6 reflections 5
total 30



We will be using Python with the libraries numpy, scipy and matplotlib for assignments. No other languages are permitted.

Python and Numpy Help

COVID and Attendance

While face coverings are not required in classrooms (current as of 01/17) 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).