Lecturer: Dr Stephen Millmore
This course covers numerical solution techniques for coupled systems of non-linear equations, with particular applications in fluid dynamics. The formulation of the equations is derived such that shock waves, and other compressible, high-strain rate deformations, can be physically and mathematically captured. Numerical methods are then carefully selected such that they are able to produce accurate solutions even under this extreme behaviour. The practical aspect of this course enables students to implement their own solvers for these equations, beginning from simple transported quantities, and advancing to accurate methods for shock-tube tests. This course combines physics, mathematics and computational methods, and is suitable for students with backgrounds in any of these areas, including engineering.
Students should leave the course knowing:
- How to implement and run simulations of compressible materials described through conservation laws
- What stability of a numerical method means, and how to identify this in practice
- How to implement high-order, shock-capturing schemes for compressible systems of equations
Lectures: (Note that lectures 1 and 2 are given in a single two-hour slot)
- Computational Continuum Modelling
Course overview; an overview equations for solving continuum systems and the mathematical properties of these equations; introduction to conservation laws - Scalar hyperbolic equations
Mathematical properties of hyperbolic equations; properties of the advection (transport) equation; an introduction to numerical discretisation; a first numerical method for solving the advection equation - Scalar hyperbolic equations – stable solutions
Techniques required to ensure a numerical method produces stable solutions; brief overview of von Neumann stability analysis; numerical methods for linear hyperbolic equations; physical and mathematical properties of Burgers’ equation - Finite volume methods
Conservation form for numerical schemes; an overview of the finite volume approach; centred finite volume schemes for non-linear hyperbolic equations; Godunov’s method for non-linear hyperbolic equations - Systems of hyperbolic equations
Mathematical properties of the compressible Euler equations; definition of the speed of sound; primitive and characteristic variable forms of the Euler equations; the Riemann problem for the Euler equations - Approximate Riemann problem solutions and second order methods
Mathematics of approximate Riemann problem solvers; total variation diminishing methods for non-linear equations; high-resolution shock-capturing numerical methods; flux and slope limiters - Going beyond one dimension
Mathematics of the two- and three-dimensional Euler equations; numerical techniques for multi-dimensional systems of equations
Practicals:
All practicals require students to write their own code, typically in C++, in which demonstrators will be familiar, though other languages may be used.
- The advection equation
Implementation of simple numerical schemes for the advection equation to investigate how choices of scheme affect the results - The advection equation (again)
Implementation and investigation of a range of stable schemes for the advection equation, including convergence properties - Finite volume methods for scalar equations
Implementation and investigation of finite volume schemes applied to Burgers’ equation - FORCE for the Euler equations
Implementation of a simple numerical scheme for a non-linear system of equations, solving solutions of shock tube problems - SLIC for the Euler equations
Implementation of a high-order shock capturing scheme for the Euler equations, including the effects of slope limiting - Exact Riemann solver for the Euler equations
Calculation of the exact solution to the Euler equations for certain physical initial data
Prerequisites:
- Scientific Programming in C++ (or other C++ courses)
Required course for:
- Simulation of Matter under Extreme Conditions
- Multiphysics Modelling for Four States of Matter
Recommended reading:
- Toro, Eleuterio F. Riemann solvers and numerical methods for fluid dynamics: a practical introduction. Springer Science & Business Media, 2013.
- Laney, Culbert B. Computational gasdynamics. Cambridge university press, 1998.
Picture credit:
- Riccardo Demattè
- Rei Yamashita