dune-fem 2.8.0
|
#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 |
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 | |
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 |
|
protected |
typedef GridPartType::template Codim<0>::EntityType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::ElementType |
typedef SizeType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GlobalKeyType |
typedef GridPart Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GridPartType |
typedef GridPart::GridType Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::GridType |
|
protected |
typedef LocalDofMapping Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::LocalDofMappingType |
|
protected |
|
protected |
typedef std::size_t Dune::Fem::__IndexSetDofMapper::DofMapperBase< GridPart, LocalDofMapping >::SizeType |
|
protected |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlinestaticconstexprnoexcept |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
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 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.
|
inline |
|
inline |
|
inlineprotected |
submit request for codimensions used to index set
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
update mapper offsets
|
inline |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |