initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / turbulenceModels / compressible / RAS / derivedFvPatchFields / turbulentMixingLengthDissipationRateInlet / turbulentMixingLengthDissipationRateInletFvPatchScalarField.H
blobac669c1bbab803cab96c5ea10e8c5ecf6d652dd1
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2006-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::
27         turbulentMixingLengthDissipationRateInletFvPatchScalarField
29 Description
30     Calculate epsilon via the mixing length [m]
32     Example of the boundary condition specification:
33     @verbatim
34         inlet
35         {
36             type            compressible::turbulentMixingLengthDissipationRateInlet;
37             mixingLength    0.005;         // 5 mm
38             value           uniform 200;   // placeholder
39         }
40     @endverbatim
42 SourceFiles
43     turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
45 \*---------------------------------------------------------------------------*/
47 #ifndef compressibleturbulentMixingLengthDissipationRateInletFvPatchField_H
48 #define compressibleturbulentMixingLengthDissipationRateInletFvPatchField_H
50 #include "fixedValueFvPatchFields.H"
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 namespace Foam
56 namespace compressible
59 /*---------------------------------------------------------------------------*\
60        Class turbulentMixingLengthDissipationRateInletFvPatch Declaration
61 \*---------------------------------------------------------------------------*/
63 class turbulentMixingLengthDissipationRateInletFvPatchScalarField
65     public fixedValueFvPatchScalarField
67     // Private data
69         //- turbulent length scale
70         scalar mixingLength_;
72 public:
74     //- Runtime type information
75     TypeName("compressible::turbulentMixingLengthDissipationRateInlet");
78     // Constructors
80         //- Construct from patch and internal field
81         turbulentMixingLengthDissipationRateInletFvPatchScalarField
82         (
83             const fvPatch&,
84             const DimensionedField<scalar, volMesh>&
85         );
87         //- Construct from patch, internal field and dictionary
88         turbulentMixingLengthDissipationRateInletFvPatchScalarField
89         (
90             const fvPatch&,
91             const DimensionedField<scalar, volMesh>&,
92             const dictionary&
93         );
95         //- Construct by mapping given
96         //  turbulentMixingLengthDissipationRateInletFvPatchScalarField
97         //  onto a new patch
98         turbulentMixingLengthDissipationRateInletFvPatchScalarField
99         (
100             const turbulentMixingLengthDissipationRateInletFvPatchScalarField&,
101             const fvPatch&,
102             const DimensionedField<scalar, volMesh>&,
103             const fvPatchFieldMapper&
104         );
106         //- Construct as copy
107         turbulentMixingLengthDissipationRateInletFvPatchScalarField
108         (
109             const turbulentMixingLengthDissipationRateInletFvPatchScalarField&
110         );
112         //- Construct and return a clone
113         virtual tmp<fvPatchScalarField> clone() const
114         {
115             return tmp<fvPatchScalarField>
116             (
117                 new turbulentMixingLengthDissipationRateInletFvPatchScalarField
118                 (
119                     *this
120                 )
121             );
122         }
124         //- Construct as copy setting internal field reference
125         turbulentMixingLengthDissipationRateInletFvPatchScalarField
126         (
127             const turbulentMixingLengthDissipationRateInletFvPatchScalarField&,
128             const DimensionedField<scalar, volMesh>&
129         );
131         //- Construct and return a clone setting internal field reference
132         virtual tmp<fvPatchScalarField> clone
133         (
134             const DimensionedField<scalar, volMesh>& iF
135         ) const
136         {
137             return tmp<fvPatchScalarField>
138             (
139                 new turbulentMixingLengthDissipationRateInletFvPatchScalarField
140                 (
141                     *this,
142                     iF
143                 )
144             );
145         }
148     // Member functions
150         //- Update the coefficients associated with the patch field
151         virtual void updateCoeffs();
153         //- Write
154         virtual void write(Ostream&) const;
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 } // End namespace compressible
161 } // End namespace Foam
163 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 #endif
167 // ************************************************************************* //