OpenFOAM® v1712: New and improved numerics
[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.
- 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
- Tukovic, Z. The Finite Volume Method on Domains of Changeable
Shape, PhD Thesis, University of Zagreb, Croatia, 2005
- 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:
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
and the subsequent viscous solution using the overRhoSimpleFoam solver:
- 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
- provide backwards compatibility - see commit 65a9d4
- preserve wallBoundedStreamlines - see commit c7edc2
- provide backwards compatibility - see commit 65a9d4
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:
{
div(phi,U) Gauss deferredCorrection linear;
}
- 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