dune-fem  2.8-git
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | List of all members
Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T > Class Template Reference

#include <dune/fem/space/mapper/nonblockmapper.hh>

Inheritance diagram for Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >:
Inheritance graph

Public Types

typedef BaseType::Traits Traits
 
typedef Traits::BlockMapperType BlockMapperType
 
typedef Traits::ElementType ElementType
 
typedef Traits::SizeType SizeType
 
typedef Traits::GlobalKeyType GlobalKeyType
 
typedef Traits::DofMapperType DofMapperType
 type of the DofMapper implementation More...
 
typedef ElementType EntityType
 

Public Member Functions

 AdaptiveDofMapper (BlockMapperType &blockMapper)
 
bool consecutive () const
 
SizeType numBlocks () const
 
SizeType numberOfHoles (const int block) const
 
GlobalKeyType oldIndex (const int hole, const int block) const
 
GlobalKeyType newIndex (const int hole, const int block) const
 
SizeType oldOffSet (const int block) const
 
SizeType offSet (const int block) const
 
SizeType size () const
 
bool contains (const int codim) const
 
bool fixedDataSize (int codim) const
 
template<class Functor >
void mapEach (const ElementType &element, Functor f) const
 
void mapEach (const ElementType &element, Functor f) const
 map each local DoF number to a global key More...
 
void map (const ElementType &element, std::vector< GlobalKeyType > &indices) const
 
void onSubEntity (const ElementType &element, int i, int c, std::vector< bool > &indices) const
 
template<class Entity , class Functor >
void mapEachEntityDof (const Entity &entity, Functor f) const
 
template<class Entity >
void mapEntityDofs (const Entity &entity, std::vector< GlobalKeyType > &indices) const
 
int maxNumDofs () const
 
SizeType numDofs (const ElementType &element) const
 
SizeType numDofs (const ElementType &element) const
 obtain number of DoFs on an entity More...
 
template<class Entity >
SizeType numEntityDofs (const Entity &entity) const
 
const BlockMapperTypeblockMapper () const
 
void update ()
 

Static Public Member Functions

static constexpr bool consecutive () noexcept
 

Static Public Attributes

static const int blockSize = Traits::blockSize
 

Protected Member Functions

const ImplementationasImp () const
 
ImplementationasImp ()
 
const ImplementationasImp () const
 

Static Protected Member Functions

static const ImplementationasImp (const ThisType &other)
 
static ImplementationasImp (ThisType &other)
 
static const ImplementationasImp (const ThisType &other)
 
static ImplementationasImp (ThisType &other)
 

Member Typedef Documentation

◆ BlockMapperType

◆ DofMapperType

type of the DofMapper implementation

◆ ElementType

◆ EntityType

typedef ElementType Dune::Fem::DofMapper< T >::EntityType
inherited

◆ GlobalKeyType

◆ SizeType

◆ Traits

template<class T >
typedef BaseType::Traits Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::Traits

Constructor & Destructor Documentation

◆ AdaptiveDofMapper()

template<class T >
Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::AdaptiveDofMapper ( BlockMapperType blockMapper)
inline

Member Function Documentation

◆ asImp() [1/7]

Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlineprotectedinherited

◆ asImp() [2/7]

template<class Interface , class Implementation >
const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ) const
inlineprotectedinherited

◆ asImp() [3/7]

const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlineprotectedinherited

◆ asImp() [4/7]

template<class Interface , class Implementation >
static const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [5/7]

static const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlinestaticprotectedinherited

◆ asImp() [6/7]

template<class Interface , class Implementation >
static Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ asImp() [7/7]

static Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlinestaticprotectedinherited

◆ blockMapper()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
const BlockMapperType& Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::blockMapper ( ) const
inlineinherited

◆ consecutive() [1/2]

template<class T >
bool Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::consecutive ( ) const
inline

◆ consecutive() [2/2]

template<class T , template< class > class Base = Dune::Fem::DofMapper>
static constexpr bool Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::consecutive ( )
inlinestaticconstexprnoexceptinherited

◆ contains()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
bool Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::contains ( const int  codim) const
inlineinherited

◆ fixedDataSize()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
bool Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::fixedDataSize ( int  codim) const
inlineinherited

◆ map()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
void Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::map ( const ElementType element,
std::vector< GlobalKeyType > &  indices 
) const
inlineinherited

◆ mapEach() [1/2]

void Dune::Fem::DofMapper< T >::mapEach ( const ElementType element,
Functor  f 
) const
inlineinherited

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.

◆ mapEach() [2/2]

template<class T , template< class > class Base = Dune::Fem::DofMapper>
template<class Functor >
void Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::mapEach ( const ElementType element,
Functor  f 
) const
inlineinherited

◆ mapEachEntityDof()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
template<class Entity , class Functor >
void Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::mapEachEntityDof ( const Entity &  entity,
Functor  f 
) const
inlineinherited

◆ mapEntityDofs()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
template<class Entity >
void Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::mapEntityDofs ( const Entity &  entity,
std::vector< GlobalKeyType > &  indices 
) const
inlineinherited

◆ maxNumDofs()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
int Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::maxNumDofs ( ) const
inlineinherited

◆ newIndex()

template<class T >
GlobalKeyType Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::newIndex ( const int  hole,
const int  block 
) const
inline

◆ numberOfHoles()

template<class T >
SizeType Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::numberOfHoles ( const int  block) const
inline

◆ numBlocks()

template<class T >
SizeType Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::numBlocks ( ) const
inline

◆ numDofs() [1/2]

SizeType Dune::Fem::DofMapper< T >::numDofs ( const ElementType element) const
inlineinherited

obtain number of DoFs on an entity

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

◆ numDofs() [2/2]

template<class T , template< class > class Base = Dune::Fem::DofMapper>
SizeType Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::numDofs ( const ElementType element) const
inlineinherited

◆ numEntityDofs()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
template<class Entity >
SizeType Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::numEntityDofs ( const Entity &  entity) const
inlineinherited

◆ offSet()

template<class T >
SizeType Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::offSet ( const int  block) const
inline

◆ oldIndex()

template<class T >
GlobalKeyType Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::oldIndex ( const int  hole,
const int  block 
) const
inline

◆ oldOffSet()

template<class T >
SizeType Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::oldOffSet ( const int  block) const
inline

◆ onSubEntity()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
void Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::onSubEntity ( const ElementType element,
int  i,
int  c,
std::vector< bool > &  indices 
) const
inlineinherited

◆ size()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
SizeType Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::size ( ) const
inlineinherited

◆ update()

template<class T , template< class > class Base = Dune::Fem::DofMapper>
void Dune::Fem::__NonBlockMapper::DofMapper< T, Base >::update ( )
inlineinherited

Member Data Documentation

◆ blockSize

template<class T >
const int Dune::Fem::__NonBlockMapper::AdaptiveDofMapper< T >::blockSize = Traits::blockSize
static

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