dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
Dune::Fem::DofMapper< DofMapperTraits > Class Template Reference

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...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/mapper/dofmapper.hh>

Inheritance diagram for Dune::Fem::DofMapper< DofMapperTraits >:
Inheritance graph

Public Types

typedef DofMapperTraits Traits
 
typedef Traits::DofMapperType DofMapperType
 type of the DofMapper implementation More...
 
typedef Traits::ElementType ElementType
 type of codimension 0 entities More...
 
typedef Traits::SizeType SizeType
 type of size integer More...
 
typedef ElementType EntityType
 

Public Member Functions

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...
 

Protected Member Functions

const DofMapperTraits::DofMapperType & asImp () const
 
DofMapperTraits::DofMapperType & asImp ()
 

Static Protected Member Functions

static const DofMapperTraits::DofMapperType & asImp (const ThisType &other)
 
static DofMapperTraits::DofMapperType & asImp (ThisType &other)
 

Detailed Description

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.

Member Typedef Documentation

template<class DofMapperTraits>
typedef Traits::DofMapperType Dune::Fem::DofMapper< DofMapperTraits >::DofMapperType

type of the DofMapper implementation

template<class DofMapperTraits>
typedef Traits::ElementType Dune::Fem::DofMapper< DofMapperTraits >::ElementType

type of codimension 0 entities

template<class DofMapperTraits>
typedef ElementType Dune::Fem::DofMapper< DofMapperTraits >::EntityType
template<class DofMapperTraits>
typedef Traits::SizeType Dune::Fem::DofMapper< DofMapperTraits >::SizeType

type of size integer

template<class DofMapperTraits>
typedef DofMapperTraits Dune::Fem::DofMapper< DofMapperTraits >::Traits

Member Function Documentation

static const DofMapperTraits::DofMapperType & Dune::Fem::BartonNackmanInterface< DofMapper< DofMapperTraits > , DofMapperTraits::DofMapperType >::asImp ( const ThisType other)
inlinestaticprotectedinherited
static DofMapperTraits::DofMapperType & Dune::Fem::BartonNackmanInterface< DofMapper< DofMapperTraits > , DofMapperTraits::DofMapperType >::asImp ( ThisType other)
inlinestaticprotectedinherited
const DofMapperTraits::DofMapperType & Dune::Fem::BartonNackmanInterface< DofMapper< DofMapperTraits > , DofMapperTraits::DofMapperType >::asImp ( ) const
inlineprotectedinherited
DofMapperTraits::DofMapperType & Dune::Fem::BartonNackmanInterface< DofMapper< DofMapperTraits > , DofMapperTraits::DofMapperType >::asImp ( )
inlineprotectedinherited
template<class DofMapperTraits>
bool Dune::Fem::DofMapper< DofMapperTraits >::contains ( const int  codim) const
inline

returns true if DoFs for given codimension exist

Parameters
[in]codimcodimension to check
Returns
true if DoFs for codimension exist

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::contains().

template<class DofMapperTraits>
bool Dune::Fem::DofMapper< DofMapperTraits >::fixedDataSize ( const int  codim) const
inline

Check, whether the data in a codimension has fixed size.

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::fixedDataSize().

template<class DofMapperTraits>
template<class Functor >
void Dune::Fem::DofMapper< DofMapperTraits >::mapEach ( const ElementType element,
Functor  f 
) const
inline

map each local DoF number to a global key

Parameters
[in]elementelement, the DoFs belong to
[in]ffunctor to call for each DoF

The functor has to be a copyable object satisfying the following interface:

struct Functor
{
// application operator
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.

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::mapEach().

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]entityentity, the DoFs belong to
[in]ffunctor to call for each DoF

The functor has to be a copyable object satisfying the following interface:

struct Functor
{
// application operator
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.

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::mapEachEntityDof().

template<class DofMapperTraits>
int Dune::Fem::DofMapper< DofMapperTraits >::maxNumDofs ( ) const
inline

obtain maximal number of DoFs on one entity

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::maxNumDofs().

template<class DofMapperTraits>
SizeType Dune::Fem::DofMapper< DofMapperTraits >::numDofs ( const ElementType element) const
inline

obtain number of DoFs on an entity

Parameters
[in]elemententity of codimension 0
Returns
number of DoFs on the entity

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::numDofs().

template<class DofMapperTraits>
template<class Entity >
SizeType Dune::Fem::DofMapper< DofMapperTraits >::numEntityDofs ( const Entity &  entity) const
inline

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 $E$ of codimension 0:

\[ \mathrm{numDofs}( E ) = \sum_{e \subset E} \mathrm{numEntityDofs}( e ), \]

where $\subset$ denotes the subentity relation.

Parameters
[in]entityentity of codimension
Returns
number of DoFs on the entity

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::numEntityDofs().

template<class DofMapperTraits>
SizeType Dune::Fem::DofMapper< DofMapperTraits >::size ( ) const
inline

return number of dofs for special function space and grid on specified level

Referenced by Dune::Fem::DofMapper< FourierDofMapperTraits< GridPart, order > >::size().


The documentation for this class was generated from the following file: