A First Course on Computational Fluid Dynamics
Professor P Roe (Aerospace, Michigan)
Monday 23rd - Wednesday 25th July 2012
Scope: The course will provide a solid foundation on traditional and advanced numerical discretisation techniques for the solution of the various partial differential equations which govern fluid flow, showing how successful numerical methods are rooted both in mathematical properties of those equations and in notions of computational efficiency.
Topics to be covered include:
- Brief history of CFD.
- Discrete representation of continua.
- Properties of an ideal CFD code.
- Consistency and stability.
- The one-dimensional heat equation.
- Analytical properties.
- Explicit and implicit schemes.
- Tridiagonal matrices.
- Accuracy and stability.
- Classification of partial differential equations. Marching and jury problems.
- Fourier analysis and discrete Fourier analysis.
- Laplace's equation. Analytical properties. Numerical schemes. Convergence to the steady state and the most persistent error mode.
- A guide to multigrid.
- The linear advection problem.
- Phase and dissipation errors.
- Advection-diffusion and boundary layers.
- Godunov's Theorem and how to evade it.
- Flux Corrected Transport and limiters.
- Linear systems of equations.
- Conservation laws.
- The traffic equation.
- Shock waves, conservation form and finite-volume schemes.
- Enforcing entropy conditions.
- Systems of conservation laws.
- Characteristics and characteristic equations. The Riemann problem. Godunov-type schemes.
- Numerical fluxes.
- Kinetic schemes.
- Robustness. Multidimensional problems.
- Structured, unstructured, and moving grids.
- Handling geometry.
Working Plan: The morning lectures on the theory will be complemented by hands-on computational practicals during the afternoons. The participants will work on numerical exercises as individuals and as members of a team, and present their results to the rest of the class.
There will also be seminars by established researchers on application of CFD to contemporary science and technology topics.
Who should attend: The course will aim to convey a "CFD literacy" enabling newcomers to understand the literature and to select methods that are effective for their applications. It will also provide the foundation for existing users who would like to become more involved with algorithm and code development. A strong background in an applied science or/and mathematics is recommended.
At the end of the course the participants will be qualified to start building their own code from scratch, or to further develop existing packages.