From Fifth OpenFOAM Workshop

Jump to: navigation, search

Two trainings will be provided at the fifth OpenFOAM workshop, on June 21st, 2010: basic and advanced. Below are outlines of those.

Note that it is only possible to attend one of them, since they are both full day activities, running in parallel.

Outline for Basic Training (Preliminary)


  • Installation from:
  • Directory and file structure, and Linux environment
  • Pre-compiled solvers, utilities, and the test-directory
  • Pre-configured solver and utility tutorials
  • A thorough march through the icoFoam cavity tutorial
  • How to learn more from Allrun scripts and dictionary files
  • File structure of applications and libraries, and compilation
  • The global controlDict file - debugging and run-control
  • Post-processing with: paraFoam, sample, probes, foamLog, foamCalc, and Gnuplot
  • Advanced usage - parallel processing
  • Examples of applications: flow on a 2D airfoil, 2D multiphase flows.


The basic training is for complete beginners, or those who have used OpenFOAM for a short while, and would like to start to do small modifications to the code. It is beneficial if participants become proficient with Linux and a text editor prior to the training. The two text editors vi and emacs are recommended. Here are some useful links:

See also "OpenFOAM Installation" below!


Tommaso Lucchini (Politechnico di Milano) and Eric Paterson (Penn state university)

Outline for Advanced Training (Preliminary)


  • Overview of OpenFOAM structure:
    Equation mimicking
    ScalarTransport Walk-Through
  • Hands-on session: Extending scalarTransportFoam
    Adding a source term
    Adding a second scalar transport to scalarTransportFoam
  • Five basic classes in detail:
    Space and Time
    Computational Mesh
    Field Variable
    Matrix and Linear System
    Discretisation Method
  • PyFOAM with tutorial:
    Using PyFoam to setup/modify a case (hands-on)
    Write a script that does a parameter-variation
  • Dynamic mesh features:
    Automatic mesh motion
    Topological changes
    Dynamic mesh classes
    General Grid Interface (GGI) and its variants
  • Hands-on session:
    User-Defined boundary conditions


The advanced training builds on the material covered in the basic training while some overlap is intended. The attendees have to be familar with the basic usage of OpenFOAM as well as the Linux command line. In-depth C++ or Python experience is not required, programming experience is a plus.
See also "OpenFOAM Installation" below!


Bernhard Gschaider, Hrvoje Jasak, Henrik Rusche

OpenFOAM Installation

Participants who want to follow the training on their own laptop must make sure to have a working OpenFOAM installation, or make sure that the distributed Live-DVD/USB works on their laptop BEFORE the training. Booting from the DVD/USB may require to change the boot order in the BIOS which may be protected by a password.

Personal tools