dune-grid  2.11
geometrygrid/gridfamily.hh
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
2 // SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
3 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
4 // vi: set et ts=4 sw=2 sts=2:
5 #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
6 #define DUNE_GEOGRID_GRIDFAMILY_HH
7 
20 
21 namespace Dune
22 {
23 
27  namespace GeoGrid
28  {
29 
30  // ExportParams
31  // ------------
32 
33  template< class HG, class CF >
35  {
36  static const bool isCoordFunction = isCoordFunctionInterface< typename CF::Interface >::value;
37  static_assert(isCoordFunction, "Invalid CoordFunction.");
38 
39  public:
40  typedef HG HostGrid;
41  typedef CF CoordFunction;
42  };
43 
44 
45 
46  // GridFamily
47  // ----------
48 
49  template< class HG, class CF, class Allocator >
50  struct GridFamily
51  {
52  struct Traits
53  {
55 
56  typedef HG HostGrid;
57  typedef CF CoordFunction;
58 
59  typedef typename HostGrid::ctype ctype;
60 
61  static const int dimension = HostGrid::dimension;
62  static const int dimensionworld = CoordFunction::dimRange;
63 
66 
73 
76 
77  template< int codim >
78  struct Codim
79  {
82  typedef typename HostGrid::template Codim< codim >::LocalGeometry LocalGeometry;
83 
86 
88 
89  template< PartitionIteratorType pitype >
90  struct Partition
91  {
94 
97  };
98 
101  };
102 
105 
110 
111  typedef typename HostGrid::Traits::Communication Communication;
112 
115  };
116  };
117 
118  } // namespace GeoGrid
119 
120 } // namespace Dune
121 
122 #endif // #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
Definition: coordfunction.hh:281
Wrapper class for geometries.
Definition: common/geometry.hh:70
HostGrid::Traits::Communication Communication
Definition: geometrygrid/gridfamily.hh:111
Dune::GeoGrid::Geometry< dimension-codim, dimensionworld, const Grid > GeometryImpl
Definition: geometrygrid/gridfamily.hh:80
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, typename HostGrid::LeafIntersectionIterator >, GeoGrid::Intersection< const Grid, typename HostGrid::LeafIntersection > > LeafIntersectionIterator
Definition: geometrygrid/gridfamily.hh:69
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:25
Definition: geometrygrid/intersection.hh:21
Dune::GridView< GeoGrid::GridViewTraits< typename HostGrid::LeafGridView, CoordFunction, Allocator > > LeafGridView
Definition: geometrygrid/gridfamily.hh:113
Dune::EntityIterator< 0, const Grid, GeoGrid::HierarchicIterator< const Grid > > HierarchicIterator
Definition: geometrygrid/gridfamily.hh:75
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LevelIndexSet > LevelIndexSet
Definition: geometrygrid/gridfamily.hh:104
Definition: geometrygrid/geometry.hh:88
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::LocalIdSet > LocalIdSet
Definition: geometrygrid/gridfamily.hh:109
Partition< All_Partition >::LeafIterator LeafIterator
Definition: geometrygrid/gridfamily.hh:99
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, typename HostGrid::LevelIntersectionIterator >, GeoGrid::Intersection< const Grid, typename HostGrid::LevelIntersection > > LevelIntersectionIterator
Definition: geometrygrid/gridfamily.hh:72
GeoGrid::Entity< codim, dimension, const Grid > EntityImpl
Definition: geometrygrid/gridfamily.hh:84
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::GlobalIdSet > GlobalIdSet
Definition: geometrygrid/gridfamily.hh:107
GeoGrid::Iterator< typename HostGrid::LeafGridView, codim, pitype, const Grid > LeafIteratorImp
Definition: geometrygrid/gridfamily.hh:92
Dune::EntityIterator< codim, const Grid, LevelIteratorImp > LevelIterator
Definition: geometrygrid/gridfamily.hh:96
Definition: geometrygrid/gridfamily.hh:50
Dune::GridView< GeoGrid::GridViewTraits< typename HostGrid::LevelGridView, CoordFunction, Allocator > > LevelGridView
Definition: geometrygrid/gridfamily.hh:114
static const int dimensionworld
Definition: geometrygrid/gridfamily.hh:62
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LeafIndexSet > LeafIndexSet
Definition: geometrygrid/gridfamily.hh:103
CF CoordFunction
Definition: geometrygrid/gridfamily.hh:57
Different resources needed by all grid implementations.
Dune::EntityIterator< codim, const Grid, LeafIteratorImp > LeafIterator
Definition: geometrygrid/gridfamily.hh:93
static const int dimension
Definition: geometrygrid/gridfamily.hh:61
HostGrid::template Codim< codim >::LocalGeometry LocalGeometry
Definition: geometrygrid/gridfamily.hh:82
GeoGrid::Iterator< typename HostGrid::LevelGridView, codim, pitype, const Grid > LevelIteratorImp
Definition: geometrygrid/gridfamily.hh:95
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, typename HostGrid::LeafIntersection > > LeafIntersection
Definition: geometrygrid/gridfamily.hh:64
Grid view abstract base class.
Definition: common/gridview.hh:65
Dune::EntitySeed< const Grid, GeoGrid::EntitySeed< codim, const Grid > > EntitySeed
Definition: geometrygrid/gridfamily.hh:87
Definition: geometrygrid/gridfamily.hh:78
Definition: geometrygrid/gridfamily.hh:34
Include standard header files.
Definition: agrid.hh:59
CF CoordFunction
Definition: geometrygrid/gridfamily.hh:41
grid wrapper replacing the geometriesGeometryGrid wraps another DUNE grid and replaces its geometry b...
Definition: declaration.hh:12
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:347
GeometryGrid< HG, CF, Allocator > Grid
Definition: geometrygrid/gridfamily.hh:54
Definition: geometrygrid/gridfamily.hh:52
Dune::Geometry< dimension-codim, dimensionworld, const Grid, Dune::GeoGrid::Geometry > Geometry
Definition: geometrygrid/gridfamily.hh:81
HostGrid::ctype ctype
Definition: geometrygrid/gridfamily.hh:59
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: albertagrid/dgfparser.hh:28
Partition< All_Partition >::LevelIterator LevelIterator
Definition: geometrygrid/gridfamily.hh:100
Definition: geometrygrid/indexsets.hh:27
DUNE-conform implementation of the entityThis class merely changes the template parameters of the ent...
Definition: geometrygrid/entity.hh:49
Dune::Entity< codim, dimension, const Grid, GeoGrid::Entity > Entity
Definition: geometrygrid/gridfamily.hh:85
Wrapper class for entities.
Definition: common/entity.hh:65
HG HostGrid
Definition: geometrygrid/gridfamily.hh:37
Definition: geometrygrid/gridfamily.hh:90
Definition: iterator.hh:30
interface class for an iterator over grid entities
Definition: common/entityiterator.hh:31
Definition: idset.hh:20
Definition: geometrygrid/entity.hh:60
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, typename HostGrid::LevelIntersection > > LevelIntersection
Definition: geometrygrid/gridfamily.hh:65
HG HostGrid
Definition: geometrygrid/gridfamily.hh:56