Dune Core Modules (2.9.0)

capabilities.hh
Go to the documentation of this file.
1#ifndef DUNE_ALUGRID_CAPABILITIES_HH
2#define DUNE_ALUGRID_CAPABILITIES_HH
3
7#include <dune/alugrid/common/declaration.hh>
8
14namespace Dune
15{
16
17 namespace Capabilities
18 {
19
20 // Capabilities for ALUGrid
21 // ------------------------
22
26 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm >
27 struct hasSingleGeometryType< ALUGrid< dim, dimworld, eltype, refinementtype, Comm > >
28 {
29 static const bool v = true;
30 static const unsigned int topologyId = (eltype == cube) ?
32 };
33
37 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm, int cdim >
38 struct hasEntity< ALUGrid< dim, dimworld, eltype, refinementtype, Comm >, cdim >
39 {
40 static const bool v = true;
41 };
42
46 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm, int cdim >
47 struct hasEntityIterator< ALUGrid< dim, dimworld, eltype, refinementtype, Comm >, cdim >
48 : public hasEntity< ALUGrid< dim, dimworld, eltype, refinementtype, Comm >, cdim >
49 {
50 };
51
55 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, int codim >
56 struct canCommunicate< ALUGrid< dim, dimworld, eltype, refinementtype, ALUGridNoComm >, codim >
57 {
58 static const bool v = false;
59 };
60
64 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, int codim >
65 struct canCommunicate< ALUGrid< dim, dimworld, eltype, refinementtype, ALUGridMPIComm >, codim >
66 {
67 static const bool v = true;
68 };
69
73 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm >
74 struct isLevelwiseConforming< ALUGrid< dim, dimworld, eltype, refinementtype, Comm > >
75 {
76 static const bool v = false;
77 };
78
82 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm >
83 struct isLeafwiseConforming< ALUGrid< dim, dimworld, eltype, refinementtype, Comm > >
84 {
85 static const bool v = refinementtype == conforming ;
86 };
87
91 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm >
92 struct hasBackupRestoreFacilities< ALUGrid< dim, dimworld, eltype, refinementtype, Comm > >
93 {
94 static const bool v = true;
95 };
96
97
101 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm >
102 struct threadSafe< ALUGrid< dim, dimworld, eltype, refinementtype, Comm > > {
103 static const bool v = false;
104 };
105
109 template< int dim, int dimworld, ALUGridElementType eltype, ALUGridRefinementType refinementtype, class Comm >
110 struct viewThreadSafe< ALUGrid< dim, dimworld, eltype, refinementtype, Comm > > {
111 static const bool v = true;
112 };
113
114
115 } // end namespace Capabilities
116
117} //end namespace Dune
118
119#endif // #ifdef DUNE_ALUGRID_CAPABILITIES_HH
unstructured parallel implementation of the DUNE grid interface
Definition: alugrid.hh:32
constexpr unsigned int id() const
Return the topology id of the type.
Definition: type.hh:376
A set of traits classes to store static information about grid implementation.
constexpr GeometryType cube(unsigned int dim)
Returns a GeometryType representing a hypercube of dimension dim.
Definition: type.hh:472
constexpr GeometryType simplex(unsigned int dim)
Returns a GeometryType representing a simplex of dimension dim.
Definition: type.hh:463
Dune namespace.
Definition: alignedallocator.hh:13
@ cube
use only cube elements (i.e., quadrilaterals or hexahedra)
Definition: declaration.hh:19
@ conforming
use only conforming bisection refinement
Definition: declaration.hh:25
type of class for specialization of parallel ALUGrid (MPI_Comm as communicator)
Definition: declaration.hh:44
type of class for specialization of serial ALUGrid (No_Comm as communicator)
Definition: declaration.hh:32
specialize with 'true' for all codims that a grid can communicate data on (default=false)
Definition: capabilities.hh:97
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
Specialize with 'true' if the grid implementation is thread safe. (default=false)
Definition: capabilities.hh:142
Specialize with 'true' if the grid implementation is thread safe, while it is not modified....
Definition: capabilities.hh:169
A unique label for each type of element that can occur in a grid.
Various macros to work with Dune module version numbers.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)