mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
DOC: wall functions: update header-file documentation
This commit is contained in:
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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&);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user