1 #ifndef DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_SPACE_HH 2 #define DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_SPACE_HH 6 #include <dune/geometry/type.hh> 8 #include <dune/grid/common/gridenums.hh> 33 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
45 GridPartType::dimension, 1
58 template <
class DiscreteFunction,
class Operation = DFCommunicationOperation::Copy >
71 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage =
CachingStorage >
78 using BaseType::basisFunctionSet;
80 static const int polynomialOrder = polOrder;
91 const InterfaceType commInterface = InteriorBorder_All_Interface,
92 const CommunicationDirection commDirection = ForwardCommunication )
93 : BaseType( gridPart, basisFunctionSets( gridPart ), commInterface, commDirection )
98 return InterpolationType( basisFunctionSet( entity ) );
102 static BasisFunctionSetsType basisFunctionSets (
const GridPartType &gridPart )
105 ShapeFunctionSetsType shapeFunctionSets( gridPart );
112 namespace Capabilities
115 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
118 static const bool v =
true;
121 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
124 static const bool v =
true;
125 static const int order = polOrder;
128 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
131 static const bool v =
false;
134 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
137 static const bool v =
true;
140 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
146 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
149 static const bool v =
true;
152 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
155 static const bool v =
false;
158 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
161 static const bool v =
true;
164 template<
class FunctionSpace,
class Gr
idPart,
int polOrder,
template<
class >
class Storage >
167 static const bool v =
true;
176 #endif // #ifndef DUNE_FEM_SPACE_DISCONTINUOUSGALERKIN_SPACE_HH Definition: shapefunctionsets.hh:268
Definition: selectcaching.hh:17
BaseType::EntityType EntityType
Definition: discontinuousgalerkin/space.hh:83
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeFieldType RangeFieldType
Intrinsic type used for values in the range field (usually a double)
Definition: functionspaceinterface.hh:62
Definition: space/discontinuousgalerkin/declaration.hh:15
DefaultCommunicationHandler< DiscreteFunction, Operation > Type
Definition: discontinuousgalerkin/space.hh:62
static const int codimension
Definition: discontinuousgalerkin/space.hh:41
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
BaseType::BasisFunctionSetsType BasisFunctionSetsType
Definition: discontinuousgalerkin/space.hh:85
VectorialShapeFunctionSets< ScalarShapeFunctionSetsType, typename FunctionSpaceType::RangeType > ShapeFunctionSetsType
Definition: discontinuousgalerkin/space.hh:49
A vector valued function space.
Definition: functionspace.hh:16
Definition: space/shapefunctionset/orthonormal.hh:42
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
Provides orthonormal shape function set.
specialize with true if for a space the basis functions are sorted by the polynomial order...
Definition: space/common/capabilities.hh:128
GridPart GridPartType
Definition: discontinuousgalerkin/space.hh:39
FunctionSpace FunctionSpaceType
Definition: discontinuousgalerkin/space.hh:38
DefaultBasisFunctionSets< GridPartType, ShapeFunctionSetsType > BasisFunctionSetsType
Definition: discontinuousgalerkin/space.hh:51
ShapeFunctionSets ShapeFunctionSetsType
shape function sets type
Definition: discontinuousgalerkin/basisfunctionsets.hh:91
BasisFunctionSetsType::BasisFunctionSetType BasisFunctionSetType
Definition: discontinuousgalerkin/space.hh:52
dimension of range vector space
Definition: functionspaceinterface.hh:47
DiscontinuousGalerkinLocalL2Projection< GridPartType, BasisFunctionSetType > InterpolationType
Definition: discontinuousgalerkin/space.hh:88
mapper allocating one DoF per subentity of a given codimension
Definition: codimensionmapper.hh:28
InterpolationType interpolation(const EntityType &entity) const
Definition: discontinuousgalerkin/space.hh:96
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
BaseType::GridPartType GridPartType
Definition: discontinuousgalerkin/space.hh:82
Definition: coordinate.hh:4
specialize with true if space can be used in parallel
Definition: space/common/capabilities.hh:76
Operation OperationType
Definition: discontinuousgalerkin/space.hh:61
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
static const int localBlockSize
Definition: discontinuousgalerkin/space.hh:56
Definition: discontinuousgalerkin/space.hh:34
void move(ArrayInterface< T > &array, const unsigned int oldOffset, const unsigned int newOffset, const unsigned int length)
Definition: array_inline.hh:38
generate a set of default basis function sets from given set of shape function sets ...
Definition: discontinuousgalerkin/basisfunctionsets.hh:82
DiscontinuousGalerkinSpace(GridPartType &gridPart, const InterfaceType commInterface=InteriorBorder_All_Interface, const CommunicationDirection commDirection=ForwardCommunication)
Definition: discontinuousgalerkin/space.hh:90
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
specialize with true if polynomial order fixed and compile time static
Definition: space/common/capabilities.hh:33
BaseType::BasisFunctionSetType BasisFunctionSetType
Definition: discontinuousgalerkin/space.hh:86
CodimensionMapper< GridPartType, codimension > BlockMapperType
Definition: discontinuousgalerkin/space.hh:54
Definition: discontinuousgalerkin/space.hh:59
specialize with true if the space implementation is thread safe, while it is not modified ...
Definition: space/common/capabilities.hh:116
Definition: shapefunctionsets.hh:196
Dune::Fem::FunctionSpace< typename FunctionSpace::DomainFieldType, typename FunctionSpace::RangeFieldType, GridPartType::dimension, 1 > ScalarShapeFunctionSpaceType
Definition: discontinuousgalerkin/space.hh:46
DiscontinuousGalerkinSpace< FunctionSpace, GridPart, polOrder, Storage > DiscreteFunctionSpaceType
Definition: discontinuousgalerkin/space.hh:36
implementation of a basis function set for given entity
Definition: default.hh:46
SelectCachingShapeFunctionSets< GridPartType, OrthonormalShapeFunctionSet< ScalarShapeFunctionSpaceType, polOrder >, Storage > ScalarShapeFunctionSetsType
Definition: discontinuousgalerkin/space.hh:48