OpenFOAM® v1712: New and improved numerics

OpenFOAM® v1712: New and improved numerics

31/12/2017

[Re-]Integration of finite-area

The finite area library and many derivative applications have been integrated into this release from the foam-extend project. Porting to OpenFOAM v1712 was performed by Hrvoje Jasak in collaboration with OpenCFD Ltd.

The image below shows an example for the $FOAM_TUTORIALS/finiteArea/sphereSurfactantFoam/sphereTransport case visualised using the updated paraFoam ParaView reader module.

[Picture]

Source code
$FOAM_SRC/finiteArea
Solvers
$FOAM_SOLVERS/finiteArea/liquidFilmFoam
$FOAM_SOLVERS/finiteArea/sphereSurfactantFoam
$FOAM_SOLVERS/finiteArea/surfactantFoam/planeTransport
Examples
$FOAM_TUTORIALS/finiteArea/liquidFilmFoam/cylinder
$FOAM_TUTORIALS/finiteArea/sphereSurfactantFoam/sphereTransport
$FOAM_TUTORIALS/finiteArea/surfactantFoam/planeTransport
See also
New avalanche modelling

Attribution
This work was ported to OpenFOAM v1712 by Hrvoje Jasak - see commit commit 5dd072 and is based on the references:
  • Tukovic, Z. The Finite Volume Method on Domains of Changeable Shape, PhD Thesis, University of Zagreb, Croatia, 2005
  • Tukovic, Z., Jasak, H. A moving mesh finite volume interface tracking method for surface tension dominated interfacial fluid flow. Computers & fluids. 55 (2012) pp 70-84
Integration
Further integration has been performed by OpenCFD, e.g. paraFoam reader module and foamToVTK. For a complete list of changes, see merge #179

New overset mesh functionality

The overset mesh capabilities introduced in OpenFOAM v1706 have been improved in many areas, including:

  • parallel: improved momentum predictor performance, and re-visited tolerances for decompositions
  • a new least-squares cell-cell stencil: gives higher accuracy at the potential cost of increased unboundeness

A comparison of the performance of the cell-cell stencil methods is shown below:

[Picture]

New overset aware solvers are now available:

  • overPotentialFoam: potential flow; stationary mesh
  • overRhoSimpleFoam: stationary mesh, steady compressible

The following image shows the potential solution for the Ahmed body using overPotentialFoam

[Picture]

and the subsequent viscous solution using the overRhoSimpleFoam solver:

[Picture]

Source code
$FOAM_SOLVERS/basic/potentialFoam/overPotentialFoam
$FOAM_SOLVERS/compressible/rhoSimpleFoam/overRhoSimpleFoam
Examples
$FOAM_TUTORIALS/basic/overPotentialFoam/cylinder

Updated particle tracking algorithm

This release includes an update to the Lagrangian particle tracking from openfoam.org that locates the particles using barycentric co-ordinates.

This introduces a change in file format where the positions file employed in earlier releases is replaced by a coordinates file. Additional integration efforts enable:

  • cases run in earlier versions to be updated automatically to the new format, and
  • provide the option to generate the positions file based on the entry writeLagrangianPositions in the $WM_PROJECT_DIR/etc/controlDict :

    InfoSwitches
    {
        ...
        // Write lagrangian "positions" file in v1706 format (at earlier)
        // if set to 1
        writeLagrangianPositions 0;
        ...

Attribution
This work was integrated from the openfoam.org version - see commit b7d082
Integration
Additions by OpenCFD to

Deferred-correction scheme

The new deferredCorrection divergence scheme recovers the characteristics of a base scheme by separating the contributions between an implicit upwind contribution and an explicit correction. The base scheme is run-time selectable, e.g. to apply deferred-correction to the linear scheme:

divSchemes
{
    div(phi,U)      Gauss deferredCorrection linear;
}

Source code
$FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/deferredCorrection

Attribution
This scheme was originally supplied as deferred-correction linear scheme by CFD Software E+F GmbH
Integration
The released code is a generalisation of the received code, updated to operate on a user-supplied base scheme - see commit 233a26