nutUTabulatedWallFunctionFvPatchScalarField.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2016 OpenFOAM Foundation
9 Copyright (C) 2019-2022 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::nutUTabulatedWallFunctionFvPatchScalarField
29
30Group
31 grpWallFunctions
32
33Description
34 This boundary condition provides a wall constraint on the turbulent
35 viscosity (i.e. \c nut) based on velocity (i.e. \c U), for low- and
36 high-Reynolds number applications.
37
38 As input, the user specifies a look-up table of \c u+ as a function of
39 near-wall Reynolds number.
40
41 The table should be located in the \c $FOAM_CASE/constant directory.
42
43Usage
44 Example of the boundary condition specification:
45 \verbatim
46 <patchName>
47 {
48 // Mandatory entries
49 type nutTabulatedWallFunction;
50 uPlusTable myUPlusTable;
51
52 // Inherited entries
53 ...
54 }
55 \endverbatim
56
57 where the entries mean:
58 \table
59 Property | Description | Type | Reqd | Deflt
60 type | Type name: nutUTabulatedWallFunction | word | yes | -
61 uPlusTable | u+ as a function of Re table name | word | yes | -
62 \endtable
63
64 The inherited entries are elaborated in:
65 - \link nutWallFunctionFvPatchScalarField.H \endlink
66 - \link uniformInterpolationTable.H \endlink
67
68Note
69 - The tables are not registered since the same table object may be used for
70 more than one patch.
71
72SourceFiles
73 nutUTabulatedWallFunctionFvPatchScalarField.C
74
75\*---------------------------------------------------------------------------*/
76
77#ifndef nutUTabulatedWallFunctionFvPatchScalarField_H
78#define nutUTabulatedWallFunctionFvPatchScalarField_H
79
82
83// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
84
85namespace Foam
86{
87
88/*---------------------------------------------------------------------------*\
89 Class nutUTabulatedWallFunctionFvPatchScalarField Declaration
90\*---------------------------------------------------------------------------*/
91
92class nutUTabulatedWallFunctionFvPatchScalarField
93:
94 public nutWallFunctionFvPatchScalarField
95{
96protected:
97
98 // Protected Data
99
100 //- Name of u+ table
101 word uPlusTableName_;
102
103 //- u+ table
104 uniformInterpolationTable<scalar> uPlusTable_;
105
106
107 // Protected Member Functions
108
109 //- Calculate the turbulent viscosity
110 virtual tmp<scalarField> calcNut() const;
111
112 //- Calculate wall u+ from table
114
115 //- Write local wall function variables
116 void writeLocalEntries(Ostream&) const;
117
119public:
120
121 //- Runtime type information
122 TypeName("nutTabulatedWallFunction");
123
124
125 // Constructors
126
127 //- Construct from patch and internal field
129 (
130 const fvPatch&,
132 );
133
134 //- Construct from patch, internal field and dictionary
136 (
137 const fvPatch&,
140 );
141
142 //- Construct by mapping given
143 //- nutUTabulatedWallFunctionFvPatchScalarField
144 //- onto a new patch
146 (
148 const fvPatch&,
150 const fvPatchFieldMapper&
151 );
152
153 //- Construct as copy
155 (
157 );
158
159 //- Construct and return a clone
160 virtual tmp<fvPatchScalarField> clone() const
161 {
163 (
165 );
166 }
167
168 //- Construct as copy setting internal field reference
170 (
173 );
174
175 //- Construct and return a clone setting internal field reference
179 ) const
180 {
182 (
184 );
185 }
186
187
188 // Member Functions
189
190 // Evaluation
191
192 //- Calculate and return the yPlus at the boundary
193 virtual tmp<scalarField> yPlus() const;
194
195
196 // I-O
197
198 //- Write
199 virtual void write(Ostream& os) const;
200};
201
202
203// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204
205} // End namespace Foam
206
207// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
208
209#endif
210
211// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:62
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
This boundary condition provides a wall constraint on the turbulent viscosity (i.e....
virtual tmp< scalarField > yPlus() const
Calculate and return the yPlus at the boundary.
virtual tmp< fvPatchScalarField > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
void writeLocalEntries(Ostream &) const
Write local wall function variables.
TypeName("nutTabulatedWallFunction")
Runtime type information.
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
tmp< scalarField > calcUPlus(const scalarField &Rey) const
Calculate wall u+ from table.
virtual tmp< scalarField > calcNut() const
Calculate the turbulent viscosity.
The class nutWallFunction is an abstract base class that hosts calculation methods and common functi...
A class for managing temporary objects.
Definition: tmp.H:65
Table with uniform interval in independent variable, with linear interpolation.
A class for handling words, derived from Foam::string.
Definition: word.H:68
scalar Rey
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73