dune-grid  2.3.0
alugrid/2d/alugrid.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_ALU2D_ALUGRID_HH
4 #define DUNE_ALU2D_ALUGRID_HH
5 
6 // only include this code, if ENABLE_ALUGRID is defined
7 #if HAVE_ALUGRID || DOXYGEN
8 
13 
14 namespace Dune
15 {
16 
23  template<int dimw>
24  class ALUCubeGrid< 2, dimw >
25  : public Dune::ALU2dGrid< 2, dimw, ALU2DSPACE quadrilateral >
26  {
28 
30  enum { dim = 2 };
31  enum { dimworld = dimw };
32 
33  public:
36 
39 
49  DUNE_DEPRECATED
50  ALUCubeGrid(const std::string macroName,
51  const DuneBoundaryProjectionType* bndProject = 0,
52  const DuneBoundaryProjectionVector* bndVector = 0,
53  const bool verbose = true )
54  : BaseType(macroName,1, bndProject, bndVector)
55  {
56  if( verbose )
57  {
58  std::cout << "\nCreated serial ALUCubeGrid<"<<dim<<","<<dimworld;
59  std::cout <<"> from macro grid file '" << macroName << "'. \n\n";
60  }
61  }
62 
73  DUNE_DEPRECATED
74  ALUCubeGrid(const std::string macroName,
75  std::istream& macroFile,
76  const DuneBoundaryProjectionType* bndProject = 0,
77  const DuneBoundaryProjectionVector* bndVector = 0,
78  const bool verbose = true )
79  : BaseType("",1, bndProject, bndVector, &macroFile)
80  {
81  if( verbose )
82  {
83  std::cout << "\nCreated serial ALUCubeGrid<"<<dim<<","<<dimworld;
84  if( macroName == "" )
85  std::cout <<">. \n\n";
86  else
87  std::cout <<"> from macro grid file '" << macroName << "'. \n\n";
88  }
89  }
90 
93  DUNE_DEPRECATED
95  {
96  std::cout << "\nCreated empty ALUCubeGrid<"<<dim<<","<<dimworld <<">. \n\n";
97  }
98 
99  enum {dimension=BaseType::dimension,dimensionworld=BaseType::dimensionworld};
100  enum { refineStepsForHalf = 1 };
101  typedef typename BaseType::ctype ctype;
103  typedef typename GridFamily::Traits Traits;
110  typedef typename Traits::template Codim<0>::LeafIterator LeafIteratorType;
111  typedef typename Traits::template Codim<0>::LeafIterator LeafIterator;
113 
114  template< PartitionIteratorType pitype >
115  struct Partition
116  {
121  };
122 
125 
126  template< PartitionIteratorType pitype >
127  typename Partition< pitype >::LevelGridView levelView ( int level ) const
128  {
130  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
131  return LevelGridView( LevelGridViewImp( *this, level ) );
132  }
133 
134  template< PartitionIteratorType pitype >
136  {
138  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
139  return LeafGridView( LeafGridViewImp( *this ) );
140  }
141 
142  LevelGridView levelView ( int level ) const
143  {
144  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
145  return LevelGridView( LevelGridViewImp( *this, level ) );
146  }
147 
149  {
150  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
151  return LeafGridView( LeafGridViewImp( *this ) );
152  }
153 
154  template< PartitionIteratorType pitype >
156  {
158  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
159  return LevelGridView( LevelGridViewImp( *this, level ) );
160  }
161 
162  template< PartitionIteratorType pitype >
164  {
166  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
167  return LeafGridView( LeafGridViewImp( *this ) );
168  }
169 
170  LevelGridView levelGridView ( int level ) const
171  {
172  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
173  return LevelGridView( LevelGridViewImp( *this, level ) );
174  }
175 
177  {
178  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
179  return LeafGridView( LeafGridViewImp( *this ) );
180  }
181 
182  private:
183  friend class Conversion< ALUCubeGrid<dimension,dimensionworld> , HasObjectStream > ;
184  friend class Conversion< const ALUCubeGrid<dimension,dimensionworld> , HasObjectStream > ;
185 
186  friend class Conversion< ALUCubeGrid<dimension,dimensionworld> , HasHierarchicIndexSet > ;
187  friend class Conversion< const ALUCubeGrid<dimension,dimensionworld> , HasHierarchicIndexSet > ;
188 
189  template< class >
190  friend class ALU2dGridFactory;
191 
193  ALUCubeGrid( const ALUCubeGrid & g ) ; // : BaseType(g) {}
194 
197  operator = (const ALUCubeGrid& g);
198  };
199 
206  template<int dimw>
207  class ALUSimplexGrid< 2, dimw >
208  : public Dune::ALU2dGrid< 2, dimw, ALU2DSPACE triangle >
209  {
211 
213  enum { dim = 2 };
214  enum { dimworld = dimw };
215 
216  public:
219 
222 
232  DUNE_DEPRECATED
233  ALUSimplexGrid(const std::string macroName,
234  const DuneBoundaryProjectionType* bndProject = 0,
235  const DuneBoundaryProjectionVector* bndVector = 0,
236  const bool verbose = true )
237  : BaseType(macroName,1, bndProject, bndVector)
238  {
239  if( verbose )
240  {
241  std::cout << "\nCreated serial ALUSimplexGrid<"<<dim<<","<<dimworld;
242  std::cout <<"> from macro grid file '" << macroName << "'. \n\n";
243  }
244  }
245 
256  DUNE_DEPRECATED
257  ALUSimplexGrid(const std::string macroName,
258  std::istream& macroFile,
259  const DuneBoundaryProjectionType* bndProject = 0,
260  const DuneBoundaryProjectionVector* bndVector = 0,
261  const bool verbose = true )
262  : BaseType("",1, bndProject, bndVector, &macroFile)
263  {
264  if( verbose )
265  {
266  std::cout << "\nCreated serial ALUSimplexGrid<"<<dim<<","<<dimworld;
267  if( macroName == "" )
268  std::cout <<">. \n\n";
269  else
270  std::cout <<"> from macro grid file '" << macroName << "'. \n\n";
271  }
272  }
273 
276  DUNE_DEPRECATED
278  {
279  std::cout << "\nCreated empty ALUSimplexGrid<"<<dim<<","<<dimworld <<">. \n\n";
280  }
281 
282  enum {dimension=BaseType::dimension,dimensionworld=BaseType::dimensionworld};
283  enum { refineStepsForHalf = 1 };
284  typedef typename BaseType::ctype ctype;
286  typedef typename GridFamily::Traits Traits;
293  typedef typename Traits::template Codim<0>::LeafIterator LeafIteratorType;
294  typedef typename Traits::template Codim<0>::LeafIterator LeafIterator;
296 
297  template< PartitionIteratorType pitype >
298  struct Partition
299  {
304  };
305 
308 
309  template< PartitionIteratorType pitype >
310  typename Partition< pitype >::LevelGridView levelView ( int level ) const
311  {
313  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
314  return LevelGridView( LevelGridViewImp( *this, level ) );
315  }
316 
317  template< PartitionIteratorType pitype >
319  {
321  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
322  return LeafGridView( LeafGridViewImp( *this ) );
323  }
324 
325  LevelGridView levelView ( int level ) const
326  {
327  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
328  return LevelGridView( LevelGridViewImp( *this, level ) );
329  }
330 
332  {
333  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
334  return LeafGridView( LeafGridViewImp( *this ) );
335  }
336 
337  template< PartitionIteratorType pitype >
339  {
341  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
342  return LevelGridView( LevelGridViewImp( *this, level ) );
343  }
344 
345  template< PartitionIteratorType pitype >
347  {
349  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
350  return LeafGridView( LeafGridViewImp( *this ) );
351  }
352 
353  LevelGridView levelGridView ( int level ) const
354  {
355  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
356  return LevelGridView( LevelGridViewImp( *this, level ) );
357  }
358 
360  {
361  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
362  return LeafGridView( LeafGridViewImp( *this ) );
363  }
364 
365  private:
366  friend class Conversion< ALUSimplexGrid<dimension,dimensionworld> , HasObjectStream > ;
367  friend class Conversion< const ALUSimplexGrid<dimension,dimensionworld> , HasObjectStream > ;
368 
369  friend class Conversion< ALUSimplexGrid<dimension,dimensionworld> , HasHierarchicIndexSet > ;
370  friend class Conversion< const ALUSimplexGrid<dimension,dimensionworld> , HasHierarchicIndexSet > ;
371 
372  template< class >
373  friend class ALU2dGridFactory;
374 
376  ALUSimplexGrid( const ALUSimplexGrid & g ) ; // : BaseType(g) {}
377 
380  operator = (const ALUSimplexGrid& g);
381  };
382 
411  template <int dim, int dimworld>
413  dune_static_assert((AlwaysFalse<integral_constant<int,dim> >::value),
414  "The unspecialized version of ALUConformGrid is defined "
415  "for documentation purposes only, only the "
416  "specializations can actually be used.");
417  };
418 
419  namespace Capabilities {
431  template<int dim,int dimw, int cdim >
432  struct hasEntity<Dune::ALUConformGrid<dim, dimw>, cdim >
433  {
434  static const bool v = true;
435  };
436 
440  template<int dim,int dimw>
441  struct isParallel<const ALUConformGrid<dim, dimw> > {
442  static const bool v = false;
443  };
444 
448  template<int dim,int dimw>
450  {
451  static const bool v = false;
452  };
453 
457  template<int dim,int dimw>
459  {
460  static const bool v = true;
461  };
462 
466  template<int dim,int dimw>
468  {
469  static const bool v = true;
470  };
471 
472  } // end namespace Capabilities
473 
474 
475 
482  template<int dimw>
483  class ALUConformGrid< 2, dimw >
484  : public Dune::ALU2dGrid< 2, dimw, ALU2DSPACE triangle >
485  {
487 
489  enum { dim = 2 };
490  enum { dimworld = dimw };
491  public:
494 
497 
507  DUNE_DEPRECATED
508  ALUConformGrid(const std::string macroName,
509  const DuneBoundaryProjectionType* bndProject = 0,
510  const DuneBoundaryProjectionVector* bndVector = 0,
511  const bool verbose = true)
512  : BaseType(macroName, 0, bndProject, bndVector)
513  {
514  if( verbose )
515  {
516  std::cout << "\nCreated serial ALUConformGrid<"<<dim<<","<<dimworld;
517  std::cout <<"> from macro grid file '" << macroName << "'. \n\n";
518  }
519  }
520 
531  DUNE_DEPRECATED
532  ALUConformGrid(const std::string macroName,
533  std::istream& macroFile,
534  const DuneBoundaryProjectionType* bndProject = 0,
535  const DuneBoundaryProjectionVector* bndVector = 0,
536  const bool verbose = true )
537  : BaseType("", 0, bndProject, bndVector, &macroFile)
538  {
539  if( verbose )
540  {
541  std::cout << "\nCreated serial ALUConformGrid<"<<dim<<","<<dimworld;
542  if( macroName == "" )
543  std::cout <<">. \n\n";
544  else
545  std::cout <<"> from macro grid file '" << macroName << "'. \n\n";
546  }
547  }
548 
551  DUNE_DEPRECATED
553  {
554  std::cout << "\nCreated empty ALUConformGrid<"<<dim<<","<<dimworld <<">. \n\n";
555  }
556 
558  static inline std::string name () { return "ALUConformGrid"; }
559 
560  enum {dimension=BaseType::dimension,dimensionworld=BaseType::dimensionworld};
561  enum { refineStepsForHalf = 2 };
562  typedef typename BaseType::ctype ctype;
564  typedef typename GridFamily::Traits Traits;
571  typedef typename Traits::template Codim<0>::LeafIterator LeafIteratorType;
572  typedef typename Traits::template Codim<0>::LeafIterator LeafIterator;
574 
575  template< PartitionIteratorType pitype >
576  struct Partition
577  {
582  };
583 
586 
587  template< PartitionIteratorType pitype >
588  typename Partition< pitype >::LevelGridView levelView ( int level ) const
589  {
591  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
592  return LevelGridView( LevelGridViewImp( *this, level ) );
593  }
594 
595  template< PartitionIteratorType pitype >
597  {
599  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
600  return LeafGridView( LeafGridViewImp( *this ) );
601  }
602 
603  LevelGridView levelView ( int level ) const
604  {
605  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
606  return LevelGridView( LevelGridViewImp( *this, level ) );
607  }
608 
610  {
611  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
612  return LeafGridView( LeafGridViewImp( *this ) );
613  }
614 
615  template< PartitionIteratorType pitype >
617  {
619  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
620  return LevelGridView( LevelGridViewImp( *this, level ) );
621  }
622 
623  template< PartitionIteratorType pitype >
625  {
627  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
628  return LeafGridView( LeafGridViewImp( *this ) );
629  }
630 
631  LevelGridView levelGridView ( int level ) const
632  {
633  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
634  return LevelGridView( LevelGridViewImp( *this, level ) );
635  }
636 
638  {
639  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
640  return LeafGridView( LeafGridViewImp( *this ) );
641  }
642 
643  private:
644  friend class Conversion< ALUConformGrid<dimension,dimensionworld> , HasObjectStream > ;
645  friend class Conversion< const ALUConformGrid<dimension,dimensionworld> , HasObjectStream > ;
646 
647  friend class Conversion< ALUConformGrid<dimension,dimensionworld> , HasHierarchicIndexSet > ;
648  friend class Conversion< const ALUConformGrid<dimension,dimensionworld> , HasHierarchicIndexSet > ;
649 
650  template< class >
651  friend class ALU2dGridFactory;
652 
654  ALUConformGrid( const ALUConformGrid & g ) ; // : BaseType(g) {}
655 
658  operator = (const ALUConformGrid& g);
659  };
660 
661  /*-
662  (see ALUGrid homepage: http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/)
663 
664  \li Available Implementations
665  - quadrilateral and hexahedral elements only nonconforming refinement
666  - Dune::ALUGrid< 2, 2, cube, nonconforming >
667  - Dune::ALUGrid< 2, 3, cube, nonconforming >
668  - Dune::ALUGrid< 3, 3, cube, nonconforming >
669  - simplicial elements and nonconforming refinement
670  - Dune::ALUGrid< 2, 2, simplex, nonconforming >
671  - Dune::ALUGrid< 2, 3, simplex, nonconforming >
672  - Dune::ALUGrid< 3, 3, simplex, nonconforming >
673  - simplicial elements and bisection refinement
674  - Dune::ALUGrid< 2, 2, simplex, conforming >
675  - Dune::ALUGrid< 2, 3, simplex, conforming >
676  - Dune::ALUGrid< 3, 3, simplex, conforming > (work in progress)
677 
678  \note template parameter Comm defaults to MPI_Comm, if MPI is available, No_Comm otherwise.
679  */
680  template<int dimw, ALUGridElementType elType, ALUGridRefinementType refinementType, class Comm >
681  class ALUGrid< 2, dimw, elType, refinementType, Comm >
682  : public ALUGridBaseGrid < 2, dimw, elType, Comm > :: BaseGrid
683  {
685  typedef typename ALUGridBaseGrid < 2, dimw, elType, Comm > :: BaseGrid BaseType;
686 
687  enum { dim = 2 };
688  enum { dimworld = dimw };
689 
690  public:
692  typedef typename BaseType :: DuneBoundaryProjectionType DuneBoundaryProjectionType;
693 
695  typedef typename BaseType :: DuneBoundaryProjectionVector DuneBoundaryProjectionVector;
696 
705  ALUGrid(const std::string macroName,
706  const DuneBoundaryProjectionType* bndProject = 0,
707  const DuneBoundaryProjectionVector* bndVector = 0,
708  const bool verbose = true )
709  : BaseType(macroName, hangingNodes(), bndProject, bndVector)
710  {
711  if( verbose )
712  {
713  std::cout << "\nCreated serial " << name() << nameSuffix()
714  << " from macro grid file '" << macroName << "'." << std::endl << std::endl;
715  }
716  }
717 
727  ALUGrid(const std::string macroName,
728  std::istream& macroFile,
729  const DuneBoundaryProjectionType* bndProject = 0,
730  const DuneBoundaryProjectionVector* bndVector = 0,
731  const bool verbose = true )
732  : BaseType("", hangingNodes(), bndProject, bndVector, &macroFile)
733  {
734  if( verbose )
735  {
736  std::cout << "\nCreated serial " << name() << nameSuffix();
737  if( macroName != "" )
738  std::cout <<" from macro grid file '" << macroName;
739  std::cout << "." << std::endl << std::endl;
740  }
741  }
742 
743  static std::string name () { return std::string("ALUGrid"); }
744 
746  ALUGrid( ) : BaseType( hangingNodes() )
747  {
748  std::cout << "\nCreated serial " << name() << nameSuffix() << "." << std::endl << std::endl;
749  }
750 
751  enum {dimension=BaseType::dimension,dimensionworld=BaseType::dimensionworld};
752  enum { refineStepsForHalf = 1 };
753  typedef typename BaseType::ctype ctype;
754  typedef typename BaseType::GridFamily GridFamily;
755  typedef typename GridFamily::Traits Traits;
756  typedef typename BaseType::LocalIdSetImp LocalIdSetImp;
757  typedef typename Traits :: GlobalIdSet GlobalIdSet;
758  typedef typename Traits :: LocalIdSet LocalIdSet;
759  typedef typename GridFamily :: LevelIndexSetImp LevelIndexSetImp;
760  typedef typename GridFamily :: LeafIndexSetImp LeafIndexSetImp;
761  typedef typename BaseType::LeafIteratorImp LeafIteratorImp;
762  typedef typename Traits::template Codim<0>::LeafIterator LeafIteratorType;
763  typedef typename Traits::template Codim<0>::LeafIterator LeafIterator;
764  typedef typename BaseType::HierarchicIteratorImp HierarchicIteratorImp;
765 
766  template< PartitionIteratorType pitype >
767  struct Partition
768  {
773  };
774 
775  typedef typename Partition< All_Partition > :: LevelGridView LevelGridView;
776  typedef typename Partition< All_Partition > :: LeafGridView LeafGridView;
777 
778  template< PartitionIteratorType pitype >
779  typename Partition< pitype >::LevelGridView levelView ( int level ) const
780  {
782  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
783  return LevelGridView( LevelGridViewImp( *this, level ) );
784  }
785 
786  template< PartitionIteratorType pitype >
788  {
790  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
791  return LeafGridView( LeafGridViewImp( *this ) );
792  }
793 
794  LevelGridView levelView ( int level ) const
795  {
796  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
797  return LevelGridView( LevelGridViewImp( *this, level ) );
798  }
799 
801  {
802  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
803  return LeafGridView( LeafGridViewImp( *this ) );
804  }
805 
806  template< PartitionIteratorType pitype >
808  {
810  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
811  return LevelGridView( LevelGridViewImp( *this, level ) );
812  }
813 
814  template< PartitionIteratorType pitype >
816  {
818  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
819  return LeafGridView( LeafGridViewImp( *this ) );
820  }
821 
822  LevelGridView levelGridView ( int level ) const
823  {
824  typedef typename LevelGridView::GridViewImp LevelGridViewImp;
825  return LevelGridView( LevelGridViewImp( *this, level ) );
826  }
827 
829  {
830  typedef typename LeafGridView::GridViewImp LeafGridViewImp;
831  return LeafGridView( LeafGridViewImp( *this ) );
832  }
833 
834  private:
835  static std::string nameSuffix()
836  {
837  std::string elt ( elType == cube ? "cube," : "simplex," );
838  std::string ref ( refinementType == nonconforming ? "nonconforming>" : "conforming>" );
839  std::stringstream suffix;
840  suffix << "<"<<dim<<","<<dimworld<<"," << elt << ref;
841  return suffix.str();
842  }
843 
844  // returns number of hanging nodes allowed (0 or 1)
845  int hangingNodes() const
846  {
847  return ((elType == simplex) && (refinementType == conforming)) ? 0 : 1;
848  }
849 
850  friend class Conversion< This, HasObjectStream > ;
851  friend class Conversion< const This, HasObjectStream > ;
852 
853  friend class Conversion< This, HasHierarchicIndexSet > ;
854  friend class Conversion< const This, HasHierarchicIndexSet > ;
855 
856  template< class >
857  friend class ALU2dGridFactory;
858 
860  ALUGrid( const ALUGrid & g ) ; // : BaseType(g) {}
861 
863  This& operator = (const ALUGrid& g);
864  };
865 
866 } //end namespace Dune
867 
868 #else
869 #error "Trying to use <dune/grid/alugrid.hh> without ALUGRID_CPPFLAGS."
870 #endif // #if HAVE_ALUGRID || DOXYGEN
871 
872 #endif
Dune::GridView< DefaultLeafGridViewTraits< const This, pitype > > LeafGridView
Definition: alugrid/2d/alugrid.hh:772
ALUGrid()
constructor creating empty grid
Definition: alugrid/2d/alugrid.hh:746
Dune::GridView< DefaultLeafGridViewTraits< const This, pitype > > LeafGridView
Definition: alugrid/2d/alugrid.hh:581
Partition< pitype >::LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:318
BaseType::LeafIteratorImp LeafIteratorImp
Definition: alugrid/2d/alugrid.hh:109
A Traits struct that collects all associated types of one implementation.
Definition: common/grid.hh:435
BaseType::LocalIdSetImp LocalIdSetImp
Definition: alugrid/2d/alugrid.hh:104
Traits::LocalIdSet LocalIdSet
Definition: alugrid/2d/alugrid.hh:758
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:207
BaseType::HierarchicIteratorImp HierarchicIteratorImp
Definition: alugrid/2d/alugrid.hh:295
static const bool v
Definition: common/capabilities.hh:57
BaseType::LeafIteratorImp LeafIteratorImp
Definition: alugrid/2d/alugrid.hh:761
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:24
Partition< pitype >::LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:596
GridFamily::Traits Traits
Definition: alugrid/2d/alugrid.hh:564
Traits::DuneBoundaryProjectionVector DuneBoundaryProjectionVector
boundary projection type
Definition: alugrid/2d/grid.hh:332
[ provides Dune::Grid ]
Definition: alugrid/2d/alugrid.hh:483
BaseType::LocalIdSetImp LocalIdSetImp
Definition: alugrid/2d/alugrid.hh:565
Traits::LocalIdSet LocalIdSet
Definition: alugrid/2d/alugrid.hh:567
Traits::template Codim< 0 >::LeafIterator LeafIteratorType
Definition: alugrid/2d/alugrid.hh:762
static const bool v
Definition: common/capabilities.hh:66
BaseType::LocalIdSetImp LocalIdSetImp
Definition: alugrid/2d/alugrid.hh:287
Partition< All_Partition >::LeafGridView LeafGridView
Definition: alugrid/2d/alugrid.hh:585
GridFamily::LevelIndexSetImp LevelIndexSetImp
Definition: alugrid/2d/alugrid.hh:568
Definition: alugrid/2d/alugrid.hh:681
Traits::GlobalIdSet GlobalIdSet
Definition: alugrid/2d/alugrid.hh:566
Definition: alugrid/2d/entity.hh:36
Partition< pitype >::LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:310
Traits::template Codim< 0 >::LeafIterator LeafIterator
Definition: alugrid/2d/alugrid.hh:111
BaseType::ctype ctype
Definition: alugrid/2d/alugrid.hh:562
Partition< pitype >::LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:815
Definition: alugrid/common/declaration.hh:18
Traits::GlobalIdSet GlobalIdSet
Definition: alugrid/2d/alugrid.hh:288
GridFamily::LeafIndexSetImp LeafIndexSetImp
Definition: alugrid/2d/alugrid.hh:108
Partition< pitype >::LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:787
Partition< pitype >::LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:588
LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:148
Tagging interface to indicate that Grid provides typedef ObjectStreamType.
Definition: interfaces.hh:16
[ provides Dune::Grid ]
Definition: alugrid.hh:85
BaseType::HierarchicIteratorImp HierarchicIteratorImp
Definition: alugrid/2d/alugrid.hh:112
BaseType::DuneBoundaryProjectionVector DuneBoundaryProjectionVector
type of boundary projection
Definition: alugrid/2d/alugrid.hh:695
Types for GridView.
Definition: common/grid.hh:418
Partition< pitype >::LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:135
Traits::template Codim< 0 >::LeafIterator LeafIteratorType
Definition: alugrid/2d/alugrid.hh:571
Partition< pitype >::LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:779
BaseType::HierarchicIteratorImp HierarchicIteratorImp
Definition: alugrid/2d/alugrid.hh:573
[ provides Dune::Grid ]
Definition: alugrid.hh:53
GridFamily::LevelIndexSetImp LevelIndexSetImp
Definition: alugrid/2d/alugrid.hh:759
Specialize with 'true' if implementation guarantees conforming level grids. (default=false) ...
Definition: common/capabilities.hh:86
Dune::GridView< DefaultLevelGridViewTraits< const This, pitype > > LevelGridView
Definition: alugrid/2d/alugrid.hh:770
[ provides Dune::Grid ]
Definition: alugrid/2d/alugrid.hh:412
GridFamily::LevelIndexSetImp LevelIndexSetImp
Definition: alugrid/2d/alugrid.hh:107
Partition< pitype >::LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:346
ALUCubeGrid()
Definition: alugrid/2d/alugrid.hh:94
Traits::LocalIdSet LocalIdSet
Definition: alugrid/2d/alugrid.hh:289
Traits::template Codim< 0 >::LeafIterator LeafIterator
Definition: alugrid/2d/alugrid.hh:763
BaseType::DuneBoundaryProjectionVector DuneBoundaryProjectionVector
type of boundary projection
Definition: alugrid/2d/alugrid.hh:221
BaseType::DuneBoundaryProjectionType DuneBoundaryProjectionType
type of boundary projection
Definition: alugrid/2d/alugrid.hh:35
BaseType::GridFamily GridFamily
Definition: alugrid/2d/alugrid.hh:754
BaseType::ctype ctype
Definition: alugrid/2d/alugrid.hh:101
LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:828
Definition: alugrid/2d/grid.hh:112
Partition< All_Partition >::LeafGridView LeafGridView
Definition: alugrid/2d/alugrid.hh:776
Traits::template Codim< 0 >::LeafIterator LeafIteratorType
Definition: alugrid/2d/alugrid.hh:293
GridFamily::LevelIndexSetImp LevelIndexSetImp
Definition: alugrid/2d/alugrid.hh:290
GridFamily::LeafIndexSetImp LeafIndexSetImp
Definition: alugrid/2d/alugrid.hh:291
Partition< All_Partition >::LevelGridView LevelGridView
Definition: alugrid/2d/alugrid.hh:584
Definition: alugrid/common/declaration.hh:20
LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:800
Traits::template Codim< 0 >::LeafIterator LeafIterator
Definition: alugrid/2d/alugrid.hh:294
BaseType::LeafIteratorImp LeafIteratorImp
Definition: alugrid/2d/alugrid.hh:570
Partition< All_Partition >::LeafGridView LeafGridView
Definition: alugrid/2d/alugrid.hh:124
Definition: alugrid/common/declaration.hh:20
Grid view abstract base classInterface class for a view on grids. Grids return two types of view...
Definition: common/gridview.hh:56
[ provides Dune::Grid ]
Definition: alugrid/common/declaration.hh:63
static std::string name()
Definition: alugrid/2d/alugrid.hh:743
Interface class for vertex projection at the boundary.
Definition: boundaryprojection.hh:23
Specialize with 'true' if implementation guarantees a conforming leaf grid. (default=false) ...
Definition: common/capabilities.hh:95
Partition< pitype >::LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:807
BaseType::DuneBoundaryProjectionVector DuneBoundaryProjectionVector
type of boundary projection
Definition: alugrid/2d/alugrid.hh:38
ALUConformGrid(const std::string macroName, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUConformGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:508
GridFamily::Traits Traits
Definition: alugrid/2d/alugrid.hh:286
Traits::template Codim< 0 >::LeafIterator LeafIteratorType
Definition: alugrid/2d/alugrid.hh:110
ALUConformGrid(const std::string macroName, std::istream &macroFile, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUConformGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:532
BaseType::DuneBoundaryProjectionVector DuneBoundaryProjectionVector
type of boundary projection
Definition: alugrid/2d/alugrid.hh:496
LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:794
Dune::GridView< DefaultLevelGridViewTraits< const This, pitype > > LevelGridView
Definition: alugrid/2d/alugrid.hh:301
Definition: alugrid/common/declaration.hh:67
Partition< pitype >::LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:624
Traits::LocalIdSet LocalIdSet
Definition: alugrid/2d/alugrid.hh:106
GridFamily::LeafIndexSetImp LeafIndexSetImp
Definition: alugrid/2d/alugrid.hh:569
GridFamily::LeafIndexSetImp LeafIndexSetImp
Definition: alugrid/2d/alugrid.hh:760
Specialize with 'true' if implementation supports parallelism. (default=false)
Definition: common/capabilities.hh:64
Dune::GridView< DefaultLevelGridViewTraits< const This, pitype > > LevelGridView
Definition: alugrid/2d/alugrid.hh:118
ALUConformGrid()
Definition: alugrid/2d/alugrid.hh:552
BaseType::LocalIdSetImp LocalIdSetImp
Definition: alugrid/2d/alugrid.hh:756
BaseType::GridFamily GridFamily
Definition: alugrid/2d/alugrid.hh:285
Partition< pitype >::LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:338
Partition< All_Partition >::LevelGridView LevelGridView
Definition: alugrid/2d/alugrid.hh:306
GridFamily::Traits Traits
Definition: alugrid/2d/alugrid.hh:103
static const bool v
Definition: common/capabilities.hh:88
ALUGrid(const std::string macroName, std::istream &macroFile, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:727
ct ctype
Define type used for coordinates in grid module.
Definition: common/grid.hh:546
LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:142
BaseType::ctype ctype
Definition: alugrid/2d/alugrid.hh:753
BaseType::LeafIteratorImp LeafIteratorImp
Definition: alugrid/2d/alugrid.hh:292
LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:637
ALUSimplexGrid(const std::string macroName, std::istream &macroFile, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:257
LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:325
Definition: alugrid/2d/grid.hh:99
Specialize with 'true' for all codims that a grid implements entities for. (default=false) ...
Definition: common/capabilities.hh:55
static const bool v
Definition: common/capabilities.hh:106
static const bool v
Definition: common/capabilities.hh:97
Definition: alugrid/common/declaration.hh:18
BaseType::GridFamily GridFamily
Definition: alugrid/2d/alugrid.hh:563
LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:603
ALUCubeGrid(const std::string macroName, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:50
GridFamily::Traits Traits
Definition: alugrid/2d/alugrid.hh:755
Hierarchic Iterator of ALU2dGrid.
Definition: alugrid/2d/entity.hh:28
Partition< All_Partition >::LeafGridView LeafGridView
Definition: alugrid/2d/alugrid.hh:307
Partition< All_Partition >::LevelGridView LevelGridView
Definition: alugrid/2d/alugrid.hh:775
BaseType::DuneBoundaryProjectionType DuneBoundaryProjectionType
type of boundary projection
Definition: alugrid/2d/alugrid.hh:493
Traits::GlobalIdSet GlobalIdSet
Definition: alugrid/2d/alugrid.hh:105
ViewTraits::GridViewImp GridViewImp
Definition: common/gridview.hh:61
DefaultIndexSet creates an index set by using the grids persistent container an a given pair of itera...
Definition: defaultindexsets.hh:66
BaseType::DuneBoundaryProjectionType DuneBoundaryProjectionType
type of boundary projection
Definition: alugrid/2d/alugrid.hh:692
LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:359
BaseType::DuneBoundaryProjectionType DuneBoundaryProjectionType
type of boundary projection
Definition: alugrid/2d/alugrid.hh:218
LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:331
BaseType::HierarchicIteratorImp HierarchicIteratorImp
Definition: alugrid/2d/alugrid.hh:764
ALUGrid(const std::string macroName, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:705
ALUCubeGrid(const std::string macroName, std::istream &macroFile, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:74
BaseType::ctype ctype
Definition: alugrid/2d/alugrid.hh:284
LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:353
BaseType::GridFamily GridFamily
Definition: alugrid/2d/alugrid.hh:102
Specialize with 'true' if implementation provides backup and restore facilities. (default=false) ...
Definition: common/capabilities.hh:104
Partition< All_Partition >::LevelGridView LevelGridView
Definition: alugrid/2d/alugrid.hh:123
Partition< pitype >::LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:155
LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:631
ALUSimplexGrid(const std::string macroName, const DuneBoundaryProjectionType *bndProject=0, const DuneBoundaryProjectionVector *bndVector=0, const bool verbose=true)
constructor for creating ALUSimplexGrid from given macro grid file
Definition: alugrid/2d/alugrid.hh:233
LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:170
Id Set Interface.
Definition: common/grid.hh:360
Traits::template Codim< 0 >::LeafIterator LeafIterator
Definition: alugrid/2d/alugrid.hh:572
Partition< pitype >::LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:616
Dune::GridView< DefaultLevelGridViewTraits< const This, pitype > > LevelGridView
Definition: alugrid/2d/alugrid.hh:579
Partition< pitype >::LevelGridView levelView(int level) const
Definition: alugrid/2d/alugrid.hh:127
[ provides Dune::Grid ]
Definition: alugrid/2d/entity.hh:38
Partition< pitype >::LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:163
Dune::GridView< DefaultLeafGridViewTraits< const This, pitype > > LeafGridView
Definition: alugrid/2d/alugrid.hh:120
Dune::GridView< DefaultLeafGridViewTraits< const This, pitype > > LeafGridView
Definition: alugrid/2d/alugrid.hh:303
ALUSimplexGrid()
Definition: alugrid/2d/alugrid.hh:277
Traits::GlobalIdSet GlobalIdSet
Definition: alugrid/2d/alugrid.hh:757
static std::string name()
return name of the grid
Definition: alugrid/2d/alugrid.hh:558
Tagging interface to indicate that Grid has HierarchicIndexSet.
Definition: interfaces.hh:51
LeafGridView leafView() const
Definition: alugrid/2d/alugrid.hh:609
LevelGridView levelGridView(int level) const
Definition: alugrid/2d/alugrid.hh:822
LeafGridView leafGridView() const
Definition: alugrid/2d/alugrid.hh:176