initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / turbulenceModels / compressible / RAS / derivedFvPatchFields / wallFunctions / omegaWallFunctions / omegaWallFunction / omegaWallFunctionFvPatchScalarField.H
blob2eb47792791517e84f79a3d2a07ad04ca14bdb76
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2008-2009 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
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.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::compressible::RASModels::omegaWallFunctionFvPatchScalarField
28 Description
29     Replaces functionality in wallFunctionsI.H
31 SourceFiles
32     omegaWallFunctionFvPatchScalarField.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef compressibleOmegaWallFunctionFvPatchScalarField_H
37 #define compressibleOmegaWallFunctionFvPatchScalarField_H
39 #include "fixedInternalValueFvPatchField.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
45 namespace compressible
47 namespace RASModels
50 /*---------------------------------------------------------------------------*\
51            Class omegaWallFunctionFvPatchScalarField Declaration
52 \*---------------------------------------------------------------------------*/
54 class omegaWallFunctionFvPatchScalarField
56     public fixedInternalValueFvPatchField<scalar>
58     // Private data
60         //- Name of velocity field
61         word UName_;
63         //- Name of density field
64         word rhoName_;
66         //- Name of turbulence kinetic energy field
67         word kName_;
69         //- Name of turbulence generation field
70         word GName_;
72         //- Name of laminar viscosity field
73         word muName_;
75         //- Name of turbulent viscosity field
76         word mutName_;
78         //- Cmu coefficient
79         scalar Cmu_;
81         //- Von Karman constant
82         scalar kappa_;
84         //- E coefficient
85         scalar E_;
88     // Private member functions
90         //- Check the type of the patch
91         void checkType();
94 public:
96     //- Runtime type information
97     TypeName("compressible::omegaWallFunction");
100     // Constructors
102         //- Construct from patch and internal field
103         omegaWallFunctionFvPatchScalarField
104         (
105             const fvPatch&,
106             const DimensionedField<scalar, volMesh>&
107         );
109         //- Construct from patch, internal field and dictionary
110         omegaWallFunctionFvPatchScalarField
111         (
112             const fvPatch&,
113             const DimensionedField<scalar, volMesh>&,
114             const dictionary&
115         );
117         //- Construct by mapping given
118         // omegaWallFunctionFvPatchScalarField
119         //  onto a new patch
120         omegaWallFunctionFvPatchScalarField
121         (
122             const omegaWallFunctionFvPatchScalarField&,
123             const fvPatch&,
124             const DimensionedField<scalar, volMesh>&,
125             const fvPatchFieldMapper&
126         );
128         //- Construct as copy
129         omegaWallFunctionFvPatchScalarField
130         (
131             const omegaWallFunctionFvPatchScalarField&
132         );
134         //- Construct and return a clone
135         virtual tmp<fvPatchScalarField> clone() const
136         {
137             return tmp<fvPatchScalarField>
138             (
139                 new omegaWallFunctionFvPatchScalarField(*this)
140             );
141         }
143         //- Construct as copy setting internal field reference
144         omegaWallFunctionFvPatchScalarField
145         (
146             const omegaWallFunctionFvPatchScalarField&,
147             const DimensionedField<scalar, volMesh>&
148         );
150         //- Construct and return a clone setting internal field reference
151         virtual tmp<fvPatchScalarField> clone
152         (
153             const DimensionedField<scalar, volMesh>& iF
154         ) const
155         {
156             return tmp<fvPatchScalarField>
157             (
158                 new omegaWallFunctionFvPatchScalarField(*this, iF)
159             );
160         }
163     // Member functions
165         // Evaluation functions
167             //- Update the coefficients associated with the patch field
168             virtual void updateCoeffs();
171         // I-O
173             //- Write
174             void write(Ostream&) const;
178 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
180 } // End namespace RASModels
181 } // End namespace compressible
182 } // End namespace Foam
184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
186 #endif
188 // ************************************************************************* //