AER1319: Finite-Volume Methods

AER1319: Finite-Volume Methods for CFD

Instructor: Professor C. P. T. Groth
University of Toronto Institute for Aerospace Studies (UTIAS)
Phone: (416) 667-7715
Home page:

Course URL:

Course Description

Introduction to upwind finite-volume methods widely used in computational fluids dynamics (CFD) for thehe solution of high-speed inviscid and viscous compressible flows. Topics include:

Brief review of conservation equations for compressible flows; Euler equations; Navier-Stokes equations; one- and two-dimensional forms; model equations. Mathematical properties of the Euler equations; primitive and conserved solution variables; eigensystem analysis; compatibility conditions; characteristic variables, Rankine-Hugoniot conditions and Riemann invariants; Riemann problem and exact solution. Godunov's method; hyperbolic flux evaluation and numerical flux functions; solution monotonicity; Godunov's theorem. Approximate Riemann solvers; Roe's method. Higher-order Godunov-type schemes; semi-discrete form; solution reconstruction including least-squares and Green-Gauss methods; slope limiting. Extension to multi-dimensional flows. Elliptic flux evaluation for viscous flows; diamond-path and average-gradient stencils; discrete-maximum principle. High-order methods; essentially non-oscillatory (ENO) schemes.

Lectures - Fall Term

Mondays, 10:00 am - 12:00 pm, UTIAS Lecture Hall, September 10 - December 17, 2018.

Lectures - Spring Term

Mondays, 10:00 am - 12:00 pm, UTIAS Lecture Hall, January 7 - April 29, 2019.

Lecture Notes

Supplemental lecture notes will be provided for some of the subjects covered in the course.

Additional Reading Material

A number of relevant papers are provided as additional reading for the course both to provide background, history, and perspective of finite-volume methods, as well as to act as a source of additional information. This additional reading material can be found here.


There will be six programming assignments given throughout the course. They are as follows:

  1. Assignment #1: Due: Monday, ??.

  2. Assignment #2: Due: Monday, ??.

  3. Assignment #3: Due: Monday, ??.

  4. Assignment #4: Due: Monday, ??.

  5. Assignment #5: Due: Monday, ??.

  6. Assignment #6: Due: Monday, ??.


The final grade will be based on marks obtained for the programming assignments.