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
fixedGradient
fixedGradientFvPatchField.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::fixedGradientFvPatchField
26
27
Description
28
Foam::fixedGradientFvPatchField
29
30
SourceFiles
31
fixedGradientFvPatchField.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef fixedGradientFvPatchField_H
36
#define fixedGradientFvPatchField_H
37
38
#include <
finiteVolume/fvPatchField.H
>
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
namespace
Foam
43
{
44
45
/*---------------------------------------------------------------------------*\
46
Class fixedGradientFvPatch Declaration
47
\*---------------------------------------------------------------------------*/
48
49
template
<
class
Type>
50
class
fixedGradientFvPatchField
51
:
52
public
fvPatchField
<Type>
53
{
54
// Private data
55
56
Field<Type>
gradient_;
57
58
59
public
:
60
61
//- Runtime type information
62
TypeName
(
"fixedGradient"
);
63
64
65
// Constructors
66
67
//- Construct from patch and internal field
68
fixedGradientFvPatchField
69
(
70
const
fvPatch
&,
71
const
DimensionedField<Type, volMesh>
&
72
);
73
74
//- Construct from patch, internal field and dictionary
75
fixedGradientFvPatchField
76
(
77
const
fvPatch
&,
78
const
DimensionedField<Type, volMesh>
&,
79
const
dictionary
&
80
);
81
82
//- Construct by mapping the given fixedGradientFvPatchField
83
// onto a new patch
84
fixedGradientFvPatchField
85
(
86
const
fixedGradientFvPatchField<Type>
&,
87
const
fvPatch
&,
88
const
DimensionedField<Type, volMesh>
&,
89
const
fvPatchFieldMapper
&
90
);
91
92
//- Construct as copy
93
fixedGradientFvPatchField
94
(
95
const
fixedGradientFvPatchField<Type>
&
96
);
97
98
//- Construct and return a clone
99
virtual
tmp<fvPatchField<Type>
>
clone
()
const
100
{
101
return
tmp<fvPatchField<Type>
>
102
(
103
new
fixedGradientFvPatchField<Type>
(*this)
104
);
105
}
106
107
//- Construct as copy setting internal field reference
108
fixedGradientFvPatchField
109
(
110
const
fixedGradientFvPatchField<Type>
&,
111
const
DimensionedField<Type, volMesh>
&
112
);
113
114
//- Construct and return a clone setting internal field reference
115
virtual
tmp<fvPatchField<Type>
>
clone
116
(
117
const
DimensionedField<Type, volMesh>
& iF
118
)
const
119
{
120
return
tmp<fvPatchField<Type>
>
121
(
122
new
fixedGradientFvPatchField<Type>
(*
this
, iF)
123
);
124
}
125
126
127
// Member functions
128
129
// Return defining fields
130
131
//- Return gradient at boundary
132
virtual
Field<Type>
&
gradient
()
133
{
134
return
gradient_;
135
}
136
137
virtual
const
Field<Type>
&
gradient
()
const
138
{
139
return
gradient_;
140
}
141
142
143
// Mapping functions
144
145
//- Map (and resize as needed) from self given a mapping object
146
virtual
void
autoMap
147
(
148
const
fvPatchFieldMapper
&
149
);
150
151
//- Reverse map the given fvPatchField onto this fvPatchField
152
virtual
void
rmap
153
(
154
const
fvPatchField<Type>
&,
155
const
labelList
&
156
);
157
158
159
// Evaluation functions
160
161
//- Return gradient at boundary
162
virtual
tmp<Field<Type>
>
snGrad
()
const
163
{
164
return
gradient_;
165
}
166
167
//- Evaluate the patch field
168
virtual
void
evaluate
169
(
170
const
Pstream::commsTypes
commsType=
Pstream::blocking
171
);
172
173
//- Return the matrix diagonal coefficients corresponding to the
174
// evaluation of the value of this patchField with given weights
175
virtual
tmp<Field<Type>
>
valueInternalCoeffs
176
(
177
const
tmp<scalarField>
&
178
)
const
;
179
180
//- Return the matrix source coefficients corresponding to the
181
// evaluation of the value of this patchField with given weights
182
virtual
tmp<Field<Type>
>
valueBoundaryCoeffs
183
(
184
const
tmp<scalarField>
&
185
)
const
;
186
187
//- Return the matrix diagonal coefficients corresponding to the
188
// evaluation of the gradient of this patchField
189
virtual
tmp<Field<Type>
>
gradientInternalCoeffs
()
const
;
190
191
//- Return the matrix source coefficients corresponding to the
192
// evaluation of the gradient of this patchField
193
virtual
tmp<Field<Type>
>
gradientBoundaryCoeffs
()
const
;
194
195
196
//- Write
197
virtual
void
write
(
Ostream
&)
const
;
198
};
199
200
201
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202
203
}
// End namespace Foam
204
205
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206
207
#ifdef NoRepository
208
# include <
finiteVolume/fixedGradientFvPatchField.C
>
209
#endif
210
211
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
212
213
#endif
214
215
// ************************ vim: set sw=4 sts=4 et: ************************ //