PyCFD

A Pythonic introduction to numerical techniques used in computational fluid dynamics.

Welcome

This course provides an introduction to various techniques used in computational fluid dynamics for incompressible viscous flow and ideal flow. Upon completion, you will become acquainted with the inner workings of these basic CFD techniques. The programs shown here are not optimized for speed, but for clarity.

All parts of this course utilize the Python programming language. To get the maximum benefit we recommend you to also use the iPython/Jupyter notebook environment. To get started with Jupyter notebook, it might be useful to consult the instructions here. The strength of this course is that all the algebra is covered directly with some easy to read code. It also allows you to see how a formula is discretised into code, and to directly view the result of running the code in real time. You can download and open our iPython notebooks to see how the codes work, or modify it to solve a new problem.

Finite difference method

The most accessible method to write and solve partial differential equations in a computerized form. If you are unacquainted with solving PDEs numerically, you should start here.

Volume of fluid method

The Navier-Stokes equations are formulated on fluid volumes. Here we will introduce the modelling of multiple phases using simple advection and interface tracking.

Boundary element method

Unlike the other techniques, only the points on the boundary of the domain are discretised. It is computationally efficient but carries significant mathematical baggage!

Assignments

Here you will find some notebooks that we prepared for course assignments and in-class presentations.

Course references

We make heavy use of resources from our colleagues, in particular the excellent starter course of Prof Lorena Barba (12 Steps to Navier-Stokes), the public chapters from Prof Whye Teong Ang's excellent book on the boundary element method, and a great tutorial on finite volumes and multiphase flows by Prof Gretar Tryggvason. The Website was designed and put together by Tan Beng Hau, the course given by Claus-Dieter Ohl in the summer semester 2015.