OpenFOAM® v1912: New and updated solvers and physics
New interfacetracking dynamic mesh
The moving mesh interface tracking library has been integrated into this release from the foamextend project. Porting to OpenFOAM v1912 was performed by Zeljko Tukovic (FMENA, Zagreb) in collaboration with OpenCFD Ltd.
Basic functionality is implemented through the interfaceTrackingFvMesh class. Kinematic and dynamic conditions at the freesurface are imposed by custom boundary conditions for velocity and pressure. Interface tracking calculations are performed using standard pimpleFoam solver.
The example below shows the concentration and shape evolution of a contaminated, perturbed droplet.
 Source code
 $FOAM_SRC/dynamicFaMesh/interfaceTrackingFvMesh
 Tutorial
 $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contactAngleCavity
$FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contaminatedDroplet2D  References
 Z. Tukovic and H. Jasak. A moving mesh finite volume interface tracking method for surface tension dominated interfacial fluid flow. Computers & fluids. 55 (2012) 7084.
 Attribution
 Code written and contributed by Zeljko Tukovic
New Six Degree of Freedom (DoF) features
New linearSpringDamper restraint model
The Six DoF library includes a new linearSpringDamper model.
This is a springdamper system that acts as a ”soft” rope restraint when the distance between the anchor and refAttachmentPt exceeds the restLength.
When the rope is slack there is no force applied to body. The specification in dynamicMeshDict is as follows:
{
chain
{
sixDoFRigidBodyMotionRestraint linearSpringDamper;
refAttachmentPt (3.7 4.2 4.5);
anchor table
(
(0 (3.7 4.2 6.5))
(2 (4.7 4.2 6.5))
(6 (5.7 4.2 4.5))
(8 (6.7 4.2 4.5))
);
psi 1;
wn 8.28;
numberOfChains 4;
restLength 2;
}
}
where:
 refAttachmentPt is the attachment point to the solid object.
 anchor is the anchor of the rope, specified as a Function1 time dependant entry.
 psi, is the damping ratio.
 wn, is the un damped natural frequency of the system.
 numberOfChains, is the number of chains attached to the body.
 restLength is the rest length of the rope.
The damping and stiffness of the system is calculated as:
Note: psi and wn should be set up for an overdamped system to model the behaviour of a soft rope.
New soft wall restraints
The new soft wall model is a damperlinearspring restraint that acts as a ”soft” wall when the distance between anchor and refAttachmentPt in the wallnormal direction becomes negative.
When the rope is slack there is no force applied to body. The specification in dynamicMeshDict is as follows:
{
upperWall
{
type softWall;
body floatingObject;
anchor (0.5 0.5 0.7);
refAttachmentPt (0.5 0.5 0.58);
wallNormal (0 0 1);
psi 2.0;
C 0.01;
}
}
where:
 refAttachmentPt is the attachment point to the solid object
 anchor is the anchor of the rope.
 psi is the damping ratio
 wallNormal is the normal wall direction
 C is a model constant
The damping and stiffness of the system is calculated as:
 Source code
 $FOAM_SRC/rigidBodyDynamics/restraints/softWall
New multimotion capabilities for overset dynamic meshes
Overset dynamic meshes can now handle multiple motion types. This allows users to have different objects moving under the action of different motion solvers.
As an example see:
In the dynamicMeshDict dictionary the dynamicOversetFvMesh has two motion solvers:
 solidBody using a new drivenLinearMotion (see below)
 sixDoFRigidBodyMotion
In the tutorial two motion solvers are applied to different cell sets.
The solver named cube is the floatingObject which uses the motion solver sixDoFRigidBodyMotion. A new keyword, CofGvelocity writes the centre of gravity velocity of the object for use in the drivenLinearMotion solver.
The new drivenLinearMotion motion solver is a rigid body type that moves points according the entry CofGvelocity. In this tutorial it is applied to the c0 cell set which corresponds to the background mesh in the overset calculation.
The drivenLinearMotion enables users to set a background mesh that ’follows’ a given object in the ’inset’ region of the overset calculation, this helps to reducing mesh size when the expected displacement of the object is large.
New collimated radiation models
New collimated solar beam model for fvDOM
The fvDOM radiation model now includes support for external beams from a solar external load to provide a straightforward means to include solar load in the domain. The effect is added to the rays in the fvDOM model, activated by setting the new entry useExternalBeam to true in the radiationProperties dictionary.
The fvDOM ray solid angles are rotated to match the best ray direction according to the angular discretization.
To obtain the energy spectra of the source the following entry is used:
Note: The number of bands in the spectralDistribution should match the number of bands of the absorptivity model. i.e.multiBandAbsorption in the boundaryRadiationProperties:
wallAbsorptionEmissionModel
{
type multiBandAbsorption;
absorptivity (0.3 0.7);
emissivity (0.3 0.7);
};
The radiative boundary condition excample specifies an opaqueDiffusive wall and a multiBandAbsorption model using two bands.
The collimated model should NOT be used in conjunction with the solarLoad radiation model.
The collimated model uses the solar calculator to derive the sun direction and energy flux. The standard models can be used as for the solarLoad radiation model.
New multi band zone absorptionemission model
The new multiBandZoneAbsorptionEmission model enables the use of nonuniform absorptivity and emissivity fields in the domain. For example, for two bands model:
{
absorptivity (0.01 0.01);
emissivity (0.01 0.01);
zones
{
absorptivity ("trees" (20 20));
emissivity ("trees" (20 20));
}
}
This example sets an absorptivity value of (0.01 0.01) in the background mesh and (20 20) in the zone named trees.
 Source code
 $FOAM_SRC/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/multiBandZoneAbsorptionEmission
 Tutorial
 $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees
New multiphase turbulence stabilization
Turbulence kinetic energy is overpredicted in incompressible VOF solvers at the phase interface and throughout the water column in nearlypotential flow regions beneath surface waves.
This behaviour is corrected using the new multiphaseStabilizedTurbulence fvOption that applies corrections to the turbulence kinetic energy equation and turbulence viscosity field.
It is specified using:
{
type multiphaseStabilizedTurbulence;
active yes;
multiphaseStabilizedTurbulenceCoeffs
{
// Optional coefficients
lambda2 0.1; // A value of 0 sets the nut correction to 0
Cmu 0.09; // from kepsilon model
C 1.51; // model coefficient from komega model
alpha 1.36; // 1/Prt
}
}
 Source code
 $FOAM_SRC/fvOptions/sources/derived/multiphaseStabilizedTurbulence
 References

 Devolder, B., Rauwoens, P., and Troch, P. (2017). Application of a buoyancymodified kw SST turbulence model to simulate wave runup around a monopile subjected to regular waves using OpenFOAM. Coastal Engineering, 125, 8194.
 Larsen, B.E. and Fuhrman, D.R. (2018). On the overproduction of turbulence beneath surface waves in Reynoldsaveraged NavierStokes models J. Fluid Mech, 853, 419460
 Attribution

 Implemented by OpenCFD
 Thanks go to the Turbulence Technical Committee, and the useful discussions with and code testing by Bjarke EltardLarsen and David Fuhrman (Technical University of Denmark)
New kepsilonphitf turbulence model
A new three transportequation lineareddyviscosity RANS turbulence closure model with an elliptic relaxation function, named kEpsilonPhitF, has been implemented based on the work of (Laurence et al., 2005).
kEpsilonPhitF is a kEpsilonbased model which originated from (Durbin, 1995)’s v2f methodology. The main benefit of the v2f methodology was reportedly to provide a midway between the linear eddyviscosity models and Reynolds stress equation models whilst keeping the minimalism of an eddyviscosity model formulation. This manifests itself in its inherent and simulationindependent reproduction capability for the parabolic decay of the wallnormal velocity scale towards the wall without using any walldistance or lowReynolds number type modifications.
However, the majority of v2f model variants proved to be numerically stiff for segregated solution algorithms due to the coupled formulations of v2 and f fields, particularly on wall boundaries.
Despite this drawback, the v2f models have been observed to successfully reproduce the properties of a broad set of generic flows, such as flows exhibiting various nonequilibrium/nonlocal effects; involving strong pressure gradients, separations, impingements; effects of fluctuating pressure on turbulence fields, including heat transfer and more.
The v2f variant (i.e. OpenFOAM’s v2f model) due to (Lien and Kalitzin, 2001) reformulated the original v2f model to enable segregated computations; however, a number of shortcomings regarding the model fidelity were reported in the literature.
To overcome the shortcomings of the v2f methodology, the v2f approach was reevaluated by (Hanjali et al., 2004), and (Laurence et al., 2005) at the same time by transforming scale into its equivalent nondimensional form, i.e. , to reduce the numerical stiffness. These variants were believed to provide numerical robustness, and insensitivity to grid anomalies while retaining the theoretical model fidelity of the original v2f model.
Please note that the kEpsilonPhitF model is in the beta stage. Further internal changes to the model may or may not be performed in the future. In addition, the v2f model available in OpenFOAM will be deprecated in favour of kEpsilonPhitF or another v2f model variant.
The implementation of kEpsilonPhitF model was verified by means of the following canonical flows: the smoothwall plane channel flows (), zeropressure gradient turbulent flat plate, twodimensional backwardfacing step, and two dimensional hill in a channel.
As an illustration, three verification plots were shown in the following:
Pressure coefficient profile from the twodimensional hill flow
Wallunit normalised streamwise flow speed profiles from the smoothwall
plane channel flow at =5186.
Wallunit normalised Reynolds stress profiles from the smoothwall plane
channel flow at =5186.
More detailed information regarding the model equations, implementation, and usage can be found in the (kEpsilonPhitF section in the Extended Code Guide).
 Source code
 $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF
 Tutorial
 $FOAM_TUTORIALS/incompressible/simpleFoam/RAS/bump2D
 Attribution
 OpenCFD would like to thank Dr. Mirza Popovac (Austrian Institute of Technology) for useful discussions and his helpful suggestions.
Updated avalanche modelling module
With winter approaching, the avalanche modelling module received some updates to the entrainment models, including an implementation of the RAMMS model (Christen et al, 2010) and stability improvements for the Medina model.
 Source code
 https://develop.openfoam.com/Development/openfoammodules/avalanche
 Attribution
 The avalanche code is developed by Matti Rauter
New equation of state for liquids
A reciprocal polynomial equation of state for liquids and solids, rPolynomial, has been integrated from openfoam.org, having the following form:
The new option is specified in the thermophysicalProperties dictionary as:
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState rPolynomial; // new entry
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 18.0;
}
equationOfState
{
// Coefficients for the reciprocal polynomial equation of state
C (0.001278 2.1055e06 3.9689e09 4.3772e13 2.0225e16);
}
thermodynamics
{
Cp 4195;
Hf 0;
}
transport
{
mu 3.645e4;
Pr 2.289;
}
}
 Source code
 $FOAM_SRC/src/thermophysicalModels/specie/equationOfState/rPolynomial
 Tutorial
 $FOAM_TUTORIALS/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalProperties.water
 Attribution
 The model was integrated from openfoam.org