dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping > Class Template Reference

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

Inheritance diagram for Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >:
Inheritance graph

Public Types

typedef BaseType::GridPartType GridPartType
 
typedef BaseType::LocalDofMappingType LocalDofMappingType
 
typedef BaseType::SizeType SizeType
 
typedef SizeType GlobalKeyType
 
typedef GridPartType::template Codim< 0 >::EntityType ElementType
 

Public Member Functions

template<class CodeFactory >
 DofMapper (const GridPartType &gridPart, LocalDofMappingType localDofMapping, const CodeFactory &codeFactory)
 
 DofMapper (const ThisType &)=delete
 
 ~DofMapper ()
 
ThisTypeoperator= (const ThisType &)=delete
 
template<class Functor >
void mapEach (const ElementType &element, Functor f) const
 map each local DoF number to a global one
 
void map (const ElementType &element, std::vector< GlobalKeyType > &indices) const
 
void onSubEntity (const ElementType &element, int i, int c, std::vector< bool > &indices) const
 fills a vector of bools with true indicating that the corresponding local degree of freedom is attached to the subentity specified by the (c,i) pair. A local dof is attached to a subentity S if it is attached either to that subentity or to a subentity S'<S i.e. S' has codimension greater than c and lies within S. For example all dofs are attached to the element itself and dofs attached to a vertex of an edge are also attached to that edge.
 
unsigned int maxNumDofs () const
 
unsigned int numDofs (const ElementType &element) 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
 
template<class Entity >
unsigned int numEntityDofs (const Entity &entity) const
 
bool contains (int codim) const
 
bool fixedDataSize (int codim) const
 
SizeType size () const
 
void update ()
 update mapper offsets
 
SizeType numBlocks () const
 
SizeType numberOfHoles (int) const
 
GlobalKeyType oldIndex (int hole, int) const
 
GlobalKeyType newIndex (int hole, int) const
 
SizeType oldOffSet (int) const
 
SizeType offSet (int) const
 
template<class Entity >
void insertEntity (const Entity &entity)
 
template<class Entity >
void removeEntity (const Entity &entity)
 
void resize ()
 
bool compress ()
 
void backup () const
 
void restore ()
 
template<class StreamTraits >
void write (OutStreamInterface< StreamTraits > &out) const
 
template<class StreamTraits >
void read (InStreamInterface< StreamTraits > &in)
 

Static Public Member Functions

static constexpr bool consecutive () noexcept
 

Protected Types

typedef BaseType::SubEntityInfo SubEntityInfo
 
typedef BaseType::GridPartType::GridType GridType
 
typedef DofManager< GridTypeDofManagerType
 
enum  CodimType { CodimEmpty , CodimFixedSize , CodimVariableSize }
 
typedef Dune::ReferenceElements< typename GridPart::ctype, dimensionRefElementsType
 
typedef RefElementsType::ReferenceElement RefElementType
 
typedef GridPartType::IndexSetType IndexSetType
 
typedef std::vector< GeometryType > BlockMapType
 

Protected Member Functions

void requestCodimensions ()
 submit request for codimensions used to index set
 
const DofMapperCodecode (const GeometryType &gt) const
 
const DofMapperCodecode (const ElementType &element) const
 
template<class Entity >
const SubEntityInfosubEntityInfo (const Entity &entity) const
 
const IndexSetTypeindexSet () const
 

Protected Attributes

DofManagerTypedofManager_
 
const IndexSetTypeindexSet_
 
LocalDofMapping localDofMapping_
 
std::vector< DofMapperCodecode_
 
unsigned int maxNumDofs_
 
SizeType size_
 
std::vector< SubEntityInfosubEntityInfo_
 
BlockMapType blockMap_
 
CodimType codimType_ [dimension+1]
 

Static Protected Attributes

static const int dimension = GridPart::dimension
 

Member Typedef Documentation

◆ BlockMapType

template<class GridPart , class LocalDofMapping >
typedef std::vector< GeometryType > Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::BlockMapType
protectedinherited

◆ DofManagerType

template<class GridPart , class LocalDofMapping >
typedef DofManager< GridType > Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::DofManagerType
protected

◆ ElementType

template<class GridPart , class LocalDofMapping >
typedef GridPartType::template Codim<0>::EntityType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::ElementType
inherited

◆ GlobalKeyType

template<class GridPart , class LocalDofMapping >
typedef SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GlobalKeyType
inherited

◆ GridPartType

template<class GridPart , class LocalDofMapping >
typedef BaseType::GridPartType Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::GridPartType

◆ GridType

template<class GridPart , class LocalDofMapping >
typedef BaseType::GridPartType::GridType Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::GridType
protected

◆ IndexSetType

template<class GridPart , class LocalDofMapping >
typedef GridPartType::IndexSetType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::IndexSetType
protectedinherited

◆ LocalDofMappingType

template<class GridPart , class LocalDofMapping >
typedef BaseType::LocalDofMappingType Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::LocalDofMappingType

◆ RefElementsType

template<class GridPart , class LocalDofMapping >
typedef Dune::ReferenceElements< typename GridPart::ctype, dimension > Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::RefElementsType
protectedinherited

◆ RefElementType

template<class GridPart , class LocalDofMapping >
typedef RefElementsType::ReferenceElement Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::RefElementType
protectedinherited

◆ SizeType

template<class GridPart , class LocalDofMapping >
typedef BaseType::SizeType Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::SizeType

◆ SubEntityInfo

template<class GridPart , class LocalDofMapping >
typedef BaseType::SubEntityInfo Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::SubEntityInfo
protected

Member Enumeration Documentation

◆ CodimType

template<class GridPart , class LocalDofMapping >
enum Dune::Fem::__IndexSetDofMapper::DofMapperBase::CodimType
protectedinherited
Enumerator
CodimEmpty 
CodimFixedSize 
CodimVariableSize 

Constructor & Destructor Documentation

◆ DofMapper() [1/2]

template<class GridPart , class LocalDofMapping >
template<class CodeFactory >
Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::DofMapper ( const GridPartType gridPart,
LocalDofMappingType  localDofMapping,
const CodeFactory &  codeFactory 
)
inline

◆ DofMapper() [2/2]

template<class GridPart , class LocalDofMapping >
Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::DofMapper ( const ThisType )
delete

◆ ~DofMapper()

template<class GridPart , class LocalDofMapping >
Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::~DofMapper ( )
inline

Member Function Documentation

◆ backup()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::backup ( ) const
inlineinherited

◆ code() [1/2]

template<class GridPart , class LocalDofMapping >
const DofMapperCode & Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::code ( const ElementType element) const
inlineprotectedinherited

◆ code() [2/2]

template<class GridPart , class LocalDofMapping >
const DofMapperCode & Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::code ( const GeometryType &  gt) const
inlineprotectedinherited

◆ compress()

template<class GridPart , class LocalDofMapping >
bool Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::compress ( )
inlineinherited

◆ consecutive()

template<class GridPart , class LocalDofMapping >
static constexpr bool Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::consecutive ( )
inlinestaticconstexprnoexceptinherited

◆ contains()

template<class GridPart , class LocalDofMapping >
bool Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::contains ( int  codim) const
inlineinherited

◆ fixedDataSize()

template<class GridPart , class LocalDofMapping >
bool Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::fixedDataSize ( int  codim) const
inlineinherited

◆ indexSet()

template<class GridPart , class LocalDofMapping >
const IndexSetType & Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::indexSet ( ) const
inlineprotectedinherited

◆ insertEntity()

template<class GridPart , class LocalDofMapping >
template<class Entity >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::insertEntity ( const Entity &  entity)
inlineinherited

◆ map()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::map ( const ElementType element,
std::vector< GlobalKeyType > &  indices 
) const
inlineinherited

◆ mapEach()

template<class GridPart , class LocalDofMapping >
template<class Functor >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::mapEach ( const ElementType element,
Functor  f 
) const
inlineinherited

map each local DoF number to a global one

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
void operator() ( int localDoF, int 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.

◆ mapEachEntityDof()

template<class GridPart , class LocalDofMapping >
template<class Entity , class Functor >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::mapEachEntityDof ( const Entity &  entity,
Functor  f 
) const
inlineinherited

◆ mapEntityDofs()

template<class GridPart , class LocalDofMapping >
template<class Entity >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::mapEntityDofs ( const Entity &  entity,
std::vector< GlobalKeyType > &  indices 
) const
inlineinherited

◆ maxNumDofs()

template<class GridPart , class LocalDofMapping >
unsigned int Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::maxNumDofs ( ) const
inlineinherited

◆ newIndex()

template<class GridPart , class LocalDofMapping >
GlobalKeyType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::newIndex ( int  hole,
int   
) const
inlineinherited

◆ numberOfHoles()

template<class GridPart , class LocalDofMapping >
SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::numberOfHoles ( int  ) const
inlineinherited

◆ numBlocks()

template<class GridPart , class LocalDofMapping >
SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::numBlocks ( ) const
inlineinherited

◆ numDofs()

template<class GridPart , class LocalDofMapping >
unsigned int Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::numDofs ( const ElementType element) const
inlineinherited

◆ numEntityDofs()

template<class GridPart , class LocalDofMapping >
template<class Entity >
unsigned int Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::numEntityDofs ( const Entity &  entity) const
inlineinherited

◆ offSet()

template<class GridPart , class LocalDofMapping >
SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::offSet ( int  ) const
inlineinherited

◆ oldIndex()

template<class GridPart , class LocalDofMapping >
GlobalKeyType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::oldIndex ( int  hole,
int   
) const
inlineinherited

◆ oldOffSet()

template<class GridPart , class LocalDofMapping >
SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::oldOffSet ( int  ) const
inlineinherited

◆ onSubEntity()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::onSubEntity ( const ElementType element,
int  i,
int  c,
std::vector< bool > &  indices 
) const
inlineinherited

fills a vector of bools with true indicating that the corresponding local degree of freedom is attached to the subentity specified by the (c,i) pair. A local dof is attached to a subentity S if it is attached either to that subentity or to a subentity S'<S i.e. S' has codimension greater than c and lies within S. For example all dofs are attached to the element itself and dofs attached to a vertex of an edge are also attached to that edge.

◆ operator=()

template<class GridPart , class LocalDofMapping >
ThisType & Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::operator= ( const ThisType )
delete

◆ read()

template<class GridPart , class LocalDofMapping >
template<class StreamTraits >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::read ( InStreamInterface< StreamTraits > &  in)
inlineinherited

◆ removeEntity()

template<class GridPart , class LocalDofMapping >
template<class Entity >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::removeEntity ( const Entity &  entity)
inlineinherited

◆ requestCodimensions()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::requestCodimensions
inlineprotectedinherited

submit request for codimensions used to index set

◆ resize()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::resize ( )
inlineinherited

◆ restore()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::restore ( )
inlineinherited

◆ size()

template<class GridPart , class LocalDofMapping >
SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::size ( ) const
inlineinherited

◆ subEntityInfo()

template<class GridPart , class LocalDofMapping >
template<class Entity >
const DofMapperBase< GridPart, LocalDofMapping >::SubEntityInfo & Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::subEntityInfo ( const Entity &  entity) const
inlineprotectedinherited

◆ update()

template<class GridPart , class LocalDofMapping >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::update
inlineinherited

update mapper offsets

◆ write()

template<class GridPart , class LocalDofMapping >
template<class StreamTraits >
void Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::write ( OutStreamInterface< StreamTraits > &  out) const
inlineinherited

Member Data Documentation

◆ blockMap_

template<class GridPart , class LocalDofMapping >
BlockMapType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::blockMap_
protectedinherited

◆ code_

template<class GridPart , class LocalDofMapping >
std::vector< DofMapperCode > Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::code_
protectedinherited

◆ codimType_

template<class GridPart , class LocalDofMapping >
CodimType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::codimType_[dimension+1]
protectedinherited

◆ dimension

template<class GridPart , class LocalDofMapping >
const int Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::dimension = GridPart::dimension
staticprotectedinherited

◆ dofManager_

template<class GridPart , class LocalDofMapping >
DofManagerType& Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart, LocalDofMapping >::dofManager_
protected

◆ indexSet_

template<class GridPart , class LocalDofMapping >
const IndexSetType& Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::indexSet_
protectedinherited

◆ localDofMapping_

template<class GridPart , class LocalDofMapping >
LocalDofMapping Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::localDofMapping_
protectedinherited

◆ maxNumDofs_

template<class GridPart , class LocalDofMapping >
unsigned int Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::maxNumDofs_
protectedinherited

◆ size_

template<class GridPart , class LocalDofMapping >
SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::size_
protectedinherited

◆ subEntityInfo_

template<class GridPart , class LocalDofMapping >
std::vector< SubEntityInfo > Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::subEntityInfo_
protectedinherited

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