A106
Course Coordinator: 
Marco Edoardo Rosti
Computational Mechanics
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.  

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 Content: 
  • 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
Course Type: 
Elective
Credits: 
2
Assessment: 
Weekly exercise solutions (60%), Final exam (40%)
Text Book: 
    Reference Book: 
    • Ferziger and Peric, Computational Methods for Fluid Dynamics
    • Quarteroni, Numerical Models for Differential Problems
    • Smith, Numerical solution of partial differential equations: Finite Difference methods
    Prior Knowledge: 
    Requires good background in partial differential equations. A basic knowledge of Python, MATLAB or any other programming language is preferred but not essential.
    Notes: