OpenFOAM® v1906: New boundary conditions

27/06/2019

New synthetic turbulence generation method for LES/DES

A new turbulentDigitalFilterInlet velocity boundary condition to generate synthetic turbulence for LES and DES cases has been implemented based on the Digital-Filter Method (DFM) of Klein et al., 2003 and the Forward-Stepwise Method (FSM) of Xie and Castro, 2008.

A random number set comprising mostly white noise, and a group of target statistics, e.g. mean flow, Reynolds stress tensor profiles and length-scale sets, are combined to derive the inlet turbulence.

Random number sets ---->-|
                         |
                     DFM or FSM ---> New stochastic time-series consisting
                         |           turbulence statistics
Turbulence statistics ->-|

An example of the turbulentDigitalFilter boundary condition specification with commented options is shown below:

<patchName>
{
    // Mandatory entries
    type                turbulentDigitalFilter;
    variant             digitalFilter;          // reducedDigitalFilter;
    planeDivisions      (<planeDivisionsHeight> <planeDivisionsWidth>);
    L                   (<Lxu> <Lxv> <Lxw> <Lyu> <Lyv> <Lyw> <Lzu> <Lzv> <Lzw>);
    R                   (<Rxx> <Rxy> <Rxz> <Ryy> <Ryz> <Rzz>);
    patchNormalSpeed    <characteristic patch-normal flow speed>;
    value               uniform (0 0 0);        // mandatory placeholder

    // Optional entries with default input
    isGaussian          true;           // false    // always false for FSM
    isFixedSeed         true;           // false
    isContinuous        false;          // true
    isCorrectedFlowRate true;           // false
    interpolateR        false;          // placeholder
    interpolateUMean    false;          // placeholder
    isInsideMesh        false;          // placeholder
    isTaylorHypot       true;           // placeholder
    mapMethod           nearestCell;    // planarInterpolation
    threshold           1e-8;
    modelConst          -1.5707;        //-0.5*PI;
    perturb             1e-5;

    // Optional entries for only FSM with default input
    const1FSM           -0.7854         //-0.25*PI;
    const2FSM           -1.5707;        //-0.5*PI;
}

Among the dictionary entries, two entries can be input as patch profiles:

  • Reynolds stress tensor, R, and
  • Mean velocity, UMean.

Profile data and corresponding coordinates are input in the following directories:

  • $FOAM_CASE/constant/boundaryData/<patchName>/points
  • $FOAM_CASE/constant/boundaryData/<patchName>/0/{R,UMean}

The profile and coordinates data take the same form used by the timeVaryingMappedFixedValue and turbulentDFSEMInlet boundary conditions, consisting of a points file containing a list of spatial coordinates, and profile data files providing a value per coordinate.

The new condition has been verified for serial and parallel calculations in terms of the first- and second-order turbulence statistics provided by Moser et al., (1999) from smooth-wall plane channel flow direct numerical simulations at Re=395.

The following figures illustrate the verification results in terms of four Reynolds stress tensor components sampled on inlet patch for DFM and FSM variants, respectively:

[Picture]

Source code
$FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/turbulentDigitalFilterInlet
Tutorial
$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow

New wave modelling

Wave boundary conditions were first introduced in OpenFOAM with the release of OpenFOAM v1612 Additional conditions for static meshes have been added in subsequent releases. This release extends the waveMaker condition introduced in OpenFOAM v1812 to generate solitary waves as shown in the example below:

Source code
$FOAM_SRC/waveModels/derivedPointPatchFields/waveMaker
Examples
$FOAM_TUTORIALS/multiphase/interFoam/laminar/waves/waveMakerSolitary
Attribution
These extensions were supplied by the Environmental Hydraulics Institute IHCantabria - see commit 1eddbca63e Authors: Gabriel Barajas
Integration
The code has been integrated by OpenCFD - see commit 47eb0769bf