dune-fem
2.4.1-rc
|
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/mapper/indexsetdofmapper.hh>
Classes | |
struct | BuildFunctor |
struct | MapFunctor |
struct | SubEntityFilter |
struct | SubEntityFilterFunctor |
struct | SubEntityInfo |
Public Types | |
typedef std::size_t | SizeType |
typedef SizeType | GlobalKeyType |
typedef GridPart | GridPartType |
typedef GridPartType::template Codim< 0 >::EntityType | ElementType |
Public Member Functions | |
template<class CodeFactory > | |
DofMapper (const GridPartType &gridPart, const CodeFactory &codeFactory) | |
template<class Functor > | |
void | mapEach (const ElementType &element, Functor f) const |
map each local DoF number to a global one 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 |
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 which and lies within S. For example all dofs are attached to the element itself and dofs are attached to an edge also in the case where they are attached to the vertices of that edge. More... | |
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 () |
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 |
Static Public Member Functions | |
static constexpr bool | consecutive () noexcept |
Protected Types | |
enum | CodimType { CodimEmpty, CodimFixedSize, CodimVariableSize } |
typedef Dune::ReferenceElement< typename GridPart::ctype, dimension > | RefElementType |
typedef Dune::ReferenceElements< typename GridPart::ctype, dimension > | RefElementsType |
typedef GridPartType::IndexSetType | IndexSetType |
typedef std::vector< GeometryType > | BlockMapType |
Protected Member Functions | |
const DofMapperCode & | code (const GeometryType >) const |
const DofMapperCode & | code (const ElementType &element) const |
template<class Entity > | |
const SubEntityInfo & | subEntityInfo (const Entity &entity) const |
const IndexSetType & | indexSet () const |
Protected Attributes | |
const GridPartType & | gridPart_ |
std::vector< DofMapperCode > | code_ |
unsigned int | maxNumDofs_ |
SizeType | size_ |
std::vector< SubEntityInfo > | subEntityInfo_ |
BlockMapType | blockMap_ |
CodimType | codimType_ [dimension+1] |
Static Protected Attributes | |
static const int | dimension = GridPart::dimension |
|
protected |
typedef GridPartType::template Codim< 0 >::EntityType Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::ElementType |
typedef SizeType Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::GlobalKeyType |
typedef GridPart Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::GridPartType |
|
protected |
|
protected |
|
protected |
typedef std::size_t Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SizeType |
|
protected |
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::blockMap_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::codim, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::CodimEmpty, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::CodimFixedSize, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::codimType_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::CodimVariableSize, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::dimension, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEach(), Dune::Std::max(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::maxNumDofs_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::numDofs, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo_, and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::update().
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilterFunctor::operator()().
|
inlineprotected |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code_.
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::DofMapper(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEach(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numDofs(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::onSubEntity(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::update().
|
inlineprotected |
|
inlinestaticnoexcept |
|
inline |
|
inline |
|
inlineprotected |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::gridPart_.
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEachEntityDof(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::newIndex(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::numberOfHoles(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::oldIndex(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::update().
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEach(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEachEntityDof(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::numDofs.
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEach().
|
inline |
map each local DoF number to a global one
[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:
For each DoF to be mapped, this method will call the application operator once.
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::gridPart_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::map(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo_.
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::DofMapper(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::map().
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::indexSet(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEntityDofs(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::numDofs, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::offset, and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo().
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::map(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEntityDofs(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numDofs().
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEachEntityDof(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numEntityDofs(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::onSubEntity().
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEachEntityDof(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numDofs().
|
inline |
|
inline |
|
inline |
Referenced by Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::newIndex(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::numberOfHoles(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::numBlocks(), and Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::oldIndex().
|
inline |
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEachEntityDof(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEntityDofs(), Dune::Fem::DofMapperCode::numDofs(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numEntityDofs().
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::numDofs, and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo().
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEntityDofs(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numDofs(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::onSubEntity().
|
inline |
|
inline |
|
inline |
|
inline |
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 which and lies within S. For example all dofs are attached to the element itself and dofs are attached to an edge also in the case where they are attached to the vertices of that edge.
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::gridPart_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numEntityDofs(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo_.
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEntityDofs().
|
inline |
|
inlineprotected |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo_.
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEachEntityDof(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::numEntityDofs().
|
inline |
References Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::blockMap_, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::code(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::indexSet(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::numDofs, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::offset, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityInfo::oldOffset, Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::size(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::size_, and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo_.
Referenced by Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::compress(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::DofMapper(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::insertEntity(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::read(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::resize(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::size().
|
protected |
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::DofMapper(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::newIndex(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::numberOfHoles(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::numBlocks(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::offSet(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::oldIndex(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::oldOffSet(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::update().
|
protected |
|
protected |
|
staticprotected |
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::DofMapper(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::MapFunctor< Functor >::operator()(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilterFunctor::operator()(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilter::SubEntityFilter().
|
protected |
Referenced by Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::AdaptiveDofMapper(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::indexSet(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEach(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::onSubEntity(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::MapFunctor< Functor >::operator()(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilterFunctor::operator()(), and Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::~AdaptiveDofMapper().
|
protected |
|
protected |
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilter::operator()(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::size(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilter::SubEntityFilter(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::update().
|
protected |
Referenced by Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::DofMapper(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::mapEach(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::newIndex(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::numberOfHoles(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::offSet(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::oldIndex(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::oldOffSet(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::onSubEntity(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::BuildFunctor::operator()(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::MapFunctor< Functor >::operator()(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::SubEntityFilterFunctor::operator()(), Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::subEntityInfo(), and Dune::Fem::__IndexSetDofMapper::DofMapper< GridPart >::update().