DUNE-FEM (unstable)

capabilities.hh
1#ifndef DUNE_FEM_SPACE_LAGRANGE_CAPABILITIES_HH
2#define DUNE_FEM_SPACE_LAGRANGE_CAPABILITIES_HH
3
4#include <dune/fem/gridpart/common/capabilities.hh>
5#include <dune/fem/space/common/capabilities.hh>
6#include <dune/fem/space/lagrange/declaration.hh>
7
8namespace Dune
9{
10
11 namespace Fem
12 {
13
14 namespace Capabilities
15 {
16 // LagrangeDiscreteFunctionSpace
17 //------------------------------
18
19 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
20 struct hasFixedPolynomialOrder< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
21 {
22 static const bool v = true;
23 };
24
25
26 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
27 struct hasStaticPolynomialOrder< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
28 {
29 static const bool v = true;
30 static const int order = polOrder;
31 };
32
33
34 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
35 struct isContinuous< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
36 {
38 };
39
40
41 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
42 struct isLocalized< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
43 {
44 static const bool v = true;
45 };
46
47
48 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
49 struct isAdaptive< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
50 {
51 static const bool v = true;
52 };
53
54
55 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
56 struct threadSafe< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
57 {
58 static const bool v = false;
59 };
60
61
62 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
63 struct viewThreadSafe< LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, polOrder, Storage > >
64 {
65 static const bool v = true;
66 };
67
68
69
70 // DynamicLagrangeDiscreteFunctionSpace
71 //-------------------------------------
72
73 template< class FunctionSpace, class GridPart, class Storage >
74 struct hasFixedPolynomialOrder< DynamicLagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, Storage > >
75 {
76 static const bool v = true;
77 };
78
79
80 // hasStaticPolynomialOrder we use default
81
82 template< class FunctionSpace, class GridPart, class Storage >
83 struct isContinuous< DynamicLagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, Storage > >
84 {
86 };
87
88
89 template< class FunctionSpace, class GridPart, class Storage >
90 struct isLocalized< DynamicLagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, Storage > >
91 {
92 static const bool v = true;
93 };
94
95
96 template< class FunctionSpace, class GridPart, class Storage >
97 struct isAdaptive< DynamicLagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, Storage > >
98 {
99 static const bool v = true;
100 };
101
102
103 template< class FunctionSpace, class GridPart, class Storage >
104 struct threadSafe< DynamicLagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, Storage > >
105 {
106 static const bool v = false;
107 };
108
109
110 template< class FunctionSpace, class GridPart, class Storage >
111 struct viewThreadSafe< DynamicLagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, Storage > >
112 {
113 static const bool v = true;
114 };
115
116 } // namespace Capabilities
117
118 } // namespace Fem
119
120} // namespace Dune
121
122#endif // #ifndef DUNE_FEM_SPACE_LAGRANGE_CAPABILITIES_HH
Dune namespace.
Definition: alignedallocator.hh:13
specialize with 'true' if implementation guarantees conforming level grids. (default=false)
Definition: capabilities.hh:70
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 27, 22:29, 2024)