M43071 Numerical hydrodynamics

This unit is designed to provide basic knowledge on computational fluid dynamics and Navier-Stokes equations. We will study these equations and various computational methods to solve them.


Develop an understanding of basic methods in computational fluid dynamics, numerical solution of one- and multi-dimensional parabolic, elliptic and hyperbolic differential equations;

Be able to implement basic numerical methods for the computational fluid dynamics;

develop programming skills in MATLAB/IDL/C++/Fortran

Lecture notes:

1 - Derivation of Navier-Stokes equations

2 - Finite differences #1, matrix form of FD equations

3 - Finite differences #2, stability, Lax convergence

4 - Finite differences #3, linear advection equation, von Neumann stability, CFL

5 - Finite differences #4, Lax-Friedrichs scheme, numerical diffusion

6 - Finite differences #5, 2nd order accurate Lax-Wendroff scheme

7 - Finite differences #6, Higher-order spatial schemes

8 - Finite differences #7, Higher-order temporal integration, Runge-Kutta schemes

9 - Finite differences #8, Higher-order temporal integration, Adams-Bashforth schemes

10 - Reynolds number, turbulence, direct Navier-Stokes simulations, large-eddy simulations


Homework 1: numerical derivative
Homework 2: advection/continuity equation, instability
Homework 3: two-dimensional diffusion equation
Homework 4: Lax-Wendroff scheme for 1D linear advection
Homework 5: Full 1D hydrodynamics with Lax-Friedrichs scheme, Sod shock tube test
Homework 6: Full 2D hydrodynamics with Lax-Friedrichs scheme, Kelvin-Helmholtz instability
Homework 7: Full 2D hydrodynamics, Rayleigh-Taylor instability
Homework 8: Comparative analysis of numerical time integration schemes

Rayleigh-Taylor instability