This course is discontinued

INF5691 – Advanced finite element methods

Schedule, syllabus and examination date

Choose semester

Course content

Finite element methods provide a general and powerful framework for solving ordinary and partial differential equations. This course is a continuation of the introductory course INF5680: Introduction to Finite Element Methods and focuses on the automation of the finite element method, adaptivity and stabilization.

The following topics are studied in this course: efficient tabulation of finite element basis functions, efficient representation of computational meshes, efficient computation of the element tensor (element stiffness matrix), tensor representation of multilinear forms, finite element code generation, error estimation by duality, stability factors, variational crimes, mixed methods, the Babuska-Brezzi inf-sup condition, stabilization, application to Stokes, Navier-Stokes and systems of nonlinear convection-diffusion-reaction equations.

Learning outcome

Students will learn advanced topics and techniques in finite element methods and how to implement and apply these techniques to solve nonlinear systems of ordinary and partial differential equations.


Students who are admitted to study programmes at UiO must each semester register which courses and exams they wish to sign up for in Studentweb.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures.


Recommended previous knowledge

It is assumed that the student has taken the course INF5680 Introduction to Finite Element methods or has a similar background. It is also assumed that the student has some experience with Python (or is willing to learn).


A number of advanced topics in finite element methods will be presented in an introductory series of lectures. Students should then choose one of these topics to study in detail. The students have to make a mandatory project plan, if this is not accepted, the student may not take the final exams. Rules for mandatory assignments.

We will make extensive use of FEniCS ( as the basic tool for generation of finite element meshes, finite element basis functions, finite element assembly, linear algebra and plotting.


The grade is based upon an individual written project report (counts 70%) and an individual presentation (counts 30%). All parts must be completed in the same semester. General information about the examination.

Examination support material

All resources allowed on the written report.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Resit an examination

This subject does not offer new examination in the beginning of the subsequent term for candidates who withdraw during an ordinary examination or fail an ordinary examination. For general information about new examination, see /studier/admin/eksamen/sykdom-utsatt/mn/index.html and /english/studies/admin/examinations/new-exam/index.html

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.


It is strongly recommended to attend the first lecture since it will be given important information.

Facts about this course






Every autumn


Every autumn

Teaching language