Course content

The course is divided into two parts:

  • Fundamentals (day 1-2) is aimed at users new to OpenFOAM and covers OpenFOAM basics and good practices.
  • Advanced (day 3-5) covers more advanced topics and is aimed at users already familiar with OpenFOAM.

The two parts are scheduled in the same week making participation in both parts possible. Every day the programme is from 9:00-16:30 with a lunch break 12:00-13:00. Also, we invite you to join us for pizza nights on Monday and Wednesday between 17:00-19:00.

Fundamentals part

Day 1 (fundamentals)

A walk through a simulation case from setting it up to analysing the results. Topics include:

  • OpenFOAM versions and installing OpenFOAM
  • Meshing tools and strategies (blockMesh)
  • Boundary and initial conditions
  • Numerical schemes and settings
  • Diagnosing simulation during runtime
  • Data visualisation with Paraview

Day 2 (fundamentals)

We dig deeper into the setup and analysis of simulation cases. Topics include:

  • Basic meshing workflow using snappyHexMesh
  • Turbulence modelling
  • Running in serial, parallel and on clusters
  • Mapping of fields between meshes
  • Sampling and post-processing with functionObjects

Advanced part

Day 1 (advanced)

We look at efficient workflows in OpenFOAM and code customisation. Topics include:

  • Using Paraview efficiently
  • Introduction to C++ programming in OpenFOAM
  • Writing a new solver

Day 2 (advanced)

We look at how to use Python with an external optimisation routine that we will write in Python. This will be in an industrial context. Topics include:

  • Parametric studies in OpenFOAM using Python
  • Optimise geometries with OpenFOAM and Python in an industrial context

Day 3 (advanced)

We take a deeper look at the OpenFOAM source code. Topics include:

  • The OpenFOAM code base and its documentation
  • Writing a new boundary condition
  • Writing a new function object