initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / applications / solvers / compressible / rhopSonicFoam / BCs / rhoE / mixedRhoEFvPatchScalarField.H
blob2b6eee5bae22bc5ecb12e562f14d4f55ba1ff0b6
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-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::mixedRhoEFvPatchScalarField
28 Description
30 SourceFiles
31     mixedRhoEFvPatchScalarField.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef mixedRhoEFvPatchScalarFields_H
36 #define mixedRhoEFvPatchScalarFields_H
38 #include "mixedFvPatchFields.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 namespace Foam
45 /*---------------------------------------------------------------------------*\
46                  Class mixedRhoEFvPatch Declaration
47 \*---------------------------------------------------------------------------*/
49 class mixedRhoEFvPatchScalarField
51     public mixedFvPatchScalarField
54 public:
56     //- Runtime type information
57     TypeName("mixedRhoE");
60     // Constructors
62         //- Construct from patch and internal field
63         mixedRhoEFvPatchScalarField
64         (
65             const fvPatch&,
66             const DimensionedField<scalar, volMesh>&
67         );
69         //- Construct from patch, internal field and dictionary
70         mixedRhoEFvPatchScalarField
71         (
72             const fvPatch&,
73             const DimensionedField<scalar, volMesh>&,
74             const dictionary&
75         );
77         //- Construct by mapping given mixedRhoEFvPatchScalarField
78         //  onto a new patch
79         mixedRhoEFvPatchScalarField
80         (
81             const mixedRhoEFvPatchScalarField&,
82             const fvPatch&,
83             const DimensionedField<scalar, volMesh>&,
84             const fvPatchFieldMapper&
85         );
87         //- Construct as copy
88         mixedRhoEFvPatchScalarField
89         (
90             const mixedRhoEFvPatchScalarField&
91         );
93         //- Construct and return a clone
94         virtual tmp<fvPatchScalarField> clone() const
95         {
96             return tmp<fvPatchScalarField>
97             (
98                 new mixedRhoEFvPatchScalarField(*this)
99             );
100         }
102         //- Construct as copy setting internal field reference
103         mixedRhoEFvPatchScalarField
104         (
105             const mixedRhoEFvPatchScalarField&,
106             const DimensionedField<scalar, volMesh>&
107         );
109         //- Construct and return a clone setting internal field reference
110         virtual tmp<fvPatchScalarField> clone
111         (
112             const DimensionedField<scalar, volMesh>& iF
113         ) const
114         {
115             return tmp<fvPatchScalarField>
116             (
117                 new mixedRhoEFvPatchScalarField(*this, iF)
118             );
119         }
121         // Mapping functions
123             //- Map (and resize as needed) from self given a mapping object
124             virtual void autoMap
125             (
126                 const fvPatchFieldMapper&
127             );
129             //- Reverse map the given fvPatchField onto this fvPatchField
130             virtual void rmap
131             (
132                 const fvPatchField<scalar>&,
133                 const labelList&
134             );
137         // Evaluation functions
139             //- Update the coefficients associated with the patch field
140             virtual void updateCoeffs();
143         //- Write
144         virtual void write(Ostream&) const;
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150 } // End namespace Foam
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 #endif
156 // ************************************************************************* //