A+ A A-

COS 528: Computational Fluid Dynamics - Finite Difference and Volume of Fluid Methods


Course Title

Computational Fluid Dynamics - Finite Difference and Volume of Fluid Methods

Course Code

COS 528

Course Type




Instructor’s Name

Asst. Prof. Nikos Savva (Lead Instructor)



Lectures / week

1 (90 min. each)

Laboratories / week

1 (90 min. each)

Course Purpose and Objectives

The aim of the course is to introduce students to numerical techniques for the simulation of complex fluid flows. Starting from an overview of the various formulations and model equations that govern the motion of fluids, the course will focus primarily on finite difference and finite volume methods. Through computer tutorials, students will be exposed in open source CFD software as well as develop their own. The course targets students that have some background in the numerical solution of partial differential equations and scientific computing, but prior knowledge in fluid dynamics is not necessary.

Learning Outcomes

By the end of the course students will:

(i) learn practical skills adopt best practices in developing computational fluid dynamics (CFD) codes;
(ii) enhance their understanding of conservation laws applied to fluid motion and basic computational methods including explicit, implicit methods, discretization schemes taking into account accuracy and stability considerations;
(iii) critically assess and evaluate the numerical and physical accuracy of the results produced by CFD codes
(iv) develop an awareness of the power, challenges and limitations in CFD research



Background Requirements

Solid background of at least one programming language e.g. C, C++, Matlab.

Course Content

Week1: Review of fluid mechanics; overview of formulations, assumptions, model equations and auxiliary conditions.

Week 2: Overview of CFD: Components of CFD codes (pre-processing, solver, postprocessing), survey of open source CFD codes. Errors and uncertainty in CFD. Numerical errors, physical model uncertainty, verification and validation. Overview of conceptual basics and comparison of key solution techniques for numerical discretization, the finite difference method (FDM), the finite volume method (FVM) and the finite element method (FEM).

Week 3: Spatial and time discretization and analysis in terms of consistency, accuracy, stability convergence; implicit and explicit schemes; aspects of numerical dissipation and dispersion. Diffusion problems in two and three dimensions, the alternating direction implicit scheme.

Week 4: Advection-diffusion problems (central differencing, upwinding, higherorder differencing, TVD schemes).

Week 5: Incompressible viscous flows via FDM and FVM, artificial compressibility method and pressure correction methods (semi-implicit method for pressure-linked equations; pressure implicit with splitting of operators, marker-and-cell methods).

Week 6: Unsteady flows using explicit and implicit schemes; implementation of boundary conditions (e.g. inlet, outlet, wall conditions, the constant pressure condition, symmetry and periodicity).

Week 7: Structured and unstructured grids: physical aspects, Cartesian vs curvilinear grids, body-fitted coordinates, grid generation techniques.

Teaching Methodology -  7 x 1.5 hour lectures
-  7 x 1.5-hour lab sessions
-  2 journal clubs
-  4 marked assignments
-  project presentation


-  Ferziger, Joel H., and Milovan Peric (2013) Computational Methods for Fluid Dynamics 3rd ed. Springer.
-  Versteeg K H and Malalasekera W (2007) An Introduction to Computational Fluid Dynamics, the Finite Volume Method 2nd ed. Pearson Education.
-  R.H. Pletcher, J.C. Tannehill, and D. Anderson (2011) Computational Fluid Mechanics and Heat Transfer, 3rd ed., Taylor & Francis.


-  Final Project
-  Coursework Assignments



Publications & Media