Fix tutorials: coupled/conjugateHeatFoam/conjugateCavity: fix Allrun file
[OpenFOAM-1.6-ext.git] / src / finiteVolume / fields / fvPatchFields / derived / turbulentIntensityKineticEnergyInlet / turbulentIntensityKineticEnergyInletFvPatchScalarField.H
blob5d9be11c4ab273ec46108ff932c87c5c127ee37b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
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::turbulentIntensityKineticEnergyInletFvPatchScalarField
28 Description
29     Calculate turbulent kinetic energy from the intensity provided as a
30     fraction of the mean velocity
32     Example of the boundary condition specification:
33     @verbatim
34         inlet
35         {
36             type        turbulentIntensityKineticEnergyInlet;
37             U           U;              // name of velocity field
38             intensity   0.05;           // 5% turbulence
39             value       uniform 1;      // placeholder
40         }
41     @endverbatim
43 SourceFiles
44     turbulentIntensityKineticEnergyInletFvPatchScalarField.C
46 \*---------------------------------------------------------------------------*/
48 #ifndef turbulentIntensityKineticEnergyInletFvPatchScalarField_H
49 #define turbulentIntensityKineticEnergyInletFvPatchScalarField_H
51 #include "fixedValueFvPatchFields.H"
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 namespace Foam
58 /*---------------------------------------------------------------------------*\
59           Class turbulentIntensityKineticEnergyInletFvPatch Declaration
60 \*---------------------------------------------------------------------------*/
62 class turbulentIntensityKineticEnergyInletFvPatchScalarField
64     public fixedValueFvPatchScalarField
66     // Private data
68         //- Name of velocity field
69         word UName_;
71         //- Turbulent intensity as fraction of mean velocity
72         scalar intensity_;
75 public:
77     //- Runtime type information
78     TypeName("turbulentIntensityKineticEnergyInlet");
81     // Constructors
83         //- Construct from patch and internal field
84         turbulentIntensityKineticEnergyInletFvPatchScalarField
85         (
86             const fvPatch&,
87             const DimensionedField<scalar, volMesh>&
88         );
90         //- Construct from patch, internal field and dictionary
91         turbulentIntensityKineticEnergyInletFvPatchScalarField
92         (
93             const fvPatch&,
94             const DimensionedField<scalar, volMesh>&,
95             const dictionary&
96         );
98         //- Construct by mapping given
99         //  turbulentIntensityKineticEnergyInletFvPatchScalarField
100         //  onto a new patch
101         turbulentIntensityKineticEnergyInletFvPatchScalarField
102         (
103             const turbulentIntensityKineticEnergyInletFvPatchScalarField&,
104             const fvPatch&,
105             const DimensionedField<scalar, volMesh>&,
106             const fvPatchFieldMapper&
107         );
109         //- Construct as copy
110         turbulentIntensityKineticEnergyInletFvPatchScalarField
111         (
112             const turbulentIntensityKineticEnergyInletFvPatchScalarField&
113         );
115         //- Construct and return a clone
116         virtual tmp<fvPatchScalarField> clone() const
117         {
118             return tmp<fvPatchScalarField>
119             (
120                 new turbulentIntensityKineticEnergyInletFvPatchScalarField
121                 (
122                     *this
123                 )
124             );
125         }
127         //- Construct as copy setting internal field reference
128         turbulentIntensityKineticEnergyInletFvPatchScalarField
129         (
130             const turbulentIntensityKineticEnergyInletFvPatchScalarField&,
131             const DimensionedField<scalar, volMesh>&
132         );
134         //- Construct and return a clone setting internal field reference
135         virtual tmp<fvPatchScalarField> clone
136         (
137             const DimensionedField<scalar, volMesh>& iF
138         ) const
139         {
140             return tmp<fvPatchScalarField>
141             (
142                 new turbulentIntensityKineticEnergyInletFvPatchScalarField
143                 (
144                     *this,
145                     iF
146                 )
147             );
148         }
151     // Member functions
153         //- Update the coefficients associated with the patch field
154         virtual void updateCoeffs();
156         //- Write
157         virtual void write(Ostream&) const;
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 } // End namespace Foam
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167 #endif
169 // ************************************************************************* //