The course aims at teaching the basic discretization methods for the solution of partial differential equations (PDE). During the lectures, we will cover fundamental aspects concerning the three main categories: elliptic PDE, parabolic PDE and hyperbolic PDE.
Program:
- Classification and examples of partial differential equations (elliptic, parabolic, hyperbolic) and some some analytical solutions;
- Finite difference methods;
- Elliptic equations (Laplace and Poisson Equations): Gauss-Seidel, Jacobi and SOR methods;
- Parabolic equations (heat eq.): explicit methods, Crank-Nicholson and ADI methods;
- Hyperbolic PDE: characteristic curves, advection equation, Burger's equation (shocks and rarefactions), linear systems and nonlinear equations (with application to Euler eqns.). Godunov's method.
Prerequisites:
Knowledge of Linux-like environments (Mac / Ubuntu / Windows Subsystem for Linux) and acquaintance with at least one programming language (C / C++ / Fortran).
Timetable:
Lectures will be held mostly in Aula Fubini (5th floor) and Aula Verde (1st floor) on the following dates:
- Wednesday April 3, 14:00-16:00 [Aula Fubini]
- Monday April 8, 14:00-16:00 [Aula Fubini]
- Wednesday April 10, 14:00-16:00 [Aula Fubini]
- Monday April 15, 14:00-16:00 [Aula Verde]
- Wednesday April 24, 09:00-11:00 [Aula Verde]
- Monday April 29, 14:00-16:00 [Aula Fubini]
- Tuesday April 30, 14:00-16:00 [Aula Fubini]
- Wednesday May 15, 14:00-16:00 [webex*]
Bring your laptop with you.
*https://unito.webex.com/meet/andrea.mignone
Lecture material:
- Lecture 1 (PDE: theroy & classification)
- Lecture 2 (Analytical Solutions)
- Lecture 3 (Introduction to Finite Difference Methods )
- Lecture 4 (Numerical solution of Parabolic PDEs). Check also the notes for tridiagonal matrix inversion and the soource code tridiag.cpp.
- Lecture 5 (Numerical solution of Elliptic PDEs).
- Lecture 6+7 (Finite difference / finite volume methods for Hyperbolic PDEs).