Module Information

Module Identifier
Module Title
Numerical Solution of Partial Differential Equations
Academic Year
Semester 2

Course Delivery



Assessment Type Assessment length / details Proportion
Semester Assessment Group Report  On numerical implementation of the finite difference method 2000 Words  25%
Semester Assessment Individual Report  On numerical implementation of the finite element method 2000 Words  35%
Semester Exam 2 Hours   Assessed Practical  Exam in computer rooms.  40%
Supplementary Assessment Individual Report  Individual report on the finite difference/finite element methods. 2000 Words  60%
Supplementary Exam 2 Hours   Assessed Practical  Exam in computer rooms.  40%

Learning Outcomes

On successful completion of this module students should be able to:

Make an appropriate choice of numerical method (finite difference, finite element, hybrid) for a given linear elliptic, parabolic or hyperbolic PDE.

Discretise partial differential equations of arbitrary order using finite difference methods.

Use analytical techniques to determine the stability criterion for, and demonstrate consistency of, a finite difference scheme for a second order linear PDE and determine the local truncation error.

Derive the variational formulation for a given boundary value problem, and obtain the associated finite element discretisation.

Determine an appropriate set of shape functions with which to obtain the finite element approximation.

Implement a finite difference scheme in a Python environment to solve a two-dimensional hyperbolic PDE with boundary conditions.

Implement the finite element method in a Python environment to solve a one-dimensional boundary value problem.

Perform error and convergence analysis on finite difference and finite element schemes in a Python environment.

Brief description

This module provides an introduction to numerical methods for solving partial differential equations of elliptic, parabolic and hyperbolic type. The analytical basis and numerical implementation of both finite difference and finite element methods are covered. Concepts such as consistency, convergence and stability of numerical methods will be discussed.


Finite difference approximations of hyperbolic and one-dimensional parabolic partial differential equations. Convergence of a finite difference scheme: consistency, well-posedness and stability. Local truncation error and error analysis. Numerical implementation of two-dimensional problems in a python environment.

Variational formulation, shape functions and the finite element method for a one-dimensional problem. Numerical implementation in a Python environment. Extension of the method to two dimension elliptic problems. Bounds on the solution error.

Formulation of hybrid finite difference/finite element methods for parabolic (evolution) problems.

Suitability of the finite difference, finite element or hybrid methods to approximate given elliptic, parabolic and hyperbolic partial differential equations.

Module Skills

Skills Type Skills details
Adaptability and resilience Students are expected to develop their own approach to time-management and to use the feedback from marked work to support their learning.
Co-ordinating with others Students will work together to complete the finite difference report.
Creative Problem Solving Applied to numerical methods.
Digital capability Implementing the numerical schemes in Python.
Professional communication Writing of reports.
Subject Specific Skills Broadens exposure of students to topics in mathematics, and an area of application that they have not previously encountered.


This module is at CQFW Level 6