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.
More...
SizeType size () const
return number of dofs for special function space and grid on specified level
More...
bool contains (const int codim) const
returns true if DoFs for given codimension exist More...
bool fixedDataSize (const int codim) const
Check, whether the data in a codimension has fixed size. More...
template<class Functor >
void mapEach (const ElementType &element, Functor f) const
map each local DoF number to a global key More...
template<class Entity , class Functor >
void mapEachEntityDof (const Entity &entity, Functor f) const
map each local DoF number to a global key More...
int maxNumDofs () const
obtain maximal number of DoFs on one entity More...
SizeType numDofs (const ElementType &element) const
obtain number of DoFs on an entity More...
template<class Entity >
SizeType numEntityDofs (const Entity &entity) const
obtain number of DoFs actually belonging to an entity More...
void update ()
update DoF mapping after grid modification More...
template<class DofMapperTraits>
class Dune::Fem::DofMapper< DofMapperTraits >
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.
template<class DofMapperTraits >
template<class Functor >
map each local DoF number to a global key
Parameters
[in] element element, the DoFs belong to
[in] f functor to call for each DoF
The functor has to be a copyable object satisfying the following interface:
struct Functor
{
template < class GlobalKey >
void operator() ( const int localDoF, const GlobalKey &globalDoF );
};
For each DoF to be mapped, this method will call the application operator once.
Note There is no guarantee on the order, in which the functor is applied.
The global key has to be compatible with the Dof storage.
template<class DofMapperTraits >
template<class Entity , class Functor >
void Dune::Fem::DofMapper < DofMapperTraits >::mapEachEntityDof
(
const Entity &
entity ,
Functor
f
)
const
inline
map each local DoF number to a global key
Parameters
[in] entity entity, the DoFs belong to
[in] f functor to call for each DoF
The functor has to be a copyable object satisfying the following interface:
struct Functor
{
template < class GlobalKey >
void operator() ( const int localDoF, const GlobalKey &globalKey );
};
For each DoF to be mapped, this method will call the application operator once.
Note There is no guarantee on the order, in which the functor is applied.
The global key has to be compatible with the Dof storage.
template<class DofMapperTraits >
template<class Entity >
obtain number of DoFs actually belonging to an entity
In contrast to numDofs, this method returns the number of DoFs actually associated with an entity (usually a subentity). We have the following relation for an entity of codimension 0:
where denotes the subentity relation.
Parameters
[in] entity entity of codimension
Returns number of DoFs on the entity