Computational Mechanics

Course Aim

This course aims to provide the mathematical and numerical tools to solve problems governed by partial differential equations. These techniques have wide application in many areas of physics, engineering, mechanics, and applied mathematics.

Course Description

Numerical solutions to partial differential equations have wide application in many areas of physics, mechanics, engineering, and applied mathematics.  Learn different techniques for solving elliptic, parabolic and hyperbolic  equations, such as finite differences and finite volumes. Discuss possibilities and limitations of numerical techniques. Evaluate and comment on the stability and convergence of these numerical methods. Explore systems of partial differential equations and the Navier-Stokes equations. Use Python or MATLAB coding in weekly exercise sessions to numerically solve diffusion, convection and transport problems in multiple dimensions.

Course Contents

Revision of numerical differentiation and integration.
Classification of PDE - elliptic, parabolic and hyperbolic equations.
Introduction to Python/MATLAB.
Elliptic equations.
Finite difference method, convergence and stability.
Parabolic equations.
Iterative methods.
Finite volume method.
Analogy with finite differences.
Hyperbolic equations.
Method of characteristics.
System of partial differential equations.
Navier-Stokes equations
Note on multiphase flows.
Final overview and questions


Weekly exercise solutions (60%), Final exam (40%)

Prerequisites or Prior Knowledge

Students should have a general knowledge of partial differential equations. such as from the course B28.
A basic knowledge of Python, MATLAB or any other programming language is preferred but not essential.

Reference Books

Smith, Numerical solution of partial differential equations: Finite Difference methods
Ferziger and Peric, Computational Methods for Fluid Dynamics
Quarteroni, Numerical Models for Differential Problems

Research Specialties