dune-grid 2.8.0
Loading...
Searching...
No Matches
common/grid.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_GRID_COMMON_GRID_HH
4#define DUNE_GRID_COMMON_GRID_HH
5
9// system includes
10#include <iostream>
11#include <string>
12#include <vector>
13
14// dune-common includes
15#include <dune/common/fvector.hh>
16#include <dune/common/typetraits.hh>
17
18// dune-geometry includes
19#include <dune/geometry/type.hh>
20
21// local includes
29
30// include this file after all other, because other files might undef the
31// macros that are defined in that file
32#include <dune/common/bartonnackmanifcheck.hh>
33
34namespace Dune {
35
332 // Forward Declarations
333 // --------------------
334
335 template<int mydim, int cdim, class GridImp,template<int,int,class> class GeometryImp> class Geometry;
336 template< int mydim, int cdim, class GridImp > class GlobalGeometryReference;
337 template< int mydim, int cdim, class GridImp > class LocalGeometryReference;
338 // dim is necessary because Entity will be specialized for codim==0 _and_ codim==dim
339 // EntityImp gets GridImp as 3rd template parameter to distinguish between const and mutable grid
340 template<int codim, int dim, class GridImp,template<int,int,class> class EntityImp> class Entity;
341 template< int codim, class Grid, class IteratorImp > class EntityIterator;
342 template<class GridImp, class EntitySeedImp> class EntitySeed;
343 template< class GridImp, class IntersectionImp > class Intersection;
344 template< class GridImp, class IntersectionIteratorImp, class IntersectionImp > class IntersectionIterator;
345 template< class GridImp, class IndexSetImp, class IndexTypeImp = unsigned int, class TypesImp = std::vector< GeometryType > > class IndexSet;
346 template<class GridImp, class IdSetImp, class IdTypeImp> class IdSet;
347
348
349 //************************************************************************
350 // G R I D
351 //************************************************************************
352
371 template< int dim, int dimworld, class ct, class GridFamily>
372 class Grid {
373 typedef typename GridFamily::Traits::Grid GridImp;
375 public:
376
377 //===========================================================
381 //===========================================================
382
384 enum {
386 dimension=dim
387 };
388
390 enum {
392 dimensionworld=dimworld
393 };
395
396 //===========================================================
400 //===========================================================
401
403 typedef typename GridFamily::Traits::LeafGridView LeafGridView;
405 typedef typename GridFamily::Traits::LevelGridView LevelGridView;
406
407
412 template <int cd>
413 struct Codim
414 {
416 typedef typename GridFamily::Traits::template Codim<cd>::Geometry Geometry;
417
419 typedef typename GridFamily::Traits::template Codim<cd>::LocalGeometry LocalGeometry;
420
422 typedef typename GridFamily::Traits::template Codim<cd>::Entity Entity;
423
425 typedef typename GridFamily::Traits::template Codim<cd>::EntitySeed EntitySeed;
426
428 template <PartitionIteratorType pitype>
430 {
437 typedef typename GridFamily::Traits::template Codim<cd>::template Partition<pitype>::LevelIterator LevelIterator;
444 typedef typename GridFamily::Traits::template Codim<cd>::template Partition<pitype>::LeafIterator LeafIterator;
445 };
446
449 typedef typename GridFamily::Traits::template Codim<cd>::LevelIterator LevelIterator;
450
453 typedef typename GridFamily::Traits::template Codim<cd>::LeafIterator LeafIterator;
454 };
455
459 typedef typename GridFamily::Traits::LeafIntersection LeafIntersection;
460
464 typedef typename GridFamily::Traits::LevelIntersection LevelIntersection;
465
471 typedef typename GridFamily::Traits::LeafIntersectionIterator LeafIntersectionIterator;
472
478 typedef typename GridFamily::Traits::LevelIntersectionIterator LevelIntersectionIterator;
479
485 typedef typename GridFamily::Traits::HierarchicIterator HierarchicIterator;
486
491 typedef typename GridFamily::Traits::LevelIndexSet LevelIndexSet;
492
497 typedef typename GridFamily::Traits::LeafIndexSet LeafIndexSet;
498
505 typedef typename GridFamily::Traits::GlobalIdSet GlobalIdSet;
506
512 typedef typename GridFamily::Traits::LocalIdSet LocalIdSet;
513
518 typedef typename GridFamily::Traits::CollectiveCommunication CollectiveCommunication;
519
521 typedef ct ctype;
523
524
525 //===========================================================
529 //===========================================================
530
534 int maxLevel() const
535 {
536 CHECK_INTERFACE_IMPLEMENTATION(asImp().maxLevel());
537 return asImp().maxLevel();
538 }
539
541 int size (int level, int codim) const
542 {
543 CHECK_INTERFACE_IMPLEMENTATION(asImp().size(level,codim));
544 return asImp().size(level,codim);
545 }
546
548 int size (int codim) const
549 {
550 CHECK_INTERFACE_IMPLEMENTATION(asImp().size(codim));
551 return asImp().size(codim);
552 }
553
555 int size (int level, GeometryType type) const
556 {
557 CHECK_INTERFACE_IMPLEMENTATION(asImp().size(level,type));
558 return asImp().size(level,type);
559 }
560
562 int size (GeometryType type) const
563 {
564 CHECK_INTERFACE_IMPLEMENTATION(asImp().size(type));
565 return asImp().size(type);
566 }
568
569
574 size_t numBoundarySegments () const
575 {
576 CHECK_INTERFACE_IMPLEMENTATION( asImp().numBoundarySegments());
577 return asImp().numBoundarySegments();
578 }
579
580 //===========================================================
584 //===========================================================
585
587 LevelGridView levelGridView(int level) const {
588 CHECK_INTERFACE_IMPLEMENTATION((asImp().levelGridView(level)));
589 return asImp().levelGridView(level);
590 }
591
594 CHECK_INTERFACE_IMPLEMENTATION((asImp().leafGridView()));
595 return asImp().leafGridView();
596 }
597
599
600
601 //===========================================================
605 //===========================================================
606
608 const GlobalIdSet &globalIdSet () const
609 {
610 CHECK_INTERFACE_IMPLEMENTATION(asImp().globalIdSet());
611 return asImp().globalIdSet();
612 }
613
615 const LocalIdSet &localIdSet () const
616 {
617 CHECK_INTERFACE_IMPLEMENTATION(asImp().localIdSet());
618 return asImp().localIdSet();
619 }
620
622 const LevelIndexSet &levelIndexSet ( int level ) const
623 {
624 CHECK_INTERFACE_IMPLEMENTATION(asImp().levelIndexSet(level));
625 return asImp().levelIndexSet(level);
626 }
627
630 {
631 CHECK_INTERFACE_IMPLEMENTATION(asImp().leafIndexSet());
632 return asImp().leafIndexSet();
633 }
635
636
637 //===========================================================
641 //===========================================================
642
648 void globalRefine (int refCount)
649 {
650 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(asImp().globalRefine(refCount));
651 return;
652 }
653
661 bool mark( int refCount, const typename Codim<0>::Entity & e )
662 {
663 return asImp().mark(refCount,e);
664 }
665
672 int getMark(const typename Codim<0>::Entity & e) const
673 {
674 return asImp().getMark(e);
675 }
676
683 bool preAdapt ()
684 {
685 return asImp().preAdapt();
686 }
687
702 bool adapt ()
703 {
704 return asImp().adapt();
705 }
706
712 {
713 return asImp().postAdapt();
714 }
716
717
718 //===========================================================
722 //===========================================================
723
726 {
727 CHECK_INTERFACE_IMPLEMENTATION(asImp().comm());
728 return asImp().comm();
729 }
731
736 {
737 CHECK_INTERFACE_IMPLEMENTATION(asImp().loadBalance());
738 return asImp().loadBalance();
739 }
740
748 template<class DataHandle>
749 bool loadBalance (DataHandle& data)
750 {
751 CHECK_INTERFACE_IMPLEMENTATION(asImp().loadBalance(data));
752 return asImp().loadBalance(data);
753 }
754
756 template < class EntitySeed >
757 typename Codim< EntitySeed :: codimension > :: Entity
758 entity( const EntitySeed& seed ) const
759 {
760 //CHECK_INTERFACE_IMPLEMENTATION( asImp().entity( seed ) );
761 return asImp().entity( seed );
762 }
763 protected:
765 GridImp& asImp () {return static_cast<GridImp &> (*this);}
767 const GridImp& asImp () const {return static_cast<const GridImp &>(*this);}
768 };
769
770#undef CHECK_INTERFACE_IMPLEMENTATION
771#undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
772
789 template<int dim, int dimworld, class ct, class GridFamily>
792 {
793 return grid.levelGridView(level);
794 }
795
806 template<int dim, int dimworld, class ct, class GridFamily>
809 {
810 return grid.leafGridView();
811 }
812
846 template<int dim,
847 int dimworld,
848 class ct,
849 class GridFamily>
850 class GridDefaultImplementation : public Grid <dim,dimworld,ct,GridFamily>
851 {
852 typedef typename GridFamily::Traits::Grid GridImp;
853
854 public:
860 typedef typename GridFamily::Traits Traits;
861
863 typename Traits::LevelGridView levelGridView(int level) const
864 {
865 typedef typename Traits::LevelGridView View;
866 typedef typename View::GridViewImp ViewImp;
867 return View(ViewImp(asImp(),level));
868 }
869
871 typename Traits::LeafGridView leafGridView() const
872 {
873 typedef typename Traits::LeafGridView View;
874 typedef typename View::GridViewImp ViewImp;
875 return View(ViewImp(asImp()));
876 }
877
878 //***************************************************************
879 // Interface for Adaptation
880 //***************************************************************
881
904 bool mark( int refCount, const typename Traits :: template Codim<0>::Entity & e )
905 {
906 return false;
907 }
908
916 int getMark ( const typename Traits::template Codim< 0 >::Entity &e ) const
917 {
918 return 0;
919 }
920
928 bool adapt () { return false; }
929
931 bool preAdapt () { return false; }
932
934 void postAdapt() {}
935
938 {
939 return false;
940 }
941
943 template<class DataHandle>
944 bool loadBalance ([[maybe_unused]] DataHandle& data)
945 {
946 return false;
947 }
948
949 protected:
950 using Grid< dim, dimworld, ct, GridFamily >::asImp;
951 };
952
966 template <int dim, int dimw, class GridImp,
967 template<int,int,class> class GeometryImp,
968 template<int,int,class> class EntityImp,
969 template<int,PartitionIteratorType,class> class LevelIteratorImp,
970 template<class> class LeafIntersectionImp,
971 template<class> class LevelIntersectionImp,
972 template<class> class LeafIntersectionIteratorImp,
973 template<class> class LevelIntersectionIteratorImp,
974 template<class> class HierarchicIteratorImp,
975 template<int,PartitionIteratorType,class> class LeafIteratorImp,
976 class LevelIndexSetImp, class LeafIndexSetImp,
977 class GlobalIdSetImp, class GIDType, class LocalIdSetImp, class LIDType, class CCType,
978 template<class> class LevelGridViewTraits,
979 template<class> class LeafGridViewTraits,
980 template<int,class> class EntitySeedImp,
981 template<int,int,class> class LocalGeometryImp = GeometryImp
982 >
984 {
986 typedef GridImp Grid;
987
996
999
1004 template <int cd>
1005 struct Codim
1006 {
1007 public:
1008 typedef GeometryImp<dim-cd, dimw, const GridImp> GeometryImpl;
1009 typedef LocalGeometryImp<dim-cd, dim, const GridImp> LocalGeometryImpl;
1011
1012 typedef Dune::Geometry<dim-cd, dimw, const GridImp, GeometryImp> Geometry;
1014 typedef Dune::Geometry<dim-cd, dim, const GridImp, LocalGeometryImp> LocalGeometry;
1016 // we could - if needed - introduce another struct for dimglobal of Geometry
1018
1021
1026 template <PartitionIteratorType pitype>
1028 {
1033 };
1034
1037
1040
1041 private:
1042 friend class Dune::Entity<cd, dim, const GridImp, EntityImp>;
1043 };
1044
1049
1058
1061 };
1062
1063 // Definition of capabilities for the interface class
1064 namespace Capabilities
1065 {
1066
1067 // capabilities for the interface class depend on the implementation
1068 template< int dim, int dimworld, typename ct, class GridFamily , int codim >
1069 struct hasEntity< Grid< dim, dimworld, ct, GridFamily >, codim >
1070 {
1072 };
1073
1074 // capabilities for the interface class depend on the implementation
1075 template< int dim, int dimworld, typename ct, class GridFamily , int cdim >
1076 struct hasEntity< GridDefaultImplementation<dim,dimworld,ct,GridFamily>, cdim >
1077 {
1079 typedef typename GridType::Traits::Grid GridImp;
1080 static const bool v = hasEntity<GridImp,cdim>::v;
1081 };
1082
1083 } // end namespace Capabilities
1084
1090 template <class InterfaceType>
1092 {
1093 typedef typename InterfaceType::Implementation ImplementationType;
1096 : InterfaceType( realImp )
1097 {}
1098 };
1099}
1100
1101#include "geometry.hh"
1102#include "entity.hh"
1103#include "intersection.hh"
1104#include "intersectioniterator.hh"
1105#include "entityiterator.hh"
1106#include "indexidset.hh"
1107
1108#endif // #ifndef DUNE_GRID_COMMON_GRID_HH
Describes the parallel communication interface class for MessageBuffers and DataHandles.
Provides base classes for index and id sets.
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:84
Grid< dim, dimworld, ct, GridFamily >::LeafGridView leafGridView(const Grid< dim, dimworld, ct, GridFamily > &grid)
leaf grid view for the given grid
Definition: common/grid.hh:808
Grid< dim, dimworld, ct, GridFamily >::LevelGridView levelGridView(const Grid< dim, dimworld, ct, GridFamily > &grid, int level)
level grid view for the given grid and level.
Definition: common/grid.hh:791
Include standard header files.
Definition: agrid.hh:58
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: common/intersection.hh:162
Definition: geometryreference.hh:91
Specialize with 'true' for all codims that a grid implements entities for. (default=false)
Definition: common/capabilities.hh:56
static const bool v
Definition: common/capabilities.hh:57
Wrapper class for entities.
Definition: common/entity.hh:64
interface class for an iterator over grid entities
Definition: entityiterator.hh:30
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:24
Definition: common/grid.hh:851
bool adapt()
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
Definition: common/grid.hh:928
bool mark(int refCount, const typename Traits ::template Codim< 0 >::Entity &e)
Marks an entity to be refined/coarsened in a subsequent adapt.
Definition: common/grid.hh:904
void postAdapt()
clean up some markers
Definition: common/grid.hh:934
int getMark(const typename Traits::template Codim< 0 >::Entity &e) const
returns adaptation mark for given entity, i.e. here the default implementation returns 0.
Definition: common/grid.hh:916
bool preAdapt()
returns true, if at least one entity is marked for adaption
Definition: common/grid.hh:931
bool loadBalance(DataHandle &data)
default implementation of load balance does nothing and returns false
Definition: common/grid.hh:944
Traits::LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:871
bool loadBalance()
default implementation of load balance does nothing and returns false
Definition: common/grid.hh:937
Traits::LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:863
GridFamily::Traits Traits
The traits of this class.
Definition: common/grid.hh:860
Wrapper class for geometries.
Definition: common/geometry.hh:67
Definition: common/grid.hh:336
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/intersectioniterator.hh:81
Index Set Interface base class.
Definition: indexidset.hh:76
Id Set Interface.
Definition: indexidset.hh:450
Grid abstract base class.
Definition: common/grid.hh:372
const LevelIndexSet & levelIndexSet(int level) const
return const reference to the grids level index set for level level
Definition: common/grid.hh:622
int size(int level, GeometryType type) const
Return number of entities per level and geometry type in this process.
Definition: common/grid.hh:555
GridFamily::Traits::LocalIdSet LocalIdSet
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entiti...
Definition: common/grid.hh:512
GridFamily::Traits::LeafIntersectionIterator LeafIntersectionIterator
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine,...
Definition: common/grid.hh:471
int size(int level, int codim) const
Return number of grid entities of a given codim on a given level in this process.
Definition: common/grid.hh:541
bool preAdapt()
To be called after entities have been marked and before adapt() is called.
Definition: common/grid.hh:683
GridFamily::Traits::LevelIndexSet LevelIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent,...
Definition: common/grid.hh:491
GridFamily::Traits::CollectiveCommunication CollectiveCommunication
A type that is a model of Dune::CollectiveCommunication. It provides a portable way for collective co...
Definition: common/grid.hh:518
GridImp & asImp()
Barton-Nackman trick.
Definition: common/grid.hh:765
GridFamily::Traits::HierarchicIterator HierarchicIterator
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine,...
Definition: common/grid.hh:485
GridFamily::Traits::LevelGridView LevelGridView
type of view for level grid
Definition: common/grid.hh:405
GridFamily::Traits::LeafIntersection LeafIntersection
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimensio...
Definition: common/grid.hh:459
GridFamily::Traits::LevelIntersectionIterator LevelIntersectionIterator
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine,...
Definition: common/grid.hh:478
LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:593
GridFamily::Traits::GlobalIdSet GlobalIdSet
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entiti...
Definition: common/grid.hh:505
const GridImp & asImp() const
Barton-Nackman trick.
Definition: common/grid.hh:767
void postAdapt()
To be called after grid has been adapted and information left over by the adaptation has been process...
Definition: common/grid.hh:711
bool mark(int refCount, const typename Codim< 0 >::Entity &e)
Marks an entity to be refined/coarsened in a subsequent adapt.
Definition: common/grid.hh:661
Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
obtain Entity from EntitySeed.
Definition: common/grid.hh:758
GridFamily::Traits::LeafIndexSet LeafIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent,...
Definition: common/grid.hh:497
int maxLevel() const
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest lev...
Definition: common/grid.hh:534
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: common/grid.hh:574
const GlobalIdSet & globalIdSet() const
return const reference to the grids global id set
Definition: common/grid.hh:608
int getMark(const typename Codim< 0 >::Entity &e) const
returns adaptation mark for given entity
Definition: common/grid.hh:672
GridFamily::Traits::LevelIntersection LevelIntersection
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimensio...
Definition: common/grid.hh:464
const LeafIndexSet & leafIndexSet() const
return const reference to the grids leaf index set
Definition: common/grid.hh:629
@ dimensionworld
The dimension of the world the grid lives in.
Definition: common/grid.hh:392
const LocalIdSet & localIdSet() const
return const reference to the grids local id set
Definition: common/grid.hh:615
LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:587
bool loadBalance(DataHandle &data)
Re-balances the load each process has to handle for a parallel grid and moves the data.
Definition: common/grid.hh:749
GridFamily::Traits::LeafGridView LeafGridView
type of view for leaf grid
Definition: common/grid.hh:403
@ dimension
The dimension of the grid.
Definition: common/grid.hh:386
bool loadBalance()
Re-balances the load each process has to handle for a parallel grid,.
Definition: common/grid.hh:735
bool adapt()
Refine all positive marked leaf entities, coarsen all negative marked entities if possible.
Definition: common/grid.hh:702
int size(int codim) const
Return number of leaf entities of a given codim in this process.
Definition: common/grid.hh:548
ct ctype
Define type used for coordinates in grid module.
Definition: common/grid.hh:521
void globalRefine(int refCount)
Refine the grid refCount times using the default refinement rule.
Definition: common/grid.hh:648
int size(GeometryType type) const
Return number of leaf entities per geometry type in this process.
Definition: common/grid.hh:562
const CollectiveCommunication & comm() const
return const reference to a collective communication object. The return type is a model of Dune::Coll...
Definition: common/grid.hh:725
A Traits struct that collects all associated types of one implementation.
Definition: common/grid.hh:414
GridFamily::Traits::template Codim< cd >::Entity Entity
A type that is a model of a Dune::Entity<cd,dim,...>.
Definition: common/grid.hh:422
GridFamily::Traits::template Codim< cd >::LocalGeometry LocalGeometry
A type that is a model of Dune::Geometry<dim-cd,dim>.
Definition: common/grid.hh:419
GridFamily::Traits::template Codim< cd >::LevelIterator LevelIterator
A type that is a model of Dune::LevelIterator with partition type All_Partition.
Definition: common/grid.hh:449
GridFamily::Traits::template Codim< cd >::Geometry Geometry
A type that is a model of Dune::Geometry<dim-cd,dimworld>.
Definition: common/grid.hh:416
GridFamily::Traits::template Codim< cd >::EntitySeed EntitySeed
A type that is a model (not yet) of Dune::EntitySeed<cd,dim,...>.
Definition: common/grid.hh:425
GridFamily::Traits::template Codim< cd >::LeafIterator LeafIterator
A type that is a model of Dune::LeafIterator with partition type All_Partition.
Definition: common/grid.hh:453
A struct collecting all types depending on the partition iterator type.
Definition: common/grid.hh:430
GridFamily::Traits::template Codim< cd >::template Partition< pitype >::LevelIterator LevelIterator
A type that is a model of Dune::LevelIterator<cd,pitype,...> which is s type of iterator that may be ...
Definition: common/grid.hh:437
GridFamily::Traits::template Codim< cd >::template Partition< pitype >::LeafIterator LeafIterator
A type that is a model of Dune::LeafIterator<cd,pitype,...> which is a type of iterator that may be u...
Definition: common/grid.hh:444
A traits struct that collects all associated types of one grid model.
Definition: common/grid.hh:984
Dune::IntersectionIterator< const GridImp, LeafIntersectionIteratorImp< const GridImp >, LeafIntersectionImp< const GridImp > > LeafIntersectionIterator
The type of the intersection iterator at the leafs of the grid.
Definition: common/grid.hh:993
IdSet< const GridImp, LocalIdSetImp, LIDType > LocalIdSet
The type of the local id set.
Definition: common/grid.hh:1057
Dune::GridView< LeafGridViewTraits< const GridImp > > LeafGridView
type of view for leaf grid
Definition: common/grid.hh:1046
IdSet< const GridImp, GlobalIdSetImp, GIDType > GlobalIdSet
The type of the global id set.
Definition: common/grid.hh:1055
Dune::EntityIterator< 0, const GridImp, HierarchicIteratorImp< const GridImp > > HierarchicIterator
The type of the hierarchic iterator.
Definition: common/grid.hh:998
IndexSet< const GridImp, LeafIndexSetImp > LeafIndexSet
The type of the leaf index set.
Definition: common/grid.hh:1053
Dune::Intersection< const GridImp, LeafIntersectionImp< const GridImp > > LeafIntersection
The type of the intersection at the leafs of the grid.
Definition: common/grid.hh:989
IndexSet< const GridImp, LevelIndexSetImp > LevelIndexSet
The type of the level index set.
Definition: common/grid.hh:1051
Dune::GridView< LevelGridViewTraits< const GridImp > > LevelGridView
type of view for level grid
Definition: common/grid.hh:1048
Dune::IntersectionIterator< const GridImp, LevelIntersectionIteratorImp< const GridImp >, LevelIntersectionImp< const GridImp > > LevelIntersectionIterator
The type of the intersection iterator at the levels of the grid.
Definition: common/grid.hh:995
Dune::Intersection< const GridImp, LevelIntersectionImp< const GridImp > > LevelIntersection
The type of the intersection at the levels of the grid.
Definition: common/grid.hh:991
CCType CollectiveCommunication
The type of the collective communication.
Definition: common/grid.hh:1060
GridImp Grid
The type that implements the grid.
Definition: common/grid.hh:986
Traits associated with a specific codim.
Definition: common/grid.hh:1006
Partition< All_Partition >::LevelIterator LevelIterator
The type of the entity pointer for entities of this codim.
Definition: common/grid.hh:1039
Dune::EntitySeed< const GridImp, EntitySeedImp< cd, const GridImp > > EntitySeed
The type of the entity seed of this codim.
Definition: common/grid.hh:1020
LocalGeometryImp< dim-cd, dim, const GridImp > LocalGeometryImpl
Definition: common/grid.hh:1009
GeometryImp< dim-cd, dimw, const GridImp > GeometryImpl
Definition: common/grid.hh:1008
Dune::Geometry< dim-cd, dim, const GridImp, LocalGeometryImp > LocalGeometry
The type of the local geometry associated with the entity.
Definition: common/grid.hh:1014
Dune::Geometry< dim-cd, dimw, const GridImp, GeometryImp > Geometry
IMPORTANT: Codim<codim>::Geometry == Geometry<dim-codim,dimw>
Definition: common/grid.hh:1012
Dune::Entity< cd, dim, const GridImp, EntityImp > Entity
The type of the entity.
Definition: common/grid.hh:1017
Partition< All_Partition >::LeafIterator LeafIterator
The type of the iterator over all leaf entities of this codim.
Definition: common/grid.hh:1036
Traits associated with a specific grid partition type.
Definition: common/grid.hh:1028
Dune::EntityIterator< cd, const GridImp, LevelIteratorImp< cd, pitype, const GridImp > > LevelIterator
The type of the iterator over the level entities of this codim on this partition.
Definition: common/grid.hh:1030
Dune::EntityIterator< cd, const GridImp, LeafIteratorImp< cd, pitype, const GridImp > > LeafIterator
The type of the iterator over the leaf entities of this codim on this partition.
Definition: common/grid.hh:1032
GridDefaultImplementation< dim, dimworld, ct, GridFamily > GridType
Definition: common/grid.hh:1078
Definition: common/grid.hh:1092
InterfaceType::Implementation ImplementationType
Definition: common/grid.hh:1093
MakeableInterfaceObject(const ImplementationType &realImp)
create interface object by calling the contructor of the base class
Definition: common/grid.hh:1095
Grid view abstract base class.
Definition: common/gridview.hh:63
A set of traits classes to store static information about grid implementation.
Interface class EntitySeed.