Course 9200 - Topics in Numerical Analysis I: Computational Methods for Flow Problems - Spring 2015

Official Information
Course Number:Mathematics 9200.001
Course Title:Topics in Numerical Analysis I: Computational Methods for Flow Problems
Times:MW 1:00-2:40
Places:Wachman 527
Instructor: Benjamin Seibold
Instructor Office:518 Wachman Hall
Instructor Email: seibold(at) 
Instructor Office Hours:M 2:20-3:20, W 12:00-1:00
Course Textbooks: There is no single textbook for this course. The materials come from a variety of books and other sources. Recommended resources:
Official:Course Syllabus
Prerequisites:see Math Course Listings
Topics Covered: This course provides an overview of many important flow problems, ranging from incompressible fluids (Navier-Stokes equations), over shock problems (such as the compressible Euler equations) and front propagation problems, to kinetic equations (Boltzmann equation, radiative transfer) and network flows (traffic flow). 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 approaches for their solution on compute infrastructures. The computational approaches include: finite volume methods, finite difference methods, particle methods, spectral methods, level set methods, moment methods. The purpose of this course is provide a broad perspective on these important types of flow problems, their connections, and how to tackle them computationally. Participants will be provided with sufficient familiarity with each topic to enable them to engage into further studies via literature. Course Grading: Homework problems sets and final examination.
Course Goals:Provide students knowledge and a solid big picture perspective about important flow problems that arise in many fields of science and engineering applications, and in particular effective computational methods to approximate their solutions.
Attendance Policy:Students are expected to attend every class. If a student cannot attend a class for some justifiable reason, he or she is expected to contact the instructor before class (if possible).
Course Grading:Homework problems sets and final examination.
Exam Date:04/30/2015 (oral exam schedule via email)
Course Schedule
01/12/2015   Lec 1
Fundamentals of flows: Examples of flows
   Read: CFD, re-entry
01/14/2015   Lec 2
reference frames, transport equations, incompressibility, vorticity
01/21/2015   Lec 3
stream function, flow lines
01/26/2015   Lec 4
potential flow
01/28/2015   Lec 5
Particle methods
02/02/2015   Lec 6
Software development and best practices
   Read: software licenses
02/06/2015   Lec 7
Semi-Lagrangian methods: fundamentals
02/09/2015   Lec 8
High-order semi-Lagrangian methods
   Read: jet schemes
02/11/2015   Lec 9
Finite difference methods: Consistency, stability, convergence, truncation errors
02/16/2015   Lec 10
Von Neumann stability, semi-discretization
02/18/2015   Lec 11
Upwind, Lax-Wendroff, Lax-Friedrichs methods
02/23/2015   Lec 12
Advection-reaction-diffusion problems
02/25/2015   Lec 13
Operator splitting
   Read: MIT OCW, 2005 talk
02/27/2015   Lec 14
Hyperbolic conservation laws: Examples, characteristics (scalar 1d)
03/09/2015   Lec 15
weak solutions, Riemann problem, entropy
03/11/2015   Lec 16
Finite volume methods: Godunov's method
03/23/2015   Lec 17
High-order methods, limiters
03/25/2015   Lec 18
Semi-discrete methods, MUSCL, SSP time stepping
03/27/2015   Lec 19
ENO/WENO, hyperbolic systems
03/30/2015   Lec 20
Incompressible viscous flows: Calculus of variations
04/01/2015   Lec 21
Stokes problem, saddle-point structure
   Read: Stokes flow
04/06/2015   Lec 22
Finite elements for Stokes problem [guest lecture by Scott Ladenheim]
04/08/2015   Lec 23
Implementation in deal.II [guest lecture by Scott Ladenheim]
04/13/2015   Lec 24
Orders of convergence for advection with discontinous solutions
   Read: modified equation
04/15/2015   Lec 25
Staggered grid finite differences and Navier-Stokes equations
04/20/2015   Lec 26
Pseudospectral methods for Navier-Stokes
04/22/2015   Lec 27
Kinetic equations: Vlasov and Boltzmann equation
04/27/2015   Lec 28
Moment methods for radiative transfer
   Read: radiative transfer
04/30/2015 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
  • 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