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-2020 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 
27 Class
28  Foam::kqRWallFunctionFvPatchField
29 
30 Group
31  grpWallFunctions
32 
33 Description
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  tensor fields, i.e. \c R, for the cases of high Reynolds number flow
38  using wall functions.
39 
40 Usage
41  Example of the boundary condition specification:
42  \verbatim
43  <patchName>
44  {
45  // Mandatory entries (unmodifiable)
46  type kqRWallFunction;
47 
48  // Optional (inherited) entries
49  ...
50  }
51  \endverbatim
52 
53  where the entries mean:
54  \table
55  Property | Description | Type | Req'd | Dflt
56  type | Type name: kqRWallFunction | word | yes | -
57  \endtable
58 
59  The inherited entries are elaborated in:
60  - \link zeroGradientFvPatchField.H \endlink
61 
62 SourceFiles
63  kqRWallFunctionFvPatchField.C
64 
65 \*---------------------------------------------------------------------------*/
66 
67 #ifndef kqRWallFunctionFvPatchField_H
68 #define kqRWallFunctionFvPatchField_H
69 
71 
72 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
73 
74 namespace Foam
75 {
76 
77 /*---------------------------------------------------------------------------*\
78  Class kqRWallFunctionFvPatchField Declaration
79 \*---------------------------------------------------------------------------*/
80 
81 template<class Type>
82 class kqRWallFunctionFvPatchField
83 :
84  public zeroGradientFvPatchField<Type>
85 {
86 public:
87 
88  //- Runtime type information
89  TypeName("kqRWallFunction");
90 
91 
92  // Constructors
93 
94  //- Construct from patch and internal field
96  (
97  const fvPatch&,
99  );
100 
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  {
129  return tmp<fvPatchField<Type>>
130  (
131  new kqRWallFunctionFvPatchField(*this)
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  {
148  return tmp<fvPatchField<Type>>
149  (
150  new kqRWallFunctionFvPatchField(*this, iF)
151  );
152  }
153 
154 
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 // ************************************************************************* //
Foam::kqRWallFunctionFvPatchField::kqRWallFunctionFvPatchField
kqRWallFunctionFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
Definition: kqRWallFunctionFvPatchField.C:35
Foam::kqRWallFunctionFvPatchField::evaluate
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patchField.
Definition: kqRWallFunctionFvPatchField.C:94
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::kqRWallFunctionFvPatchField::clone
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
Definition: kqRWallFunctionFvPatchField.H:138
Foam::kqRWallFunctionFvPatchField::write
virtual void write(Ostream &) const
Write.
Definition: kqRWallFunctionFvPatchField.C:103
zeroGradientFvPatchField.H
Foam::zeroGradientFvPatchField
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
Definition: zeroGradientFvPatchField.H:64
Foam::kqRWallFunctionFvPatchField::TypeName
TypeName("kqRWallFunction")
Runtime type information.
Foam::fvPatch
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:65
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
kqRWallFunctionFvPatchField.C
Foam::UPstream::commsTypes
commsTypes
Types of communications.
Definition: UPstream.H:69
Foam::kqRWallFunctionFvPatchField
This boundary condition provides a simple wrapper around the zero-gradient condition,...
Definition: kqRWallFunctionFvPatchField.H:93
Foam::fvPatchFieldMapper
Foam::fvPatchFieldMapper.
Definition: fvPatchFieldMapper.H:47
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:54
Foam::UPstream::commsTypes::blocking