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
multivariateGaussConvectionScheme
multivariateGaussConvectionScheme.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::multivariateGaussConvectionScheme
26
27
Description
28
Basic second-order convection using face-gradients and Gauss' theorem.
29
30
SourceFiles
31
multivariateGaussConvectionScheme.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef multivariateGaussConvectionScheme_H
36
#define multivariateGaussConvectionScheme_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 multivariateGaussConvectionScheme Declaration
52
\*---------------------------------------------------------------------------*/
53
54
template
<
class
Type>
55
class
multivariateGaussConvectionScheme
56
:
57
public
fv::convectionScheme
<Type>
58
{
59
// Private data
60
61
tmp<multivariateSurfaceInterpolationScheme<Type>
> tinterpScheme_;
62
63
64
public
:
65
66
//- Runtime type information
67
TypeName
(
"Gauss"
);
68
69
70
// Constructors
71
72
//- Construct from flux and Istream
73
multivariateGaussConvectionScheme
74
(
75
const
fvMesh
&
mesh
,
76
const
typename
multivariateSurfaceInterpolationScheme<Type>
::
77
fieldTable&
fields
,
78
const
surfaceScalarField
& faceFlux,
79
Istream
& is
80
)
81
:
82
convectionScheme<Type>
(
mesh
, faceFlux),
83
tinterpScheme_
84
(
85
multivariateSurfaceInterpolationScheme<Type>::New
86
(
87
mesh, fields, faceFlux, is
88
)
89
)
90
{}
91
92
93
// Member Functions
94
95
tmp<multivariateSurfaceInterpolationScheme<Type>
>
96
interpolationScheme
()
const
97
{
98
return
tinterpScheme_;
99
}
100
101
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>
>
interpolate
102
(
103
const
surfaceScalarField
&,
104
const
GeometricField<Type, fvPatchField, volMesh>
&
105
)
const
;
106
107
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>
>
flux
108
(
109
const
surfaceScalarField
&,
110
const
GeometricField<Type, fvPatchField, volMesh>
&
111
)
const
;
112
113
tmp<fvMatrix<Type>
>
fvmDiv
114
(
115
const
surfaceScalarField
&,
116
GeometricField<Type, fvPatchField, volMesh>
&
117
)
const
;
118
119
tmp<GeometricField<Type, fvPatchField, volMesh>
>
fvcDiv
120
(
121
const
surfaceScalarField
&,
122
const
GeometricField<Type, fvPatchField, volMesh>
&
123
)
const
;
124
};
125
126
127
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128
129
}
// End namespace fv
130
131
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132
133
}
// End namespace Foam
134
135
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136
137
#ifdef NoRepository
138
# include <
finiteVolume/multivariateGaussConvectionScheme.C
>
139
#endif
140
141
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142
143
#endif
144
145
// ************************ vim: set sw=4 sts=4 et: ************************ //