FreeFOAM The Cross-Platform CFD Toolkit
omegaWallFunctionFvPatchScalarField.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 | Copyright (C) 2008-2010 OpenCFD Ltd.
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::incompressible::RASModels::omegaWallFunctionFvPatchScalarField
26 
27 Description
28  Provides a wall function boundary condition/constraint on omega
29 
30  Computed value is:
31 
32  omega = sqrt(omega_vis^2 + omega_log^2)
33 
34  where
35  omega_vis = omega in viscous region
36  omega_log = omega in logarithmic region
37 
38  Model described by Eq.(15) of:
39  @verbatim
40  Menter, F., Esch, T.
41  "Elements of Industrial Heat Transfer Prediction"
42  16th Brazilian Congress of Mechanical Engineering (COBEM),
43  Nov. 2001
44  @endverbatim
45 
46 SourceFiles
47  omegaWallFunctionFvPatchScalarField.C
48 
49 \*---------------------------------------------------------------------------*/
50 
51 #ifndef omegaWallFunctionFvPatchScalarField_H
52 #define omegaWallFunctionFvPatchScalarField_H
53 
55 
56 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57 
58 namespace Foam
59 {
60 namespace incompressible
61 {
62 namespace RASModels
63 {
64 
65 /*---------------------------------------------------------------------------*\
66  Class omegaWallFunctionFvPatchScalarField Declaration
67 \*---------------------------------------------------------------------------*/
68 
70 :
71  public fixedInternalValueFvPatchField<scalar>
72 {
73  // Private data
74 
75  //- Name of velocity field
76  word UName_;
77 
78  //- Name of turbulence kinetic energy field
79  word kName_;
80 
81  //- Name of turbulence generation field
82  word GName_;
83 
84  //- Name of laminar viscosity field
85  word nuName_;
86 
87  //- Name of turbulent viscosity field
88  word nutName_;
89 
90  //- Cmu coefficient
91  scalar Cmu_;
92 
93  //- Von Karman constant
94  scalar kappa_;
95 
96  //- E coefficient
97  scalar E_;
98 
99  //- beta1 coefficient
100  scalar beta1_;
101 
102 
103  // Private member functions
104 
105  //- Check the type of the patch
106  void checkType();
107 
108 
109 public:
110 
111  //- Runtime type information
112  TypeName("omegaWallFunction");
113 
114 
115  // Constructors
116 
117  //- Construct from patch and internal field
119  (
120  const fvPatch&,
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  // omegaWallFunctionFvPatchScalarField
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
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 functions
181 
182  //- Update the coefficients associated with the patch field
183  virtual void updateCoeffs();
184 
185 
186  // I-O
187 
188  //- Write
189  void write(Ostream&) const;
190 };
191 
192 
193 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194 
195 } // End namespace RASModels
196 } // End namespace incompressible
197 } // End namespace Foam
198 
199 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
200 
201 #endif
202 
203 // ************************ vim: set sw=4 sts=4 et: ************************ //