13th October 2016

OpenFOAM 4.1 Released

The OpenFOAM Foundation is pleased to announce the release of version 4.1 of the OpenFOAM open source CFD toolbox. Version 4.1 is a patch release of version 4.0 with approximately 50 commits that fix critical issues, improve usability and consistency in the code. As a patch release, we strongly recommend users of v4.0 upgrade to this version; users of the packaged version for Ubuntu (openfoam4) can receive 4.1 as part of a system upgrade.

OpenFOAM 4.1 is distributed under the General Public Licence by the OpenFOAM Foundation as:

Key changes from 4.0 to 4.1 are listed below. See the version 4.0 release announcement for information about the new features in the version 4 series of the OpenFOAM software.

New Additions

  • OpenFOAM 4.1 now requires Scotch/PT-Scotch version 6 to enable support for scotch redistribution to snappyHexMesh.  The openfoam4 and openfoam-dev packs for Ubuntu include the object libraries for Scotch/PT-Scotch v6.0.3 to support this.
  • New PBiCGStab preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices using a run-time selectable preconditioner.  Tests indicate that PBiCGStab with the DILU preconditioner is more robust, reliable and shows faster convergence (~2×) than PBiCG with DILU, in particular in parallel where PBiCG occasionally diverges. » more »
  • Support for region specification in functionObjects, so that the -region option is available in the postProcess utility. » more »
  • New fvOption sources for the face-based momentum equations in reactingEulerFoam, twoPhaseEulerFoam. » more »

Resolved Issues

  • Issue 2290 twoPhaseEulerFoam, reactingTwoPhaseEulerFoam: corrected support for implicitPhasePressure with nAlphaCorr > 1
  • Issue 2288 foamToTecplot360: Updated to use tmp.ref()
  • Issue 2287 movingWallVelocityFvPatchVectorField: Removed incorrect documentation concerning MRF
  • Issue 2285 unset FOAM_ETC
  • Issue 2273 fvOptions: Corrected docs: fieldNamefields
  • Issue 2248 PatchToPatchInterpolate: Update to use the tmp ref() non-const access function
  • Issue 2236 tutorials/multiphase/interFoam/ras/weirOverflow: Updated to improve robustness
  • Issue 2229 mapFields: reset the FOAM_CASE environment variable
  • Issue 2227 decomposePar: corrected decomposeParDict read using -region option
  • Issue 2224 tutorials/multiphase/interDyMFoam/ras/DTCHull: Corrected specification of restraints
  • Issue 2223 OpenFOAM-dev/etc/bashrc: Use ‘pwd -P‘ to handle relative paths and links
  • Issue 2216 forceCoeffs: Removed duplicate header writing
  • Issue 2214 functionObjects::forces: Corrected file names when using the ‘binData’ option
  • Issue 2213 foamToVTK::vtkTopo: Apply fix from #1633
  • Issue 2211 rigidBodyMotion: Change the transform averaging to use approximate inverse-distance weighting; now works correctly for an arbitrary number of bodies
  • Issue 2210 resolves issues with environment variables in etc/bashrc, etc/
  • Issue 2207 Corrected documentation in classes derived from temperatureCoupleBase
  • Issue 2203 septernion: Correct quaternion normalization after averaging
  • Issue 2193 codingStyleGuide: Corrected typos
  • Issue 2192 ParaView: GUI resource files in plugins are no longer supported
  • Issue 2186 reconstructPar: Handle the copy of the ‘uniform’ directory when only 1 region is reconstructed
  • Issue 2176 RunFunctions: corrected typo $SUFFIX$LOG_SUFFIX
  • Issue 2175 tutorials: corrected scripts ‘]; then‘ -> ‘ ]; then
  • Issue 2173 tutorials Allrun scripts: Update running of postProcess application
  • Issue 2170 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile: Corrected typo
  • Issue 2169 Make/options: Removed duplicate entries
  • Issue 2168 fvAgglomerationMethods/Allwmake: Removed reference to Scotch
  • Issue 2167 tutorials/multiphase/reactingTwoPhaseEulerFoam: Corrected regular expressions
  • Issue 2165 meshToMeshTemplates: Updated non-const access to the source patch field
  • Issue 2163 fvMatrixSolve: Corrected ref() access to field
  • Issue 2162 CrankNicolsonDdtScheme: Corrected handling of the boundary field to avoid premature reset of the time-index
  • Issue 2158 forces: Updated reading of nu
  • Issue 2156 decomposePar, reconstructPar: Added support for decomposing “uniform” directories in multi-region cases
  • Issue 2148 postProcess: Added call to functionObject::end() at end of time-loop
  • Issue 2141 reactingTwoPhaseEulerFoam/pUf/UEqns: Changed naming convention for the dmdt‘s for consistency with HeatAndMassTransferPhaseSystem.C
  • Issue 2138 functionObjects: Updated documentation
  • Issue 2137 src/OpenFOAM/primitives/ints: Corrected MIN and MAX for uints
  • Issue 2135 SloanRenumber: link with rather than
  • Issue 2133 fvcD2dt2: Updated non-const dereferencing to use ‘.ref()
  • Issue 2099 foamToVTK, PVFoamReader: Resolve problems converting VTK_WEDGE
  • Issue 2097 ORourkeCollision: Corrected probability test
  • Issue 1885 vtkUnstructuredReader: corrected prism point ordering


OpenFOAM v4.1 was produced by:

  • Architect/Lead: Henry Weller
  • Management: Henry Weller, Chris Greenshields
  • Maintenance/Testing/Contributions: Henry Weller, Chris Greenshields, Bruno Santos, Mattijs Janssens.
  • Other Contributions: Will Bainbridge, Alexey Matveichev, Karl Meredith, Paul Edwards, Juho Peltola, Timo Niemi, Daniel Jasinski.

Thanks to the OpenFOAM enthusiasts who have contributed to a better code through the bug reporting system.

To download OpenFOAM 4.1, click here.