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