kqRWallFunctionFvPatchField.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-2017, 2019 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::kqRWallFunctionFvPatchField
29
30Group
31 grpWallFunctions
32
33Description
34 This boundary condition provides a simple wrapper around the zero-gradient
35 condition, which can be used for the turbulent kinetic energy (i.e. \c k),
36 square-root of turbulent kinetic energy (i.e. \c q) and Reynolds stress
37 symmetric-tensor fields (i.e. \c R) for the cases of high Reynolds number
38 flow using wall functions. It is not a wall-function condition.
39
40Usage
41 Example of the boundary condition specification:
42 \verbatim
43 <patchName>
44 {
45 // Mandatory entries
46 type kqRWallFunction;
47
48 // Inherited entries
49 ...
50 }
51 \endverbatim
52
53 where the entries mean:
54 \table
55 Property | Description | Type | Reqd | Deflt
56 type | Type name: kqRWallFunction | word | yes | -
57 \endtable
58
59 The inherited entries are elaborated in:
60 - \link zeroGradientFvPatchField.H \endlink
61
62SourceFiles
63 kqRWallFunctionFvPatchField.C
64
65\*---------------------------------------------------------------------------*/
66
67#ifndef kqRWallFunctionFvPatchField_H
68#define kqRWallFunctionFvPatchField_H
69
71
72// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
73
74namespace Foam
75{
76
77/*---------------------------------------------------------------------------*\
78 Class kqRWallFunctionFvPatchField Declaration
79\*---------------------------------------------------------------------------*/
80
81template<class Type>
82class kqRWallFunctionFvPatchField
83:
84 public zeroGradientFvPatchField<Type>
85{
86public:
87
88 //- Runtime type information
89 TypeName("kqRWallFunction");
90
91
92 // Constructors
94 //- Construct from patch and internal field
96 (
97 const fvPatch&,
99 );
101 //- Construct from patch, internal field and dictionary
103 (
104 const fvPatch&,
106 const dictionary&
107 );
108
109 //- Construct by mapping given
110 //- kqRWallFunctionFvPatchField
111 //- onto a new patch
113 (
115 const fvPatch&,
117 const fvPatchFieldMapper&
118 );
119
120 //- Construct as copy
122 (
124 );
125
126 //- Construct and return a clone
127 virtual tmp<fvPatchField<Type>> clone() const
128 {
130 (
132 );
133 }
134
135 //- Construct as copy setting internal field reference
137 (
140 );
141
142 //- Construct and return a clone setting internal field reference
144 (
146 ) const
147 {
149 (
150 new kqRWallFunctionFvPatchField(*this, iF)
151 );
152 }
153
155 // Member Functions
156
157 //- Evaluate the patchField
158 virtual void evaluate
159 (
161 );
162
163 //- Write
164 virtual void write(Ostream&) const;
165};
166
167
168// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169
170} // End namespace Foam
171
172// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174#ifdef NoRepository
176#endif
177
178// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
179
180#endif
181
182// ************************************************************************* //
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
commsTypes
Types of communications.
Definition: UPstream.H:67
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 simple wrapper around the zero-gradient condition,...
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patchField.
TypeName("kqRWallFunction")
Runtime type information.
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Construct and return a clone setting internal field reference.
A class for managing temporary objects.
Definition: tmp.H:65
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73