APMA 930-4
Computational Fluid Dynamics
Spring 2011


John Stockie
Department of Mathematics
Simon Fraser University
K 10518
Tel: (778) 782-3553


Time: Tuesday 10:30-12:20
  Thursday 2:30-4:20
Location: TASC2 8500


This course will introduce students to a variety of computational approaches for solving the equations governing fluid dynamics, focusing on finite difference and finite volume techniques. Theoretical background material will be introduced as necessary, but the focus of the course will be on the numerical methods, their accuracy and stability, and their practical application in computing real fluid flows. Students will gain experience writing their own codes, as well as employing existing publicly-available software packages. Applications will be drawn from problems arising in wave propagation, incompressible fluids, compressible gas dynamics, and porous media.


Previous courses in ordinary and partial differential equations (such as MATH 310 or MATH 314) are required, as is some experience in computer programming (any language is fine although knowledge of MATLAB would be particularly helpful). A course in fluid dynamics (such as MATH 462) would be helpful, but is not required.

Flow over a cylinder. Lid-driven cavity flow. Fingering in a porous medium.
Image cylinder1 Image driven_cavity1 Image porous1


The grade for this course will be made up of homework assignments (60%) and a project (40%). There will be no final examination.


There is no textbook for this course. Material will be drawn from a number of texts, some of which are held on reserve in the library:


1. Background and Governing Equations (1 week):
Navier-Stokes equations; boundary conditions; simplifications and extensions; analytical solutions.

2. Finite Differences for Linear Problems (1.5 weeks):
Consistency, stability and convergence; CFL condition; Lax Equivalence Theorem; von Neuman stability analysis; common upwind and centered schemes; finite volume approach; time-stepping.
Applications: scalar advection; heat equation; wave equation.

3. Incompressible Fluid Flow (3 weeks):
Stokes equations; Pressure Poisson equation; Navier-Stokes equations; projection methods.
Applications: creeping flow; potential flow; driven cavity flow.

4. Porous Media Flow (3 weeks):
Darcy's Law; capillarity; porous medium equation and nonlinear diffusion; IMPES method; Brinkman-Forchheimer extension.
Applications: oil reservoir simulation; groundwater transport; porous channels.

5. Nonlinear Wave Propagation (3 weeks):
Hyperbolic conservation laws; nonlinear systems; Riemann solvers; CLAWPACK code.
Applications: gas dynamics; shallow water waves; traffic and pedestrian flow; atmospheric transport.

Additional Topics:
Interspersed throughout the course, I will also introduce ideas related more generally to scientific computing, reproducible research, and software design.

John Stockie