Dune Core Modules (unstable)

capabilities.hh
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_ALBERTA_CAPABILITIES_HH
6 #define DUNE_ALBERTA_CAPABILITIES_HH
7 
8 #include <dune/geometry/type.hh>
9 
11 
12 #if HAVE_ALBERTA
13 
14 namespace Dune
15 {
16 
17  // External Forward Declarations
18  // -----------------------------
19 
20  template< int dim, int dimworld >
21  class AlbertaGrid;
22 
23 
24 
25  // Capabilities
26  // ------------
27 
28  namespace Capabilities
29  {
30 
34  template< int dim, int dimworld >
35  struct hasSingleGeometryType< AlbertaGrid< dim, dimworld > >
36  {
37  static const bool v = true;
38  static const unsigned int topologyId = GeometryTypes::simplex(dim).id();
39  };
40 
41 
45  template< int dim, int dimworld, int codim >
46  struct hasEntity< AlbertaGrid< dim, dimworld >, codim >
47  {
48  static const bool v = true;
49  };
50 
56  template< int dim, int dimworld, int codim >
57  struct hasEntityIterator< AlbertaGrid< dim, dimworld >, codim >
58  {
59  static const bool v = true;
60  };
61 
66  template< int dim, int dimworld >
67  struct isLevelwiseConforming< AlbertaGrid< dim, dimworld > >
68  {
69  static const bool v = false;
70  };
71 
75  template< int dim, int dimworld >
76  struct isLeafwiseConforming< AlbertaGrid< dim, dimworld > >
77  {
78  static const bool v = true;
79  };
80 
84  template< int dim, int dimworld >
85  struct hasBackupRestoreFacilities< AlbertaGrid< dim, dimworld > >
86  {
87  static const bool v = true;
88  };
89 
90 
91 
92  // non-standard capabilities
93  // -------------------------
94 
95  template< class Grid >
96  struct hasHierarchicIndexSet;
97 
98  template< int dim, int dimworld >
99  struct hasHierarchicIndexSet< AlbertaGrid< dim, dimworld > >
100  {
101  static const bool v = true;
102  };
103 
104  }
105 
106 }
107 
108 #endif // #if HAVE_ALBERTA
109 
110 #endif // #ifndef DUNE_ALBERTA_CAPABILITIES_HH
[ provides Dune::Grid ]
Definition: agrid.hh:109
constexpr unsigned int id() const
Return the topology id of the type.
Definition: type.hh:365
A set of traits classes to store static information about grid implementation.
constexpr GeometryType simplex(unsigned int dim)
Returns a GeometryType representing a simplex of dimension dim.
Definition: type.hh:453
Dune namespace.
Definition: alignedallocator.hh:13
Specialize with 'true' if implementation provides backup and restore facilities. (default=false)
Definition: capabilities.hh:124
specialize with 'true' for all codims that a grid provides an iterator for (default=hasEntity<codim>:...
Definition: capabilities.hh:74
Specialize with 'true' for all codims that a grid implements entities for. (default=false)
Definition: capabilities.hh:58
Specialize with 'true' for if the codimension 0 entity of the grid has only one possible geometry typ...
Definition: capabilities.hh:27
Specialize with 'true' if implementation guarantees a conforming leaf grid. (default=false)
Definition: capabilities.hh:115
Specialize with 'true' if implementation guarantees conforming level grids. (default=false)
Definition: capabilities.hh:106
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.80.0 (Apr 27, 22:29, 2024)