ACSE 3: Numerical Methods

Module Lead: Prof. Matthew Piggott

Staff: Prof. Matthew Piggott;

Course Description

This module will operate at the interface of the Modelling Dynamical Processes module (ACSE-2) introducing key physics and mathematical underpinning, i.e. the continuous world, and the Modern Programming Methods module (ACSE-1) for how to interact with computers. It will also provide knowledge of key algorithms that will be used in Applying Computational Science (ACSE-4). This module will introduce the key concepts and algorithms required to represent the continuous world on discrete computers. Introductory fundamental concepts that are common across all numerical methods will be introduced: stability, accuracy, consistency, convergence, boundedness, conservation, etc.

Algorithms from numerical linear algebra and for the numerical solution of ODEs (implicit and explicit) and PDEs will be introduced. These will be motivated by the physical problems introduced in ACSE-2, and looking ahead to future modules (and their associated coursework) as well as the major projects (module ACSE-9).

Reading List

  • Practical Numerical Methods with Python, Lorena Barba, Ian Hawke and Bernard Knaepen (A MOOC with IPython Notebooks available here)

  • Numerical Methods in Engineering with Python 3, 3rd Edition, Jaan Kiusalaas

  • Fundamentals of Engineering Numerical Analysis, 2nd Edition, Parviz Moin

  • A First Course in the Numerical Analysis of Differential Equations, 2nd Edition, Arieh Iserles

  • Numerical Linear Algebra, Lloyd N. Trefethen, David Bau III

  • Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-dependent Problems, Randall LeVeque

  • Finite Volume Methods for Hyperbolic Problems, Randall LeVeque

  • Finite Elements and Fast Iterative Solvers: with Applications in Incompressible Fluid Dynamics, 2nd Edition, Howard Elman, David Silvester and Andy Wathen

  • Computational Methods for Fluid Dynamics, 3rd Edition, Joel Ferziger and Milovan Peric