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
fields
fvPatchFields
basic
calculated
calculatedFvPatchField.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::calculatedFvPatchField
26
27
Description
28
Foam::calculatedFvPatchField
29
30
SourceFiles
31
calculatedFvPatchField.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef calculatedFvPatchField_H
36
#define calculatedFvPatchField_H
37
38
#include <
finiteVolume/fvPatchField.H
>
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
namespace
Foam
43
{
44
45
/*---------------------------------------------------------------------------*\
46
Class calculatedFvPatch Declaration
47
\*---------------------------------------------------------------------------*/
48
49
template
<
class
Type>
50
class
calculatedFvPatchField
51
:
52
public
fvPatchField
<Type>
53
{
54
55
public
:
56
57
//- Runtime type information
58
TypeName
(
"calculated"
);
59
60
61
// Constructors
62
63
//- Construct from patch and internal field
64
calculatedFvPatchField
65
(
66
const
fvPatch
&,
67
const
DimensionedField<Type, volMesh>
&
68
);
69
70
//- Construct from patch, internal field and dictionary
71
calculatedFvPatchField
72
(
73
const
fvPatch
&,
74
const
DimensionedField<Type, volMesh>
&,
75
const
dictionary
&,
76
const
bool
valueRequired=
false
77
);
78
79
//- Construct by mapping given patchField<Type> onto a new patch
80
calculatedFvPatchField
81
(
82
const
calculatedFvPatchField<Type>
&,
83
const
fvPatch
&,
84
const
DimensionedField<Type, volMesh>
&,
85
const
fvPatchFieldMapper
&
86
);
87
88
//- Construct as copy
89
calculatedFvPatchField
90
(
91
const
calculatedFvPatchField<Type>
&
92
);
93
94
//- Construct and return a clone
95
virtual
tmp<fvPatchField<Type>
>
clone
()
const
96
{
97
return
tmp<fvPatchField<Type>
>
98
(
99
new
calculatedFvPatchField<Type>
(*this)
100
);
101
}
102
103
//- Construct as copy setting internal field reference
104
calculatedFvPatchField
105
(
106
const
calculatedFvPatchField<Type>
&,
107
const
DimensionedField<Type, volMesh>
&
108
);
109
110
//- Construct and return a clone setting internal field reference
111
virtual
tmp<fvPatchField<Type>
>
clone
112
(
113
const
DimensionedField<Type, volMesh>
& iF
114
)
const
115
{
116
return
tmp<fvPatchField<Type>
>
117
(
118
new
calculatedFvPatchField<Type>
(*
this
, iF)
119
);
120
}
121
122
123
// Member functions
124
125
// Access
126
127
//- Return true if this patch field fixes a value.
128
// Needed to check if a level has to be specified while solving
129
// Poissons equations.
130
virtual
bool
fixesValue
()
const
131
{
132
return
true
;
133
}
134
135
136
// Evaluation functions
137
138
//- Return the matrix diagonal coefficients corresponding to the
139
// evaluation of the value of this patchField with given weights
140
virtual
tmp<Field<Type>
>
valueInternalCoeffs
141
(
142
const
tmp<scalarField>
&
143
)
const
;
144
145
//- Return the matrix source coefficients corresponding to the
146
// evaluation of the value of this patchField with given weights
147
virtual
tmp<Field<Type>
>
valueBoundaryCoeffs
148
(
149
const
tmp<scalarField>
&
150
)
const
;
151
152
//- Return the matrix diagonal coefficients corresponding to the
153
// evaluation of the gradient of this patchField
154
tmp<Field<Type>
>
gradientInternalCoeffs
()
const
;
155
156
//- Return the matrix source coefficients corresponding to the
157
// evaluation of the gradient of this patchField
158
tmp<Field<Type>
>
gradientBoundaryCoeffs
()
const
;
159
160
161
//- Write
162
virtual
void
write
(
Ostream
&)
const
;
163
};
164
165
166
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167
168
}
// End namespace Foam
169
170
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171
172
#ifdef NoRepository
173
# include <
finiteVolume/calculatedFvPatchField.C
>
174
#endif
175
176
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177
178
#endif
179
180
// ************************ vim: set sw=4 sts=4 et: ************************ //