Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / turbulenceModels / compressible / RAS / derivedFvPatchFields / htcConv / htcConvFvPatchScalarField.H
blob117c6300a4d68a391c0de2e0c5a02387a58ee081
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2010-2011 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
13     the Free Software Foundation, either version 3 of the License, or
14     (at your 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, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::compressible::RASModels::htcConvFvPatchScalarField
27 Description
28     Convective heat transfer boundary condition
30 SourceFiles
31     htcConvFvPatchScalarField.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef compressibleMutRoughWallFunctionFvPatchScalarField_H
36 #define compressibleMutRoughWallFunctionFvPatchScalarField_H
38 #include "fixedValueFvPatchFields.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 namespace Foam
44 namespace compressible
46 namespace RASModels
49 /*---------------------------------------------------------------------------*\
50                  Class htcConvFvPatchScalarField Declaration
51 \*---------------------------------------------------------------------------*/
53 class htcConvFvPatchScalarField
55     public fixedValueFvPatchScalarField
57 protected:
59     // Protected data
61         //- L Length scale [m]
62         const scalar L_;
65 public:
67     //- Runtime type information
68     TypeName("htcConvection");
71     // Constructors
73         //- Construct from patch and internal field
74         htcConvFvPatchScalarField
75         (
76             const fvPatch&,
77             const DimensionedField<scalar, volMesh>&
78         );
80         //- Construct from patch, internal field and dictionary
81         htcConvFvPatchScalarField
82         (
83             const fvPatch&,
84             const DimensionedField<scalar, volMesh>&,
85             const dictionary&
86         );
88         //- Construct by mapping given
89         //  htcConvFvPatchScalarField
90         //  onto a new patch
91         htcConvFvPatchScalarField
92         (
93             const htcConvFvPatchScalarField&,
94             const fvPatch&,
95             const DimensionedField<scalar, volMesh>&,
96             const fvPatchFieldMapper&
97         );
99         //- Construct as copy
100         htcConvFvPatchScalarField
101         (
102             const htcConvFvPatchScalarField&
103         );
105         //- Construct and return a clone
106         virtual tmp<fvPatchScalarField> clone() const
107         {
108             return tmp<fvPatchScalarField>
109             (
110                 new htcConvFvPatchScalarField(*this)
111             );
112         }
114         //- Construct as copy setting internal field reference
115         htcConvFvPatchScalarField
116         (
117             const htcConvFvPatchScalarField&,
118             const DimensionedField<scalar, volMesh>&
119         );
121         //- Construct and return a clone setting internal field reference
122         virtual tmp<fvPatchScalarField> clone
123         (
124             const DimensionedField<scalar, volMesh>& iF
125         ) const
126         {
127             return tmp<fvPatchScalarField>
128             (
129                 new htcConvFvPatchScalarField(*this, iF)
130             );
131         }
134     // Member functions
136         // Evaluation functions
138             //- Update the coefficients associated with the patch field
139             virtual void updateCoeffs();
142         // I-O
144             //- Write
145             virtual void write(Ostream&) const;
149 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 } // End namespace RASModels
152 } // End namespace compressible
153 } // End namespace Foam
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 #endif
159 // ************************************************************************* //