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