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
OpenFOAM
interpolations
primitivePatchInterpolation
PrimitivePatchInterpolation_.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::PrimitivePatchInterpolation
26
27
Description
28
Interpolation class within a primitive patch. Allows interpolation from
29
points to faces and vice versa
30
31
SourceFiles
32
PrimitivePatchInterpolation_.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef PrimitivePatchInterpolation__H
37
#define PrimitivePatchInterpolation__H
38
39
#include <
OpenFOAM/scalarList.H
>
40
#include <
OpenFOAM/Field.H
>
41
42
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44
namespace
Foam
45
{
46
47
/*---------------------------------------------------------------------------*\
48
Class PrimitivePatchInterpolation Declaration
49
\*---------------------------------------------------------------------------*/
50
51
template
<
class
Patch>
52
class
PrimitivePatchInterpolation
53
{
54
// Private data
55
56
//- Reference to patch
57
const
Patch& patch_;
58
59
60
// Demand-driven data
61
62
//- Face-to-point weights
63
mutable
scalarListList
* faceToPointWeightsPtr_;
64
65
//- Face-to-edge weights
66
mutable
scalarList
* faceToEdgeWeightsPtr_;
67
68
69
// Private Member Functions
70
71
//- Disallow default bitwise copy construct
72
PrimitivePatchInterpolation
(
const
PrimitivePatchInterpolation
&);
73
74
//- Disallow default bitwise assignment
75
void
operator=(
const
PrimitivePatchInterpolation
&);
76
77
78
//- Face-to-point weights
79
const
scalarListList
& faceToPointWeights()
const
;
80
81
//- Make face-to-point weights
82
void
makeFaceToPointWeights()
const
;
83
84
//- Face-to-edge weights
85
const
scalarList
& faceToEdgeWeights()
const
;
86
87
//- Make face-to-edge weights
88
void
makeFaceToEdgeWeights()
const
;
89
90
//- Clear weights
91
void
clearWeights();
92
93
94
public
:
95
96
// Constructors
97
98
//- Construct from PrimitivePatch
99
PrimitivePatchInterpolation
(
const
Patch&
p
);
100
101
102
// Destructor
103
104
~PrimitivePatchInterpolation
();
105
106
107
// Member Functions
108
109
//- Interpolate from faces to points
110
template
<
class
Type>
111
tmp<Field<Type>
>
faceToPointInterpolate
112
(
113
const
Field<Type>
&
ff
114
)
const
;
115
116
template
<
class
Type>
117
tmp<Field<Type>
>
faceToPointInterpolate
118
(
119
const
tmp
<
Field<Type>
>& tff
120
)
const
;
121
122
//- Interpolate from points to faces
123
template
<
class
Type>
124
tmp<Field<Type>
>
pointToFaceInterpolate
125
(
126
const
Field<Type>
& pf
127
)
const
;
128
129
template
<
class
Type>
130
tmp<Field<Type>
>
pointToFaceInterpolate
131
(
132
const
tmp
<
Field<Type>
>& tpf
133
)
const
;
134
135
//- Interpolate from faces to edges
136
template
<
class
Type>
137
tmp<Field<Type>
>
faceToEdgeInterpolate
138
(
139
const
Field<Type>
& ff
140
)
const
;
141
142
template
<
class
Type>
143
tmp<Field<Type>
>
faceToEdgeInterpolate
144
(
145
const
tmp
<
Field<Type>
>& tff
146
)
const
;
147
148
//- Do what is neccessary if the mesh has moved
149
bool
movePoints
();
150
};
151
152
153
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154
155
}
// End namespace Foam
156
157
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158
159
#ifdef NoRepository
160
# include <
OpenFOAM/PrimitivePatchInterpolation_.C
>
161
#endif
162
163
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164
165
#endif
166
167
// ************************ vim: set sw=4 sts=4 et: ************************ //