DUNE PDELab (2.8)

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
17
18// dune-geometry includes
19#include <dune/geometry/type.hh>
20
21// local includes
22#include <dune/grid/common/gridenums.hh>
23#include <dune/grid/common/exceptions.hh>
26#include <dune/grid/common/gridview.hh>
27#include <dune/grid/common/defaultgridview.hh>
29
30// include this file after all other, because other files might undef the
31// macros that are defined in that file
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 {
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 {
1071 static const bool v = hasEntity< typename GridFamily::Traits::Grid, codim >::v;
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 {
1078 typedef GridDefaultImplementation<dim,dimworld,ct,GridFamily> GridType;
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;
1095 explicit MakeableInterfaceObject ( const ImplementationType &realImp )
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
Provides check for implementation of interface methods when using static polymorphism,...
#define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__)
Definition: bartonnackmanifcheck.hh:59
interface class for an iterator over grid entities
Definition: entityiterator.hh:30
Store a reference to an entity with a minimal memory footprint.
Definition: entityseed.hh:24
Wrapper class for entities.
Definition: entity.hh:64
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:123
Wrapper class for geometries.
Definition: geometry.hh:67
Definition: grid.hh:851
bool adapt()
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
Definition: 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: grid.hh:904
void postAdapt()
clean up some markers
Definition: 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: grid.hh:916
bool preAdapt()
returns true, if at least one entity is marked for adaption
Definition: grid.hh:931
bool loadBalance(DataHandle &data)
default implementation of load balance does nothing and returns false
Definition: grid.hh:944
Traits::LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: grid.hh:871
bool loadBalance()
default implementation of load balance does nothing and returns false
Definition: grid.hh:937
Traits::LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: grid.hh:863
GridFamily::Traits Traits
The traits of this class.
Definition: grid.hh:860
Grid view abstract base class.
Definition: gridview.hh:63
Grid abstract base class.
Definition: grid.hh:372
const LevelIndexSet & levelIndexSet(int level) const
return const reference to the grids level index set for level level
Definition: grid.hh:622
int size(int level, GeometryType type) const
Return number of entities per level and geometry type in this process.
Definition: 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: 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: 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: grid.hh:541
bool preAdapt()
To be called after entities have been marked and before adapt() is called.
Definition: grid.hh:683
GridFamily::Traits::LevelIndexSet LevelIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent,...
Definition: 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: grid.hh:518
GridImp & asImp()
Barton-Nackman trick.
Definition: 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: grid.hh:485
GridFamily::Traits::LevelGridView LevelGridView
type of view for level grid
Definition: 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: 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: grid.hh:478
LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: 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: grid.hh:505
const GridImp & asImp() const
Barton-Nackman trick.
Definition: grid.hh:767
void postAdapt()
To be called after grid has been adapted and information left over by the adaptation has been process...
Definition: grid.hh:711
@ dimensionworld
The dimension of the world the grid lives in.
Definition: grid.hh:392
bool mark(int refCount, const typename Codim< 0 >::Entity &e)
Marks an entity to be refined/coarsened in a subsequent adapt.
Definition: grid.hh:661
Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
obtain Entity from EntitySeed.
Definition: grid.hh:758
@ dimension
The dimension of the grid.
Definition: grid.hh:386
GridFamily::Traits::LeafIndexSet LeafIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent,...
Definition: grid.hh:497
int maxLevel() const
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest lev...
Definition: grid.hh:534
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: grid.hh:574
const GlobalIdSet & globalIdSet() const
return const reference to the grids global id set
Definition: grid.hh:608
int getMark(const typename Codim< 0 >::Entity &e) const
returns adaptation mark for given entity
Definition: 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: grid.hh:464
const LeafIndexSet & leafIndexSet() const
return const reference to the grids leaf index set
Definition: grid.hh:629
const LocalIdSet & localIdSet() const
return const reference to the grids local id set
Definition: grid.hh:615
LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: 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: grid.hh:749
GridFamily::Traits::LeafGridView LeafGridView
type of view for leaf grid
Definition: grid.hh:403
bool loadBalance()
Re-balances the load each process has to handle for a parallel grid,.
Definition: grid.hh:735
bool adapt()
Refine all positive marked leaf entities, coarsen all negative marked entities if possible.
Definition: grid.hh:702
int size(int codim) const
Return number of leaf entities of a given codim in this process.
Definition: grid.hh:548
ct ctype
Define type used for coordinates in grid module.
Definition: grid.hh:521
void globalRefine(int refCount)
Refine the grid refCount times using the default refinement rule.
Definition: grid.hh:648
int size(GeometryType type) const
Return number of leaf entities per geometry type in this process.
Definition: 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: grid.hh:725
Id Set Interface.
Definition: indexidset.hh:450
Index Set Interface base class.
Definition: indexidset.hh:76
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: intersectioniterator.hh:81
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: intersection.hh:162
A set of traits classes to store static information about grid implementation.
Interface class EntitySeed.
Describes the parallel communication interface class for MessageBuffers and DataHandles.
Traits for type conversions and type information.
Implements a vector constructed from a given type representing a field and a compile-time given size.
Grid< dim, dimworld, ct, GridFamily >::LeafGridView leafGridView(const Grid< dim, dimworld, ct, GridFamily > &grid)
leaf grid view for the given grid
Definition: 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: grid.hh:791
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:84
Provides base classes for index and id sets.
Dune namespace.
Definition: alignedallocator.hh:11
Static tag representing a codimension.
Definition: dimension.hh:22
Traits associated with a specific grid partition type.
Definition: 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: 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: grid.hh:1032
Traits associated with a specific codim.
Definition: grid.hh:1006
Partition< All_Partition >::LevelIterator LevelIterator
The type of the entity pointer for entities of this codim.
Definition: grid.hh:1039
Dune::EntitySeed< const GridImp, EntitySeedImp< cd, const GridImp > > EntitySeed
The type of the entity seed of this codim.
Definition: grid.hh:1020
Dune::Geometry< dim-cd, dim, const GridImp, LocalGeometryImp > LocalGeometry
The type of the local geometry associated with the entity.
Definition: grid.hh:1014
Dune::Geometry< dim-cd, dimw, const GridImp, GeometryImp > Geometry
IMPORTANT: Codim<codim>::Geometry == Geometry<dim-codim,dimw>
Definition: grid.hh:1012
Dune::Entity< cd, dim, const GridImp, EntityImp > Entity
The type of the entity.
Definition: grid.hh:1017
Partition< All_Partition >::LeafIterator LeafIterator
The type of the iterator over all leaf entities of this codim.
Definition: grid.hh:1036
A traits struct that collects all associated types of one grid model.
Definition: 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: grid.hh:993
IdSet< const GridImp, LocalIdSetImp, LIDType > LocalIdSet
The type of the local id set.
Definition: grid.hh:1057
Dune::GridView< LeafGridViewTraits< const GridImp > > LeafGridView
type of view for leaf grid
Definition: grid.hh:1046
IdSet< const GridImp, GlobalIdSetImp, GIDType > GlobalIdSet
The type of the global id set.
Definition: grid.hh:1055
Dune::EntityIterator< 0, const GridImp, HierarchicIteratorImp< const GridImp > > HierarchicIterator
The type of the hierarchic iterator.
Definition: grid.hh:998
IndexSet< const GridImp, LeafIndexSetImp > LeafIndexSet
The type of the leaf index set.
Definition: grid.hh:1053
Dune::Intersection< const GridImp, LeafIntersectionImp< const GridImp > > LeafIntersection
The type of the intersection at the leafs of the grid.
Definition: grid.hh:989
IndexSet< const GridImp, LevelIndexSetImp > LevelIndexSet
The type of the level index set.
Definition: grid.hh:1051
Dune::GridView< LevelGridViewTraits< const GridImp > > LevelGridView
type of view for level grid
Definition: 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: grid.hh:995
Dune::Intersection< const GridImp, LevelIntersectionImp< const GridImp > > LevelIntersection
The type of the intersection at the levels of the grid.
Definition: grid.hh:991
CCType CollectiveCommunication
The type of the collective communication.
Definition: grid.hh:1060
GridImp Grid
The type that implements the grid.
Definition: grid.hh:986
A struct collecting all types depending on the partition iterator type.
Definition: 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: 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: grid.hh:444
A Traits struct that collects all associated types of one implementation.
Definition: grid.hh:414
GridFamily::Traits::template Codim< cd >::Entity Entity
A type that is a model of a Dune::Entity<cd,dim,...>.
Definition: grid.hh:422
GridFamily::Traits::template Codim< cd >::LocalGeometry LocalGeometry
A type that is a model of Dune::Geometry<dim-cd,dim>.
Definition: 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: grid.hh:449
GridFamily::Traits::template Codim< cd >::Geometry Geometry
A type that is a model of Dune::Geometry<dim-cd,dimworld>.
Definition: grid.hh:416
GridFamily::Traits::template Codim< cd >::EntitySeed EntitySeed
A type that is a model (not yet) of Dune::EntitySeed<cd,dim,...>.
Definition: 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: grid.hh:453
Definition: grid.hh:1092
MakeableInterfaceObject(const ImplementationType &realImp)
create interface object by calling the contructor of the base class
Definition: grid.hh:1095
A unique label for each type of element that can occur in a grid.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)