alphatWallFunctionFvPatchScalarField.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) 2022 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::compressible::alphatWallFunctionFvPatchScalarField
29 
30 Group
31  grpCmpWallFunctions
32 
33 Description
34  This boundary condition provides a turbulent thermal diffusivity condition
35  when using wall functions
36  - replicates OpenFOAM v1.5 (and earlier) behaviour
37 
38  The turbulent thermal diffusivity calculated using:
39 
40  \f[
41  \alpha_t = \frac{\mu_t}{Pr_t}
42  \f]
43 
44  where
45 
46  \vartable
47  \alpha_t| Turbulence thermal diffusivity
48  \mu_t | Turbulence viscosity
49  Pr_t | Turbulent Prandtl number
50  \endvartable
51 
52 Usage
53  Example of the boundary condition specification:
54  \verbatim
55  <patchName>
56  {
57  // Mandatory entries
58  type alphatWallFunction;
59 
60  // Optional entries
61  Prt <scalar>;
62 
63  // Inherited entries
64  ...
65  }
66  \endverbatim
67 
68  where the entries mean:
69  \table
70  Property | Description | Type | Reqd | Deflt
71  type | Type name: alphatWallFunction | word | yes | -
72  Prt | Turbulent Prandtl number | scalar | no | 0.85
73  \endtable
74 
75  The inherited entries are elaborated in:
76  - \link fixedValueFvPatchFields.H \endlink
77 
78 SourceFiles
79  alphatWallFunctionFvPatchScalarField.C
80 
81 \*---------------------------------------------------------------------------*/
82 
83 #ifndef compressible_alphatWallFunctionFvPatchScalarField_H
84 #define compressible_alphatWallFunctionFvPatchScalarField_H
85 
87 
88 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
89 
90 namespace Foam
91 {
92 namespace compressible
93 {
94 
95 /*---------------------------------------------------------------------------*\
96  Class alphatWallFunctionFvPatchScalarField Declaration
97 \*---------------------------------------------------------------------------*/
98 
99 class alphatWallFunctionFvPatchScalarField
100 :
101  public fixedValueFvPatchScalarField
102 {
103  // Private Data
104 
105  //- Turbulent Prandtl number
106  scalar Prt_;
107 
108 
109 public:
110 
111  //- Runtime type information
112  TypeName("compressible::alphatWallFunction");
113 
114 
115  // Constructors
116 
117  //- Construct from patch and internal field
119  (
120  const fvPatch&,
121  const DimensionedField<scalar, volMesh>&
122  );
123 
124  //- Construct from patch, internal field and dictionary
126  (
127  const fvPatch&,
129  const dictionary&
130  );
131 
132  //- Construct by mapping given
133  //- alphatWallFunctionFvPatchScalarField
134  //- onto a new patch
136  (
138  const fvPatch&,
140  const fvPatchFieldMapper&
141  );
142 
143  //- Construct as copy
145  (
147  );
148 
149  //- Construct and return a clone
150  virtual tmp<fvPatchScalarField> clone() const
151  {
153  (
155  );
156  }
157 
158  //- Construct as copy setting internal field reference
160  (
163  );
164 
165  //- Construct and return a clone setting internal field reference
167  (
169  ) const
170  {
172  (
174  );
175  }
176 
177 
178  // Member Functions
179 
180  // Evaluation
181 
182  //- Update the coefficients associated with the patch field
183  virtual void updateCoeffs();
184 
185 
186  // I-O
187 
188  //- Write
189  virtual void write(Ostream&) const;
190 };
191 
192 
193 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194 
195 } // End namespace compressible
196 } // End namespace Foam
197 
198 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
199 
200 #endif
201 
202 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:70
A FieldMapper for finite-volume patch fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
bool compressible
Definition: pEqn.H:2
alphatWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
This boundary condition provides a turbulent thermal diffusivity condition when using wall functions...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: areaFieldsFwd.H:42
TypeName("compressible::alphatWallFunction")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
Namespace for OpenFOAM.