1 #ifndef DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_HLEGENDRE_HH 2 #define DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_HLEGENDRE_HH 6 #include <dune/common/power.hh> 8 #include <dune/geometry/type.hh> 10 #include <dune/grid/common/gridenums.hh> 34 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
46 GridPartType::dimension, 1
55 StaticPower<polOrder+1,ScalarShapeFunctionSpaceType::dimDomain>::power;
58 : BaseType( polOrder )
60 assert( type.isCube() );
78 template <
class DiscreteFunction,
class Operation = DFCommunicationOperation::Copy >
91 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage =
CachingStorage >
98 using BaseType::basisFunctionSet;
100 static const int polynomialOrder = polOrder;
111 const InterfaceType commInterface = InteriorBorder_All_Interface,
112 const CommunicationDirection commDirection = ForwardCommunication )
113 : BaseType( gridPart, basisFunctionSets( gridPart ), commInterface, commDirection )
120 return InterpolationType( basisFunctionSet( entity ) );
124 static BasisFunctionSetsType basisFunctionSets (
const GridPartType &gridPart )
127 ShapeFunctionSetsType shapeFunctionSets( gridPart );
134 namespace Capabilities
137 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
140 static const bool v =
true;
143 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
146 static const bool v =
true;
150 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
153 static const bool v =
false;
156 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
159 static const bool v =
true;
162 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
168 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
171 static const bool v =
true;
174 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
177 static const bool v =
false;
180 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
183 static const bool v =
true;
186 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
189 static const bool v =
true;
198 #endif // #ifndef DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_HLEGENDRE_HH Definition: shapefunctionsets.hh:268
DefaultCommunicationHandler< DiscreteFunction, Operation > Type
Definition: hierarchiclegendre.hh:82
DiscontinuousGalerkinLocalL2Projection< GridPartType, BasisFunctionSetType > InterpolationType
Definition: hierarchiclegendre.hh:108
Definition: selectcaching.hh:17
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeFieldType RangeFieldType
Intrinsic type used for values in the range field (usually a double)
Definition: functionspaceinterface.hh:62
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:64
A vector valued function space.
Definition: functionspace.hh:16
GridPart GridPartType
Definition: hierarchiclegendre.hh:40
Definition: hierarchiclegendre.hh:49
Default communication handler for discrete functions.
Definition: defaultcommhandler.hh:23
specialize with 'true' if implementation supports parallelism (default=false)
Definition: gridpart/common/capabilities.hh:59
BaseType::GridPartType GridPartType
Definition: hierarchiclegendre.hh:102
HierarchicLegendreDiscontinuousGalerkinSpace< FunctionSpace, GridPart, polOrder, Storage > DiscreteFunctionSpaceType
Definition: hierarchiclegendre.hh:37
DFSpaceIdentifier
enumerator for identification of spaces
Definition: discretefunctionspace.hh:88
specialize with true if for a space the basis functions are sorted by the polynomial order...
Definition: space/common/capabilities.hh:128
HierarchicLegendreDiscontinuousGalerkinSpace(GridPartType &gridPart, const InterfaceType commInterface=InteriorBorder_All_Interface, const CommunicationDirection commDirection=ForwardCommunication)
Definition: hierarchiclegendre.hh:110
Definition: hierarchiclegendre.hh:35
ShapeFunctionSets ShapeFunctionSetsType
shape function sets type
Definition: discontinuousgalerkin/basisfunctionsets.hh:91
dimension of range vector space
Definition: functionspaceinterface.hh:47
InterpolationType interpolation(const EntityType &entity) const
Definition: hierarchiclegendre.hh:118
mapper allocating one DoF per subentity of a given codimension
Definition: codimensionmapper.hh:28
ScalarShapeFunctionSet(Dune::GeometryType type)
Definition: hierarchiclegendre.hh:57
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::DomainFieldType DomainFieldType
Intrinsic type used for values in the domain field (usually a double)
Definition: functionspaceinterface.hh:59
specialize with true if space is always continuous
Definition: space/common/capabilities.hh:46
specialize with true if space can be used with AdaptiveDiscreteFunction
Definition: space/common/capabilities.hh:89
Definition: space/discontinuousgalerkin/declaration.hh:36
Operation OperationType
Definition: hierarchiclegendre.hh:81
Definition: coordinate.hh:4
static DFSpaceIdentifier type()
Definition: hierarchiclegendre.hh:116
CodimensionMapper< GridPartType, codimension > BlockMapperType
Definition: hierarchiclegendre.hh:74
specialize with true if space can be used in parallel
Definition: space/common/capabilities.hh:76
Dune::Fem::FunctionSpace< typename FunctionSpace::DomainFieldType, typename FunctionSpace::RangeFieldType, GridPartType::dimension, 1 > ScalarShapeFunctionSpaceType
Definition: hierarchiclegendre.hh:47
generic implementation of a Discontinuous Galerkin space based on a fixed family of basis function se...
Definition: discontinuousgalerkin/generic.hh:33
Definition: discontinuousgalerkin/interpolation.hh:24
BaseType::BasisFunctionSetType BasisFunctionSetType
Definition: hierarchiclegendre.hh:106
SelectCachingShapeFunctionSets< GridPartType, ScalarShapeFunctionSet, Storage > ScalarShapeFunctionSetsType
Definition: hierarchiclegendre.hh:68
Definition: hierarchiclegendre.hh:79
static const int localBlockSize
Definition: hierarchiclegendre.hh:76
DefaultBasisFunctionSets< GridPartType, ShapeFunctionSetsType > BasisFunctionSetsType
Definition: hierarchiclegendre.hh:71
BaseType::BasisFunctionSetsType BasisFunctionSetsType
Definition: hierarchiclegendre.hh:105
void move(ArrayInterface< T > &array, const unsigned int oldOffset, const unsigned int newOffset, const unsigned int length)
Definition: array_inline.hh:38
FunctionSpace FunctionSpaceType
Definition: hierarchiclegendre.hh:39
generate a set of default basis function sets from given set of shape function sets ...
Definition: discontinuousgalerkin/basisfunctionsets.hh:82
BaseType::EntityType EntityType
Definition: hierarchiclegendre.hh:103
Dune::Fem::HierarchicLegendreShapeFunctionSet< ScalarShapeFunctionSpaceType > BaseType
Definition: hierarchiclegendre.hh:52
specialize with true if polynomial order does not depend on the grid (part) entity ...
Definition: space/common/capabilities.hh:20
specialize with true if the space implementation is thread safe
Definition: space/common/capabilities.hh:102
std::size_t size() const noexcept
return number of shape functions
Definition: shapefunctionset/legendre.hh:283
specialize with true if polynomial order fixed and compile time static
Definition: space/common/capabilities.hh:33
VectorialShapeFunctionSets< ScalarShapeFunctionSetsType, typename FunctionSpaceType::RangeType > ShapeFunctionSetsType
Definition: hierarchiclegendre.hh:69
static const int numberShapeFunctions
Definition: hierarchiclegendre.hh:54
specialize with true if the space implementation is thread safe, while it is not modified ...
Definition: space/common/capabilities.hh:116
static const int codimension
Definition: hierarchiclegendre.hh:42
Definition: shapefunctionsets.hh:196
int order() const noexcept
return order of shape functions
Definition: shapefunctionset/legendre.hh:280
unsigned int size() const
Definition: hierarchiclegendre.hh:65
BasisFunctionSetsType::BasisFunctionSetType BasisFunctionSetType
Definition: hierarchiclegendre.hh:72
please doc me
Definition: shapefunctionset/legendre.hh:343
implementation of a basis function set for given entity
Definition: default.hh:46
id for Hierarchic Legendre Discontinuous Galerkin Space
Definition: discretefunctionspace.hh:98