DOC: wall functions: update header-file documentation

This commit is contained in:
Kutalmis Bercin
2022-05-04 18:15:27 +01:00
parent 876fc94bc8
commit dcfbdd2cad
29 changed files with 641 additions and 719 deletions

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2017 OpenCFD Ltd
Copyright (C) 2017-2022 OpenCFD Ltd
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -35,27 +35,34 @@ Description
thermal diffusivity (usually\c alphat) based on the Jayatilleke model.
Usage
\table
Property | Description | Required | Default value
Prt | turbulent Prandtl number | no | 0.85
kappa | Von Karman constant | no | 0.41
E | model coefficient | no | 9.8
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries
type alphatJayatillekeWallFunction;
Prt 0.85;
kappa 0.41;
E 9.8;
value uniform 0; // optional value entry
// Optional entries
Prt <scalar>;
kappa <scalar>;
E <scalar>;
// Inherited entries
...
}
\endverbatim
See also
Foam::fixedValueFvPatchField
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: alphatJayatillekeWallFunction | word | yes | -
Prt | Turbulent Prandtl number | scalar | no | 0.85
kappa | von Karman constant | scalar | no | 0.41
E | Wall roughness parameter | scalar | no | 9.8
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
SourceFiles
alphatJayatillekeWallFunctionFvPatchScalarField.C
@ -83,7 +90,7 @@ class alphatJayatillekeWallFunctionFvPatchScalarField
:
public fixedValueFvPatchScalarField
{
// Private data
// Private Data
//- Turbulent Prandtl number
scalar Prt_;
@ -148,8 +155,8 @@ public:
);
//- Construct by mapping given an
// alphatJayatillekeWallFunctionFvPatchScalarField
// onto a new patch
//- alphatJayatillekeWallFunctionFvPatchScalarField
//- onto a new patch
alphatJayatillekeWallFunctionFvPatchScalarField
(
const alphatJayatillekeWallFunctionFvPatchScalarField&,
@ -197,9 +204,9 @@ public:
}
// Member functions
// Member Functions
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -43,31 +44,36 @@ Description
where
\vartable
\alpha_t| turblence thermal diffusivity
\mu_t | turblence viscosity
Pr_t | turblent Prandtl number
\alpha_t| Turbulence thermal diffusivity
\mu_t | Turbulence viscosity
Pr_t | Turbulent Prandtl number
\endvartable
Usage
\table
Property | Description | Required | Default value
nut | turbulence viscosity field name | no | nut
Prt | turbulent Prandtl number | no | 0.85
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries
type alphatWallFunction;
nut nut;
Prt 0.85;
value uniform 0; // optional value entry
// Optional entries
Prt <scalar>;
// Inherited entries
...
}
\endverbatim
See also
Foam::fixedValueFvPatchField
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: alphatWallFunction | word | yes | -
Prt | Turbulent Prandtl number | scalar | no | 0.85
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
SourceFiles
alphatWallFunctionFvPatchScalarField.C
@ -94,9 +100,9 @@ class alphatWallFunctionFvPatchScalarField
:
public fixedValueFvPatchScalarField
{
// Private data
// Private Data
//- Turbulent Prandtl number (default = 0.85)
//- Turbulent Prandtl number
scalar Prt_;
@ -124,8 +130,8 @@ public:
);
//- Construct by mapping given
// alphatWallFunctionFvPatchScalarField
// onto a new patch
//- alphatWallFunctionFvPatchScalarField
//- onto a new patch
alphatWallFunctionFvPatchScalarField
(
const alphatWallFunctionFvPatchScalarField&,
@ -169,9 +175,9 @@ public:
}
// Member functions
// Member Functions
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2017 OpenCFD Ltd
Copyright (C) 2017-2022 OpenCFD Ltd
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -35,26 +35,37 @@ Description
for using wall functions, using the Jayatilleke 'P' function.
Usage
\table
Property | Description | Required | Default value
Prt | turbulent Prandtl number | no | 0.85
kappa | Von Karman constant | no | 0.41
E | model coefficient | no | 9.8
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries
type alphatJayatillekeWallFunction;
// Optional entries
Prt <scalar>;
kappa <scalar>;
E <scalar>;
// Inherited entries
...
}
\endverbatim
Note
The units of kinematic turbulent thermal conductivity are [m2/s]
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: alphatJayatillekeWallFunction | word | yes | -
Prt | Turbulent Prandtl number | scalar | no | 0.85
kappa | von Karman constant | scalar | no | 0.41
E | Wall roughness parameter | scalar | no | 9.8
\endtable
See also
Foam::fixedValueFvPatchField
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
Note
- The units of kinematic turbulent thermal conductivity are [m2/s].
SourceFiles
alphatJayatillekeWallFunctionFvPatchScalarField.C
@ -84,7 +95,7 @@ class alphatJayatillekeWallFunctionFvPatchScalarField
{
protected:
// Protected data
// Protected Data
//- Turbulent Prandtl number
scalar Prt_;
@ -102,7 +113,7 @@ protected:
static label maxIters_;
// Protected member functions
// Protected Member Functions
//- Check the type of the patch
virtual void checkType();
@ -145,8 +156,8 @@ public:
);
//- Construct by mapping given
// alphatJayatillekeWallFunctionFvPatchScalarField
// onto a new patch
//- alphatJayatillekeWallFunctionFvPatchScalarField
//- onto a new patch
alphatJayatillekeWallFunctionFvPatchScalarField
(
const alphatJayatillekeWallFunctionFvPatchScalarField&,
@ -190,9 +201,9 @@ public:
}
// Member functions
// Member Functions
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -30,7 +31,36 @@ Group
grpTurbulenceBoundaryConditions
Description
Set a constant shear stress as tau0 = -nuEff dU/dn.
This boundary condition sets a user-defined shear stress
constant and uniform across a given patch by using the expression:
\f[
tau_0 = -\nu_{eff} \frac{dU}{dn}
\f]
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries
type fixedShearStress;
tau <vector>;
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: fixedShearStress | word | yes | -
tau | Shear stress | vector | yes | -
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
SourceFiles
fixedShearStressFvPatchVectorField.C
@ -56,7 +86,7 @@ class fixedShearStressFvPatchVectorField
:
public fixedValueFvPatchVectorField
{
// Private data
// Private Data
//- Constant shear stress
const vector tau0_;
@ -129,13 +159,18 @@ public:
}
// Member functions
// Member Functions
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
// Evaluation
//- Write
virtual void write(Ostream&) const;
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
// I-O
//- Write
virtual void write(Ostream&) const;
};

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2016 OpenCFD Ltd.
Copyright (C) 2016-2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -31,17 +31,16 @@ Group
grpCoupledBoundaryConditions
Description
This boundary condition provides a jump condition, using the \c cyclic
condition as a base.
This boundary condition provides a jump condition,
using the \c cyclic condition as a base.
The porous baffle introduces a pressure jump defined by:
\f[
\Delta p = -(D \mu U + 0.5 I \rho |U|^2 )L
\f]
\f[
\Delta p = -(D \mu U + 0.5 I \rho |U|^2 )L
\f]
where
\vartable
p | pressure [Pa]
\rho | density [kg/m3]
@ -51,36 +50,52 @@ Description
L | porous media length in the flow direction
\endvartable
Usage
\table
Property | Description | Required | Default value
patchType | underlying patch type should be \c cyclic| yes |
phi | flux field name | no | phi
rho | density field name | no | rho
D | Darcy coefficient | yes |
I | inertial coefficient | yes |
length | porous media length in the flow direction | yes |
uniformJump | applies a uniform pressure drop on the patch based on the
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries
type porousBafflePressure;
patchType cyclic;
jump uniform 0;
D 0.001;
I 1000000;
length 0.1;
// Optional entries
phi phi;
rho rho;
uniformJump false;
value uniform 0;
// Inherited entries
patchType cyclic;
jump uniform 0;
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: porousBafflePressure | word | yes | -
D | Darcy coefficient | Function1<scalar> | yes | -
I | Inertial coefficient | Function1<scalar> | yes | -
length | Porous media length in the flow direction <!--
--> | scalar | yes | -
uniformJump | Flag to apply a uniform pressure drop on <!--
--> the patch based on the | bool | no | false
phi | Name of flux field | word | no | phi
rho | Name of density field | word | no | rho
patchType | Underlying patch type should be \c cyclic | word | yes | -
jump | Jump value | scalarField | yes | -
\endtable
The inherited entries are elaborated in:
- \link fixedJumpFvPatchField.H \endlink
- \link Function1.H \endlink
Note
The underlying \c patchType should be set to \c cyclic
The underlying \c patchType should be set to \c cyclic.
SourceFiles
porousBafflePressureFvPatchField.C
@ -106,7 +121,7 @@ class porousBafflePressureFvPatchField
:
public fixedJumpFvPatchField<scalar>
{
// Private data
// Private Data
//- Name of flux field (default = phi)
const word phiName_;
@ -151,7 +166,7 @@ public:
);
//- Construct by mapping given porousBafflePressureFvPatchField
// onto a new patch
//- onto a new patch
porousBafflePressureFvPatchField
(
const porousBafflePressureFvPatchField&,
@ -195,17 +210,17 @@ public:
}
// Member functions
// Member Functions
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
// I-O
//- Write
virtual void write(Ostream&) const;
//- Write
virtual void write(Ostream&) const;
};

View File

@ -31,128 +31,39 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent kinetic
energy dissipation rate, i.e. \c epsilon, and the turbulent kinetic
energy production contribution, i.e. \c G, for low- and high-Reynolds
number turbulence models.
Reference:
\verbatim
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
\endverbatim
This boundary condition provides wall functions for the turbulent kinetic
energy dissipation rate (i.e. \c epsilon) and the turbulent kinetic
energy production contribution (i.e. \c G) for low- and high-Reynolds
number simulations.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type epsilonWallFunction;
// Optional entries (unmodifiable)
// Optional entries
lowReCorrection false;
blending stepwise;
n 2.0;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: epsilonWallFunction | word | yes | -
lowReCorrection | Flag: apply low-Re correction | bool | no | false
blending | Viscous/inertial sublayer blending method <!--
--> | word | no | stepwise
n | Binomial blending exponent | scalar | no | 2.0
Property | Description | Type | Reqd | Deflt
type | Type name: epsilonWallFunction | word | yes | -
lowReCorrection | Flag: apply low-Re correction | bool | no | false
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchField.H \endlink
- \link nutWallFunctionFvPatchScalarField.H \endlink
Options for the \c blending entry:
\verbatim
stepwise | Stepwise switch (discontinuous)
max | Maximum value switch (discontinuous)
binomial | Binomial blending (smooth)
exponential | Exponential blending (smooth)
\endverbatim
wherein \c epsilon predictions for the viscous and inertial sublayers are
blended according to the following expressions:
- \c stepwise (default):
\f[
\epsilon = \epsilon_{vis} \qquad if \quad y^+ < y^+_{lam}
\f]
\f[
\epsilon = \epsilon_{log} \qquad if \quad y^+ >= y^+_{lam}
\f]
where
\vartable
\epsilon | \f$\epsilon\f$ at \f$y^+\f$
\epsilon_{vis} | \f$\epsilon\f$ computed by viscous subl. assumptions
\epsilon_{log} | \f$\epsilon\f$ computed by inertial subl. assumptions
y^+ | estimated wall-normal height of the cell centre in wall units
y^+_{lam} | estimated intersection of the viscous and inertial sublayers
\endvartable
- \c max (PH:Eq. 27):
\f[
\epsilon = max(\epsilon_{vis}, \epsilon_{log})
\f]
- \c binomial (ME:Eqs. 15-16):
\f[
\epsilon = ((\epsilon_{vis})^n + (\epsilon_{log})^n)^{1/n}
\f]
where
\vartable
n | Binomial blending exponent
\endvartable
- \c exponential (PH:Eq. 32):
\f[
\epsilon = \epsilon_{vis} \exp[-\Gamma] +\epsilon_{log} \exp[-1/\Gamma]
\f]
where (PH:p. 193)
\vartable
\Gamma_\epsilon | \f$\Gamma = 0.001 (y^+)^4 / (1.0 + y^+)\f$
\Gamma_G | \f$\Gamma = 0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
\Gamma_\epsilon | Blending expression for \f$\epsilon\f$
\Gamma_G | Blending expression for \f$G\f$
\endvartable
\c G predictions for the viscous and inertial sublayers are blended
in a stepwise manner, and \c G below \f$y^+_{lam}\f$ (i.e. in the viscous
sublayer) is presumed to be zero.
- \link wallFunctionCoefficients.H \endlink
- \link wallFunctionBlenders.H \endlink
Note
- The coefficients \c Cmu, \c kappa, and \c E are obtained from
the specified \c nutWallFunction in order to ensure that each patch
possesses the same set of values for these coefficients.
- \c lowReCorrection operates with only \c stepwise blending treatment to
ensure the backward compatibility.
- If \c lowReCorrection is \c on, \c stepwise blending treatment is fully
@ -160,9 +71,6 @@ Note
- If \c lowReCorrection is \c off, only the inertial sublayer prediction
is used in the wall function, hence high-Re mode operation.
See also
- Foam::omegaWallFunctionFvPatchScalarField
SourceFiles
epsilonWallFunctionFvPatchScalarField.C
@ -348,7 +256,7 @@ public:
scalarField& epsilon(bool init = false);
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -31,67 +31,59 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent kinetic
energy, i.e. \c k, for low- and high-Reynolds number turbulence models.
This boundary condition provides a wall function for the turbulent kinetic
energy (i.e. \c k) for low- and high-Reynolds number simulations.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type kLowReWallFunction;
// Optional entries (unmodifiable)
// Optional entries
Ceps2 1.9;
Ck -0.416;
Bk 8.366;
C 11.0;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: kLowReWallFunction | word | yes | -
Ceps2 | Model coefficient | scalar | no | 1.9
Ck | Model coefficient | scalar | no | -0.416
Bk | Model coefficient | scalar | no | 8.366
C | Model coefficient | scalar | no | 11.0
Property | Description | Type | Reqd | Deflt
type | Type name: kLowReWallFunction | word | yes | -
Ceps2 | Model coefficient | scalar | no | 1.9
Ck | Model coefficient | scalar | no | -0.416
Bk | Model coefficient | scalar | no | 8.366
C | Model coefficient | scalar | no | 11.0
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchField.H \endlink
- \link wallFunctionCoefficients.H \endlink
Viscous and inertial sublayer predictions for \c k are blended in
a stepwise manner:
\f[
k = k_{log} \qquad if \quad y^+ > y^+_{lam}
k = k_{log} \qquad if \quad y^+ > y^+_{intersection}
\f]
\f[
k = k_{vis} \qquad if \quad y^+ <= y^+_{lam}
k = k_{vis} \qquad if \quad y^+ <= y^+_{intersection}
\f]
where
\vartable
k_{vis} | k prediction in the viscous sublayer
k_{log} | k prediction in the inertial sublayer
y^+ | estimated wall-normal height of the cell centre in wall units
y^+_{lam} | estimated intersection of the viscous and inertial sublayers
y^+_{intersection} | estimated \f$y^+\f$ where sublayers intersect
\endvartable
Note
The coefficients \c Cmu, \c kappa, and \c E are obtained from
the specified \c nutWallFunction in order to ensure that each patch
possesses the same set of values for these coefficients.
See also
- Foam::fixedValueFvPatchField
- Foam::kqRWallFunctionFvPatchScalarField
SourceFiles
kLowReWallFunctionFvPatchScalarField.C
@ -212,7 +204,7 @@ public:
// Member Functions
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017, 2019 OpenFOAM Foundation
Copyright (C) 2019-2020 OpenCFD Ltd.
Copyright (C) 2019-2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -32,28 +32,28 @@ Group
Description
This boundary condition provides a simple wrapper around the zero-gradient
condition, which can be used for the turbulent kinetic energy, i.e. \c k,
square-root of turbulent kinetic energy, i.e. \c q, and Reynolds stress
tensor fields, i.e. \c R, for the cases of high Reynolds number flow
using wall functions.
condition, which can be used for the turbulent kinetic energy (i.e. \c k),
square-root of turbulent kinetic energy (i.e. \c q) and Reynolds stress
symmetric-tensor fields (i.e. \c R) for the cases of high Reynolds number
flow using wall functions. It is not a wall-function condition.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type kqRWallFunction;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: kqRWallFunction | word | yes | -
Property | Description | Type | Reqd | Deflt
type | Type name: kqRWallFunction | word | yes | -
\endtable
The inherited entries are elaborated in:

View File

@ -31,27 +31,28 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the
turbulent viscosity, i.e. \c nut, for low Reynolds number models.
It sets \c nut to zero, and provides an access function to calculate \c y+.
This boundary condition provides a simple wrapper around a zero
fixed-value condition for the turbulent viscosity (i.e. \c nut)
for low-Reynolds number applications. It sets \c nut to zero,
and provides an access function to calculate \c y+.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutLowReWallFunction;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutLowReWallFunction | word | yes | -
Property | Description | Type | Reqd | Deflt
type | Type name: nutLowReWallFunction | word | yes | -
\endtable
The inherited entries are elaborated in:

View File

@ -30,21 +30,21 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on velocity, i.e. \c U, using a
This boundary condition provides a wall function for the turbulent
viscosity (i.e. \c nut) based on velocity (i.e. \c U) using a
binomial-function wall-function blending method between the viscous
and inertial sublayer predictions of \c nut for low- and high-Reynolds
number turbulence models.
number applications.
\f[
u_\tau = (u_{\tau,v}^n + u_{\tau,l}^n)^{1/n}
\f]
\f[
u_\tau = (u_{\tau,vis}^n + u_{\tau,log}^n)^{1/n}
\f]
where
\vartable
u_\tau | Friction velocity
u_{\tau,v} | Friction velocity in the viscous sublayer
u_{\tau,l} | Friction velocity in the inertial sublayer
u_{\tau,vis} | Friction velocity in the viscous sublayer
u_{\tau,log} | Friction velocity in the inertial sublayer
\endvartable
Reference:
@ -62,22 +62,22 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutUBlendedWallFunction;
// Optional entries (unmodifiable)
// Optional entries
n 4.0;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutUBlendedWallFunction | word | yes | -
n | Blending factor | scalar | no | 4.0
Property | Description | Type | Reqd | Deflt
type | Type name: nutUBlendedWallFunction | word | yes | -
n | Blending factor | scalar | no | 4.0
\endtable
The inherited entries are elaborated in:
@ -92,10 +92,6 @@ Note
it is called.
See \link nutUSpaldingWallFunctionFvPatchScalarField.C \endlink.
See also
- Foam::nutWallFunctionFvPatchScalarField
- Foam::omegaWallFunctionFvPatchScalarField
SourceFiles
nutUBlendedWallFunctionFvPatchScalarField.C
@ -210,7 +206,7 @@ public:
// Member Functions
// Evaluation functions
// Evaluation
//- Calculate and return the yPlus at the boundary
virtual tmp<scalarField> yPlus() const;

View File

@ -31,33 +31,33 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on velocity i.e. \c U, for low- and
high-Reynolds number turbulence models for rough walls.
This boundary condition provides a wall function on the turbulent
viscosity (i.e. \c nut) based on velocity (i.e. \c U) for low- and
high-Reynolds number applications for rough walls.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutURoughWallFunction;
roughnessHeight 1e-5;
roughnessConstant 0.5;
roughnessFactor 1;
// Optional entries (unmodifiable)
// Optional entries
maxIter 10;
tolerance 0.0001;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: nutURoughWallFunction | word | yes | -
roughnessHeight | Roughness height | scalar | yes | -
roughnessConstant | Roughness constant | scalar | yes | -
@ -242,7 +242,7 @@ public:
}
// Evaluation functions
// Evaluation
//- Calculate and return the yPlus at the boundary
virtual tmp<scalarField> yPlus() const;

View File

@ -31,20 +31,20 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on velocity, i.e. \c U. Using Spalding's
This boundary condition provides a wall function for the turbulent
viscosity (i.e. \c nut) based on velocity (i.e. \c U). Using Spalding's
law gives a continuous \c nut profile to the wall.
\f[
y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\,
- 0.5 (\kappa u^+)^2 - \frac{1}{6} (\kappa u^+)^3\right]
\f]
\f[
y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\,
- 0.5 (\kappa u^+)^2 - \frac{1}{6} (\kappa u^+)^3\right]
\f]
where
\vartable
y^+ | Non-dimensional position
u^+ | Non-dimensional velocity
\kappa | von Kármán constant
y^+ | Wall-normal height of a cell centre in wall units
u^+ | Velocity at \f$y^+\f$ in wall units
\kappa | von Karman constant
\endvartable
Usage
@ -52,35 +52,35 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutUSpaldingWallFunction;
// Optional entries (unmodifiable)
// Optional entries
maxIter 10;
tolerance 0.0001;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutUBlendedWallFunction | word | yes | -
maxIter | Number of Newton-Raphson iterations | label | no | 10
tolerance | Convergence tolerance | scalar | no | 0.0001
Property | Description | Type | Reqd | Deflt
type | Type name: nutUSpaldingWallFunction | word | yes | -
maxIter | Number of Newton-Raphson iterations | label | no | 10
tolerance | Convergence tolerance | scalar | no | 0.0001
\endtable
The inherited entries are elaborated in:
- \link nutWallFunctionFvPatchScalarField.H \endlink
Note
- Suffers from non-exact restart since \c correctNut() (called through
- Suffers from non-exact restart since \c correctNut() (called through
\c turbulence->validate) returns a slightly different value every time
it is called. This is since the seed for the Newton-Raphson iteration
uses the current value of \c *this (\c =nut ).
- This can be avoided by overriding the tolerance. This also switches on
- This can be avoided by overriding the tolerance. This also switches on
a pre-detection whether the current nut already satisfies the turbulence
conditions and if so does not change it at all. This means that the nut
only changes if it 'has really changed'. This probably should be used with
@ -224,7 +224,7 @@ public:
// Member Functions
// Evaluation functions
// Evaluation
//- Calculate and return the yPlus at the boundary
virtual tmp<scalarField> yPlus() const;

View File

@ -32,8 +32,8 @@ Group
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for low- and
high-Reynolds number turbulence models.
viscosity (i.e. \c nut) based on velocity (i.e. \c U), for low- and
high-Reynolds number applications.
As input, the user specifies a look-up table of \c u+ as a function of
near-wall Reynolds number.
@ -45,27 +45,28 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutTabulatedWallFunction;
uPlusTable myUPlusTable;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutUTabulatedWallFunction | word | yes | -
uPlusTable | u+ as a function of Re table name | word | yes | -
Property | Description | Type | Reqd | Deflt
type | Type name: nutUTabulatedWallFunction | word | yes | -
uPlusTable | u+ as a function of Re table name | word | yes | -
\endtable
The inherited entries are elaborated in:
- \link nutWallFunctionFvPatchScalarField.H \endlink
- \link uniformInterpolationTable.H \endlink
Note
- The tables are not registered since the same table object may be used for
- The tables are not registered since the same table object may be used for
more than one patch.
SourceFiles
@ -186,7 +187,7 @@ public:
// Member Functions
// Evaluation functions
// Evaluation
//- Calculate and return the yPlus at the boundary
virtual tmp<scalarField> yPlus() const;

View File

@ -31,39 +31,38 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on velocity, i.e. \c U, for low- and
high-Reynolds number turbulence models.
This boundary condition provides a wall function for the turbulent
viscosity (i.e. \c nut) based on velocity (i.e. \c U) for low- and
high-Reynolds number applications.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutUWallFunction;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutUWallFunction | word | yes | -
Property | Description | Type | Reqd | Deflt
type | Type name: nutUWallFunction | word | yes | -
\endtable
The inherited entries are elaborated in:
- \link nutWallFunctionFvPatchScalarField.H \endlink
- \link wallFunctionBlenders.H \endlink
Note
- Suffers from non-exact restart since \c correctNut() (called through
- Suffers from non-exact restart since \c correctNut() (called through
\c turbulence->validate) returns a slightly different value every time
it is called.
See \link nutUSpaldingWallFunctionFvPatchScalarField.C \endlink.
- See \link nutWallFunctionFvPatchScalarField.H \endlink for the wall
function blending treatments.
SourceFiles
nutUWallFunctionFvPatchScalarField.C
@ -175,7 +174,7 @@ public:
// Member Functions
// Evaluation functions
// Evaluation
//- Calculate and return the yPlus at the boundary
virtual tmp<scalarField> yPlus() const;

View File

@ -31,132 +31,35 @@ Group
grpWallFunctions
Description
The class \c nutWallFunction is a base class that parents the derived
boundary conditions which provide a wall constraint on various fields, such
as turbulent viscosity, i.e. \c nut, or turbulent kinetic energy dissipation
rate, i.e. \c epsilon, for low- and high-Reynolds number turbulence models.
The class is not an executable itself, yet a provider for common entries
to its derived boundary conditions.
Reference:
\verbatim
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
\endverbatim
The class \c nutWallFunction is an abstract base class that
hosts \f$y^+\f$ calculation methods and common functions for
\c nut wall-function boundary conditions.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory and other optional entries
// Top-level entries
...
// Optional (inherited) entries
Cmu 0.09;
kappa 0.41;
E 9.8;
blending stepwise;
n 4.0;
U U;
// Optional entries
U U;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
Cmu | Empirical model coefficient | scalar | no | 0.09
kappa | von Kármán constant | scalar | no | 0.41
E | Wall roughness parameter | scalar | no | 9.8
blending | Viscous/inertial sublayer blending | word | no | stepwise
n | Binomial blending exponent | scalar | no | 2.0
U | Name of the velocity field | word | no | U
Property | Description | Type | Reqd | Deflt
U | Name of operand velocity field | word | no | U
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
Options for the \c blending entry:
\verbatim
stepwise | Stepwise switch (discontinuous)
max | Maximum value switch (discontinuous)
binomial | Binomial blending (smooth)
exponential | Exponential blending (smooth)
\endverbatim
wherein \c nut predictions for the viscous and inertial sublayers are
blended according to the following expressions:
- \c stepwise (default):
\f[
\nu_t = {\nu_t}_{log} \qquad if \quad y^+ > y^+_{lam}
\f]
\f[
\nu_t = {\nu_t}_{vis} \qquad if \quad y^+ <= y^+_{lam}
\f]
where
\vartable
{\nu_t}_{vis} | \f$\nu_t\f$ prediction in the viscous sublayer
{\nu_t}_{log} | \f$\nu_t\f$ prediction in the inertial sublayer
y^+ | estimated wall-normal height of the cell centre in wall units
y^+_{lam} | estimated intersection of the viscous and inertial sublayers
\endvartable
- \c max (PH:Eq. 27):
\f[
\nu_t = max({\nu_t}_{vis}, {\nu_t}_{log})
\f]
- \c binomial (ME:Eqs. 15-16):
\f[
\nu_t = (({\nu_t}_{vis})^n + ({\nu_t}_{log})^n)^{1/n}
\f]
where
\vartable
n | Binomial blending exponent
\endvartable
- \c exponential (PH:Eq. 32):
\f[
\nu_t = {\nu_t}_{vis} \exp[-\Gamma] + {\nu_t}_{log} \exp[-1/\Gamma]
\f]
where (PH:Eq. 31)
\vartable
\Gamma | Blending expression
\Gamma | \f$0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
\endvartable
See also
- Foam::fixedValueFvPatchField
- \link wallFunctionCoefficients.H \endlink
SourceFiles
nutWallFunctionFvPatchScalarField.C
@ -277,7 +180,7 @@ public:
virtual tmp<scalarField> yPlus() const = 0;
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -31,37 +31,37 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, when using wall functions for rough walls,
based on the turbulent kinetic energy, i.e. \c k. The condition
manipulates the wall roughness parameter, i.e. \c E, to account
This boundary condition provides a wall-function for the turbulent
viscosity (i.e. \c nut) when using wall functions for rough walls,
based on the turbulent kinetic energy (i.e. \c k). The condition
manipulates the wall roughness parameter (i.e. \c E) to account
for roughness effects.
Parameter ranges:
- roughness height = sand-grain roughness (0 for smooth walls)
- roughness constant = 0.5-1.0
- roughness height (i.e. \c Ks)= sand-grain roughness (0 for smooth walls)
- roughness constant (i.e. \c Cs) = 0.5-1.0
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutkRoughWallFunction;
Ks uniform 0;
Cs uniform 0.5;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutkRoughWallFunction | word | yes | -
Ks | Sand-grain roughness height | scalarField | yes | -
Cs | Roughness constant | scalarField | yes | -
Property | Description | Type | Reqd | Dflt
type | Type name: nutkRoughWallFunction | word | yes | -
Ks | Sand-grain roughness height | scalarField | yes | -
Cs | Roughness constant | scalarField | yes | -
\endtable
The inherited entries are elaborated in:
@ -184,22 +184,22 @@ public:
// Member Functions
// Access functions
// Access
// Return Ks
//- Return Ks
scalarField& Ks()
{
return Ks_;
}
// Return Cs
//- Return Cs
scalarField& Cs()
{
return Cs_;
}
// Mapping functions
// Mapping
//- Map (and resize as needed) from self given a mapping object
virtual void autoMap(const fvPatchFieldMapper&);

View File

@ -31,35 +31,32 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the turbulent
viscosity, i.e. \c nut, based on the turbulent kinetic energy,
i.e. \c k, for for low- and high-Reynolds number turbulence models.
This boundary condition provides a wall function for the turbulent
viscosity (i.e. \c nut) based on the turbulent kinetic energy,
(i.e. \c k) for for low- and high-Reynolds number applications.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type nutkWallFunction;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Req'd | Dflt
type | Type name: nutkWallFunction | word | yes | -
Property | Description | Type | Reqd | Deflt
type | Type name: nutkWallFunction | word | yes | -
\endtable
The inherited entries are elaborated in:
- \link nutWallFunctionFvPatchScalarField.H \endlink
Note
- See \link nutWallFunctionFvPatchScalarField.H \endlink for the wall
function blending treatments.
- \link wallFunctionBlenders.H \endlink
SourceFiles
nutkWallFunctionFvPatchScalarField.C

View File

@ -31,166 +31,36 @@ Group
grpWallFunctions
Description
This boundary condition provides a wall constraint on the specific
dissipation rate, i.e. \c omega, and the turbulent kinetic energy
production contribution, i.e. \c G, for low- and high-Reynolds number
turbulence models.
Reference:
\verbatim
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
\endverbatim
This boundary condition provides a wall function for the specific
dissipation rate (i.e. \c omega) and the turbulent kinetic energy
production contribution (i.e. \c G) for low- and high-Reynolds number
applications.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type omegaWallFunction;
// Optional entries (unmodifiable)
// Optional entries
beta1 0.075;
blending binomial2;
n 2.0;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
\table
Property | Description | Type | Req'd | Dflt
type | Type name: omegaWallFunction | word | yes | -
beta1 | Model coefficient | scalar | no | 0.075
blending | Viscous/inertial sublayer blending method <!--
--> | word | no | binomial2
n | Binomial blending exponent | scalar | no | 2.0
Property | Description | Type | Reqd | Deflt
type | Type name: omegaWallFunction | word | yes | -
beta1 | Model coefficient | scalar | no | 0.075
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchField.H \endlink
- \link nutWallFunctionFvPatchScalarField.H \endlink
Options for the \c blending entry:
\verbatim
stepwise | Stepwise switch (discontinuous)
max | Maximum value switch (discontinuous)
binomial2 | Binomial blending (smooth) n = 2
binomial | Binomial blending (smooth)
exponential | Exponential blending (smooth)
tanh | Tanh blending (smooth)
\endverbatim
wherein \c omega predictions for the viscous and inertial sublayers are
blended according to the following expressions:
- \c stepwise:
\f[
\omega = \omega_{log} \qquad if \quad y^+ > y^+_{lam}
\f]
\f[
\omega = \omega_{vis} \qquad if \quad y^+ <= y^+_{lam}
\f]
where
\vartable
\omega | \f$\omega\f$ at \f$y^+\f$
\omega_{vis} | \f$\omega\f$ computed by using viscous sublayer assumptions
\omega_{log} |\f$\omega\f$ computed by using inertial sublayer assumptions
y^+ | estimated wall-normal height of the cell centre in wall units
y^+_{lam} | estimated intersection of the viscous and inertial sublayers
\endvartable
- \c max (PH:Eq. 27):
\f[
\omega = max(\omega_{vis}, \omega_{log})
\f]
- \c binomial2 (ME:Eq. 15) (default):
\f[
\omega = \sqrt{(\omega_{vis})^2 + (\omega_{log})^2}
\f]
- \c binomial:
\f[
\omega = ((\omega_{vis})^n + (\omega_{log})^n)^{1/n}
\f]
where
\vartable
n | Binomial blending exponent
\endvartable
- \c exponential (PH:Eq. 32):
\f[
\omega = \omega_{vis} \exp[-\Gamma] + \omega_{log} \exp[-1/\Gamma]
\f]
where (PH:Eq. 31)
\vartable
\Gamma | Blending expression
\Gamma | \f$0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
\endvartable
- \c tanh (KAS:Eqs. 33-34):
\f[
\omega = \phi \omega_{b1} + (1 - \phi)\omega_{b2}
\f]
where
\vartable
\phi | \f$tanh((y^+/10)^4)\f$
\omega_{b1} | \f$\omega_{vis} + \omega_{log}\f$
\omega_{b2} | \f$(\omega_{vis}^{1.2} + \omega_{log}^1.2)^{1/1.2}\f$
\endvartable
\c G predictions for the viscous and inertial sublayers are blended
in a stepwise manner, and \c G below \f$y^+_{lam}\f$ (i.e. in the viscous
sublayer) is presumed to be zero.
Note
- The coefficients \c Cmu, \c kappa, and \c E are obtained from
the specified \c nutWallFunction in order to ensure that each patch
possesses the same set of values for these coefficients.
- The reason why \c binomial2 and \c binomial blending methods exist at
the same time is to ensure the bitwise regression with the previous
versions since \c binomial2 and \c binomial with \c n=2 will yield
slightly different output due to the miniscule differences in the
implementation of the basic functions (i.e. \c pow, \c sqrt, \c sqr).
See also
- Foam::epsilonWallFunctionFvPatchScalarField
- \link wallFunctionCoefficients.H \endlink
- \link wallFunctionBlenders.H \endlink
SourceFiles
omegaWallFunctionFvPatchScalarField.C
@ -376,7 +246,7 @@ public:
scalarField& omega(bool init = false);
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -27,8 +27,147 @@ Class
Foam::wallFunctionBlenders
Description
Class to describe the wall-function coefficients being
used in the wall function boundary conditions.
The class \c 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:
\verbatim
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
\endverbatim
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Top-level entries
...
// Optional entries
blending stepwise;
n 4.0;
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
blending | Viscous/inertial sublayer blending | word | no | stepwise
n | Binomial blending exponent | scalar | no | 2.0
\endtable
Options for the \c blending entry:
\verbatim
stepwise | Stepwise switch (discontinuous)
max | Maximum value switch (discontinuous)
binomial | Binomial blending (smooth)
exponential | Exponential blending (smooth)
tanh | Tanh blending (smooth)
\endverbatim
wherein predictions of a given quantity (e.g. \c nut) for viscous and
inertial sublayers are blended according to the following expressions:
- \c stepwise (default):
\f[
\phi = \phi_{log} \qquad if \quad y^+ > y^+_{intersection}
\f]
\f[
\phi = \phi_{vis} \qquad if \quad y^+ <= y^+_{intersection}
\f]
where
\vartable
\phi_{vis} | \f$\phi\f$ prediction in viscous sublayer
\phi_{log} | \f$\phi\f$ prediction in inertial sublayer
y^+ | estimated wall-normal height of cell centre in wall units
y^+_{intersection} | estimated \f$y^+\f$ where sublayers intersect
\endvartable
- \c max (PH:Eq. 27):
\f[
\nu_t = max({\nu_t}_{vis}, {\nu_t}_{log})
\f]
- \c binomial (ME:Eqs. 15-16):
\f[
\phi = ((\phi_{vis})^n + (\phi_{log})^n)^{1/n}
\f]
where
\vartable
n | Binomial blending exponent
\endvartable
- \c exponential (PH:Eq. 32):
\f[
\phi = \phi_{vis} \exp[-\Gamma] + \phi_{log} \exp[-1/\Gamma]
\f]
where (PH:Eq. 31)
\vartable
\Gamma | Blending expression
\Gamma | \f$0.01 (y^+)^4 / (1.0 + 5.0 y^+)\f$
\endvartable
- \c tanh (KAS:Eqs. 33-34):
\f[
\phi = \eta \phi_{b1} + (1 - \eta)\phi_{b2}
\f]
where
\vartable
\eta | \f$tanh((y^+/10)^4)\f$
\phi_{b1} | \f$\phi_{vis} + \phi_{log}\f$
\phi_{b2} | \f$(\phi_{vis}^{1.2} + \phi_{log}^1.2)^{1/1.2}\f$
\endvartable
\c G predictions for viscous and inertial sublayers are blended
in a stepwise manner, and \c G below \f$y^+_{intersection}\f$
(i.e. in the viscous sublayer) is presumed to be zero.
Blending treatments are enabled for the following wall functions:
- \link epsilonWallFunctionFvPatchScalarField.H \endlink
- \link omegaWallFunctionFvPatchScalarField.H \endlink
- \link nutkWallFunctionFvPatchScalarField.H \endlink
- \link nutUWallFunctionFvPatchScalarField.H \endlink
SourceFiles
wallFunctionBlenders.C

View File

@ -27,9 +27,35 @@ Class
Foam::wallFunctionCoefficients
Description
Class to describe the wall-function coefficients being
Class to host the wall-function coefficients being
used in the wall function boundary conditions.
Usage
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Top-level entries
...
// Optional entries
Cmu 0.09;
kappa 0.41;
E 9.8;
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
Cmu | Empirical model coefficient | scalar | no | 0.09
kappa | von Karman constant | scalar | no | 0.41
E | Wall roughness parameter | scalar | no | 9.8
\endtable
SourceFiles
wallFunctionCoefficients.C

View File

@ -46,26 +46,24 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type atmAlphatkWallFunction;
Pr <Function1<scalar>>;
Prt <PatchFunction1<scalar>>;
z0 <PatchFunction1<scalar>>;
// Mandatory entries (runtime modifiable)
Pr 0.90;
Prt uniform 0.85;
z0 uniform 0.001;
// Optional entries
Cmu <scalar>;
kappa <scalar>;
// Optional entries (unmodifiable)
Cmu 0.09;
kappa 0.41;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: atmAlphatkWallFunction | word | yes | -
Pr | Molecular Prandtl number | Function1<scalar> | yes | -
Prt | Turbulent Prandtl number | PatchFunction1<scalar> | yes | -
@ -79,9 +77,6 @@ Usage
- \link Function1.H \endlink
- \link PatchFunction1.H \endlink
See also
- Foam::fixedValueFvPatchField
SourceFiles
atmAlphatkWallFunctionFvPatchScalarField.C

View File

@ -62,20 +62,18 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type atmEpsilonWallFunction;
z0 <PatchFunction1<scalar>>;
// Mandatory entries (runtime modifiable)
z0 uniform 0.001;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: atmEpsilonWallFunction | word | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
\endtable
@ -84,9 +82,6 @@ Usage
- \link epsilonWallFunctionFvPatchScalarField.H \endlink
- \link PatchFunction1 \endlink
See also
- Foam::epsilonWallFunctionFvPatchScalarField
SourceFiles
atmEpsilonWallFunctionFvPatchScalarField.C

View File

@ -61,23 +61,21 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type atmNutUWallFunction;
z0 <PatchFunction1<scalar>>;
// Mandatory entries (runtime modifiable)
z0 uniform 0.001;
// Optional entries (unmodifiable)
// Optional entries
boundNut true;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: atmNutUWallFunction | word | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
boundNut | Flag: zero-bound nut near wall | bool | no | true
@ -87,10 +85,6 @@ Usage
- \link nutUWallFunctionFvPatchScalarField.H \endlink
- \link PatchFunction1.H \endlink
See also
- Foam::nutUWallFunctionFvPatchScalarField
- Foam::atmNutkWallFunctionFvPatchScalarField
SourceFiles
atmNutUWallFunctionFvPatchScalarField.C

View File

@ -100,21 +100,19 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type atmNutWallFunction;
z0Min 0.001;
z0Min <scalar>;
z0 <PatchFunction1<scalar>>;
// Mandatory entries (runtime modifiable)
z0 uniform 0.001;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: nutAtmWallFunction | word | yes | -
z0Min | Minimum surface roughness length [m] | scalar | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
@ -124,11 +122,6 @@ Usage
- \link nutkWallFunctionFvPatchScalarField.H \endlink
- \link PatchFunction1.H \endlink
See also
- Foam::nutkWallFunctionFvPatchScalarField
- Foam::atmNutkWallFunctionFvPatchScalarField
- Foam::atmNutUWallFunctionFvPatchScalarField
SourceFiles
atmNutWallFunctionFvPatchScalarField.C

View File

@ -78,23 +78,21 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type atmNutkWallFunction;
z0 <PatchFunction1<scalar>>;
// Mandatory entries (runtime modifiable)
z0 uniform 0.001;
// Optional entries
boundNut <bool>;
// Optional entries (unmodifiable)
boundNut false;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: atmNutkWallFunction | word | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
boundNut | Flag to zero-bound nut near wall | bool | no | false
@ -108,9 +106,6 @@ Note
- \c boundNut entry is set \c false for backward compatibility reasons.
- \c nutkAtmRoughWallFunction was renamed to \c atmNutkWallFunction.
See also
- Foam::nutkWallFunctionFvPatchField
SourceFiles
atmNutkWallFunctionFvPatchScalarField.C

View File

@ -61,20 +61,18 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries (unmodifiable)
// Mandatory entries
type atmOmegaWallFunction;
z0 <PatchFunction1<scalar>>;
// Mandatory entries (runtime modifiable)
z0 uniform 0.001;
// Optional (inherited) entries
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Dflt
Property | Description | Type | Reqd | Deflt
type | Type name: atmOmegaWallFunction | word | yes | -
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | -
\endtable
@ -83,9 +81,6 @@ Usage
- \link omegaWallFunctionFvPatchScalarField.H \endlink
- \link PatchFunction1.H \endlink
See also
- Foam::omegaWallFunctionFvPatchScalarField
SourceFiles
atmOmegaWallFunctionFvPatchScalarField.C

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2018-2019 OpenCFD Ltd.
Copyright (C) 2018-2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -30,8 +30,8 @@ Group
grpCoupledBoundaryConditions
Description
This boundary condition provides a jump condition for U across a
cyclic pressure jump condition and applies a transformation to U.
This boundary condition provides a jump condition for \c U across a
cyclic pressure jump condition and applies a transformation to \c U.
The U-jump is specified with a swirl component as follows:
\verbatim
@ -45,8 +45,8 @@ Description
rpm : RPM of the fan
\endverbatim
Alternatively an inner and outer radii can be used instead of rEff. The
Utan is as follow for r > rInner and r < rOuter
Alternatively an inner and outer radii can be used instead of \c rEff.
The \c Utan is as follow for \c r > \c rInner and \c r < \c rOuter
\verbatim
Utan = deltaP/r/fanEff/(rpm/pi/30.0);
@ -55,7 +55,7 @@ Description
r : p - origin, p is the face center
\endverbatim
Outside rInner and rOuter, Utan = 0. The input for this mode is:
Outside \c rInner and \c rOuter, \c Utan=0. The input for this mode is:
\verbatim
useRealRadius true;
rInner 0.005;
@ -65,37 +65,59 @@ Description
The radial velocity is zero in the present model.
Usage
\table
Property | Description | Required | Default
patchType | underlying patch type should be \c cyclic| yes |
phi | flux field name | no | phi
rho | density field name | no | rho
p | pressure field name | no | p
origin | fan centre | no | calculated
rpm | RPM of the fan | yes
fanEff | Fan efficiency | no | 1
rEff | Effective radius | no | 0
useRealRadius| Use inner/outer radii | no | false
rInner | Inner radius | no | 0
rOuter | Outer radius | no | 0
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
cyclicFaces_master
{
type swirlFanVelocity;
patchType cyclic;
jump uniform (0 0 0);
value uniform (0 0 0);
rpm 1000;
rEff 0.01;
}
// Mandatory entries
type swirlFanVelocity;
patchType cyclic;
rpm <Function1>;
// Optional entries
phi <word>;
p <word>;
rho <word>;
origin <vector>;
fanEff <scalar>;
rEff <scalar>;
rInner <scalar>;
rOuter <scalar>;
useRealRadius <bool>;
// Inherited entries
...
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: swirlFanVelocity | word | yes | -
patchType | Underlying patch type: cyclic | word | yes | -
rpm | RPM of the fan | Function1\<scalar\> | yes | -
phi | Name of flux field | word | no | phi
rho | Name of density field | word | no | rho
p | Name of pressure field | word | no | p
origin | Fan centre | vector | no | calculated
fanEff | Fan efficiency | scalar | no | 1
rEff | Effective radius | scalar | no | 0
rInner | Inner radius | scalar | no | 0
rOuter | Outer radius | scalar | no | 0
useRealRadius| Flag to use inner/outer radii | bool | no | false
\endtable
The inherited entries are elaborated in:
- \link fixedJumpFvPatchField.H \endlink
- \link Function1.H \endlink
Note
- Negative \c rpm will reverse the input tangential direction.
- This boundary condition needs to be used with a pressure-jump (e.g. fan)
condition with a non-zero dp, otherwise no swirl will be applied (dp=0).
- Please ensure physical and complementary set-ups for the pressure-jump
and \c swirlFanVelocity boundary conditions.
SourceFiles
swirlFanVelocityFvPatchField.C

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -36,31 +37,40 @@ Description
mass released from the film model.
Usage
\table
Property | Description | Required | Default value
B | model coefficient | no | 5.5
yPlusCrit | critical y+ for transition to turbulent flow | no|11.05
Cmu | model coefficient | no | 0.09
kappa | Von-Karman constant | no | 0.41
Prt | turbulent Prandtl number | no | 0.85
\endtable
Example of the boundary condition specification:
\verbatim
<patchName>
{
// Mandatory entries
type alphatFilmWallFunction;
B 5.5;
yPlusCrit 11.05;
Cmu 0.09;
kappa 0.41;
Prt 0.85;
value uniform 0;
// Optional entries
filmRegion <word>;
B <scalar>;
yPlusCrit <scalar>;
Cmu <scalar>;
kappa <scalar>;
Prt <scalar>;
// Inherited entries
...
}
\endverbatim
See also
Foam::fixedValueFvPatchField
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: alphatFilmWallFunction | word | yes | -
filmRegion | Name of film region | word | no | surfaceFilmProperties
B | Model coefficient | scalar | no | 5.5
yPlusCrit | Critical y+ for transition to turbulence | scalar | no | 11.5
Cmu | Empirical model coefficient | scalar | no | 0.09
Prt | Turbulent Prandtl number | scalar | no | 0.85
kappa | von Karman constant | scalar | no | 0.41
\endtable
The inherited entries are elaborated in:
- \link fixedValueFvPatchFields.H \endlink
SourceFiles
alphatFilmWallFunctionFvPatchScalarField.C
@ -91,24 +101,24 @@ class alphatFilmWallFunctionFvPatchScalarField
{
protected:
// Protected data
// Protected Data
//- Name of film region
word filmRegionName_;
//- B Coefficient (default = 5.5)
//- B Coefficient
scalar B_;
//- y+ value for laminar -> turbulent transition (default = 11.05)
//- y+ value for laminar -> turbulent transition
scalar yPlusCrit_;
//- Turbulent Cmu coefficient (default = 0.09)
//- Empirical model coefficient
scalar Cmu_;
//- Von-Karman constant (default = 0.41)
//- Von-Karman constant
scalar kappa_;
//- Turbulent Prandtl number (default = 0.85)
//- Turbulent Prandtl number
scalar Prt_;
@ -136,8 +146,8 @@ public:
);
//- Construct by mapping given
// alphatFilmWallFunctionFvPatchScalarField
// onto a new patch
//- alphatFilmWallFunctionFvPatchScalarField
//- onto a new patch
alphatFilmWallFunctionFvPatchScalarField
(
const alphatFilmWallFunctionFvPatchScalarField&,
@ -181,9 +191,9 @@ public:
}
// Member functions
// Member Functions
// Evaluation functions
// Evaluation
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -40,13 +40,30 @@ Usage
\verbatim
<patchName>
{
// Mandatory entries
type nutkFilmWallFunction;
value uniform 0;
// Optional entries
filmRegion <word>;
B <scalar>;
yPlusCrit <scalar>;
// Inherited entries
...
}
\endverbatim
See also
Foam::nutkWallFunctionFvPatchScalarField
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: alphatFilmWallFunction | word | yes | -
filmRegion | Name of film region | word | no | surfaceFilmProperties
B | Model coefficient | scalar | no | 5.5
yPlusCrit | Critical y+ for transition to turbulence | scalar | no | 11.5
\endtable
The inherited entries are elaborated in:
- \link nutkWallFunctionFvPatchScalarField.H \endlink
SourceFiles
nutkFilmWallFunctionFvPatchScalarField.C
@ -77,19 +94,19 @@ class nutkFilmWallFunctionFvPatchScalarField
{
protected:
// Protected data
// Protected Data
//- Name of film region
word filmRegionName_;
//- B Coefficient (default = 5.5)
//- B Coefficient
scalar B_;
//- y+ value for laminar -> turbulent transition (default = 11.05)
//- y+ value for laminar -> turbulent transition
scalar yPlusCrit_;
// Protected member functions
// Protected Member Functions
//- Calculate the turbulence viscosity
virtual tmp<scalarField> calcNut() const;
@ -125,8 +142,8 @@ public:
);
//- Construct by mapping given
// nutkFilmWallFunctionFvPatchScalarField
// onto a new patch
//- nutkFilmWallFunctionFvPatchScalarField
//- onto a new patch
nutkFilmWallFunctionFvPatchScalarField
(
const nutkFilmWallFunctionFvPatchScalarField&,
@ -170,9 +187,9 @@ public:
}
// Member functions
// Member Functions
// Evaluation functions
// Evaluation
//- Calculate and return the yPlus at the boundary
virtual tmp<scalarField> yPlus() const;