This is the webpage for the University of Luxembourg Master in Mathematics course Numerical Methods for Variational Problems.

This webpage is adapted with permission from the original authored by Prof. Colin Cotter and Prof. David Ham at Imperial College London. The section on Modern Finite Element practice was authored by Dr. Jack S. Hale at the University of Luxembourg.

The authors welcome feedback and would particularly appreciate an email if this material is used to teach anywhere.

Weekly material

The numerical analysis and implementation parts of the module run in parallel. Each part has videos and exercises embedded in its notes.

_images/brenner_scott.png

A PDF version of the course notes is available here.

Part 1: Numerical analysis

The material is presented by means of a set of lecture notes, with lecture videos interspersed in the notes.

The text for this part of the module is Brenner and Scott The Mathematical Theory of Finite Element Methods. The University of Luxembourg has paid for PDF access to this book, so it is accessible from the University of Luxembourg network at Springer Link.

However, this course has the material rearranged to synchronise the content better between the lecture notes and the implementation exercise.

Lecture notes:

Past exam papers

Past examination papers from the Imperial College London course are available here:

The examination at the University of Luxembourg will be adapted to the specific needs of the students attending the course.

Part 2: Implementation

The implementation part of the module aims to give the students a deeper understanding of the finite element method through writing software to solve finite element problems in one and two dimensions.

The key to this part of the module is to build up a working finite element implementation over the course of the term, and thereby to gain a practical understanding of the method.

The starting point for the implementation method is the skeleton code, an outline of a simple finite element library written in Python. Many of the critical algorithms in the skeleton code are left unimplemented, it will be your task to implement them over the course of the term.

Each chapter of the implementation describes how a part of the finite element method is implemented. Along the way are videos which explain the text, or walk through the algorithms presented. Also interspersed in the text are exercises, typically requiring you to implement the algorithm just presented. We will look at how to do this in more detail presently.

Implementation exercise contents: