Computational Methods in Water Engineering

The information contained within this module sheet is subject to change at any time.

Module Code
Credits 15
Semester SPR
Pre-requisites -
Level Level MSc

Module Description:

This core module is designed to improve your conceptual understanding of computational skills and numerical methods applied to solve practical hydraulic engineering problems. It introduces you to several mathematical and computer programming skills and involves writing your own computer codes and use openly-accessible freeware. They will be applied for computing groundwater flow with contaminant transport and free-surface flows. Through the lectures, tutorials, weekly and final assessment coursework, as well as group discussion, you will develop your knowledge in the field of computational hydraulics, including both theoretical and practical capabilities. You will also develop your ability to communicate effectively and professionally through individual report writing and interactive class participation.


1. To understand and apply the fundamental principles of advanced numerical simulation in hydrogeology and hydrodynamics.
 2. To develop practical skills in building numerical models to study problems in practical context. 

Learning Outcomes:

[1] Develop programming skills for solving common engineering problems requiring computer solution of linear and nonlinear mathematical equations.

[2] Gain fundamental understanding of the numerical discretization techniques and apply them to solve the groundwater and free-surface flow equations.

[3] Use computer programming language and write in-house code to numerically analyse simulation results for simple hydrodynamics and hydrogeology problems

[4] Critically interpret the numerical result and assess accuracy of the solution based on the engineering scenario, select meaningful numerical solutions, present in a logical manner and assess the implication of the modelling output on practical applications


The module is assessed by coursework only.

Each coursework will be based on the content of the lecture and will be submitted via MOLE.

Please note, these assessments may be subject to change.




Individual Coursework, this includes lab reports, designs etc (LO1,LO2,LO3,LO4) 100

Assessment Preparation:

CIV Assessment Submission Deadlines (Please use this link to access assessment submission deadlines for CIV modules)

The series of five weekly coursework - programming project tests your ability to understand the fundamental numerical schemes/solutions and practice writing the in-house code. These will help you to keep an increasing learning curve of the course materials and relate to it divers components. You will be expected to understand the physical and numerical problems, choose correct numerical methods, run the computer code written in the MATLAB programming language and visualize the numerical results. In order to excel in these coursework, you will need to demonstrate your creativity in developing numerical methods and designing computer codes. Also you are expected to demonstrate your ability to visualize and analyse numerical results.

The final coursework – you will be given practical hydraulic engineering problems. In this context, you are required to develop numerical models for unfamiliar scenarios and to critically appraise the results. Within the project report you will be expected to explain the underlying principles of the model, describe model choice relating to whether the problem address free-surface or groundwater flow, and present analysis of the results and discuss limitations of the study. To excel in this coursework you will need to explain the reasoning behind the choice and the construction of your model, and explain why you need the model you design relating the water engineering application targeted. The report should also demonstrate that you can relate the findings from your model to make engineering decisions in river and groundwater flow engineering.

Exam Preparation Folder (Please use this link to access assessment preparation material including past exam papers)


Activities include 

Computer workshop sessions with assistance from the demonstrator & lecturerFeedbacks on modelling results and numerical analysis

Feedback in class from lecturer on the plan of work, coursework planning, originality in programming code, running and analysing computer programmes

Teaching Methods :

Comprehensive theoretical and critical analysis of numerical methods applied to solve hydrodynamics and groundwater flow will be gained through the lectures and tutorials.Advanced practical numerical programming will be gained from the staff-led workshops in computer room, weekly coursework and other directed studies.The module will be assessed by six coursework focusing on different modelling skills.

Please note, these are the approximate hours spent on each teaching activity.




Lectures Lectures 34
Problem Solving / Example Classes MATLAB Computer Sessions 10
Problem Solving / Example Classes Private Study including Group Working 10
Independent Study(including Prep for Assessment) Private Study including non invigilated assessment 96

Outline of Syllabus:

Introduction to the basics of programming and application to compute linear system of equations (Week 1 - taught by GK)

Setting up the expectation and the scope of the course
Explaining basics of computer programming within the MATLAB coding environment
Initiation of scalar variables, m-scripts, design of functions and assignment of operations
Initiation of vectors and matrices; “if”, “for” and “while” loops;
Nested used of these loops to manipulate vectors’ and matrices’ data
Solving linear system of equations by means of direct and iterative solvers (via MATLAB)
In-house code writing, computer execution, post-processing/visualizationHand out of coursework #1 

Numerical discretisation of Ordinary Differentiable Equations (Week 2 - taught by DB)

Hand in of coursework #1
Explained in the context of solving the diffusion equation for modelling 1D flow in porous medium
Finite difference method: Euler forward, central and backward differentiationKey properties of numerical discretization: accuracy, stability, convergence and error-propagation
Explicit vs. implicit time discretization and grid/time dependency
Code writing, computer execution, visualization and data analysisHand out of coursework #2 

Finite difference numerical solution Poisson equation (Week 3 - taught by DB)

Hand in of coursework #2
Overview of groundwater flow equations leading to the 1D Poisson equation
Finite difference discretization to the derivative terms
Transforming the discrete system into a linear system of equations
Code writing, computer execution and visualization
Data analysis and interpretation of the results relating to groundwater flow modelling
Hand out of coursework #3 

Finite difference solution of the advection-dispersion-diffusion equation (Week 4 - taught by DB)

Hand in of coursework #3
Overview of the Partial Differentiable equation (PDE) governing flow with pollutant transport
Difference between an ODE and a PDE
Finite difference method for solve the advection-diffusion-dispersion equation
Code writing, computer execution and visualization
Data analysis and interpretation of the results relating to contaminant transport in porous medium
Hand out of coursework #4 

Finite volume solution of scalar nonlinear flow Partial Differential Equation (Week 5 - taught by GK)

Hand in of coursework #4
Highlight of the radical difference between the finite volume method and finite difference method
Hyperbolic conservation laws equations: example of the scalar nonlinear Burger equations
Integral form of hyperbolic conservation laws in the context of a finite volume approximation
Nonlinear wave information propagation within the finite volume methodCode writing, computer execution and visualization
Solving the Burger’s equation in relation to a gas dynamic problemData analysis and interpretation of the results
Hand out of coursework #5

Finite volume method for computational hydraulics (Week 6 - taught by GK)

Hand in of coursework #5
Overview of the unsteady shallow water equations
Hyperbolic vector system of the shallow water equations
Integral finite volume formulation
Nonlinear wave information propagation for the case of the shallow water equations
Overall sketch of the finite volume method solving the shallow water equationsCode writing, computer execution and visualization
Data analysis and interpretation of the results: application to simulate 1D dam-break flows

Health & Safety:


Recommended Reading:

View the reading list via the MOLE page for this module.