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
interpolation
interpolation
interpolationCellPoint
cellPointWeight
cellPointWeight.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::cellPointWeight
26
27
Description
28
Foam::cellPointWeight
29
30
SourceFiles
31
cellPointWeight.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef cellPointWeight_H
36
#define cellPointWeight_H
37
38
#include <
OpenFOAM/vector.H
>
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
namespace
Foam
43
{
44
45
class
polyMesh;
46
47
/*---------------------------------------------------------------------------*\
48
Class cellPointWeight Declaration
49
\*---------------------------------------------------------------------------*/
50
51
class
cellPointWeight
52
{
53
protected
:
54
55
// Protected data
56
57
//- Cell index
58
const
label
cellIndex_
;
59
60
//- Weights applied to tet vertices
61
FixedList<scalar, 4>
weights_
;
62
63
//- Face vertex indices
64
FixedList<label, 3>
faceVertices_
;
65
66
67
// Protected Member Functions
68
69
void
findTetrahedron
70
(
71
const
polyMesh
&
mesh
,
72
const
vector
& position,
73
const
label cellIndex
74
);
75
76
void
findTriangle
77
(
78
const
polyMesh
&
mesh
,
79
const
vector
& position,
80
const
label faceIndex
81
);
82
83
84
public
:
85
86
//- Debug switch
87
static
int
debug
;
88
89
//- Tolerance used in calculating barycentric co-ordinates
90
// (applied to normalised values)
91
static
scalar
tol
;
92
93
94
// Constructors
95
96
//- Construct from components
97
cellPointWeight
98
(
99
const
polyMesh
&
mesh
,
100
const
vector
& position,
101
const
label nCell,
102
const
label facei = -1
103
);
104
105
106
// Member Functions
107
108
//- Cell index
109
inline
label
cell
()
const
110
{
111
return
cellIndex_
;
112
}
113
114
//- interpolation weights
115
inline
const
FixedList<scalar, 4>
&
weights
()
const
116
{
117
return
weights_
;
118
}
119
120
//- interpolation addressing for points on face
121
inline
const
FixedList<label, 3>
&
faceVertices
()
const
122
{
123
return
faceVertices_
;
124
}
125
};
126
127
128
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129
130
}
// End namespace Foam
131
132
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133
134
#endif
135
136
// ************************ vim: set sw=4 sts=4 et: ************************ //