|
dune-fem 2.12-git
|
#include <dune/fem/space/mapper/indexsetdofmapper.hh>

Classes | |
| struct | BuildFunctor |
| struct | MapFunctor |
| struct | SubEntityFilter |
| struct | SubEntityInfo |
Public Types | |
| typedef std::size_t | SizeType |
| typedef SizeType | GlobalKeyType |
| typedef GridPart | GridPartType |
| typedef LocalDofMapping | LocalDofMappingType |
| typedef GridPart::GridType | GridType |
| typedef GridPartType::template Codim< 0 >::EntityType | ElementType |
Public Member Functions | |
| template<class CodeFactory > | |
| DofMapperBase (const GridPartType &gridPart, LocalDofMappingType localDofMapping, const CodeFactory &codeFactory) | |
| 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 |
| void | onSubEntity (const ElementType &element, int i, int c, std::vector< char > &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. this method returns which local dofs are attached to the given subentity. indices[locDofNr] = 0 : not attached, not equal to 0 : attached (so this method can still be used in the way the deprecated method was). New: In case the dof can be associated to a component of the space, the value returned is that component+1. In other cases (normal velocity for RT for example) the value is 1). So indices[i] is in [0,dimRange+1] | |
| 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 | |
| enum | CodimType { CodimEmpty , CodimFixedSize , CodimVariableSize } |
| typedef Dune::ReferenceElements< typename GridPart::ctype, dimension > | RefElementsType |
| 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 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 IndexSetType & | indexSet_ |
| LocalDofMapping | localDofMapping_ |
| 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 |
Member Typedef Documentation
◆ BlockMapType
|
protected |
◆ ElementType
| typedef GridPartType::template Codim<0>::EntityType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::ElementType |
◆ GlobalKeyType
| typedef SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GlobalKeyType |
◆ GridPartType
| typedef GridPart Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GridPartType |
◆ GridType
| typedef GridPart::GridType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GridType |
◆ IndexSetType
|
protected |
◆ LocalDofMappingType
| typedef LocalDofMapping Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::LocalDofMappingType |
◆ RefElementsType
|
protected |
◆ RefElementType
|
protected |
◆ SizeType
| typedef std::size_t Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::SizeType |
Member Enumeration Documentation
◆ CodimType
|
protected |
Constructor & Destructor Documentation
◆ DofMapperBase()
|
inline |
Member Function Documentation
◆ backup()
|
inline |
◆ code() [1/2]
|
inlineprotected |
◆ code() [2/2]
|
inlineprotected |
◆ compress()
|
inline |
◆ consecutive()
|
inlinestaticconstexprnoexcept |
◆ contains()
|
inline |
◆ fixedDataSize()
|
inline |
◆ indexSet()
|
inlineprotected |
◆ insertEntity()
|
inline |
◆ map()
|
inline |
◆ mapEach()
|
inline |
map each local DoF number to a global one
- 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:
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()
|
inline |
◆ mapEntityDofs()
|
inline |
◆ maxNumDofs()
|
inline |
◆ newIndex()
|
inline |
◆ numberOfHoles()
|
inline |
◆ numBlocks()
|
inline |
◆ numDofs()
|
inline |
◆ numEntityDofs()
|
inline |
◆ offSet()
|
inline |
◆ oldIndex()
|
inline |
◆ oldOffSet()
|
inline |
◆ onSubEntity() [1/2]
|
inline |
◆ onSubEntity() [2/2]
|
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 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. this method returns which local dofs are attached to the given subentity. indices[locDofNr] = 0 : not attached, not equal to 0 : attached (so this method can still be used in the way the deprecated method was). New: In case the dof can be associated to a component of the space, the value returned is that component+1. In other cases (normal velocity for RT for example) the value is 1). So indices[i] is in [0,dimRange+1]
◆ read()
|
inline |
◆ removeEntity()
|
inline |
◆ requestCodimensions()
|
inlineprotected |
submit request for codimensions used to index set
◆ resize()
|
inline |
◆ restore()
|
inline |
◆ size()
|
inline |
◆ subEntityInfo()
|
inlineprotected |
◆ update()
|
inline |
update mapper offsets
◆ write()
|
inline |
Member Data Documentation
◆ blockMap_
|
protected |
◆ code_
|
protected |
◆ codimType_
|
protected |
◆ dimension
|
staticprotected |
◆ indexSet_
|
protected |
◆ localDofMapping_
|
protected |
◆ maxNumDofs_
|
protected |
◆ size_
|
protected |
◆ subEntityInfo_
|
protected |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8