Instructor: Professor Di Qi
OFFICE: Math 644
OFFICE HOURS: Wednesday and Friday 12:00-1:00 PM
E-MAIL: qidi@purdue.edu
URL:
http://www.math.purdue.edu/~qi117
Grader: Stanley Gao
Grader's OFFICE: MATH 1031
E-MAIL: gao757@purdue.edu
I will post here lecture notes for each class. While these notes contain all of the information you need to know, reading going beyond this is essential to the class and will be indicated here. I will refer mostly to the textbooks of Lai and Zhang, Trefethen, and LeVeque, but there will also be links to papers or notes by other people. I will also refer to the Lecture Notes by Prof. Xiangxiong Zhang.
For more materials on numerical ODEs and time integration schemes consult my precious class on Numerical Solutions of ODEs.
A nice gallery of PDEs and numerical solutions can be found in The (Unfinished) PDE Coffee Table Book by N. Trefethen.
The use of Fourier techniques in PDEs, both their analysis and numerical solution, will come up many times in this class. There are three separate but related topics to consider here. The first is the FFT as a discrete unitary transform (linear algebra), and using the Fourier series as an approximation to periodic functions (approximation theory), and FFTs as a tool to solve PDEs (pseudospectral method).
You can also review my previous slides on Fourier transforms and solving initial value problems using Fourier series.
By far the most popular/efficient library for FFTs is FFTW, see documentation for what normalization it uses. FFTW is used under the hood in Matlab/numpy, but they may use differet normalization, see for example the Matlab's fft/ifft convention.
More details on dealing with aliasing can be found in the notes on pseudospectral methods by Denys Dutykh.
Subtle issues on handling the unmatched (Nyquist) mode for even-sized grids with spectral differentiation are discused in detail in Steven G. Johnson. For the approximation theory behind using Fourier series as an approximation to periodic functions, see the paper by Nick Trefethen.
We study of numerical time integrators with some basic methods and theory for solving systems of ODEs, namely, concepts of consistency, zero-stability and convergence for one-step methods. Some more discussions will be given about Runge-Kutta methods and also adaptive time stepping. Regions of absolute stability for various one-step methods and the concept of stiffness will be discussed, which will be crucial for PDEs.
More detailed discussions about numerical solutions of ODEs can be found in my previous lecture notes for Multistage and Multistep Methods and Stability, Consistency, and Convergence. To understand the theory behind these methods, see also the Lecture Notes by Michael Lindsey.
The IMplicit-EXplicit (IMEX) temporal integrators are based on the article by Pareschi and Russo, which derives a (recommended) scheme that combines (Strong Stability Preserving) RK3 for advection with an L-stable (Diagonally Implicit RK or DIRK) RK2 scheme for diffusion.
The MATLAB ODE suite is described in the paper by Shampine and Reichelt and is important reading for anyone using the MATLAB solvers.
We discuss the exponential integrators based on Duhamel's formula. The original source of ETDRK schemes is constructed in the paper by Cox and Matthews. Another work discusses a 4th order exponential integrator method (ETDRK4) from the group of Nick Trefethen for time stepping a system of ODEs in time.
Spectral accuracy in time can be achieved by using the Spectral Deferred Correction (SDC) Method. We will cover this briefly to give the main idea, and those interested in the topic can use it for a final project. A review article that gives the complicated history of this class of methods is the paper by Ong & Spiteri. Many pieces are required to make SDC efficient and effective for PDEs, for example, handling of stiff terms robustly benefits from the LU trick developed in the paper by M. Weiser.
For finite difference methods, we will follow relatively closely Chapter 9 and Chapter 10 in the book of LeVeque. For finite volume methods, we will consider advection-diffusion equations, focusing on advection. Details of this material are inlcuded in the books of LeVeque, but for a more self-contained reading see these lecture notes from V. Springel and C.P. Dullemond.
The stability analysis of second-order space-time schemes for advection-diffusion equations is in the very readable and instructive paper by Michael Minion. This paper is for two dimensions and Navier-Stokes and is therefore more advanced, so it can be a topic of a final project.
These are topics that we will not cover in class but I have some materials/references already. Some of these are suited for a final project.
Implement a pseudospectral solver for the Navier-Stokes equations in 3D for periodic domains, and explore anti-aliasing strategies; see for example this article on computing nearly-singular solutions. In three dimensions, a manufactured analytical solution can be found in the paper by M. Antuono.
In geophysical-fluid dynamics (e.g., climate/weather forecasting) we often need to solve parabolic PDEs on the surface of the Earth, i.e., a sphere (the mild asphericity of our planet can be ignored). This is a complicated topic but check Dedalus which provides some interesting spectral methods on disks and spheres.
The basic idea is to use orthogonal polynomials (Chebyshev or Legendre) but the dilemma is in how to impose the PDE (weakly using Galerkin or strongly using collocation, or some other approach) and how to impose boundary conditions. The standard collocation method using type-2 Chebyshev grid is described in the book Spectral Methods in Matlab by Nick Trefethen.
FFT-based methods can be used to solve elliptic PDEs in irregular domains by using extention into a rectangular periodic domain. Looking at the paper The smooth forcing extension method by Qadeer and Griffith for a simple yet accurate approach.
Lots of topics can be found in the paper by Buvoli and Minion on the stability of exponential Integrators. For applications of exponential integrators to more challenging PDEs more broadly (not just periodic and pseudospectral), see the article by J. Loffeld and M. Tokman.
If the linear operator in the stiff part is not a diagonal matrix, we need to compute the action of the matrix exponential on a vector for non-diagonal matrices, best done using polynomial Krylov methods or rational Krylov methods. A good project is to try this out for an advection-diffusion equation in 1D, and then at least a diffusion equation in 2D.
Use FD/FV/FE and pseudospectral methods to solve the Kuramoto-Sivashinsky equation in one and higher dimensions. Especially, use Krylov methods to implement the exponential integrators for non-periodic domains.
An important aspect that we may not have time to cover are efficient linear solvers for the linear systems that arise in various grid-based FD/FV/FE methods, in particular for elliptic problems. While in 2D it is possible to use multifrontal direct solvers due to the abundance of memory on modern computers, for 3D iterative solvers based on algebraic or geometric multigrid methods are required; see the lecture notes on geometric multigrid by William L. Briggs. There are many existing libraries implementing such solvers.
Students will be assigned a project and are expected to present their results in the last week of the class. There will be no midterm and final exams. The grade will be based on projects and attendance (60%) and final presentation (40%).
Desirable final projects can be selected from the self-study materials. The general guidelines for the final project are: