Public Member Functions | Static Public Member Functions | List of all members
turbulentDFSEMInletFvPatchVectorField Class Reference

The turbulentDFSEMInlet is a synthesised-eddy based velocity inlet boundary condition to generate synthetic turbulence-alike time-series from a given set of turbulence statistics for LES and hybrid RANS-LES computations. More...

Inheritance diagram for turbulentDFSEMInletFvPatchVectorField:
Inheritance graph
[legend]
Collaboration diagram for turbulentDFSEMInletFvPatchVectorField:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("turbulentDFSEMInlet")
 
 turbulentDFSEMInletFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &)
 
 turbulentDFSEMInletFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 
 turbulentDFSEMInletFvPatchVectorField (const turbulentDFSEMInletFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
 
 turbulentDFSEMInletFvPatchVectorField (const turbulentDFSEMInletFvPatchVectorField &)
 
virtual tmp< fvPatchVectorFieldclone () const
 
 turbulentDFSEMInletFvPatchVectorField (const turbulentDFSEMInletFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
 
virtual tmp< fvPatchVectorFieldclone (const DimensionedField< vector, volMesh > &iF) const
 
virtual ~turbulentDFSEMInletFvPatchVectorField ()=default
 
virtual void autoMap (const fvPatchFieldMapper &m)
 
virtual void rmap (const fvPatchVectorField &ptf, const labelList &addr)
 
virtual void updateCoeffs ()
 
virtual void write (Ostream &) const
 

Static Public Member Functions

static bool checkStresses (const symmTensorField &Rf)
 

Detailed Description

The turbulentDFSEMInlet is a synthesised-eddy based velocity inlet boundary condition to generate synthetic turbulence-alike time-series from a given set of turbulence statistics for LES and hybrid RANS-LES computations.

Reference:

    Standard model (tag:PCR):
        Poletto, R., Craft, T., & Revell, A. (2013).
        A new divergence free synthetic eddy method for
        the reproduction of inlet flow conditions for LES.
        Flow, turbulence and combustion, 91(3), 519-539.
        DOI:10.1007/s10494-013-9488-2

    Expression for the average length scale (tag:SST):
        Shur, M., Strelets, M., Travin, A.,
        Probst, A., Probst, S., Schwamborn, D., ... & Revell, A. (2018).
        Improved embedded approaches.
        In: Mockett C., Haase W., Schwamborn D. (eds)
        Go4Hybrid: Grey area mitigation for hybrid RANS-LES methods.
        Notes on Numerical Fluid Mechanics and Multidisciplinary Design.
        p. 51-87. Springer, Cham.
        DOI:10.1007/978-3-319-52995-0_3
Usage
Example of the boundary condition specification:
<patchName>
{
    // Mandatory entries
    type            turbulentDFSEMInlet;
    delta           <scalar>;
    R               <PatchFunction1>;
    U               <PatchFunction1>;
    L               <PatchFunction1>;

        // e.g.
        // R        uniform (<Rxx> <Rxy> <Rxz> <Ryy> <Ryz> <Rzz>);
        // U        uniform (<Ux> <Uy> <Uz>);
        // L        uniform <L>;

    // Optional entries
    d               <scalar>;
    nCellPerEddy    <label>;
    kappa           <scalar>;
    Uref            <scalar>;
    Lref            <scalar>;
    scale           <scalar>;
    m               <scalar>;
    writeEddies     <bool>;

    // Inherited entries
    ...
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: turbulentDFSEMInlet word yes -
delta Characteristic length scale scalar yes -
R Reynolds-stress tensor field PatchFunction1<symmTensor> yes -
U Mean velocity field PatchFunction1<vector> yes -
L Integral-length scale field PatchFunction1<scalar> yes -
d Ratio of sum of eddy volumes to eddy box volume i.e. eddy density (fill fraction) scalar no 1.0
nCellPerEddy Minimum eddy length in units of number of cells label no 5
kappa von Karman constant scalar no 0.41
Uref Normalisation factor for Reynolds-stress tensor and mean velocity scalar no 1.0
Lref Normalisation factor for integral-length scale scalar no 1.0
scale Heuristic scaling factor being applied on the normalisation factor C1 scalar no 1.0
m The power of V defined in C1 scalar no 0.5
writeEddies Flag to write eddies as OBJ file bool no false

The inherited entries are elaborated in:

Note
  • The delta value typically represents the characteristic scale of flow or flow domain, e.g. a channel half height for plane channel flows.
  • nCellPerEddy and scale entries are heuristic entries which do not exist in the standard method, yet are necessary to reproduce the results published in the original journal paper.
  • In the original journal paper, C1 in Eq. 11 is not dimensionless. It is not clear whether this dimensionality issue was intentional. To alleviate this matter, users can alter the input entry m, which is the power of the eddy-box volume defined in the C1, to obtain a dimensionless C1 coefficient. The default value of m is 0.5, which is the value stated in the original journal paper, and m=1/3 leads to a dimensionless C1.
Source files

Definition at line 254 of file turbulentDFSEMInletFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ turbulentDFSEMInletFvPatchVectorField() [1/5]

Definition at line 605 of file turbulentDFSEMInletFvPatchVectorField.C.

Referenced by turbulentDFSEMInletFvPatchVectorField::clone().

Here is the caller graph for this function:

◆ turbulentDFSEMInletFvPatchVectorField() [2/5]

turbulentDFSEMInletFvPatchVectorField ( const fvPatch p,
const DimensionedField< vector, volMesh > &  iF,
const dictionary dict 
)

Definition at line 687 of file turbulentDFSEMInletFvPatchVectorField.C.

References Foam::expressions::patchExpr::debug, eddy::debug, R, and Foam::sqr().

Here is the call graph for this function:

◆ turbulentDFSEMInletFvPatchVectorField() [3/5]

Definition at line 645 of file turbulentDFSEMInletFvPatchVectorField.C.

◆ turbulentDFSEMInletFvPatchVectorField() [4/5]

Definition at line 735 of file turbulentDFSEMInletFvPatchVectorField.C.

◆ turbulentDFSEMInletFvPatchVectorField() [5/5]

Definition at line 774 of file turbulentDFSEMInletFvPatchVectorField.C.

◆ ~turbulentDFSEMInletFvPatchVectorField()

virtual ~turbulentDFSEMInletFvPatchVectorField ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "turbulentDFSEMInlet"  )

◆ clone() [1/2]

virtual tmp<fvPatchVectorField> clone ( ) const
inlinevirtual

Definition at line 425 of file turbulentDFSEMInletFvPatchVectorField.H.

References turbulentDFSEMInletFvPatchVectorField::turbulentDFSEMInletFvPatchVectorField().

Here is the call graph for this function:

◆ clone() [2/2]

virtual tmp<fvPatchVectorField> clone ( const DimensionedField< vector, volMesh > &  iF) const
inlinevirtual

Definition at line 442 of file turbulentDFSEMInletFvPatchVectorField.H.

References turbulentDFSEMInletFvPatchVectorField::turbulentDFSEMInletFvPatchVectorField().

Here is the call graph for this function:

◆ checkStresses()

bool checkStresses ( const symmTensorField Rf)
static

◆ autoMap()

void autoMap ( const fvPatchFieldMapper m)
virtual

Definition at line 883 of file turbulentDFSEMInletFvPatchVectorField.C.

References fvPatchField< Type >::autoMap().

Here is the call graph for this function:

◆ rmap()

void rmap ( const fvPatchVectorField ptf,
const labelList addr 
)
virtual

Definition at line 907 of file turbulentDFSEMInletFvPatchVectorField.C.

References fvPatchField< Type >::rmap().

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

◆ write()

void write ( Ostream os) const
virtual

Definition at line 1050 of file turbulentDFSEMInletFvPatchVectorField.C.

References os(), fvPatchField::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

The documentation for this class was generated from the following files: