1#ifndef DUNE_FEM_SPACE_FOURIER_DOFMAPPER_HH
2#define DUNE_FEM_SPACE_FOURIER_DOFMAPPER_HH
6#include <dune/fem/space/mapper/dofmapper.hh>
17 template<
class Gr
idPart,
int order >
class FourierDofMapper;
24 template<
class Gr
idPart,
int order >
25 struct FourierDofMapperTraits
27 typedef FourierDofMapper< GridPart, order > DofMapperType;
29 typedef GridPart GridPartType;
30 typedef typename GridPartType::template Codim< 0 >::EntityType ElementType;
32 typedef std::size_t SizeType;
40 template<
class Gr
idPart,
int order >
41 class FourierDofMapper
42 :
public AdaptiveDofMapper< FourierDofMapperTraits< GridPart, order > >
44 typedef FourierDofMapper< GridPart, order > ThisType;
45 typedef AdaptiveDofMapper< FourierDofMapperTraits< GridPart, order > > BaseType;
48 typedef typename BaseType::Traits Traits;
59 static SizeType
size () {
return 1; }
62 static bool contains (
int codim ) {
return false; }
68 template<
class Functor >
69 static void mapEach (
const ElementType &element, Functor f )
75 template<
class Entity,
class Functor >
83 static SizeType
numDofs (
const ElementType &element ) {
return size(); }
86 template<
class Entity >
98 SizeType numberOfHoles (
const int block )
const {
return SizeType( 0 ); }
101 GlobalKeyType oldIndex (
const int hole,
const int block )
const
107 GlobalKeyType newIndex (
const int hole,
const int block )
const
113 bool consecutive ()
const {
return true; }
116 SizeType oldOffSet (
const int block )
const {
return SizeType( 0 ); }
119 SizeType offSet (
const int block )
const {
return SizeType( 0 ); }
122 SizeType numBlocks ()
const {
return SizeType( 1 ); }
SizeType GlobalKeyType
at the moment this should be similar to SizeType
Definition: dofmapper.hh:230
BaseType::SizeType SizeType
type of size integer
Definition: dofmapper.hh:227
int maxNumDofs() const
obtain maximal number of DoFs on one entity
Definition: dofmapper.hh:152
SizeType numEntityDofs(const Entity &entity) const
obtain number of DoFs actually belonging to an entity
Definition: dofmapper.hh:185
SizeType numDofs(const ElementType &element) const
obtain number of DoFs on an entity
Definition: dofmapper.hh:164
void mapEach(const ElementType &element, Functor f) const
map each local DoF number to a global key
Definition: dofmapper.hh:116
Traits::ElementType ElementType
type of codimension 0 entities
Definition: dofmapper.hh:54
bool fixedDataSize(const int codim) const
Check, whether the data in a codimension has fixed size.
Definition: dofmapper.hh:86
void mapEachEntityDof(const Entity &entity, Functor f) const
map each local DoF number to a global key
Definition: dofmapper.hh:145
Default exception for dummy implementations.
Definition: exceptions.hh:355
#define DUNE_THROW(E,...)
Definition: exceptions.hh:312
Dune namespace.
Definition: alignedallocator.hh:13
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition: integersequence.hh:75
constexpr std::bool_constant<((II==value)||...)> contains(std::integer_sequence< T, II... >, std::integral_constant< T, value >)
Checks whether or not a given sequence contains a value.
Definition: integersequence.hh:137