Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
finiteVolume
finiteVolume
convectionSchemes
gaussConvectionScheme
gaussConvectionScheme.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
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.
15
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.
20
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/>.
23
24
Class
25
Foam::fv::gaussConvectionScheme
26
27
Description
28
Basic second-order convection using face-gradients and Gauss' theorem.
29
30
SourceFiles
31
gaussConvectionScheme.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef gaussConvectionScheme_H
36
#define gaussConvectionScheme_H
37
38
#include <
finiteVolume/convectionScheme.H
>
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
namespace
Foam
43
{
44
45
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47
namespace
fv
48
{
49
50
/*---------------------------------------------------------------------------*\
51
Class gaussConvectionScheme Declaration
52
\*---------------------------------------------------------------------------*/
53
54
template
<
class
Type>
55
class
gaussConvectionScheme
56
:
57
public
fv::convectionScheme
<Type>
58
{
59
// Private data
60
61
tmp<surfaceInterpolationScheme<Type>
> tinterpScheme_;
62
63
64
// Private Member Functions
65
66
//- Disallow default bitwise copy construct
67
gaussConvectionScheme
(
const
gaussConvectionScheme
&);
68
69
//- Disallow default bitwise assignment
70
void
operator=(
const
gaussConvectionScheme
&);
71
72
73
public
:
74
75
//- Runtime type information
76
TypeName
(
"Gauss"
);
77
78
79
// Constructors
80
81
//- Construct from flux and interpolation scheme
82
gaussConvectionScheme
83
(
84
const
fvMesh
&
mesh
,
85
const
surfaceScalarField
& faceFlux,
86
const
tmp
<
surfaceInterpolationScheme<Type>
>&
scheme
87
)
88
:
89
convectionScheme<Type>
(
mesh
, faceFlux),
90
tinterpScheme_(
scheme
)
91
{}
92
93
//- Construct from flux and Istream
94
gaussConvectionScheme
95
(
96
const
fvMesh
& mesh,
97
const
surfaceScalarField
& faceFlux,
98
Istream
& is
99
)
100
:
101
convectionScheme<Type>
(
mesh
, faceFlux),
102
tinterpScheme_
103
(
104
surfaceInterpolationScheme<Type>::New
(mesh, faceFlux, is)
105
)
106
{}
107
108
109
// Member Functions
110
111
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>
>
interpolate
112
(
113
const
surfaceScalarField
&,
114
const
GeometricField<Type, fvPatchField, volMesh>
&
115
)
const
;
116
117
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>
>
flux
118
(
119
const
surfaceScalarField
&,
120
const
GeometricField<Type, fvPatchField, volMesh>
&
121
)
const
;
122
123
tmp<fvMatrix<Type>
>
fvmDiv
124
(
125
const
surfaceScalarField
&,
126
GeometricField<Type, fvPatchField, volMesh>
&
127
)
const
;
128
129
tmp<GeometricField<Type, fvPatchField, volMesh>
>
fvcDiv
130
(
131
const
surfaceScalarField
&,
132
const
GeometricField<Type, fvPatchField, volMesh>
&
133
)
const
;
134
};
135
136
137
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138
139
}
// End namespace fv
140
141
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142
143
}
// End namespace Foam
144
145
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146
147
#ifdef NoRepository
148
# include <
finiteVolume/gaussConvectionScheme.C
>
149
#endif
150
151
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152
153
#endif
154
155
// ************************ vim: set sw=4 sts=4 et: ************************ //