14th October 2013

OpenFOAM 2.2.2 Released

The OpenFOAM Foundation are pleased to announce the release of version 2.2.2 of the OpenFOAM open source CFD toolbox. Version 2.2.2 further consolidates the major version 2.2.0 release through some bug fixes and code improvements. OpenFOAM v2.2.2 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Version 2.2.2 includes bug fixes applied to version 2.2.x up to 1st October 2013 and notable developments listed below. See the version 2.2.0 release announcement for information about the new features in the 2.2 series of OpenFOAM software.

Meshing and mesh tools

The following changes have been made to meshing and mesh tools:

  • in snappyHexMesh, if a faceZone is created with faceType baffle, then the baffle (duplicate) faces are preserved during layer insertion;
  • new orientFaceZone utility puts faces in a faceZone with a consistent orientation;
  • in utilities that create a cellSet (e.g. topoSet), the surfaceToCell option allows cells to be identified inside or outside of closed surfaces;
  • in the linearNormal mesh extrusion, there is a new option to specify the first layer thickness;

Moving mesh

In mesh motion involving layer addition and removal, cells in a deleted layer are now merged into neighbouring cells, with the value in the resulting cell being the volume-average of deleted and neighbouring cells. Modifications have also been made to enable particle tracking on moving mesh cases. Finally, a new interPhaseChangeDyMFoam solver has been introduced, a variant of interPhaseChangeFoam for moving mesh cases.

Boundary conditions

The following enhancements have been made to boundary conditions:

  • updated arbitrary mesh interface (AMI), enabling particle tracking across AMI patches and improving robustness;
  • new externalCoupledMixed condition, which provides a generic interface between OpenFOAM and an external application;
  • new externalCoupledTemperatureMixed condition, an example of the externalCoupledMixed condition for temperature, see
    $FOAM_TUTORIALS/heatTransfer/buoyantSimpleFoam/externalCoupledCavity tutorial;
  • updated externalWallHeatFluxTemperature condition to simulate multiple layers, each with different heat transfer coefficient and thickness;
  • updated bouyantPressure condition to read the gradient field to enable smooth case restarts.


The macro functionality in OpenFOAM input files has been extended to include the use of macro expansions and regular expressions in keyword names, and macro expansions in #include files, e.g.

file      caseSettings;
#include "include/${file}"

intetPatch  inlet;
wallPatches ".*Wall.*";

    ${inletPatch}  { type ...
    ${wallPatches} { type ...

Numerical methods

The Courant number blended scheme, CoBlended, stabilises the flow in small, unimportant cells where the velocity may be high, by blending between 2 schemes based on lower and upper Courant number limits.


In v2.2.2, function objects have additional options for outputControl, similar to the standard writeControl options: adjustableRunTime, runTime, clockTime and cpuTime. Where the function generates a field, e.g. wallShearStress, pressureTools, yPlusRAS, etc., the field is now stored on the mesh database so that it is available for further post-processing. The fieldAverage function object now includes averaging of surface fields and the output of bin data for the forces function object is now written to a single log file. In the foamToEnsight utility, a new ‘-cellZone’ option has been added to post process a single cell zone.

OpenFOAM v2.2.2 was produced by the OpenFOAM Team — at that time, Henry Weller, Mattijs Janssens, Chris Greenshields, Andy Heather, Sergio Ferraris, Richard Jones, William Bainbridge, Jenya Collings, Rory Sinclair and Sophie Glover. Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 2.2.2, click here.