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
21 
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 
49 namespace 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 
79 namespace 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 *
461  getFace( const typename ALU3dImplTraits< tetra, Comm >::GEOElementType& elem, int index)
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*
468  getFace( const typename ALU3dImplTraits< hexa, Comm >::GEOElementType &elem, int index )
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
Dune::ALU3dGridLeafVertexList::ItemType
std::pair< VertexType *, int > ItemType
Definition: alu3dinclude.hh:384
Dune::ALU3dGridItemList::end
IteratorType end()
Definition: alu3dinclude.hh:442
Dune::ALU3dImplTraits< tetra, Comm >::NeighbourFaceType
std::pair< GEOFaceType *, int > NeighbourFaceType
Definition: alu3dinclude.hh:284
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 1 >::EntitySeedType
InterfaceType EntitySeedType
Definition: alu3dinclude.hh:183
Dune::ALU3dGridItemList
Definition: alu3dinclude.hh:425
Dune::ALU3dGridLeafVertexList::size
size_t size() const
Definition: alu3dinclude.hh:392
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 3 >::InterfaceType
GitterType::vertex_STI InterfaceType
Definition: alu3dinclude.hh:223
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::HElementType
GitterType::helement_STI HElementType
Definition: alu3dinclude.hh:125
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::GitterType
ALU3DSPACE GitterDunePll GitterType
Definition: alu3dinclude.hh:122
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::GhostPairType
GitterType::ghostpair_STI GhostPairType
Definition: alu3dinclude.hh:130
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::GitterImplType
ALU3DSPACE GitterDunePll GitterImplType
Definition: alu3dinclude.hh:123
Dune::ALU3dImplTraits< hexa, Comm >::GEOElementType
GitterType::Geometric::hexa_GEO GEOElementType
Definition: alu3dinclude.hh:310
Dune::ALU3dImplTraits< tetra, Comm >::getFace
static const GEOFaceType * getFace(const Elem &elem, const int aluFace)
Definition: alu3dinclude.hh:294
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 1 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:180
Dune::ALU3dGridVertexList
Definition: alu3dinclude.hh:344
Dune::ALU3dImplTraits< hexa, Comm >::NeighbourPairType
std::pair< HasFaceType *, int > NeighbourPairType
Definition: alu3dinclude.hh:324
Dune::ALU3dGridItemListType
ALU3dGridItemList ALU3dGridItemListType
Definition: alu3dinclude.hh:451
Dune::ALU3dImplTraits< hexa, Comm >::HfaceRuleType
GitterType::Geometric::Hface4Rule HfaceRuleType
Definition: alu3dinclude.hh:313
Dune::ALU3dImplTraits< tetra, Comm >::GEOPeriodicType
GitterType::Geometric::periodic3_GEO GEOPeriodicType
Definition: alu3dinclude.hh:272
Dune::hexa
Definition: topology.hh:12
Dune::ALU3dGridVertexList::setupVxList
void setupVxList(const GridType &grid, int level)
Dune::ALU3dImplTraits< tetra, Comm >::HasFaceType
GitterType::Geometric::hasFace3 HasFaceType
Definition: alu3dinclude.hh:273
Dune::ElementTopologyMapping
Definition: topology.hh:39
Dune::ALU3dGridLeafVertexList::getItemList
VertexListType & getItemList()
Definition: alu3dinclude.hh:404
Dune::ALU3dImplTraits< tetra, Comm >::IMPLElementType
GitterImplType::Objects::tetra_IMPL IMPLElementType
Definition: alu3dinclude.hh:270
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::GitterImplType
ALU3DSPACE GitterDuneImpl GitterImplType
Definition: alu3dinclude.hh:98
Dune::ALU3dBasicImplTraits
Definition: alu3dinclude.hh:92
ALUGrid::AdaptRestrictProlongType
Gitter::AdaptRestrictProlong AdaptRestrictProlongType
Definition: alu3dinclude.hh:52
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::GhostInterfaceType
GitterType::hbndseg_STI GhostInterfaceType
Definition: alu3dinclude.hh:173
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 1 >::InterfaceType
GitterType::hface_STI InterfaceType
Definition: alu3dinclude.hh:182
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::GitterType
ALU3DSPACE Gitter GitterType
Definition: alu3dinclude.hh:97
Dune::ALU3dGridVertexList::VertexType
ALU3dBasicImplTraits< Comm >::VertexType VertexType
Definition: alu3dinclude.hh:347
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::VertexType
GitterType::vertex_STI VertexType
Definition: alu3dinclude.hh:103
Dune::ALU3dImplTraits< tetra, Comm >::GEOFaceType
GitterType::Geometric::hface3_GEO GEOFaceType
Definition: alu3dinclude.hh:268
Dune::ALU3dGridLeafVertexList::VertexListType
std::vector< ItemType > VertexListType
Definition: alu3dinclude.hh:385
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::PllElementType
HElementType PllElementType
Definition: alu3dinclude.hh:107
Dune::ALU3dImplTraits
Definition: alu3dinclude.hh:259
Dune::ALU3dGridVertexList::IteratorType
VertexListType::iterator IteratorType
Definition: alu3dinclude.hh:349
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 3 >::ImplementationType
GitterType::Geometric::VertexGeo ImplementationType
Definition: alu3dinclude.hh:225
Dune::tetra
Definition: topology.hh:12
Dune::ALU3dGridVertexList::unsetUp2Date
void unsetUp2Date()
Definition: alu3dinclude.hh:358
Dune::ALU3dCodimImplTraits< elType, Comm, 2, 2 >::ImplementationType
GitterType::Geometric::VertexGeo ImplementationType
Definition: alu3dinclude.hh:215
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::HEdgeType
GitterType::hedge_STI HEdgeType
Definition: alu3dinclude.hh:127
Dune::ALU3dGridFaceGetter::getFace
static const ALU3dImplTraits< hexa, Comm >::GEOFaceType * getFace(const typename ALU3dImplTraits< hexa, Comm >::GEOElementType &elem, int index)
Definition: alu3dinclude.hh:468
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 2 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:200
Dune::ALU3dGridVertexList::getItemList
VertexListType & getItemList()
Definition: alu3dinclude.hh:367
Dune::ALU3dCodimImplTraits< elType, Comm, 2, 2 >::InterfaceType
GitterType::vertex_STI InterfaceType
Definition: alu3dinclude.hh:213
Dune::ALU3dGridVertexList::end
IteratorType end()
Definition: alu3dinclude.hh:365
Dune::ALUGridNoComm
type of class for specialization of serial ALUGrid (No_Comm as communicator)
Definition: declaration.hh:30
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::HBndSegType
GitterType::hbndseg_STI HBndSegType
Definition: alu3dinclude.hh:129
Dune::ALU3dGridLeafVertexList::unsetUp2Date
void unsetUp2Date()
Definition: alu3dinclude.hh:395
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::EntitySeedType
GitterType::Geometric::hasFace3 EntitySeedType
Definition: alu3dinclude.hh:158
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 1 >::InterfaceType
GitterType::hface_STI InterfaceType
Definition: alu3dinclude.hh:192
Dune::ALU3dImplTraits< hexa, Comm >::NeighbourFaceType
std::pair< GEOFaceType *, int > NeighbourFaceType
Definition: alu3dinclude.hh:323
Dune::ALU3dGridLeafVertexList::IteratorType
VertexListType::iterator IteratorType
Definition: alu3dinclude.hh:386
Dune::ALU3dGridItemList::ALU3dGridItemList
ALU3dGridItemList()
Definition: alu3dinclude.hh:432
Dune::ALU3dImplTraits< hexa, Comm >::getFace
static const GEOFaceType * getFace(const Elem &elem, const int aluFace)
Definition: alu3dinclude.hh:333
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::isGhost
static bool isGhost(const BndFaceType *ghost)
method for ghost check
Definition: alu3dinclude.hh:113
Dune::ALU3dGridVertexList::up2Date
bool up2Date() const
Definition: alu3dinclude.hh:357
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 2 >::EntitySeedType
InterfaceType EntitySeedType
Definition: alu3dinclude.hh:203
Dune::ALU3dImplTraits< tetra, Comm >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:265
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 3 >::EntitySeedType
InterfaceType EntitySeedType
Definition: alu3dinclude.hh:224
Dune::alu3d_ctype
double alu3d_ctype
Definition: alu3dinclude.hh:85
Dune::ALU3dGridVertexList::ALU3dGridVertexList
ALU3dGridVertexList()
Definition: alu3dinclude.hh:351
Dune::ALU3dGridItemList::unsetUp2Date
void unsetUp2Date()
Definition: alu3dinclude.hh:437
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 2 >::ImplementationType
GitterType::Geometric::hedge1_GEO ImplementationType
Definition: alu3dinclude.hh:204
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::VertexType
GitterType::vertex_STI VertexType
Definition: alu3dinclude.hh:128
Dune::ALU3dGridItemList::getItemList
ItemListType & getItemList()
Definition: alu3dinclude.hh:444
Dune::ALU3dGridLeafVertexList::begin
IteratorType begin()
Definition: alu3dinclude.hh:401
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:167
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::HEdgeType
GitterType::hedge_STI HEdgeType
Definition: alu3dinclude.hh:102
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::GhostInterfaceType
GitterType::hbndseg_STI GhostInterfaceType
Definition: alu3dinclude.hh:160
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::HElementType
GitterType::helement_STI HElementType
Definition: alu3dinclude.hh:100
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 3 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:221
Dune::ALU3dGridVertexList::size
size_t size() const
Definition: alu3dinclude.hh:355
alugrid_assert
#define alugrid_assert(EX)
Definition: alugrid_assert.hh:20
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::HFaceType
GitterType::hface_STI HFaceType
Definition: alu3dinclude.hh:101
Dune::ALU3dGridLeafVertexList::ALU3dGridLeafVertexList
ALU3dGridLeafVertexList()
Definition: alu3dinclude.hh:388
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::InterfaceType
GitterType::helement_STI InterfaceType
Definition: alu3dinclude.hh:170
Dune::ALU3dGridLeafVertexList::end
IteratorType end()
Definition: alu3dinclude.hh:402
Dune::ALU3dRefinementTraits
Definition: alu3dinclude.hh:230
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::HFaceType
GitterType::hface_STI HFaceType
Definition: alu3dinclude.hh:126
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::EntitySeedType
GitterType::Geometric::hasFace4 EntitySeedType
Definition: alu3dinclude.hh:171
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 1 >::EntitySeedType
InterfaceType EntitySeedType
Definition: alu3dinclude.hh:193
Dune::ALU3dImplTraits< tetra, Comm >::GitterImplType
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition: alu3dinclude.hh:266
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:154
Dune::ALU3dGridItemList::size
size_t size() const
Definition: alu3dinclude.hh:434
Dune::ALU3dGridLeafVertexList
Definition: alu3dinclude.hh:380
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::GEOEdgeType
GitterType::Geometric::hedge1_GEO GEOEdgeType
Definition: alu3dinclude.hh:109
Dune::ALU3dImplTraits< tetra, Comm >::GEOElementType
GitterType::Geometric::tetra_GEO GEOElementType
Definition: alu3dinclude.hh:271
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::GhostPairType
GitterType::ghostpair_STI GhostPairType
Definition: alu3dinclude.hh:105
Dune::ALU3dGridVertexList::begin
IteratorType begin()
Definition: alu3dinclude.hh:364
Dune::ALU3dImplTraits< tetra, Comm >::NeighbourPairType
std::pair< HasFaceType *, int > NeighbourPairType
Definition: alu3dinclude.hh:285
Dune::ALU3dImplTraits< hexa, Comm >::HasFaceType
GitterType::Geometric::hasFace4 HasFaceType
Definition: alu3dinclude.hh:312
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::PllElementType
ALU3DSPACE ElementPllXIF_t PllElementType
Definition: alu3dinclude.hh:132
ALUGrid::GatherScatterType
GatherScatter GatherScatterType
Definition: alu3dinclude.hh:57
Dune::ALU3dGridLeafVertexList::up2Date
bool up2Date() const
Definition: alu3dinclude.hh:394
Dune::ALU3dGridItemList::begin
IteratorType begin()
Definition: alu3dinclude.hh:441
Dune::ALU3dImplTraits< hexa, Comm >::MarkRuleType
GitterType::Geometric::HexaRule MarkRuleType
Definition: alu3dinclude.hh:317
ALU3DSPACE
#define ALU3DSPACE
Definition: alu3dinclude.hh:24
ALUGrid::ProcessorBoundary_t
static const int ProcessorBoundary_t
Definition: alu3dinclude.hh:54
Dune::ALU3dGridLeafVertexList::setupVxList
void setupVxList(const GridType &grid)
Dune::ALU3dImplTraits< tetra, Comm >::GEOVertexType
GitterType::Geometric::VertexGeo GEOVertexType
Definition: alu3dinclude.hh:269
Dune::ALU3dBasicImplTraits< ALUGridNoComm >::HBndSegType
GitterType::hbndseg_STI HBndSegType
Definition: alu3dinclude.hh:104
ALUGrid
Definition: alu3dinclude.hh:49
Dune::ALU3dGridVertexList::VertexListType
std::vector< VertexType * > VertexListType
Definition: alu3dinclude.hh:348
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::isGhost
static bool isGhost(const BndFaceType *ghost)
Definition: alu3dinclude.hh:138
Dune::ALU3dGridFaceGetter
Definition: alu3dinclude.hh:458
Dune::ALU3dImplTraits< hexa, Comm >::ImplBndFaceType
GitterImplType::Objects::hbndseg4_IMPL ImplBndFaceType
Definition: alu3dinclude.hh:315
Dune::ALU3dGridItemList::ItemListType
std::vector< void * > ItemListType
Definition: alu3dinclude.hh:429
Dune::ALUGridMPIComm
type of class for specialization of parallel ALUGrid (MPI_Comm as communicator)
Definition: declaration.hh:39
Dune::ALU3dImplTraits< tetra, Comm >::ImplBndFaceType
GitterImplType::Objects::hbndseg3_IMPL ImplBndFaceType
Definition: alu3dinclude.hh:276
Dune::ALU3dBasicImplTraits< ALUGridMPIComm >::GEOEdgeType
GitterType::Geometric::hedge1_GEO GEOEdgeType
Definition: alu3dinclude.hh:134
Dune::ALU3dImplTraits< tetra, Comm >::BNDFaceType
GitterImplType::Objects::Hbnd3Default BNDFaceType
Definition: alu3dinclude.hh:275
Dune::ALU3dGridItemList::IteratorType
ItemListType ::iterator IteratorType
Definition: alu3dinclude.hh:430
Dune::ALU3dImplTraits< hexa, Comm >::GEOVertexType
GitterType::Geometric::VertexGeo GEOVertexType
Definition: alu3dinclude.hh:308
Dune::ALU3dGridLeafVertexList::VertexType
ALU3dBasicImplTraits< Comm >::VertexType VertexType
Definition: alu3dinclude.hh:383
Dune::ALU3dImplTraits< hexa, Comm >::GEOFaceType
GitterType::Geometric::hface4_GEO GEOFaceType
Definition: alu3dinclude.hh:307
Dune::ALU3dImplTraits< hexa, Comm >::GitterImplType
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition: alu3dinclude.hh:305
Dune::ALU3dCodimImplTraits< elType, Comm, 2, 2 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:211
Dune::ALU3dCodimImplTraits< elType, Comm, 3, 2 >::InterfaceType
GitterType::hedge_STI InterfaceType
Definition: alu3dinclude.hh:202
declaration.hh
Dune::ALU3dCodimImplTraits< elType, Comm, 2, 2 >::EntitySeedType
InterfaceType EntitySeedType
Definition: alu3dinclude.hh:214
Dune::ALU3dImplTraits< tetra, Comm >::MarkRuleType
GitterType::Geometric::TetraRule MarkRuleType
Definition: alu3dinclude.hh:278
Dune::ALU3dGridItemList::markAsUp2Date
void markAsUp2Date()
Definition: alu3dinclude.hh:439
Dune::ALU3dImplTraits< hexa, Comm >::IMPLElementType
GitterImplType::Objects::hexa_IMPL IMPLElementType
Definition: alu3dinclude.hh:309
Dune::ALU3dGridLeafVertexList::getLevel
int getLevel(const VertexType &vertex) const
Definition: alu3dinclude.hh:406
Dune::ALU3dImplTraits< hexa, Comm >::GEOPeriodicType
GitterType::Geometric::periodic4_GEO GEOPeriodicType
Definition: alu3dinclude.hh:311
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 1 >::ImplementationType
GitterType::Geometric::hface4_GEO ImplementationType
Definition: alu3dinclude.hh:194
Dune::ALU3dCodimImplTraits
Definition: alu3dinclude.hh:149
Dune
Definition: alu3dinclude.hh:79
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::ImplementationType
GitterImplType::Objects::hexa_IMPL ImplementationType
Definition: alu3dinclude.hh:172
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::GhostImplementationType
GitterImplType::Objects::Hbnd3Default GhostImplementationType
Definition: alu3dinclude.hh:161
Dune::ALU3dImplTraits< hexa, Comm >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:304
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::GitterImplType
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition: alu3dinclude.hh:155
Dune::ALU3dGridFaceGetter::getFace
static const ALU3dImplTraits< tetra, Comm >::GEOFaceType * getFace(const typename ALU3dImplTraits< tetra, Comm >::GEOElementType &elem, int index)
Definition: alu3dinclude.hh:461
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::GitterImplType
ALU3dBasicImplTraits< Comm >::GitterImplType GitterImplType
Definition: alu3dinclude.hh:168
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 1 >::GitterType
ALU3dBasicImplTraits< Comm >::GitterType GitterType
Definition: alu3dinclude.hh:190
Dune::ALU3dImplTraits< tetra, Comm >::HfaceRuleType
GitterType::Geometric::Hface3Rule HfaceRuleType
Definition: alu3dinclude.hh:274
Dune::ALU3dGridItemList::up2Date
bool up2Date() const
Definition: alu3dinclude.hh:436
topology.hh
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 1 >::ImplementationType
GitterType::Geometric::hface3_GEO ImplementationType
Definition: alu3dinclude.hh:184
Dune::ALU3dImplTraits< hexa, Comm >::BNDFaceType
GitterImplType::Objects::Hbnd4Default BNDFaceType
Definition: alu3dinclude.hh:314
Dune::ALU3dCodimImplTraits< hexa, Comm, dim, 0 >::GhostImplementationType
GitterImplType::Objects::Hbnd4Default GhostImplementationType
Definition: alu3dinclude.hh:174
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::ImplementationType
GitterImplType::Objects::tetra_IMPL ImplementationType
Definition: alu3dinclude.hh:159
Dune::ALU3dCodimImplTraits< tetra, Comm, dim, 0 >::InterfaceType
GitterType::helement_STI InterfaceType
Definition: alu3dinclude.hh:157