Core: Advanced Course

This course covers advanced topics on the open source CFD toolbox, OpenFOAM. It is designed to enable the participants to use OpenFOAM effectively on real engineering problems and develop the toolbox to suit their needs. It covers general use and programming of OpenFOAM, building on topics presented earlier in the Foundation Course.

Topics Covered

  • Advanced meshing in OpenFOAM with snappyHexMesh
    • Effective use of snappyHexMesh
    • Building cell layers
    • Checking mesh quality
  • Selecting discretisation schemes with respect to mesh quality
  • Tuning of linear solvers and algorithms
  • Setting boundary regions and conditions
  • On-the-fly post-processing
  • Overview of capabilities including
    • Multiphase flows
      • Interface capturing, e.g. Volume of Fluid (VoF)
      • Euler-Euler methods
      • Lagrangian particles
    • Dynamic meshes including overset
    • Heat transfer including radiation

Dynamic code

  • Use of dynamic code customisations in OpenFOAM setup

Boundary conditions in OpenFOAM explained

  • implementation of boundary conditions
  • turbulent inlet profile
  • time-varying conditions
  • mixed boundary conditions

Post-processing with Function Objects

  • Overview
  • Programming Function Objects

Course details

Running OpenFOAM

Participants undertake exercises in simulating cases and programming in OpenFOAM using ESI’s Cloud-based HPC computing platform, accessed via a secure ssh connection between desktop PCs (provided) or participants laptops, applicable to all operating systems. All work from the training will be stored on the cloud and participants may download all the work and exercises on their USB flash drives at the end of the training.

Course materials

For online courses, users will receive a printable pdf with a manual containing the course presentation and additional materials.
Classroom attendees will receive a high-quality, A5-sized (80-100 page) wire-bound manual containing the course presentation and additional materials.
Please note: registration and payment for classroom courses must be completed at least 10 days in advance of the training date to allow sufficient time for material delivery.


The language used in all OpenFOAM courses is English. Translations or delivery in French, German, Italian, Spanish, Chinese, Japanese and Korean languages are available on request.

Course times

The course is 2 days in duration and usually runs from 09.00 to 17.30 (local time for classroom training, CET for virtual training) each day.

Target audience

This course is for those users with a broad basic knowledge of OpenFOAM, either from the Foundation Course or through general experience, who wish to develop their skills for more advanced CFD and OpenFOAM programming — see “information on course suitability” for further details.


This course follows on from the Foundation Course in OpenFOAM, which introduces the use of OpenFOAM, Linux, C++ programming, the finite volume method, etc. We recommend users undertake the OpenFOAM Foundation Course prior to this course, but it is not essential for more experienced OpenFOAM users.