Dune Core Modules (2.5.0)

gridfamily.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_ALBERTAGRID_GRIDFAMILTY_HH
4#define DUNE_ALBERTAGRID_GRIDFAMILTY_HH
5
12
13#include <dune/grid/common/entity.hh>
16#include <dune/grid/common/intersection.hh>
17#include <dune/grid/common/intersectioniterator.hh>
18#include <dune/grid/common/entityiterator.hh>
19
20#include <dune/grid/albertagrid/misc.hh>
21#include <dune/grid/albertagrid/gridview.hh>
23
24#if HAVE_ALBERTA
25
26namespace Dune
27{
28
29 // External Forward Declarations
30 // -----------------------------
31
32 template< int dim, int dimworld >
33 class AlbertaGrid;
34
35 template< int codim, int dim, class GridImp >
36 class AlbertaGridEntity;
37
38 template< int codim, class GridImp >
39 class AlbertaGridEntityPointer;
40
41 template< int codim, class Grid >
42 class AlbertaGridEntitySeed;
43
44 template< int mydim, int cdim, class GridImp >
45 class AlbertaGridGeometry;
46
47 template< int mydim, int cdim, class GridImp >
48 class AlbertaGridGlobalGeometry;
49
50 template< int dim, int dimworld >
51 class AlbertaGridHierarchicIndexSet;
52
53 template< class GridImp >
54 class AlbertaGridHierarchicIterator;
55
56 template< class GridImp >
57 class AlbertaGridLeafIntersection;
58
59 template< class GridImp >
60 class AlbertaGridLeafIntersectionIterator;
61
62 template< int dim, int dimworld >
63 class AlbertaGridIdSet;
64
65 template< int dim, int dimworld >
66 class AlbertaGridIndexSet;
67
68 template< int codim, PartitionIteratorType pitype, class GridImp >
69 class AlbertaGridLeafIterator;
70
71 template< int codim, PartitionIteratorType pitype, class GridImp >
72 class AlbertaGridLevelIterator;
73
74
75
76
77 // AlbertaGridFamily
78 // -----------------
79
80 template <int dim, int dimworld>
81 struct AlbertaGridFamily
82 {
83 typedef AlbertaGrid< dim, dimworld > GridImp;
84
85 typedef Alberta::Real ctype;
86
87 static const int dimension = dim;
88 static const int dimensionworld = dimworld;
89
90 typedef AlbertaGridIndexSet< dim, dimworld > LevelIndexSetImp;
91 typedef AlbertaGridIndexSet< dim, dimworld > LeafIndexSetImp;
92
93 typedef AlbertaGridIdSet< dim, dimworld > IdSetImp;
94 typedef unsigned int IdType;
95
96 struct Traits
97 {
98 typedef GridImp Grid;
99
103 < const GridImp, AlbertaGridLeafIntersectionIterator< const GridImp >, AlbertaGridLeafIntersection< const GridImp > >
104 LeafIntersectionIterator;
106 < const GridImp, AlbertaGridLeafIntersectionIterator< const GridImp >, AlbertaGridLeafIntersection< const GridImp > >
107 LevelIntersectionIterator;
108
110
111 typedef IdType GlobalIdType;
112 typedef IdType LocalIdType;
113
114 template< int cd >
115 struct Codim
116 {
117 typedef AlbertaGridGlobalGeometry< dim-cd, dimworld, const Grid > GeometryImpl;
118 typedef AlbertaGridGeometry< dim-cd, dim, const Grid > LocalGeometryImpl;
119 typedef Dune::Geometry< dim-cd, dimworld, const Grid, AlbertaGridGlobalGeometry > Geometry;
120 typedef Dune::Geometry< dim-cd, dim, const Grid, LocalGeometryReference > LocalGeometry;
121
122 typedef AlbertaGridEntity< cd, dim, const GridImp > EntityImpl;
124
126
127 template <PartitionIteratorType pitype>
128 struct Partition
129 {
132 };
133
134 typedef typename Partition< All_Partition >::LevelIterator LevelIterator;
135 typedef typename Partition< All_Partition >::LeafIterator LeafIterator;
136 };
137
140
141 typedef IndexSet< GridImp, LevelIndexSetImp, int, std::array< GeometryType, 1 > > LevelIndexSet;
142 typedef IndexSet< GridImp, LeafIndexSetImp, int, std::array< GeometryType, 1 > > LeafIndexSet;
143 typedef AlbertaGridHierarchicIndexSet< dim, dimworld > HierarchicIndexSet;
144 typedef IdSet<GridImp,IdSetImp,IdType> GlobalIdSet;
145 typedef IdSet<GridImp,IdSetImp,IdType> LocalIdSet;
146
147 typedef Dune::CollectiveCommunication< No_Comm > CollectiveCommunication;
148 };
149 };
150
151}
152
153#endif // #if HAVE_ALBERTA
154
155#endif // #ifndef DUNE_ALBERTAGRID_GRIDFAMILTY_HH
Collective communication interface and sequential default implementation.
Definition: collectivecommunication.hh:79
interface class for an iterator over grid entities
Definition: entityiterator.hh:37
Store a reference to an entity with a minimal memory footprint.
Definition: entityseed.hh:24
Wrapper class for entities.
Definition: entity.hh:65
Wrapper class for geometries.
Definition: geometry.hh:66
Grid view abstract base class.
Definition: gridview.hh:60
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
Implements an utility class that provides collective communication methods for sequential programs.
Wrapper and interface class for a static iterator (EntityPointer)
Wrapper and interface classes for element geometries.
Wrapper and interface classes for element geometries.
Dune namespace.
Definition: alignment.hh:11
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 13, 23:29, 2024)