BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_CommTable.hpp
Go to the documentation of this file.
1
/*
2
* BELFEM -- The Berkeley Lab Finite Element Framework
3
* Copyright (c) 2026, The Regents of the University of California,
4
* through Lawrence Berkeley National Laboratory (subject to receipt of any required
5
* approvals from the U.S. Dept. of Energy). All rights reserved.
6
*
7
* Developers: Christian Messe, Gregory Giard
8
*
9
* See the top-level LICENSE file for the complete license and disclaimer.
10
*/
11
12
#ifndef BELFEM_CL_COMMTABLE_HPP
13
#define BELFEM_CL_COMMTABLE_HPP
14
15
#include "
typedefs.hpp
"
16
#include "
cl_Cell.hpp
"
17
18
namespace
belfem
19
{
20
namespace
mesh
21
{
22
class
Distributor
;
23
24
class
CommTable
25
{
26
// contains the indices
27
Cell< index_t >
mNodes ;
28
Cell< index_t >
mEdges ;
29
Cell< index_t >
mFaces ;
30
Cell< index_t >
mElements ;
31
Cell< index_t >
mFacets ;
32
Cell< index_t >
mVertices ;
33
Cell< index_t >
mControlPoints ;
34
35
// give distributor access to writable functions
36
friend
Distributor ;
37
38
public
:
39
40
CommTable
() = default ;
41
42
~CommTable
() =
default
;
43
44
const
Cell< index_t >
&
nodes
()
const
;
45
const
Cell< index_t >
&
edges
()
const
;
46
const
Cell< index_t >
&
faces
()
const
;
47
const
Cell< index_t >
&
elements
()
const
;
48
const
Cell< index_t >
&
facets
()
const
;
49
const
Cell< index_t >
&
vertices
()
const
;
50
const
Cell< index_t >
&
control_points
()
const
;
51
52
index_t
number_of_nodes
()
const
;
53
index_t
number_of_edges
()
const
;
54
index_t
number_of_faces
()
const
;
55
index_t
number_of_elements
()
const
;
56
index_t
number_of_facets
()
const
;
57
index_t
number_of_vertices
()
const
;
58
index_t
number_of_control_points
()
const
;
59
60
protected
:
61
62
Cell< index_t >
&
nodes
();
63
Cell< index_t >
&
edges
();
64
Cell< index_t >
&
faces
();
65
Cell< index_t >
&
elements
();
66
Cell< index_t >
&
facets
();
67
Cell< index_t >
&
vertices
();
68
Cell< index_t >
&
control_points
();
69
};
70
71
//-----------------------------------------------------------------------
72
73
inline
const
Cell< index_t >
&
74
CommTable::nodes
()
const
75
{
76
return
mNodes ;
77
}
78
79
inline
const
Cell< index_t >
&
80
CommTable::edges
()
const
81
{
82
return
mEdges ;
83
}
84
85
inline
const
Cell< index_t >
&
86
CommTable::faces
()
const
87
{
88
return
mFaces ;
89
}
90
91
inline
const
Cell< index_t >
&
92
CommTable::elements
()
const
93
{
94
return
mElements ;
95
}
96
inline
const
Cell< index_t >
&
97
CommTable::facets
()
const
98
{
99
return
mFacets ;
100
}
101
inline
const
Cell< index_t >
&
102
CommTable::vertices
()
const
103
{
104
return
mVertices ;
105
}
106
107
inline
Cell< index_t >
&
108
CommTable::nodes
()
109
{
110
return
mNodes ;
111
}
112
113
inline
Cell< index_t >
&
114
CommTable::edges
()
115
{
116
return
mEdges ;
117
}
118
119
inline
Cell< index_t >
&
120
CommTable::faces
()
121
{
122
return
mFaces ;
123
}
124
125
inline
Cell< index_t >
&
126
CommTable::elements
()
127
{
128
return
mElements ;
129
}
130
inline
Cell< index_t >
&
131
CommTable::facets
()
132
{
133
return
mFacets ;
134
}
135
inline
Cell< index_t >
&
136
CommTable::vertices
()
137
{
138
return
mVertices ;
139
}
140
141
inline
index_t
142
CommTable::number_of_nodes
()
const
143
{
144
return
mNodes.size();
145
}
146
147
inline
index_t
148
CommTable::number_of_edges
()
const
149
{
150
return
mEdges.size();
151
}
152
153
inline
index_t
154
CommTable::number_of_faces
()
const
155
{
156
return
mFaces.size();
157
}
158
159
inline
index_t
160
CommTable::number_of_elements
()
const
161
{
162
return
mElements.size();
163
}
164
165
inline
index_t
166
CommTable::number_of_facets
()
const
167
{
168
return
mFacets.size();
169
}
170
171
inline
index_t
172
CommTable::number_of_vertices
()
const
173
{
174
return
mVertices.size();
175
}
176
177
inline
index_t
178
CommTable::number_of_control_points
()
const
179
{
180
return
mControlPoints.size();
181
}
182
183
inline
const
184
Cell< index_t >
&
CommTable::control_points
()
const
185
{
186
return
mControlPoints ;
187
}
188
189
inline
190
Cell< index_t >
&
CommTable::control_points
()
191
{
192
return
mControlPoints ;
193
}
194
}
195
}
196
#endif
//BELFEM_CL_COMMTABLE_HPP
cl_Cell.hpp
belfem::Cell< index_t >
belfem::mesh::CommTable::number_of_nodes
index_t number_of_nodes() const
Definition
cl_CommTable.hpp:142
belfem::mesh::CommTable::~CommTable
~CommTable()=default
belfem::mesh::CommTable::elements
const Cell< index_t > & elements() const
Definition
cl_CommTable.hpp:92
belfem::mesh::CommTable::edges
const Cell< index_t > & edges() const
Definition
cl_CommTable.hpp:80
belfem::mesh::CommTable::faces
const Cell< index_t > & faces() const
Definition
cl_CommTable.hpp:86
belfem::mesh::CommTable::vertices
const Cell< index_t > & vertices() const
Definition
cl_CommTable.hpp:102
belfem::mesh::CommTable::CommTable
CommTable()=default
belfem::mesh::CommTable::number_of_control_points
index_t number_of_control_points() const
Definition
cl_CommTable.hpp:178
belfem::mesh::CommTable::facets
const Cell< index_t > & facets() const
Definition
cl_CommTable.hpp:97
belfem::mesh::CommTable::control_points
const Cell< index_t > & control_points() const
Definition
cl_CommTable.hpp:184
belfem::mesh::CommTable::number_of_vertices
index_t number_of_vertices() const
Definition
cl_CommTable.hpp:172
belfem::mesh::CommTable::number_of_facets
index_t number_of_facets() const
Definition
cl_CommTable.hpp:166
belfem::mesh::CommTable::number_of_faces
index_t number_of_faces() const
Definition
cl_CommTable.hpp:154
belfem::mesh::CommTable::number_of_elements
index_t number_of_elements() const
Definition
cl_CommTable.hpp:160
belfem::mesh::CommTable::number_of_edges
index_t number_of_edges() const
Definition
cl_CommTable.hpp:148
belfem::mesh::CommTable::nodes
const Cell< index_t > & nodes() const
Definition
cl_CommTable.hpp:74
belfem::mesh::Distributor
Definition
cl_Mesh_Distributor.hpp:31
belfem::mesh
Definition
cl_EF_EdgeFunction.hpp:17
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::index_t
uint32_t index_t
Definition
typedefs.hpp:52
typedefs.hpp
src
mesh
cl_CommTable.hpp
Generated by
1.18.0