Major Release of OpenFOAM 3.0.0

OpenFOAM simulation of burning methane using a ParaView graphical user interface. Image courtesy of Wikipedia user Wanttoknow.

The OpenFOAM Foundation has announced the first major release of their open source CFD software since 2011. With OpenFOAM 3.0.0, users should expect more functionality and usability improvements.

Some of these improvements include a redesign of the component code, more consistency in the coding, improved user input, and model corrections.

For instance, the new release will be more compatible with C++ compliers following the ISO 14882:2014 C++ programming standard. In addition, the OpenFOAM Foundation states that it will be working on more compatibility issues with older Linux-based C++ compilers in the future.

One downside of the new release is that many users will experience some incompatibility with their case files. The foundation didn’t comment on the details of these compatibility issues. However, they might refer to the fact that, according to the release notes, Ubuntu users will need the 15.10 LTS service pack in order to run OpenFOAM’s foamyHexMesh.

Since OpenFOAM is an open source program, it has a large community of simulation users, organizations and developers. For instance, users in this community might use the source code in their custom solver technology that they distribute to others. As a result, any compatibility issues with the software should be well researched by members of the OpenFOAM community before they update to ensure it doesn’t break their own code.

For more updates to OpenFOAM 3.0.0, read the release notes below:

Turbulence Modeling

  • Incorporated all turbulence models in the new templated TurbulenceModels library; turbulence models are now all selected from the turbulenceProperties file, which includes RAS and LES sub-dictionaries, deprecating the RASProperties and LESProperties files
  • Added Speziale, Sarkar and Gatski (SSG) pressure-strain-based Reynolds-stress turbulence model
  • Added wall-adapting local eddy-viscosity (WALE) subgrid-scale (SGS) turbulence model
  • Improved and corrected models incorporated into the new turbulence modeling framework, e.g. corrected the kkLOmega model
  • Adopted the correct velocity in turbulence modeling in single rotating reference frame (SRF) calculations

Multiphase, Reacting Flows

  • Developed new reactingTwoPhaseEulerFoam solver for a system of two compressible fluid phases with phase models that can represent multiple species and in-phase reactions, and a phase system that can represent different types of momentum, heat and mass transfer
  • Developed equivalent reactingMultiphaseEulerFoam for multiple phases
  • Implemented phase modeling, including boiling/condensation, turbulent dispersion, thermal wall functions, etc.
  • Added experimental face-based momentum equation formulation in twoPhaseEulerFoam
  • Added specification of a reference height to solvers with p_rgh, e.g. using height of the free-surface in a VoF simulation to reduce the range of p_rgh
  • Corrected and improved solidification rate controls in surface film solidification

Numerical Methods

  • Generalised the consistent option for the SIMPLE algorithm (SIMPLEC) and incorporated it into solvers using SIMPLE; specified with consistent keyword in SIMPLE sub-dictionary in the fvSolution file
  • Configured the pitzDaily example to use SIMPLEC, demonstrating 3x speed up
  • Added consistent option to PIMPLE family of solvers
  • Implemented local time stepping (LTS) as a selectable option in each solver that previously had a separate, specialised LTS version; LTS controls are specified in the fvSolution file
  • Improved LTS within the MULES framework for multiphase solvers including interFoam and the reactingEulerFoam solvers
  • Created a set of wallDist algorithms, used, for example, in turbulence modeling, that are specified in the fvSchemes file
  • Added new setFluxRequired function, included in solvers so that fluxRequired entry is no longer needed in the fvSchemes file
  • Added a cellCoBlended interpolation scheme that blends schemes based on local cell Co number

Sources and Constraints (fvOptions)

  • Added new fvOptions, including tabulatedAccelerationSource to support 6-DoF solid-body motion
  • Made several improvements to fvOptions including fixedTemperatureConstraint
  • Separated Markov random field (MRF) from fvOptions framework to ensure correct application to all velocity fields in multiphase systems
  • Removed limitations and corrected errors in rotorDiskSource fvOption

Meshing

  • Added multiple grading in single blocks in blockMesh
  • Removed the need to order vertices in boundary faces in blockMesh
  • Added a fast face merging algorithm to blockMesh
  • Moved the default location of blockMeshDict to system directory

Miscellaneous

  • Upgraded ParaView to version 4.4.0
  • Enabled paraFoam script to open ParaView when OpenFOAM case does not exist
  • Removed the need for the word entry in dimensionedType, e.g., specifying kinematic viscosity in transportProperties is now:

nu    [0 2 -1 0 0 0 0] 1e-05;

  • Added buoyancy work term to energy equations in solvers, as described in Energy Equation in OpenFOAM
  • Reinstated the original working version of mapFields, and renamed the experimental parallelised version mapFieldsPar