dune-grid  2.9.0
geometrygrid/gridfamily.hh
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 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 
116  [[deprecated("Use Communication instead!")]]
118 
121  };
122  };
123 
124  } // namespace GeoGrid
125 
126 } // namespace Dune
127 
128 #endif // #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
Include standard header files.
Definition: agrid.hh:60
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: common/intersection.hh:164
Wrapper class for entities.
Definition: common/entity.hh:66
interface class for an iterator over grid entities
Definition: entityiterator.hh:32
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:26
Wrapper class for geometries.
Definition: common/geometry.hh:71
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/intersectioniterator.hh:83
Grid view abstract base class.
Definition: common/gridview.hh:66
Definition: coordfunction.hh:282
grid wrapper replacing the geometries
Definition: geometrygrid/grid.hh:86
DUNE-conform implementation of the entity.
Definition: geometrygrid/entity.hh:34
Definition: geometrygrid/intersectioniterator.hh:21
Definition: geometrygrid/geometry.hh:89
Definition: geometrygrid/gridfamily.hh:35
HG HostGrid
Definition: geometrygrid/gridfamily.hh:37
CF CoordFunction
Definition: geometrygrid/gridfamily.hh:41
Definition: geometrygrid/gridfamily.hh:51
Definition: geometrygrid/gridfamily.hh:53
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LevelIndexSet > LevelIndexSet
Definition: geometrygrid/gridfamily.hh:104
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, typename HostGrid::LeafIntersection > > LeafIntersection
Definition: geometrygrid/gridfamily.hh:64
Dune::EntityIterator< 0, const Grid, GeoGrid::HierarchicIterator< const Grid > > HierarchicIterator
Definition: geometrygrid/gridfamily.hh:75
HostGrid::Traits::Communication Communication
Definition: geometrygrid/gridfamily.hh:111
Dune::GridView< GeoGrid::GridViewTraits< typename HostGrid::LevelGridView, CoordFunction, Allocator > > LevelGridView
Definition: geometrygrid/gridfamily.hh:120
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::GlobalIdSet > GlobalIdSet
Definition: geometrygrid/gridfamily.hh:107
Dune::GridView< GeoGrid::GridViewTraits< typename HostGrid::LeafGridView, CoordFunction, Allocator > > LeafGridView
Definition: geometrygrid/gridfamily.hh:119
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LeafIndexSet > LeafIndexSet
Definition: geometrygrid/gridfamily.hh:103
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, typename HostGrid::LevelIntersectionIterator >, GeoGrid::Intersection< const Grid, typename HostGrid::LevelIntersection > > LevelIntersectionIterator
Definition: geometrygrid/gridfamily.hh:72
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, typename HostGrid::LeafIntersectionIterator >, GeoGrid::Intersection< const Grid, typename HostGrid::LeafIntersection > > LeafIntersectionIterator
Definition: geometrygrid/gridfamily.hh:69
CF CoordFunction
Definition: geometrygrid/gridfamily.hh:57
static const int dimension
Definition: geometrygrid/gridfamily.hh:61
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, typename HostGrid::LevelIntersection > > LevelIntersection
Definition: geometrygrid/gridfamily.hh:65
static const int dimensionworld
Definition: geometrygrid/gridfamily.hh:62
Communication CollectiveCommunication
Definition: geometrygrid/gridfamily.hh:117
HG HostGrid
Definition: geometrygrid/gridfamily.hh:56
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::LocalIdSet > LocalIdSet
Definition: geometrygrid/gridfamily.hh:109
GeometryGrid< HG, CF, Allocator > Grid
Definition: geometrygrid/gridfamily.hh:54
HostGrid::ctype ctype
Definition: geometrygrid/gridfamily.hh:59
Definition: geometrygrid/gridfamily.hh:79
Partition< All_Partition >::LeafIterator LeafIterator
Definition: geometrygrid/gridfamily.hh:99
Dune::Entity< codim, dimension, const Grid, GeoGrid::Entity > Entity
Definition: geometrygrid/gridfamily.hh:85
Dune::Geometry< dimension-codim, dimensionworld, const Grid, Dune::GeoGrid::Geometry > Geometry
Definition: geometrygrid/gridfamily.hh:81
Dune::EntitySeed< const Grid, GeoGrid::EntitySeed< codim, const Grid > > EntitySeed
Definition: geometrygrid/gridfamily.hh:87
HostGrid::template Codim< codim >::LocalGeometry LocalGeometry
Definition: geometrygrid/gridfamily.hh:82
Partition< All_Partition >::LevelIterator LevelIterator
Definition: geometrygrid/gridfamily.hh:100
GeoGrid::Entity< codim, dimension, const Grid > EntityImpl
Definition: geometrygrid/gridfamily.hh:84
Dune::GeoGrid::Geometry< dimension-codim, dimensionworld, const Grid > GeometryImpl
Definition: geometrygrid/gridfamily.hh:80
Definition: geometrygrid/gridfamily.hh:91
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
Dune::EntityIterator< codim, const Grid, LeafIteratorImp > LeafIterator
Definition: geometrygrid/gridfamily.hh:93
GeoGrid::Iterator< typename HostGrid::LevelGridView, codim, pitype, const Grid > LevelIteratorImp
Definition: geometrygrid/gridfamily.hh:95
Definition: idset.hh:22
Definition: geometrygrid/indexsets.hh:29
Definition: geometrygrid/intersection.hh:22
Definition: iterator.hh:30
Different resources needed by all grid implementations.