wallFunctionBlenders Class Reference

The class wallFunctionBlenders is a base class that hosts common entries for various derived wall-function boundary conditions to be used in low- and high-Reynolds number applications. More...

Inheritance diagram for wallFunctionBlenders:
[legend]
Collaboration diagram for wallFunctionBlenders:
[legend]

Public Member Functions

 wallFunctionBlenders ()
 Default construct with default coefficients. More...
 
 wallFunctionBlenders (const dictionary &dict, const blenderType blender, const scalar n)
 Construct from dictionary and default parameters. More...
 
void writeEntries (Ostream &) const
 Write wall-function blending data as dictionary entries. More...
 

Protected Types

enum  blenderType {
  STEPWISE , MAX , BINOMIAL , EXPONENTIAL ,
  TANH
}
 Options for the blending treatment of viscous and inertial sublayers. More...
 

Protected Attributes

enum blenderType blender_
 Blending treatment. More...
 
scalar n_
 

Static Protected Attributes

static const Enum< blenderTypeblenderTypeNames
 Names for blenderType. More...
 

Detailed Description

The class wallFunctionBlenders is a base class that hosts common entries for various derived wall-function boundary conditions to be used in low- and high-Reynolds number applications.

Reference:

    Default model coefficients (tag:VM):
        Versteeg, H. K., & Malalasekera, W. (2011).
        An introduction to computational fluid dynamics: The finite
        volume method. Harlow: Pearson Education.
        Subsection "3.5.2 k-epsilon model".

    Binomial blending of the viscous and inertial sublayers (tag:ME):
        Menter, F., & Esch, T. (2001).
        Elements of industrial heat transfer prediction.
        In Proceedings of the 16th Brazilian Congress of Mechanical
        Engineering (COBEM), November 2001. vol. 20, p. 117-127.

    Exponential/Max blending of the viscous and inertial sublayers (tag:PH):
        Popovac, M., & Hanjalić, K. (2007).
        Compound wall treatment for RANS computation of complex
        turbulent flows and heat transfer.
        Flow, turbulence and combustion, 78(2), 177-202.
        DOI:10.1007/s10494-006-9067-x

    Tanh blending of the viscous and inertial sublayers (tag:KAS):
        Knopp, T., Alrutz, T., & Schwamborn, D. (2006).
        A grid and flow adaptive wall-function method for RANS
        turbulence modelling.
        Journal of Computational Physics, 220(1), 19-40.
        DOI:10.1016/j.jcp.2006.05.003
Usage
Example of the boundary condition specification:
<patchName>
{
    // Top-level entries
    ...

    // Optional entries
    blending        stepwise;
    n               4.0;

    // Inherited entries
    ...
}

where the entries mean:

Property Description Type Reqd Deflt
blending Viscous/inertial sublayer blending word no stepwise
n Binomial blending exponent scalar no 2.0

Options for the blending entry:

      stepwise    | Stepwise switch (discontinuous)
      max         | Maximum value switch (discontinuous)
      binomial    | Binomial blending (smooth)
      exponential | Exponential blending (smooth)
      tanh        | Tanh blending (smooth)

wherein predictions of a given quantity (e.g. nut) for viscous and inertial sublayers are blended according to the following expressions:

  • stepwise (default):

\[ \phi = \phi_{log} \qquad if \quad y^+ > y^+_{intersection} \]

\[ \phi = \phi_{vis} \qquad if \quad y^+ <= y^+_{intersection} \]

where

\( \phi_{vis} \) = \(\phi\) prediction in viscous sublayer
\( \phi_{log} \) = \(\phi\) prediction in inertial sublayer
\( y^+ \) = estimated wall-normal height of cell centre in wall units
\( y^+_{intersection} \) = estimated \(y^+\) where sublayers intersect
  • max (PH:Eq. 27):

\[ \nu_t = max({\nu_t}_{vis}, {\nu_t}_{log}) \]

  • binomial (ME:Eqs. 15-16):

\[ \phi = ((\phi_{vis})^n + (\phi_{log})^n)^{1/n} \]

where

\( n \) = Binomial blending exponent
  • exponential (PH:Eq. 32):

\[ \phi = \phi_{vis} \exp[-\Gamma] + \phi_{log} \exp[-1/\Gamma] \]

where (PH:Eq. 31)

\( \Gamma \) = Blending expression
\( \Gamma \) = \(0.01 (y^+)^4 / (1.0 + 5.0 y^+)\)
  • tanh (KAS:Eqs. 33-34):

\[ \phi = \eta \phi_{b1} + (1 - \eta)\phi_{b2} \]

where

\( \eta \) = \(tanh((y^+/10)^4)\)
\( \phi_{b1} \) = \(\phi_{vis} + \phi_{log}\)
\( \phi_{b2} \) = \((\phi_{vis}^{1.2} + \phi_{log}^1.2)^{1/1.2}\)

G predictions for viscous and inertial sublayers are blended in a stepwise manner, and G below \(y^+_{intersection}\) (i.e. in the viscous sublayer) is presumed to be zero.

Blending treatments are enabled for the following wall functions:

Source files

Definition at line 253 of file wallFunctionBlenders.H.

Member Enumeration Documentation

◆ blenderType

enum blenderType
protected

Options for the blending treatment of viscous and inertial sublayers.

Enumerator
STEPWISE 

"Stepwise switch (discontinuous)"

MAX 

"Maximum value switch (discontinuous)"

BINOMIAL 

"Binomial blending (smooth)"

EXPONENTIAL 

"Exponential blending (smooth)"

TANH 

"Tanh blending (smooth)"

Definition at line 260 of file wallFunctionBlenders.H.

Constructor & Destructor Documentation

◆ wallFunctionBlenders() [1/2]

Default construct with default coefficients.

Definition at line 51 of file wallFunctionBlenders.C.

◆ wallFunctionBlenders() [2/2]

wallFunctionBlenders ( const dictionary dict,
const blenderType  blender,
const scalar  n 
)

Construct from dictionary and default parameters.

Definition at line 58 of file wallFunctionBlenders.C.

Member Function Documentation

◆ writeEntries()

void writeEntries ( Ostream os) const

Write wall-function blending data as dictionary entries.

Definition at line 88 of file wallFunctionBlenders.C.

References os(), and Ostream::writeEntry().

Referenced by epsilonWallFunctionFvPatchScalarField::writeLocalEntries(), nutkWallFunctionFvPatchScalarField::writeLocalEntries(), nutUWallFunctionFvPatchScalarField::writeLocalEntries(), and omegaWallFunctionFvPatchScalarField::writeLocalEntries().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ blenderTypeNames

const Foam::Enum< Foam::wallFunctionBlenders::blenderType > blenderTypeNames
staticprotected

Names for blenderType.

Definition at line 270 of file wallFunctionBlenders.H.

◆ blender_

enum blenderType blender_
protected

◆ n_

scalar n_
protected

Binomial blending exponent being used when blenderType is blenderType::BINOMIAL

Definition at line 280 of file wallFunctionBlenders.H.

Referenced by nutkWallFunctionFvPatchScalarField::calcNut(), and nutUWallFunctionFvPatchScalarField::calcNut().


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