Course 9200 - Topics in Numerical Analysis I: Computational Methods for Flow Problems - Fall 2022

Official Information
Course Number:Mathematics 9200.001
Course Title:Topics in Numerical Analysis I: Computational Methods for Flow Problems
Time:TR 2:00-3:20
Place:617 Wachman Hall
Instructor: Benjamin Seibold
Instructor Office:518 Wachman Hall
Instructor Email: seibold(at) 
Office Hours:TR 3:30-4:30pm
Official: Course Syllabus
Course Textbooks: There is no single textbook for this course. The materials come from a variety of books and other sources. Recommended resources:
Grading Policy
The final grade consists of two parts, each counting 50%: homework problem sets and final examination.
This course provides an overview of numerical methods for many important types of flow problems, ranging from passive convection, over incompressible fluids (Navier-Stokes equations), shock problems (such as the compressible Euler equations), kinetic equations (Boltzmann equation, radiative transfer), to network flows (such as traffic on roads).
One third of the course will be devoted to the modeling, derivation, and mathematical/physical properties of the equations and their solutions; and two thirds to the design of efficient and robust numerical methods for their solution. The computational approaches include: finite volume methods, finite difference methods, meshfree and particle methods, moment methods.
The goal of this course is provide a broad perspective on these important types of flow problems, their connections, and how to tackle them computationally. This course provides the needed familiarity with each topic to enable the participants to engage into further studies via literature.
Course Schedule
08/23/2022   Lec 1
I. Fundamentals of Flows: Different types of flow problems
08/25/2022   Lec 2
reference frames, transport equations, incompressibility, vorticity
08/30/2022   Lec 3
stream function, field lines
09/01/2022   Lec 4
potential flow
09/06/2022   Lec 5
II. Passive Convection: Particle methods
09/08/2022   Lec 6
Semi-Lagrangian methods: fundamentals
09/13/2022   Lec 7
Semi-Lagrangian methods: high order
   Read: jet schemes
09/15/2022   Lec 8
Eulerian finite difference methods: convergence, truncation errors, stability
09/20/2022   Lec 9
Method of lines, upwind, Lax-Wendroff, Lax-Friedrichs
09/22/2022   Lec 10
Advection-diffusion-reaction problems
09/27/2022   Lec 11
III. Hyperbolic conservation laws: Examples, characteristics, weak solution, Riemann problem, entropy
09/29/2022   Lec 12
Finite volume methods: Godunov's method
10/04/2022   Lec 13
Cell-transmission model
10/06/2022   Lec 14
Network flows, theory and numerics
   Read: Braess's paradox
10/11/2022   Lec 15
Particle methods for conservation laws
   Read: particleclaw
10/13/2022   Lec 16
Linear hyperbolic systems
10/18/2022   Lec 17
Nonlinear hyperbolic systems
10/25/2022   Lec 18
Approximate Riemann solvers, higher dimensions
10/26/2022   Lec 19
IV. Incompressible viscous flows: Calculus of variations, Stokes problem
10/27/2022   Lec 20
Saddle-point problems, inf-sup condition, staggered grids
11/01/2022   Lec 21
Finite element methods for the Stokes problem (guest lecture by Kiera Kean)
11/03/2022   Lec 22
Navier-Stokes equations, derivation, Reynolds number
11/07/2022   Lec 23
Finite differences for the Navier-Stokes equations
   Read: staggered grids
11/08/2022   Lec 24
Pseudospectral methods for Navier-Stokes
11/10/2022   Lec 25
Turbulence and turbulence models (guest lecture by Kiera Kean)
11/28/2022   Lec 26
V. Kinetic equations: Vlasov and Boltzmann equation
11/29/2022   Lec 27
Moment methods for radiative transfer, StaRMAP (guest lecture by Rujeko Chinomona)
12/01/2022   Lec 28
Moment methods, asymptotic preserving methods
12/12/2022 Final Examination
Matlab Programs
  • Example of an unsteady velocity field obtained from a stream function. Both are plotted, and Lagrangian markers are moved with the flow: temple9200_velocity_field.m
  • 1d advection-reaction problem with a variable advection velocity field, and a bi-stable reaction term. This example shows how the moving particles eventually fail to resolve the solution, if no particle management is applied: temple9200_particle_1d_advection_reaction.m
  • Interpolation routine that applies a simple cubic interpolant in each cell, based on the four data points around that cell: interp1cubic.m
  • Particleclaw method for flows on networks. Solver file: particleclaw_network_solver.m; and diamond network example file: particleclaw_network_ex_diamond.m
  • Nonlinear finite differences for the one-way wave equation with discontinuous initial conditions. Solves u_t+cu_x=0 by finite difference methods. The methods of choice are upwind, Lax-Friedrichs and Lax-Wendroff as linear methods, and as a nonlinear method Lax-Wendroff-upwind with van Leer and Superbee flux limiter: mit18086_fd_transport_limiter.m
  • WENO finite volume code for one-dimensional scalar conservation laws. Solves u_t+f(u)_x = 0 by a semidiscrete approach, in which WENO5 is used for the reconstruction of the Riemann states at cell boundaries, and the 3rd order SSP Shu-Osher scheme is used for the time stepping: temple8024_weno_claw.m
  • Finite differences for the incompressible Navier-Stokes equations in a box. Solves the incompressible Navier-Stokes equations in a rectangular domain with prescribed velocities along the boundary. The standard setup solves a lid driven cavity problem: mit18086_navierstokes.m
    (Documentation of the approach and code)
  • Examples to solve the Stokes equations using the finite elements software deal.II: temple9200_lid_driven_cavity.tartemple9200_manufactured_solution.tar
  • Pseudospectral code to solve the Navier-Stokes equations on a 2D torus: mit18336_spectral_ns2d.m
Software Used in the Course
Homework Problem Sets