Numerical Methods for Partial Differential Equations
CS555 :: Spring 2023
 Class Time: Monday/Wednesday 11:00am12:15pm Catalog
 Class Location: 1035 Campus Instructional Facility (CIF)
 Class URL: go.illinois.edu/cs555
 Slack: cs555s23
 Instructor: Luke Olson
 Teaching Assistant: Alexey Voronin
 Office Hours: Mondays 45pm and Thursdays 4.305.30pm via zoom (NetID signin)
About the Course
Are you interested in the numerical approximation of solutions to partial differential equations? Then this course is for you!
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 biweekly) 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 inclass tasks. The tentative grade breakdown is:
 Homework 50
 Final Project 30
 Handouts/inclass activities 20 (we will be clear about these  not all will be handed in)
This will be finalized in the first week of class.
The course assignments and examples in class will be in Python.
Lectures
Lecture  Date  Topic  

0118  About the course, classifying PDEs, survey of methods


0123  Finite differencing for time dependent problems


0125  Convergence theory, Stability


0130  Stabilty, dispersion, and dissipation


0201  Dispersion, and dissipation


0206  Conservation laws, finite volume methods


0208  Finite Volume Methods


0213  Godunov Schemes  
0215  Higher resolution and slope limiting


0220  Total Variation Diminishing


0222  Multiple variables


0227  Multiple dimensions


0301  Discontinuous Galerkin for conservation laws


0306  Discontinuous Galerkin for conservation laws, implementation


0308  Projections  
0313 


0315 


0320  Weak forms, RitzGalerkin, existence and uniqueness


0322  Finite element interpolant, approximation property


0327  Finite element interpolant, approximation property


0329  Finite element assembly


0403  An overview of spaces


0405  An outline of theory, LaxMilgram, and more


0410  An outline of theory, LaxMilgram, and more


0412  Finite elements and approximation properties


0417  Back to DG


0419  no class


0424  Leastsquares finite elements


0426  project: Presentations, day 0


0501  project: Presentations, day 1


0503  project: Presentations, day 2


0504  No class, reading day

Homework
 Homework 1, Due
Wednesday February 8, 6pmFriday, February 10, 6pm.  Homework 2, Due Wednesday March 1, 12pm.
 Homework 3, Due
Wednesday March 24Friday March 31st, 12pm.  Homework 4, Due Friday April 14th, noon.
 Project 0, Due Wednesday March 22 in class
 Project 1  goals, Due Friday March 31 end of day.
 Project 2  outline, Due Friday April 7, end of class.
 Project 3  results, Due Wednesday April 12, end of class.
 Project 4  results, Due Wednesday April 19, end of day.
 Project 5  slides, Due Wednesday April 26, beginning of class.
 Project 6  reflections, Due Friday May 5 by 6pm.
Guidelines and files
 all homeworks should be typeset in LaTeX. For a template you may start with homeworknetidN.tex or overleaf project.
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
 Equations to be solved, including BCs and ICs if necessary. Connection to engineering/science problem if appropriate.
SA, Solution approach
 Discretization problem formulation, with justification. Why is this method of interest.
ID, Implementation details
 What details are needed to understand the implementation? What code(s) did you use?
R, Results
 What was the initial goal and did it succeed? What do you observe for this problem and discretization?
C, Conclusions
 What did you learn? What worked, what needs improvement, what are the next steps or future directions?
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 
Books
Computing
We will be using Python with the libraries numpy, scipy and matplotlib for assignments. No other languages are permitted.
Python and Numpy Help
 Python tutorial
 Facts and myths about Python names and values
 Dive into Python 3
 Introduction to Python for Science
 The SciPy lectures
 The Numpy MedKit by StÃ©fan van der Walt
 The Numpy User Guide by Travis Oliphant
 Numpy/Scipy documentation
 More in this reddit thread
 An introduction to Numpy and SciPy
 100 Numpy exercises
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 coldlike 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).