nutUWallFunctionFvPatchScalarField.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::nutUWallFunctionFvPatchScalarField
26 
27 Description
28  This boundary condition provides a turbulent kinematic viscosity condition
29  when using wall functions, based on velocity.
30 
31 Usage
32  Example of the boundary condition specification:
33  \verbatim
34  <patchName>
35  {
36  type nutUWallFunction;
37  value uniform 0;
38  }
39  \endverbatim
40 
41 See also
42  Foam::nutWallFunctionFvPatchScalarField
43 
44 SourceFiles
45  nutUWallFunctionFvPatchScalarField.C
46 
47 \*---------------------------------------------------------------------------*/
48 
49 #ifndef nutUWallFunctionFvPatchScalarField_H
50 #define nutUWallFunctionFvPatchScalarField_H
51 
53 
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 
56 namespace Foam
57 {
58 
59 /*---------------------------------------------------------------------------*\
60  Class nutUWallFunctionFvPatchScalarField Declaration
61 \*---------------------------------------------------------------------------*/
62 
64 :
66 {
67 protected:
68 
69  // Protected Member Functions
70 
71  //- Calculate yPLus
72  virtual tmp<scalarField> yPlus(const scalarField& magUp) const;
73 
74  //- Calculate the turbulence viscosity
75  virtual tmp<scalarField> nut() const;
76 
77 
78 public:
79 
80  //- Runtime type information
81  TypeName("nutUWallFunction");
82 
83 
84  // Constructors
85 
86  //- Construct from patch, internal field and dictionary
88  (
89  const fvPatch&,
91  const dictionary&
92  );
93 
94  //- Construct by mapping given
95  // nutUWallFunctionFvPatchScalarField
96  // onto a new patch
98  (
100  const fvPatch&,
102  const fieldMapper&
103  );
104 
105  //- Disallow copy without setting internal field reference
107  (
109  ) = delete;
110 
111  //- Copy constructor setting internal field reference
113  (
116  );
117 
118  //- Construct and return a clone setting internal field reference
120  (
122  ) const
123  {
125  (
127  );
128  }
129 
130 
131  // Member Functions
132 
133  // Evaluation functions
134 
135  //- Calculate and return the yPlus at the boundary
136  virtual tmp<scalarField> yPlus() const;
137 
138 
139  // I-O
140 
141  //- Write
142  virtual void write(Ostream& os) const;
143 };
144 
145 
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 
148 } // End namespace Foam
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #endif
153 
154 // ************************************************************************* //
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:57
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Abstract base class for field mapping.
Definition: fieldMapper.H:48
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:64
This boundary condition provides a turbulent kinematic viscosity condition when using wall functions,...
virtual tmp< scalarField > yPlus() const
Calculate and return the yPlus at the boundary.
virtual tmp< scalarField > nut() const
Calculate the turbulence viscosity.
virtual tmp< fvPatchScalarField > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
TypeName("nutUWallFunction")
Runtime type information.
nutUWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
This boundary condition provides a turbulent kinematic viscosity condition when using wall functions,...
A class for managing temporary objects.
Definition: tmp.H:55
const scalar magUp
Namespace for OpenFOAM.