Undergraduate Teaching 2022-23

Engineering Tripos Part IIB, 4A2: Computational Fluid Dynamics, 2022-23

Engineering Tripos Part IIB, 4A2: Computational Fluid Dynamics, 2022-23

Not logged in. More information may be available... Login via Raven / direct.

PDF versionPDF version

Module Leader

Dr J Li


Dr J Li

Lab Leader

Dr J Li

Timing and Structure

Michaelmas term. In-person lectures and demonstrations. Coursework with integrated lectures. Assessment: 100% coursework.


3A1 and 3A3 assumed. Pre-module reading about Fortran helpful


The aims of the course are to:

  • provide an introduction to the field of computational fluid mechanics.
  • help students develop an understanding of how numerical techniques are devised.
  • implement these techniques in practical computer codes.
  • overview the nature of simulation in the future and advanced methods.


As specific objectives, by the end of the course students should be able to:

  • formulate numerical approximations to partial differential equations.
  • write computer programs for solving the resulting difference equations.
  • learn modern TVD shock-capturing methods.
  • appreciate the power of numerical solutions to predict complex flows, including shock waves.


This is a course work based project.  The students have to write a Computational Fluid Dynamics (CFD) program - in Euler mode with time marching. There is also some basic mesh generation, preprocessing and post processing tasks.  The assessment is through two reports. The first report demonstrates the performance of a basic CFD program and studies basic properties of finite difference methods. This needs to be handed in week 6 of the Michaelmas term. The 2nd report demonstrates the coding and performance of more advanced CFD algorithms with discussion on a selected advanced CFD topic. The performance and traits of the extended CFD code are contrasted with expected traits for a range of subsonic and transonic flows. The final report is handed in at the end of the Michaelmas term.

Introduction and Basic Numerical Concepts (2L)

  • The proper use of CFD and the equations used
  • Finite difference, finite volume, finite element approaches
  • Difference scheme and molecules
  • Stability, Dispersion and Diffusion errors, Cell Re
  • Compressible Flows vs Incompressible Flows
  • Single Phase Flows vs Multiphase Flows
  • Turbulence Modelling, Adaptive Methods and Parallel Computing

Modern Shock-Capturing Methods for Time-Dependent Compressible Flows (6L)

  • Euler Equations and Hyperbolicity
  • The Upwinding Method for Advection
  • Godunov's Method for Linear System
  • Total Variation Diminishing (TVD) Methods
  • High-Resolution Methods and Limiters
  • Approximate Riemann Solvers
  • Roe Solver for Euler Equations


Progress Check/Brief Report/Week 6 of Michaelmas term [25%]
Coursework/Report/1 Week after end of Michaelmas term [75%]

Mesh Generation and Preprocessing (Coursework: approx 2 hours)

  • Conversion to Fortran; examples of Fortran programs
  • Mesh generation for simplified geometries (eg bend, nozzle, hump, airfoil)
  • Preprocessing

2-D Euler, Time Marching CFD Program

(Coursework: 5 mini-exercises of about 2-4 hours each, forming a 16 hour mini-project)

  1. Finite volume discretisation, evaluation of fluxes. (4h)
  2. Application of boundary conditions. (2h)
  3. Time Iteration, simple LAX method. (2h)
  4. Convergence & accuracy testing. (4h)
  5. Enhancements, e.g. deferred corrections, Adams - Bashforth RK integration, use of energy equation. (4h)
  6. Exploration of post-processing 


Coursework Format

Due date

& marks

[Coursework activity #1 title / Interim]

Coursework 1 brief description

Learning objective:

  • study basic properties of finite difference methods.
  • learn to use Linux system and Fortran 90
  • Complete and validate a basic Euler code

Individual Report

anonymously marked

day during term, ex:

Thu week 6


[Coursework activity #2 title / Final]

Coursework 2 brief description

Learning objective:

  • Extend and improve the Euler code
  • Use it to investigate challenging flows

Individual Report

anonymously marked

  Fri week 10





Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.


Main course text is:

LeVeque R. J. 2002. Finite Volume Methods for Hyperbolic Problems, Cambridge University Press.


Also, useful material can be found in these texts.

Ferziger J. H. and Peric M. 2002. Computational Methods for Fluid Dynamics, Springer.

Toro E. F. 2009. Riemann Solvers and Numerical Methods for Fluid Dynamics: A Practical Introduction, Springer

Hirsch C. 1988-1990 Numerical Computation of Internal and External Flows, Volumes 1 and 2, Wiley

Davies R., Rea A. and Tsaptsinos D. Introduction to FORTRAN 90, Student Notes, Queen's University, Belfast

Examination Guidelines

Please refer to Form & conduct of the examinations.


The UK Standard for Professional Engineering Competence (UK-SPEC) describes the requirements that have to be met in order to become a Chartered Engineer, and gives examples of ways of doing this.

UK-SPEC is published by the Engineering Council on behalf of the UK engineering profession. The standard has been developed, and is regularly updated, by panels representing professional engineering institutions, employers and engineering educators. Of particular relevance here is the 'Accreditation of Higher Education Programmes' (AHEP) document which sets out the standard for degree accreditation.

The Output Standards Matrices indicate where each of the Output Criteria as specified in the AHEP 3rd edition document is addressed within the Engineering and Manufacturing Engineering Triposes.

Last modified: 03/10/2022 10:28