dune-alugrid 3.0.0
alu3dinclude.hh
Go to the documentation of this file.
1#ifndef DUNE_ALUGRID_ALU3DINCLUDE_HH
2#define DUNE_ALUGRID_ALU3DINCLUDE_HH
3
5// compile imp.cc into lib (1 yes, 0 no)
6// if you change this, you'll get what you deserve
8#define COMPILE_ALUGRID_LIB 0
9
10#if COMPILE_ALUGRID_LIB
11 #define COMPILE_ALUGRID_INLINE 0
12#else
13 #define COMPILE_ALUGRID_INLINE 1
14#endif
15
16#if COMPILE_ALUGRID_INLINE
17#define alu_inline inline
18#else
19#define alu_inline
20#endif
22
23// all methods and classes of the ALUGrid are defined in the namespace
24#define ALU3DSPACE ::ALUGrid::
25
27
28#include <dune/alugrid/impl/serial/gatherscatter.hh>
29#include <dune/alugrid/impl/serial/key.h>
30#include <dune/alugrid/impl/serial/myalloc.h>
31#include <dune/alugrid/impl/serial/serialize.h>
32
33#include <dune/alugrid/impl/parallel/mpAccess.h>
34#include <dune/alugrid/impl/parallel/gitter_pll_ldb.h>
35
36#include <dune/alugrid/impl/serial/gitter_sti.h>
37
38#include <dune/alugrid/impl/serial/gitter_hexa_top.h>
39#include <dune/alugrid/impl/serial/mapp_tetra_3d_ext.h>
40#include <dune/alugrid/impl/serial/gitter_tetra_top.h>
41#include <dune/alugrid/impl/serial/walk.h>
42#include <dune/alugrid/impl/serial/gitter_impl.h>
43#include <dune/alugrid/impl/serial/gitter_mgb.h>
44#include <dune/alugrid/impl/serial/key.h>
45#include <dune/alugrid/impl/serial/lock.h>
46
47#include <dune/alugrid/impl/duneinterface/gitter_dune_impl.h>
48
49namespace ALUGrid
50{
51
52 typedef Gitter::AdaptRestrictProlong AdaptRestrictProlongType;
53
54 static const int ProcessorBoundary_t = Gitter::hbndseg_STI::closure;
55
56 // general GatherScatter type
57 typedef GatherScatter GatherScatterType;
58
59} // namespace ALUGrid
60
61
62// headers for parallel grid structures
63#include <dune/alugrid/impl/parallel/gitter_pll_sti.h>
64#include <dune/alugrid/impl/parallel/gitter_pll_impl.h>
65#include <dune/alugrid/impl/parallel/gitter_pll_ldb.h>
66#include <dune/alugrid/impl/parallel/gitter_tetra_top_pll.h>
67#include <dune/alugrid/impl/parallel/gitter_hexa_top_pll.h>
68#include <dune/alugrid/impl/parallel/gitter_pll_mgb.h>
69#include <dune/alugrid/impl/duneinterface/gitter_dune_pll_impl.h>
70
71#if ALU3DGRID_PARALLEL
72// if MPI was found include MPI communications
73#include <dune/alugrid/impl/parallel/mpAccess_MPI.h>
74#endif // #if ALU3DGRID_PARALLEL
75
76//- local includes
78
79namespace Dune
80{
81
82 // typedef of ALU3dGridElementType see topology.hh
83
84 // i.e. double or float
85 typedef double alu3d_ctype;
86
87
88 // ALU3dBasicImplTraits
89 // --------------------
90
91 template< class Comm >
93
94 template<>
96 {
97 typedef ALU3DSPACE Gitter GitterType;
98 typedef ALU3DSPACE GitterDuneImpl GitterImplType;
99
100 typedef GitterType::helement_STI HElementType; // Interface Element
101 typedef GitterType::hface_STI HFaceType; // Interface Face
102 typedef GitterType::hedge_STI HEdgeType; // Interface Edge
103 typedef GitterType::vertex_STI VertexType; // Interface Vertex
104 typedef GitterType::hbndseg_STI HBndSegType;
105 typedef GitterType::ghostpair_STI GhostPairType;
106
108
109 typedef GitterType::Geometric::hedge1_GEO GEOEdgeType;
110
112 template <class BndFaceType>
113 static bool isGhost( const BndFaceType* ghost )
114 {
115 return false ;
116 }
117 };
118
119 template<>
121 {
122 typedef ALU3DSPACE GitterDunePll GitterType;
123 typedef ALU3DSPACE GitterDunePll GitterImplType;
124
125 typedef GitterType::helement_STI HElementType; // Interface Element
126 typedef GitterType::hface_STI HFaceType; // Interface Face
127 typedef GitterType::hedge_STI HEdgeType; // Interface Edge
128 typedef GitterType::vertex_STI VertexType; // Interface Vertex
129 typedef GitterType::hbndseg_STI HBndSegType;
130 typedef GitterType::ghostpair_STI GhostPairType;
131
132 typedef ALU3DSPACE ElementPllXIF_t PllElementType;
133
134 typedef GitterType::Geometric::hedge1_GEO GEOEdgeType;
135
136 // method for ghost check
137 template <class BndFaceType>
138 static bool isGhost( const BndFaceType* ghost )
139 {
140 return ( ghost != 0 );
141 }
142 };
143
144
145 // ALU3dCodimImplTraits
146 // --------------------
147
148 template< ALU3dGridElementType elType, class Comm, int dim, int codim >
150
151 template< class Comm, int dim>
152 struct ALU3dCodimImplTraits< tetra, Comm, dim, 0 >
153 {
156
157 typedef typename GitterType::helement_STI InterfaceType;
158 typedef typename GitterType::Geometric::hasFace3 EntitySeedType;
159 typedef typename GitterImplType::Objects::tetra_IMPL ImplementationType;
160 typedef typename GitterType::hbndseg_STI GhostInterfaceType;
161 typedef typename GitterImplType::Objects::Hbnd3Default GhostImplementationType;
162 };
163
164 template< class Comm, int dim >
165 struct ALU3dCodimImplTraits< hexa, Comm, dim, 0 >
166 {
169
170 typedef typename GitterType::helement_STI InterfaceType;
171 typedef typename GitterType::Geometric::hasFace4 EntitySeedType;
172 typedef typename GitterImplType::Objects::hexa_IMPL ImplementationType;
173 typedef typename GitterType::hbndseg_STI GhostInterfaceType;
174 typedef typename GitterImplType::Objects::Hbnd4Default GhostImplementationType;
175 };
176
177 template< class Comm, int dim >
178 struct ALU3dCodimImplTraits< tetra, Comm, dim, 1 >
179 {
181
182 typedef typename GitterType::hface_STI InterfaceType;
184 typedef typename GitterType::Geometric::hface3_GEO ImplementationType;
185 };
186
187 template< class Comm, int dim >
188 struct ALU3dCodimImplTraits< hexa, Comm, dim, 1 >
189 {
191
192 typedef typename GitterType::hface_STI InterfaceType;
194 typedef typename GitterType::Geometric::hface4_GEO ImplementationType;
195 };
196
197 template< ALU3dGridElementType elType, class Comm >
198 struct ALU3dCodimImplTraits< elType, Comm, 3, 2 >
199 {
201
202 typedef typename GitterType::hedge_STI InterfaceType;
204 typedef typename GitterType::Geometric::hedge1_GEO ImplementationType;
205 };
206
207
208 template< ALU3dGridElementType elType, class Comm >
209 struct ALU3dCodimImplTraits< elType, Comm, 2, 2 >
210 {
212
213 typedef typename GitterType::vertex_STI InterfaceType;
215 typedef typename GitterType::Geometric::VertexGeo ImplementationType;
216 };
217
218 template< ALU3dGridElementType elType, class Comm >
219 struct ALU3dCodimImplTraits< elType, Comm, 3, 3 >
220 {
222
223 typedef typename GitterType::vertex_STI InterfaceType;
225 typedef typename GitterType::Geometric::VertexGeo ImplementationType;
226 };
227
228 // Refinement rules in general
229 template< class MarkRuleType, ALU3dGridElementType elType >
231
232 // Refinement rules for simplices
233 template< class MarkRuleType >
234 struct ALU3dRefinementTraits < MarkRuleType, tetra >
235 {
236 // refinement and coarsening enum
237 enum { bisect_element_t = MarkRuleType::bisect };
238 enum { refine_element_t = MarkRuleType::regular };
239 enum { coarse_element_t = MarkRuleType::crs };
240 enum { nosplit_element_t = MarkRuleType::nosplit };
241 };
242
243 // Refinement rules for cubes
244 template< class MarkRuleType >
245 struct ALU3dRefinementTraits < MarkRuleType, hexa >
246 {
247 // refinement and coarsening enum
248 enum { bisect_element_t = MarkRuleType::regular };
249 enum { refine_element_t = MarkRuleType::regular };
250 enum { coarse_element_t = MarkRuleType::crs };
251 enum { nosplit_element_t = MarkRuleType::nosplit };
252 };
253
254
255 // ALU3dImplTraits
256 // ---------------
257
258 template< ALU3dGridElementType elType, class Comm >
260
261 template< class Comm >
262 struct ALU3dImplTraits< tetra, Comm >
263 : public ALU3dBasicImplTraits< Comm >
264 {
267
268 typedef typename GitterType::Geometric::hface3_GEO GEOFaceType;
269 typedef typename GitterType::Geometric::VertexGeo GEOVertexType;
270 typedef typename GitterImplType::Objects::tetra_IMPL IMPLElementType;
271 typedef typename GitterType::Geometric::tetra_GEO GEOElementType;
272 typedef typename GitterType::Geometric::periodic3_GEO GEOPeriodicType;
273 typedef typename GitterType::Geometric::hasFace3 HasFaceType;
274 typedef typename GitterType::Geometric::Hface3Rule HfaceRuleType;
275 typedef typename GitterImplType::Objects::Hbnd3Default BNDFaceType;
276 typedef typename GitterImplType::Objects::hbndseg3_IMPL ImplBndFaceType;
277
278 typedef typename GitterType::Geometric::TetraRule MarkRuleType;
279
280 struct RefinementRules
281 : public ALU3dRefinementTraits<MarkRuleType, tetra>
282 {};
283
284 typedef std::pair< GEOFaceType *, int > NeighbourFaceType;
285 typedef std::pair< HasFaceType *, int > NeighbourPairType;
286
287 template< int dim, int codim >
288 struct Codim
289 : public ALU3dCodimImplTraits< tetra, Comm, dim, codim >
290 {};
291
292 // access of faces
293 template <class Elem>
294 static const GEOFaceType* getFace( const Elem& elem, const int aluFace )
295 {
296 return elem.myhface( aluFace );
297 }
298 };
299
300 template< class Comm >
301 struct ALU3dImplTraits< hexa, Comm >
302 : public ALU3dBasicImplTraits< Comm >
303 {
306
307 typedef typename GitterType::Geometric::hface4_GEO GEOFaceType;
308 typedef typename GitterType::Geometric::VertexGeo GEOVertexType;
309 typedef typename GitterImplType::Objects::hexa_IMPL IMPLElementType;
310 typedef typename GitterType::Geometric::hexa_GEO GEOElementType;
311 typedef typename GitterType::Geometric::periodic4_GEO GEOPeriodicType;
312 typedef typename GitterType::Geometric::hasFace4 HasFaceType;
313 typedef typename GitterType::Geometric::Hface4Rule HfaceRuleType;
314 typedef typename GitterImplType::Objects::Hbnd4Default BNDFaceType;
315 typedef typename GitterImplType::Objects::hbndseg4_IMPL ImplBndFaceType;
316
317 typedef typename GitterType::Geometric::HexaRule MarkRuleType;
318
319 struct RefinementRules
320 : public ALU3dRefinementTraits<MarkRuleType, hexa>
321 {};
322
323 typedef std::pair< GEOFaceType *, int > NeighbourFaceType;
324 typedef std::pair< HasFaceType *, int > NeighbourPairType;
325
326 template< int dim, int codim >
327 struct Codim
328 : public ALU3dCodimImplTraits< hexa, Comm, dim, codim >
329 {};
330
331 // access of faces
332 template <class Elem>
333 static const GEOFaceType* getFace( const Elem& elem, const int aluFace )
334 {
335 return elem.myhface( aluFace );
336 }
337 };
338
339
340
343 template< class Comm >
345 {
346 // level vertex iterator list
348 typedef std::vector< VertexType * > VertexListType;
349 typedef typename VertexListType::iterator IteratorType;
350
352 : up2Date_( false )
353 {}
354
355 size_t size () const { return vertexList_.size(); }
356
357 bool up2Date () const { return up2Date_; }
358 void unsetUp2Date () { up2Date_ = false; }
359
360 // make grid walkthrough and calc global size
361 template <class GridType>
362 void setupVxList (const GridType & grid, int level);
363
364 IteratorType begin () { return vertexList_.begin(); }
365 IteratorType end () { return vertexList_.end(); }
366
367 VertexListType & getItemList() { return vertexList_; }
368
369 private:
370 bool up2Date_;
371 //careful: due to the setupVxList structure the ordering of vertexList_ and validateList_ differ in the level Case
372 //for validateList_ we want the ALUGrid Index as ordering, as we want to use it for faces
373 VertexListType vertexList_;
374 };
375
376
379 template< class Comm >
381 {
382 // level vertex iterator list
384 typedef std::pair< VertexType *, int > ItemType;
385 typedef std::vector< ItemType > VertexListType;
386 typedef typename VertexListType::iterator IteratorType;
387
389 : up2Date_( false )
390 {}
391
392 size_t size () const { return vertexList_.size(); }
393
394 bool up2Date () const { return up2Date_; }
395 void unsetUp2Date () { up2Date_ = false; }
396
397 // make grid walkthrough and calc global size
398 template <class GridType>
399 void setupVxList (const GridType & grid);
400
401 IteratorType begin () { return vertexList_.begin(); }
402 IteratorType end () { return vertexList_.end(); }
403
404 VertexListType & getItemList() { return vertexList_; }
405
406 int getLevel ( const VertexType &vertex ) const
407 {
408 const int idx = vertex.getIndex();
409 alugrid_assert ( idx >= 0 );
410 alugrid_assert ( idx < (int)size());
411 const ItemType & p = vertexList_[idx];
412 if( p.first == 0 )
413 return vertex.level();
414 else
415 return p.second;
416 }
417
418 private:
419 bool up2Date_;
420 VertexListType vertexList_;
421 };
422
423
424
426 {
427 public:
428 // level vertex iterator list
429 typedef std::vector < void * > ItemListType;
430 typedef ItemListType :: iterator IteratorType;
431
432 ALU3dGridItemList () : up2Date_(false) {}
433
434 size_t size () const { return itemList_.size(); }
435
436 bool up2Date () const { return up2Date_; }
437 void unsetUp2Date () { up2Date_ = false; }
438
439 void markAsUp2Date() { up2Date_ = true; }
440
441 IteratorType begin () { return itemList_.begin(); }
442 IteratorType end () { return itemList_.end(); }
443
444 ItemListType & getItemList() { return itemList_; }
445
446 private:
447 bool up2Date_;
448 ItemListType itemList_;
449 };
450
452
454 // some helper functions
456
457 template< class Comm >
459 {
460 static const typename ALU3dImplTraits< tetra, Comm >::GEOFaceType *
462 {
463 alugrid_assert (index >= 0 && index < 4);
464 return elem.myhface( ElementTopologyMapping< tetra >::dune2aluFace(index) );
465 }
466
467 static const typename ALU3dImplTraits< hexa, Comm >::GEOFaceType*
469 {
470 alugrid_assert (index >= 0 && index < 6);
471 return elem.myhface( ElementTopologyMapping< hexa >::dune2aluFace(index) );
472 }
473 };
474
475} // end namespace Dune
476
477#endif // #ifndef DUNE_ALUGRID_ALU3DINCLUDE_HH
#define alugrid_assert(EX)
Definition alugrid_assert.hh:20
#define ALU3DSPACE
Definition alu3dinclude.hh:24
Definition alu3dinclude.hh:50
Gitter::AdaptRestrictProlong AdaptRestrictProlongType
Definition alu3dinclude.hh:52
static const int ProcessorBoundary_t
Definition alu3dinclude.hh:54
GatherScatter GatherScatterType
Definition alu3dinclude.hh:57
Definition alu3dinclude.hh:80
@ hexa
Definition topology.hh:12
@ tetra
Definition topology.hh:12
double alu3d_ctype
Definition alu3dinclude.hh:85
ALU3dGridItemList ALU3dGridItemListType
Definition alu3dinclude.hh:451
Definition alu3dinclude.hh:92
GitterType::helement_STI HElementType
Definition alu3dinclude.hh:100
GitterType::hface_STI HFaceType
Definition alu3dinclude.hh:101
ALU3DSPACE GitterDuneImpl GitterImplType
Definition alu3dinclude.hh:98
static bool isGhost(const BndFaceType *ghost)
method for ghost check
Definition alu3dinclude.hh:113
HElementType PllElementType
Definition alu3dinclude.hh:107
GitterType::hbndseg_STI HBndSegType
Definition alu3dinclude.hh:104
GitterType::ghostpair_STI GhostPairType
Definition alu3dinclude.hh:105
GitterType::vertex_STI VertexType
Definition alu3dinclude.hh:103
GitterType::hedge_STI HEdgeType
Definition alu3dinclude.hh:102
ALU3DSPACE Gitter GitterType
Definition alu3dinclude.hh:97
GitterType::Geometric::hedge1_GEO GEOEdgeType
Definition alu3dinclude.hh:109
static bool isGhost(const BndFaceType *ghost)
Definition alu3dinclude.hh:138
GitterType::hbndseg_STI HBndSegType
Definition alu3dinclude.hh:129
ALU3DSPACE GitterDunePll GitterType
Definition alu3dinclude.hh:122
GitterType::vertex_STI VertexType
Definition alu3dinclude.hh:128
ALU3DSPACE GitterDunePll GitterImplType
Definition alu3dinclude.hh:123
GitterType::helement_STI HElementType
Definition alu3dinclude.hh:125
ALU3DSPACE ElementPllXIF_t PllElementType
Definition alu3dinclude.hh:132
GitterType::ghostpair_STI GhostPairType
Definition alu3dinclude.hh:130
GitterType::Geometric::hedge1_GEO GEOEdgeType
Definition alu3dinclude.hh:134
GitterType::hedge_STI HEdgeType
Definition alu3dinclude.hh:127
GitterType::hface_STI HFaceType
Definition alu3dinclude.hh:126
Definition alu3dinclude.hh:149
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition alu3dinclude.hh:155
GitterImplType::Objects::tetra_IMPL ImplementationType
Definition alu3dinclude.hh:159
GitterType::helement_STI InterfaceType
Definition alu3dinclude.hh:157
GitterType::Geometric::hasFace3 EntitySeedType
Definition alu3dinclude.hh:158
GitterImplType::Objects::Hbnd3Default GhostImplementationType
Definition alu3dinclude.hh:161
GitterType::hbndseg_STI GhostInterfaceType
Definition alu3dinclude.hh:160
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:154
GitterType::helement_STI InterfaceType
Definition alu3dinclude.hh:170
GitterType::hbndseg_STI GhostInterfaceType
Definition alu3dinclude.hh:173
GitterImplType::Objects::hexa_IMPL ImplementationType
Definition alu3dinclude.hh:172
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:167
GitterType::Geometric::hasFace4 EntitySeedType
Definition alu3dinclude.hh:171
GitterImplType::Objects::Hbnd4Default GhostImplementationType
Definition alu3dinclude.hh:174
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition alu3dinclude.hh:168
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:180
GitterType::Geometric::hface3_GEO ImplementationType
Definition alu3dinclude.hh:184
GitterType::hface_STI InterfaceType
Definition alu3dinclude.hh:182
InterfaceType EntitySeedType
Definition alu3dinclude.hh:183
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:190
GitterType::Geometric::hface4_GEO ImplementationType
Definition alu3dinclude.hh:194
GitterType::hface_STI InterfaceType
Definition alu3dinclude.hh:192
InterfaceType EntitySeedType
Definition alu3dinclude.hh:193
InterfaceType EntitySeedType
Definition alu3dinclude.hh:203
GitterType::hedge_STI InterfaceType
Definition alu3dinclude.hh:202
GitterType::Geometric::hedge1_GEO ImplementationType
Definition alu3dinclude.hh:204
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:200
GitterType::vertex_STI InterfaceType
Definition alu3dinclude.hh:213
GitterType::Geometric::VertexGeo ImplementationType
Definition alu3dinclude.hh:215
InterfaceType EntitySeedType
Definition alu3dinclude.hh:214
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:211
InterfaceType EntitySeedType
Definition alu3dinclude.hh:224
GitterType::Geometric::VertexGeo ImplementationType
Definition alu3dinclude.hh:225
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:221
GitterType::vertex_STI InterfaceType
Definition alu3dinclude.hh:223
Definition alu3dinclude.hh:230
Definition alu3dinclude.hh:259
GitterType::Geometric::hasFace3 HasFaceType
Definition alu3dinclude.hh:273
GitterType::Geometric::Hface3Rule HfaceRuleType
Definition alu3dinclude.hh:274
GitterImplType::Objects::tetra_IMPL IMPLElementType
Definition alu3dinclude.hh:270
GitterType::Geometric::VertexGeo GEOVertexType
Definition alu3dinclude.hh:269
GitterImplType::Objects::Hbnd3Default BNDFaceType
Definition alu3dinclude.hh:275
GitterType::Geometric::periodic3_GEO GEOPeriodicType
Definition alu3dinclude.hh:272
static const GEOFaceType * getFace(const Elem &elem, const int aluFace)
Definition alu3dinclude.hh:294
GitterType::Geometric::tetra_GEO GEOElementType
Definition alu3dinclude.hh:271
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition alu3dinclude.hh:266
GitterType::Geometric::TetraRule MarkRuleType
Definition alu3dinclude.hh:278
GitterType::Geometric::hface3_GEO GEOFaceType
Definition alu3dinclude.hh:268
std::pair< GEOFaceType *, int > NeighbourFaceType
Definition alu3dinclude.hh:284
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:265
GitterImplType::Objects::hbndseg3_IMPL ImplBndFaceType
Definition alu3dinclude.hh:276
std::pair< HasFaceType *, int > NeighbourPairType
Definition alu3dinclude.hh:285
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition alu3dinclude.hh:305
GitterType::Geometric::Hface4Rule HfaceRuleType
Definition alu3dinclude.hh:313
GitterImplType::Objects::Hbnd4Default BNDFaceType
Definition alu3dinclude.hh:314
GitterType::Geometric::hface4_GEO GEOFaceType
Definition alu3dinclude.hh:307
static const GEOFaceType * getFace(const Elem &elem, const int aluFace)
Definition alu3dinclude.hh:333
std::pair< HasFaceType *, int > NeighbourPairType
Definition alu3dinclude.hh:324
GitterType::Geometric::periodic4_GEO GEOPeriodicType
Definition alu3dinclude.hh:311
GitterType::Geometric::HexaRule MarkRuleType
Definition alu3dinclude.hh:317
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition alu3dinclude.hh:304
std::pair< GEOFaceType *, int > NeighbourFaceType
Definition alu3dinclude.hh:323
GitterImplType::Objects::hexa_IMPL IMPLElementType
Definition alu3dinclude.hh:309
GitterType::Geometric::VertexGeo GEOVertexType
Definition alu3dinclude.hh:308
GitterType::Geometric::hexa_GEO GEOElementType
Definition alu3dinclude.hh:310
GitterImplType::Objects::hbndseg4_IMPL ImplBndFaceType
Definition alu3dinclude.hh:315
GitterType::Geometric::hasFace4 HasFaceType
Definition alu3dinclude.hh:312
Definition alu3dinclude.hh:345
std::vector< VertexType * > VertexListType
Definition alu3dinclude.hh:348
VertexListType & getItemList()
Definition alu3dinclude.hh:367
ALU3dGridVertexList()
Definition alu3dinclude.hh:351
bool up2Date() const
Definition alu3dinclude.hh:357
void unsetUp2Date()
Definition alu3dinclude.hh:358
IteratorType begin()
Definition alu3dinclude.hh:364
IteratorType end()
Definition alu3dinclude.hh:365
size_t size() const
Definition alu3dinclude.hh:355
void setupVxList(const GridType &grid, int level)
VertexListType::iterator IteratorType
Definition alu3dinclude.hh:349
ALU3dBasicImplTraits< Comm >::VertexType VertexType
Definition alu3dinclude.hh:347
Definition alu3dinclude.hh:381
std::pair< VertexType *, int > ItemType
Definition alu3dinclude.hh:384
ALU3dGridLeafVertexList()
Definition alu3dinclude.hh:388
void setupVxList(const GridType &grid)
void unsetUp2Date()
Definition alu3dinclude.hh:395
IteratorType begin()
Definition alu3dinclude.hh:401
ALU3dBasicImplTraits< Comm >::VertexType VertexType
Definition alu3dinclude.hh:383
VertexListType & getItemList()
Definition alu3dinclude.hh:404
std::vector< ItemType > VertexListType
Definition alu3dinclude.hh:385
IteratorType end()
Definition alu3dinclude.hh:402
VertexListType::iterator IteratorType
Definition alu3dinclude.hh:386
int getLevel(const VertexType &vertex) const
Definition alu3dinclude.hh:406
bool up2Date() const
Definition alu3dinclude.hh:394
size_t size() const
Definition alu3dinclude.hh:392
Definition alu3dinclude.hh:426
bool up2Date() const
Definition alu3dinclude.hh:436
void markAsUp2Date()
Definition alu3dinclude.hh:439
IteratorType end()
Definition alu3dinclude.hh:442
ItemListType::iterator IteratorType
Definition alu3dinclude.hh:430
size_t size() const
Definition alu3dinclude.hh:434
ItemListType & getItemList()
Definition alu3dinclude.hh:444
IteratorType begin()
Definition alu3dinclude.hh:441
ALU3dGridItemList()
Definition alu3dinclude.hh:432
void unsetUp2Date()
Definition alu3dinclude.hh:437
std::vector< void * > ItemListType
Definition alu3dinclude.hh:429
Definition alu3dinclude.hh:459
static const ALU3dImplTraits< hexa, Comm >::GEOFaceType * getFace(const typename ALU3dImplTraits< hexa, Comm >::GEOElementType &elem, int index)
Definition alu3dinclude.hh:468
static const ALU3dImplTraits< tetra, Comm >::GEOFaceType * getFace(const typename ALU3dImplTraits< tetra, Comm >::GEOElementType &elem, int index)
Definition alu3dinclude.hh:461
Definition topology.hh:40
type of class for specialization of serial ALUGrid (No_Comm as communicator)
Definition declaration.hh:31
type of class for specialization of parallel ALUGrid (MPI_Comm as communicator)
Definition declaration.hh:39