dune-fem 2.8.0
Loading...
Searching...
No Matches
hierarchiclegendre.hh
Go to the documentation of this file.
1#ifndef DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_HLEGENDRE_HH
2#define DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_HLEGENDRE_HH
3
4#include <cassert>
5
6#include <dune/common/power.hh>
7
8#include <dune/geometry/type.hh>
9
10#include <dune/grid/common/gridenums.hh>
11
20
21#include "legendre.hh"
22
23namespace Dune
24{
25
26 namespace Fem
27 {
28
29 // HierarchicalLegendreDiscontinuousGalerkinSpace
30 // ----------------------------------------------
31
32 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
34 : public LegendreDiscontinuousGalerkinSpaceBase< FunctionSpace, GridPart, polOrder, Storage, true >
35 {
36 // hierarchicalOrdering = true
39
40 public:
45
47 const InterfaceType commInterface = InteriorBorder_All_Interface,
48 const CommunicationDirection commDirection = ForwardCommunication )
49 : BaseType( gridPart, commInterface, commDirection )
50 {}
51
53 {
54 return InterpolationType( *this );
55 }
56
57 [[deprecated("Use LocalInterpolation( space ) instead!")]]
59 {
60 return interpolation();
61 }
62
64 {
65 return interpolation();
66 }
67
68
69 };
70
71 namespace Capabilities
72 {
73
74 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
76 {
77 static const bool v = true;
78 };
79
80 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
82 {
83 static const bool v = true;
84 static const int order = polOrder;
85 };
86
87 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
89 {
90 static const bool v = false;
91 };
92
93 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
95 {
96 static const bool v = true;
97 };
98
99 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
101 {
102 static const bool v = true;
103 };
104
105 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
107 {
108 static const bool v = false;
109 };
110
111 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
113 {
114 static const bool v = true;
115 };
116
117 template< class FunctionSpace, class GridPart, int polOrder, class Storage >
119 {
120 static const bool v = true;
121 };
122
123 } // namespace Capabilities
124
125 } // namespace Fem
126
127} // namespace Dune
128
129#endif // #ifndef DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_HLEGENDRE_HH
Definition: bindguard.hh:11
specialize with true if polynomial order does not depend on the grid (part) entity
Definition: space/common/capabilities.hh:24
static const bool v
Definition: space/common/capabilities.hh:25
specialize with true if polynomial order fixed and compile time static
Definition: space/common/capabilities.hh:37
static const bool v
Definition: space/common/capabilities.hh:38
static const int order
Definition: space/common/capabilities.hh:39
specialize with true if space is always continuous
Definition: space/common/capabilities.hh:50
static const bool v
Definition: space/common/capabilities.hh:51
specialize with true if the space is localized, * i.e., the basis function set is based on a shape fu...
Definition: space/common/capabilities.hh:68
static const bool v
Definition: space/common/capabilities.hh:69
specialize with true if space can be used with AdaptiveDiscreteFunction
Definition: space/common/capabilities.hh:81
static const bool v
Definition: space/common/capabilities.hh:82
specialize with true if the space implementation is thread safe
Definition: space/common/capabilities.hh:94
static const bool v
Definition: space/common/capabilities.hh:95
specialize with true if the space implementation is thread safe, while it is not modified
Definition: space/common/capabilities.hh:108
static const bool v
Definition: space/common/capabilities.hh:109
specialize with true if for a space the basis functions are sorted by the polynomial order,...
Definition: space/common/capabilities.hh:120
static const bool v
Definition: space/common/capabilities.hh:121
GridPartType & gridPart() const
Definition: discretefunctionspace.hh:745
A vector valued function space.
Definition: functionspace.hh:60
BaseType::GridPartType GridPartType
Definition: hierarchiclegendre.hh:41
InterpolationType interpolation(const EntityType &entity) const
Definition: hierarchiclegendre.hh:58
DiscontinuousGalerkinLocalInterpolation< ThisType > InterpolationType
Definition: hierarchiclegendre.hh:43
InterpolationType interpolation() const
Definition: hierarchiclegendre.hh:52
HierarchicLegendreDiscontinuousGalerkinSpace(GridPartType &gridPart, const InterfaceType commInterface=InteriorBorder_All_Interface, const CommunicationDirection commDirection=ForwardCommunication)
Definition: hierarchiclegendre.hh:46
InterpolationType localInterpolation() const
Definition: hierarchiclegendre.hh:63
BaseType::EntityType EntityType
Definition: hierarchiclegendre.hh:42
InterpolationType InterpolationImplType
Definition: hierarchiclegendre.hh:44
Definition: discontinuousgalerkin/legendre.hh:104
BaseType::EntityType EntityType
Definition: discontinuousgalerkin/legendre.hh:114
BaseType::GridPartType GridPartType
Definition: discontinuousgalerkin/legendre.hh:113
Definition: discontinuousgalerkin/localinterpolation.hh:30