Undergraduate Teaching 2023-24

Engineering Tripos Part IIB, 4A2: Computational Fluid Dynamics, 2023-24

Engineering Tripos Part IIB, 4A2: Computational Fluid Dynamics, 2023-24

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

PDF versionPDF version

Module Leader

Dr J Taylor

Lab Leader

Dr J Taylor

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.
  • 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 and processing their solutions.
  • learn about modern methods to improve simulation accuracy.
  • appreciate the capabilities of numerical methods to predict complex flows.


This is a coursework based project. The students write a Computational Fluid Dynamics (CFD) program to solve the Euler equations in 2D with time marching. There are also some basic mesh generation, pre-processing 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 differencing methods. This is to be submitted 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, transonic and supersonic flows. The final report is submitted after the end of the Michaelmas term in Week 10.

Writing a CFD Solver and Numerical Concepts (5L)

  • The proper use of CFD and the equations used for compressible flows
  • Finite difference, finite volume, finite element approaches
  • Program specification and structure
  • Difference schemes, stability, dispersion and diffusion errors
  • Turbulence modelling, adaptive methods, multi-phase flows and parallel computing
  • Hyperbolicity and the upwinding method for advection
  • Total variation diminishing (TVD) methods


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

Mesh Generation and Pre-processing (Coursework: approx 2 hours)

  • Examples of basic Fortran programs
  • Mesh generation for simplified geometries
  • Constructing an initial flowfield guess

2-D Euler, Time Marching CFD Program (Coursework: 6 mini-exercises, approx 20 hour project)

  1. Finite volume discretisation, evaluation of fluxes (4h)
  2. Application of boundary conditions (2h)
  3. Time marching, simple LAX method (2h)
  4. Convergence & accuracy testing (2h)
  5. Solver enhancements to investigate a choice of challenging test cases (6h)
  6. Post-processing to produce final report data (4h)


Coursework Format

Due date

& marks

[Coursework activity #1 / Interim]

Coursework 1 brief description

Learning objective:

  • Study basic properties of finite differencing methods
  • Learn to use Linux system and Fortran
  • Complete and validate a basic Euler solver

Individual Report

anonymously marked

Thu week 6


[Coursework activity #2 / Final]

Coursework 2 brief description

Learning objective:

  • Extend and improve the Euler solver
  • Use it to investigate challenging flows
  • Understand requirements of CFD in practical use

Individual Report

anonymously marked

  Fri week 10





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.


This syllabus contributes to the following areas of the UK-SPEC standard:

Toggle display of UK-SPEC areas.


Develop transferable skills that will be of value in a wide range of situations. These are exemplified by the Qualifications and Curriculum Authority Higher Level Key Skills and include problem solving, communication, and working with others, as well as the effective use of general IT facilities and information retrieval skills. They also include planning self-learning and improving performance, as the foundation for lifelong learning/CPD.


Apply appropriate quantitative science and engineering tools to the analysis of problems.


Demonstrate creative and innovative ability in the synthesis of solutions and in formulating designs.

Knowledge and Understanding


Demonstrate knowledge and understanding of essential facts, concepts, theories and principles of their engineering discipline, and its underpinning science and mathematics.


Have an appreciation of the wider multidisciplinary engineering context and its underlying principles.


Ability to use fundamental knowledge to investigate new and emerging technologies.


Ability to extract data pertinent to an unfamiliar problem, and apply its solution using computer based engineering tools when appropriate.


Ability to apply mathematical and computer based models for solving problems in engineering, and the ability to assess the limitations of particular cases.


A comprehensive understanding of the scientific principles of own specialisation and related disciplines.


A comprehensive knowledge and understanding of mathematical and computer models relevant to the engineering discipline, and an appreciation of their limitations.


An understanding of concepts from a range of areas including some outside engineering, and the ability to apply them effectively in engineering projects.

Last modified: 29/09/2023 08:20