Dune Core Modules (2.3.1)

capabilities.hh
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_ALU3DGRID_CAPABILITIES_HH
4#define DUNE_ALU3DGRID_CAPABILITIES_HH
5
6// only include this code, if ENABLE_ALUGRID is defined
7#if HAVE_ALUGRID
8
10#include <dune/grid/alugrid/common/declaration.hh>
11#include <dune/grid/alugrid/3d/alu3dinclude.hh>
12#include <dune/geometry/genericgeometry/topologytypes.hh>
13
14
20namespace Dune
21{
22
23 template< int dim, int dimworld >
24 class ALUCubeGrid;
25
26 template< int dim, int dimworld >
27 class ALUSimplexGrid;
28
29
30 namespace Capabilities
31 {
32
33 // Capabilities for ALUCubeGrid
34 // ----------------------------
35
47 template< >
48 struct hasSingleGeometryType< ALUCubeGrid< 3, 3 > >
49 {
50 static const bool v = true;
51 static const unsigned int topologyId = GenericGeometry :: CubeTopology< 3 > :: type :: id ;
52 };
53
54
58 template< int cdim >
59 struct hasEntity< ALUCubeGrid< 3, 3 >, cdim >
60 {
61 static const bool v = true;
62 };
63
67#if ALU3DGRID_PARALLEL
68 template<>
69 struct isParallel< ALUCubeGrid< 3, 3 > >
70 {
71 static const bool v = true;
72 };
73#endif
74
78#if ALU3DGRID_PARALLEL
79 template< int codim >
80 struct canCommunicate< ALUCubeGrid< 3, 3 >, codim >
81 {
82 static const bool v = true;
83 };
84#endif
85
89 template<>
90 struct isLevelwiseConforming< ALUCubeGrid< 3, 3 > >
91 {
92 static const bool v = true;
93 };
94
98 template<>
99 struct hasBackupRestoreFacilities< ALUCubeGrid< 3, 3 > >
100 {
101 static const bool v = true;
102 };
103
104
105
106 // Capabilities for ALUSimplexGrid
107 // -------------------------------
108
120 template< >
121 struct hasSingleGeometryType< ALUSimplexGrid< 3, 3 > >
122 {
123 static const bool v = true;
124 static const unsigned int topologyId = GenericGeometry :: SimplexTopology< 3 > :: type :: id ;
125 };
126
130 template< int cdim >
131 struct hasEntity< ALUSimplexGrid< 3, 3 >, cdim >
132 {
133 static const bool v = true;
134 };
135
139#if ALU3DGRID_PARALLEL
140 template<>
141 struct isParallel< ALUSimplexGrid< 3, 3 > >
142 {
143 static const bool v = true;
144 };
145#endif
146
150#if ALU3DGRID_PARALLEL
151 template< int codim >
152 struct canCommunicate< ALUSimplexGrid< 3, 3 >, codim >
153 {
154 static const bool v = true;
155 };
156#endif
157
161 template<>
162 struct isLevelwiseConforming< ALUSimplexGrid< 3, 3 > >
163 {
164 static const bool v = true;
165 };
166
170 template<>
171 struct hasBackupRestoreFacilities< ALUSimplexGrid< 3, 3 > >
172 {
173 static const bool v = true;
174 };
175
176 } // end namespace Capabilities
177
178} //end namespace Dune
179
180#endif // #if HAVE_ALUGRID
181
182#endif
A set of traits classes to store static information about grid implementation.
Dune namespace.
Definition: alignment.hh:14
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 15, 22:36, 2024)