Fix tutorials: coupled/conjugateHeatFoam/conjugateCavity: fix Allrun file
[OpenFOAM-1.6-ext.git] / src / finiteVolume / fields / fvsPatchFields / constraint / overlapGgi / overlapGgiFvsPatchField.H
blob075c09a24f5af7934ebcc648eb959ef6b6181f9c
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     overlapGgiFvsPatchField
28 Description
29     Partial overlap generalized grid interface patch field.
31 Author
32     Hrvoje Jasak, Wikki Ltd.  All rights reserved.
34 SourceFiles
35     overlapGgiFvsPatchField.C
37 \*---------------------------------------------------------------------------*/
39 #ifndef overlapGgiFvsPatchField_H
40 #define overlapGgiFvsPatchField_H
42 #include "coupledFvsPatchField.H"
43 #include "overlapGgiFvPatch.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 namespace Foam
50 /*---------------------------------------------------------------------------*\
51                    Class overlapGgiFvsPatchField Declaration
52 \*---------------------------------------------------------------------------*/
54 template<class Type>
55 class overlapGgiFvsPatchField
57     public coupledFvsPatchField<Type>
59     // Private data
61         //- Local reference cast into the overlapGgi patch
62         const overlapGgiFvPatch& overlapGgiPatch_;
65 public:
67     //- Runtime type information
68     TypeName(overlapGgiFvPatch::typeName_());
71     // Constructors
73         //- Construct from patch and internal field
74         overlapGgiFvsPatchField
75         (
76             const fvPatch&,
77             const DimensionedField<Type, surfaceMesh>&
78         );
80         //- Construct from patch, internal field and dictionary
81         overlapGgiFvsPatchField
82         (
83             const fvPatch&,
84             const DimensionedField<Type, surfaceMesh>&,
85             const dictionary&
86         );
88         //- Construct by mapping given overlapGgiFvsPatchField onto a new patch
89         overlapGgiFvsPatchField
90         (
91             const overlapGgiFvsPatchField<Type>&,
92             const fvPatch&,
93             const DimensionedField<Type, surfaceMesh>&,
94             const fvPatchFieldMapper&
95         );
97         //- Construct as copy setting internal field reference
98         overlapGgiFvsPatchField
99         (
100             const overlapGgiFvsPatchField<Type>&,
101             const DimensionedField<Type, surfaceMesh>&
102         );
104         //- Construct and return a clone
105         virtual tmp<fvsPatchField<Type> > clone() const
106         {
107             return tmp<fvsPatchField<Type> >
108             (
109                 new overlapGgiFvsPatchField<Type>(*this)
110             );
111         }
113         //- Construct and return a clone setting internal field reference
114         virtual tmp<fvsPatchField<Type> > clone
115         (
116             const DimensionedField<Type, surfaceMesh>& iF
117         ) const
118         {
119             return tmp<fvsPatchField<Type> >
120             (
121                 new overlapGgiFvsPatchField<Type>(*this, iF)
122             );
123         }
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 } // End namespace Foam
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 #ifdef NoRepository
134 #   include "overlapGgiFvsPatchField.C"
135 #endif
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139 #endif
141 // ************************************************************************* //