diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H index 49d84a5991..9a35d35a78 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H @@ -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 { + // Mandatory entries type alphatJayatillekeWallFunction; - Prt 0.85; - kappa 0.41; - E 9.8; - value uniform 0; // optional value entry + + // Optional entries + Prt ; + kappa ; + E ; + + // 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(); diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H index 199ac12201..ae11c223a6 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H @@ -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 { + // Mandatory entries type alphatWallFunction; - nut nut; - Prt 0.85; - value uniform 0; // optional value entry + + // Optional entries + Prt ; + + // 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(); diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H index 8e5a06fca5..e0e9d41ab0 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.H @@ -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 { + // Mandatory entries type alphatJayatillekeWallFunction; + + // Optional entries + Prt ; + kappa ; + E ; + + // 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(); diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H index 147126aa04..0077f5ed27 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.H @@ -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 + + { + // Mandatory entries + type fixedShearStress; + tau ; + + // 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; }; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H index 35bd1cfd4a..f7fd802fc6 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/porousBafflePressure/porousBafflePressureFvPatchField.H @@ -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 { + // 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 | yes | - + I | Inertial coefficient | Function1 | 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 { - // 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; }; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H index ea5e30146c..db8c5fa6c6 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/epsilonWallFunctions/epsilonWallFunction/epsilonWallFunctionFvPatchScalarField.H @@ -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 { - // 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(); diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H index 5b74b11dd1..9ddf258d94 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kLowReWallFunction/kLowReWallFunctionFvPatchScalarField.H @@ -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 { - // 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(); diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H index ffbf33c26c..0c8d12d140 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/kqRWallFunction/kqRWallFunctionFvPatchField.H @@ -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 { - // 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: diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H index c0fa17f6c0..b90fd8a988 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.H @@ -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 { - // 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: diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H index 790b1a180d..ca600eb44e 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUBlendedWallFunction/nutUBlendedWallFunctionFvPatchScalarField.H @@ -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 { - // 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 yPlus() const; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H index 1b1c8f6f20..9c3f860a02 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.H @@ -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 { - // 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 yPlus() const; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H index 8424ad63fe..d1527a1a8f 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.H @@ -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 { - // 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 yPlus() const; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H index 066c06c046..1ff5fd539f 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H @@ -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 { - // 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 yPlus() const; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H index a2f6c220f1..98769df0c1 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUWallFunction/nutUWallFunctionFvPatchScalarField.H @@ -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 { - // 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 yPlus() const; diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H index 9e34f95bab..fa362e642c 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutWallFunction/nutWallFunctionFvPatchScalarField.H @@ -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 { - // 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 yPlus() const = 0; - // Evaluation functions + // Evaluation //- Update the coefficients associated with the patch field virtual void updateCoeffs(); diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H index edaa541d01..1f1da1e629 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarField.H @@ -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 { - // 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&); diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H index 5dd9c21bb6..e04791c48b 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkWallFunction/nutkWallFunctionFvPatchScalarField.H @@ -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 { - // 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 diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H index a8f28d249a..4fb98c8c34 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H @@ -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 { - // 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(); diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionBlenders/wallFunctionBlenders.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionBlenders/wallFunctionBlenders.H index 80a8295317..70bb497a66 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionBlenders/wallFunctionBlenders.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionBlenders/wallFunctionBlenders.H @@ -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 + + { + // 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 diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionCoefficients/wallFunctionCoefficients.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionCoefficients/wallFunctionCoefficients.H index d994da37e1..692087a748 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionCoefficients/wallFunctionCoefficients.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/wallFunction/wallFunctionCoefficients/wallFunctionCoefficients.H @@ -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 + + { + // 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 diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H index 2af210c1cf..3280cedc7d 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction/atmAlphatkWallFunctionFvPatchScalarField.H @@ -46,26 +46,24 @@ Usage \verbatim { - // Mandatory entries (unmodifiable) + // Mandatory entries type atmAlphatkWallFunction; + Pr >; + Prt >; + z0 >; - // Mandatory entries (runtime modifiable) - Pr 0.90; - Prt uniform 0.85; - z0 uniform 0.001; + // Optional entries + Cmu ; + kappa ; - // 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 | yes | - Prt | Turbulent Prandtl number | PatchFunction1 | yes | - @@ -79,9 +77,6 @@ Usage - \link Function1.H \endlink - \link PatchFunction1.H \endlink -See also - - Foam::fixedValueFvPatchField - SourceFiles atmAlphatkWallFunctionFvPatchScalarField.C diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H index ac017517ed..e80434bf47 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction/atmEpsilonWallFunctionFvPatchScalarField.H @@ -62,20 +62,18 @@ Usage \verbatim { - // Mandatory entries (unmodifiable) + // Mandatory entries type atmEpsilonWallFunction; + z0 >; - // 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 | yes | - \endtable @@ -84,9 +82,6 @@ Usage - \link epsilonWallFunctionFvPatchScalarField.H \endlink - \link PatchFunction1 \endlink -See also - - Foam::epsilonWallFunctionFvPatchScalarField - SourceFiles atmEpsilonWallFunctionFvPatchScalarField.C diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H index be413f3ac3..c006c0249a 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction/atmNutUWallFunctionFvPatchScalarField.H @@ -61,23 +61,21 @@ Usage \verbatim { - // Mandatory entries (unmodifiable) + // Mandatory entries type atmNutUWallFunction; + z0 >; - // 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 | 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 diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H index 569ad05b03..2cace45acf 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction/atmNutWallFunctionFvPatchScalarField.H @@ -100,21 +100,19 @@ Usage \verbatim { - // Mandatory entries (unmodifiable) + // Mandatory entries type atmNutWallFunction; - z0Min 0.001; + z0Min ; + z0 >; - // 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 | 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 diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H index 73d93584a0..0dce8f571c 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction/atmNutkWallFunctionFvPatchScalarField.H @@ -78,23 +78,21 @@ Usage \verbatim { - // Mandatory entries (unmodifiable) + // Mandatory entries type atmNutkWallFunction; + z0 >; - // Mandatory entries (runtime modifiable) - z0 uniform 0.001; + // Optional entries + boundNut ; - // 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 | 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 diff --git a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H index 8b1d76b2ad..49b7a09992 100644 --- a/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H +++ b/src/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction/atmOmegaWallFunctionFvPatchScalarField.H @@ -61,20 +61,18 @@ Usage \verbatim { - // Mandatory entries (unmodifiable) + // Mandatory entries type atmOmegaWallFunction; + z0 >; - // 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 | yes | - \endtable @@ -83,9 +81,6 @@ Usage - \link omegaWallFunctionFvPatchScalarField.H \endlink - \link PatchFunction1.H \endlink -See also - - Foam::omegaWallFunctionFvPatchScalarField - SourceFiles atmOmegaWallFunctionFvPatchScalarField.C diff --git a/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H index c67bcfe0dc..5f8ef1e830 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/swirlFanVelocity/swirlFanVelocityFvPatchField.H @@ -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 { - 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 ; + + // Optional entries + phi ; + p ; + rho ; + origin ; + fanEff ; + rEff ; + rInner ; + rOuter ; + useRealRadius ; + + // 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\ | 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 diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H index b9e4db58fd..18f448f15f 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.H @@ -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 { + // 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 ; + B ; + yPlusCrit ; + Cmu ; + kappa ; + Prt ; + + // 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(); diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H index 0cd64f2d22..9ac4f28c59 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.H @@ -40,13 +40,30 @@ Usage \verbatim { + // Mandatory entries type nutkFilmWallFunction; - value uniform 0; + + // Optional entries + filmRegion ; + B ; + yPlusCrit ; + + // 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 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 yPlus() const;