Numerical Methods for Partial Differential Equations
CS555 :: Spring 2023
- Class Time: Monday/Wednesday 11:00am-12:15pm Catalog
- Class Location: 1035 Campus Instructional Facility (CIF)
- Class URL: go.illinois.edu/cs555
- Slack: cs555-s23
- Instructor: Luke Olson
- Teaching Assistant: Alexey Voronin
- Office Hours: Mondays 4-5pm and Thursdays 4.30-5.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 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:
- Homework 50
- Final Project 30
- Handouts/in-class 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 | |
---|---|---|---|
01-18 | About the course, classifying PDEs, survey of methods
|
||
01-23 | Finite differencing for time dependent problems
|
||
01-25 | Convergence theory, Stability
|
||
01-30 | Stabilty, dispersion, and dissipation
|
||
02-01 | Dispersion, and dissipation
|
||
02-06 | Conservation laws, finite volume methods
|
||
02-08 | Finite Volume Methods
|
||
02-13 | Godunov Schemes | ||
02-15 | Higher resolution and slope limiting
|
||
02-20 | Total Variation Diminishing
|
||
02-22 | Multiple variables
|
||
02-27 | Multiple dimensions
|
||
03-01 | Discontinuous Galerkin for conservation laws
|
||
03-06 | Discontinuous Galerkin for conservation laws, implementation
|
||
03-08 | Projections | ||
03-13 |
|
||
03-15 |
|
||
03-20 | Weak forms, Ritz-Galerkin, existence and uniqueness
|
||
03-22 | Finite element interpolant, approximation property
|
||
03-27 | Finite element interpolant, approximation property
|
||
03-29 | Finite element assembly
|
||
04-03 | An overview of spaces
|
||
04-05 | An outline of theory, Lax-Milgram, and more
|
||
04-10 | An outline of theory, Lax-Milgram, and more
|
||
04-12 | Finite elements and approximation properties
|
||
04-17 | Back to DG
|
||
04-19 | no class
|
||
04-24 | Least-squares finite elements
|
||
04-26 | project: Presentations, day 0
|
||
05-01 | project: Presentations, day 1
|
||
05-03 | project: Presentations, day 2
|
||
05-04 | 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 homework-netid-N.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 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).