1 #ifndef DUNE_FEM_DOFMAPPER_HH 2 #define DUNE_FEM_DOFMAPPER_HH 39 template<
class DofMapperTraits >
42 typename DofMapperTraits :: DofMapperType >
69 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size());
70 return asImp().size();
82 return asImp().contains( codim );
89 return asImp().fixedDataSize( codim );
115 template<
class Functor >
116 void mapEach (
const ElementType &element, Functor f )
const 118 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(
asImp().
mapEach( element, f ) );
144 template<
class Entity,
class Functor >
155 return asImp().maxNumDofs();
164 SizeType
numDofs (
const ElementType &element )
const 166 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
numDofs( element ) );
167 return asImp().numDofs( element );
184 template<
class Entity >
188 return asImp().numEntityDofs( entity );
203 template<
class DofMapperTraits >
222 CHECK_INTERFACE_IMPLEMENTATION(
asImp().numberOfHoles(block));
223 return asImp().numberOfHoles(block);
227 GlobalKeyType
oldIndex (
const int hole,
const int block )
const 229 CHECK_INTERFACE_IMPLEMENTATION(
asImp().oldIndex(hole,block));
230 return asImp().oldIndex(hole,block);
234 GlobalKeyType
newIndex (
const int hole,
const int block )
const 236 CHECK_INTERFACE_IMPLEMENTATION(
asImp().newIndex(hole,block));
237 return asImp().newIndex(hole,block);
243 CHECK_INTERFACE_IMPLEMENTATION(
asImp().consecutive() );
244 return asImp().consecutive();
250 CHECK_INTERFACE_IMPLEMENTATION(
asImp().oldOffSet(block));
251 return asImp().oldOffSet(block);
255 SizeType
offSet (
const int block )
const 257 CHECK_INTERFACE_IMPLEMENTATION(
asImp().offSet(block));
258 return asImp().offSet(block);
264 CHECK_INTERFACE_IMPLEMENTATION(
asImp().numBlocks());
265 return asImp().numBlocks();
275 #endif // #ifndef DUNE_FEM_DOFMAPPER_HH Definition: fourier/dofmapper.hh:17
Extended interface for adaptive DoF mappers.
Definition: mapper/dofmapper.hh:204
int maxNumDofs() const
obtain maximal number of DoFs on one entity
Definition: mapper/dofmapper.hh:152
bool contains(const int codim) const
returns true if DoFs for given codimension exist
Definition: mapper/dofmapper.hh:79
SizeType size() const
return number of dofs for special function space and grid on specified level
Definition: mapper/dofmapper.hh:67
SizeType GlobalKeyType
at the moment this should be similar to SizeType
Definition: mapper/dofmapper.hh:217
const Implementation & asImp() const
Definition: bartonnackmaninterface.hh:37
ElementType EntityType
Definition: mapper/dofmapper.hh:59
Traits::ElementType ElementType
type of codimension 0 entities
Definition: mapper/dofmapper.hh:54
Traits::SizeType SizeType
type of size integer
Definition: mapper/dofmapper.hh:57
GlobalKeyType oldIndex(const int hole, const int block) const
return old index of hole for data block (with resprect to new offset)
Definition: mapper/dofmapper.hh:227
Interface for calculating the size of a function space for a grid on a specified level. Furthermore the local to global mapping of dof number is done. Also during grid adaptation this mapper knows about old and new indices of entities.
Definition: mapper/dofmapper.hh:40
DofMapperTraits Traits
Definition: mapper/dofmapper.hh:48
SizeType oldOffSet(const int block) const
return old offsets for given block
Definition: mapper/dofmapper.hh:248
Traits::DofMapperType DofMapperType
type of the DofMapper implementation
Definition: mapper/dofmapper.hh:51
GridPartType::template Codim< 0 >::EntityType ElementType
Definition: fourier/dofmapper.hh:30
SizeType numDofs(const ElementType &element) const
obtain number of DoFs on an entity
Definition: mapper/dofmapper.hh:164
Definition: coordinate.hh:4
std::size_t SizeType
Definition: fourier/dofmapper.hh:32
void mapEach(const ElementType &element, Functor f) const
map each local DoF number to a global key
Definition: mapper/dofmapper.hh:116
SizeType offSet(const int block) const
return current offsets for given block
Definition: mapper/dofmapper.hh:255
SizeType numBlocks() const
return number of supported blocks
Definition: mapper/dofmapper.hh:262
BaseType::SizeType SizeType
type of size integer
Definition: mapper/dofmapper.hh:214
SizeType numEntityDofs(const Entity &entity) const
obtain number of DoFs actually belonging to an entity
Definition: mapper/dofmapper.hh:185
bool consecutive() const
return true if compress will affect data
Definition: mapper/dofmapper.hh:241
GlobalKeyType newIndex(const int hole, const int block) const
return new index of hole for data block (with resprect to new offset)
Definition: mapper/dofmapper.hh:234
SizeType numberOfHoles(const int block) const
return number of holes for data block
Definition: mapper/dofmapper.hh:220
bool fixedDataSize(const int codim) const
Check, whether the data in a codimension has fixed size.
Definition: mapper/dofmapper.hh:86
void mapEachEntityDof(const Entity &entity, Functor f) const
map each local DoF number to a global key
Definition: mapper/dofmapper.hh:145
Definition: bartonnackmaninterface.hh:15