This course is discontinued

INF5690 – 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.

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.

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.

Explanations and appeals

Resit an examination

This course offers both postponed and resit of examination. Read more:

Special examination arrangements

Application form, deadline and requirements for special examination arrangements.

Facts about this course






Every autumn

The course has been replaced by INF5691 – Advanced finite element methods (discontinued).


Every autumn

Teaching language