dune-fem 2.8.0
|
#include <dune/fem/space/mapper/genericadaptivedofmapper.hh>
Classes | |
struct | EntityDofStorage |
struct | InsertSubEntities |
struct | NumDofs |
struct | NumDofs< codim, true > |
struct | PolynomialOrderStorage |
struct | RemoveSubEntities |
Public Types | |
enum | { minOrder = 1 } |
enum | { maxOrder = polynomialOrder } |
enum | { numOrders = maxOrder - minOrder + 1 } |
typedef TraitsImp | Traits |
typedef std::size_t | SizeType |
typedef Traits::GridPartType | GridPartType |
type of the grid part | |
typedef Traits::ElementType | ElementType |
type of entities (codim 0) | |
typedef GridPartType::GridType | GridType |
type of the underlying grid | |
typedef GridPartType::IndexSetType | IndexSetType |
type of the index set | |
typedef Traits::GlobalKeyType | GlobalKeyType |
type of global key | |
typedef GridType::ctype | FieldType |
type of coordinates within the grid | |
typedef Traits::CompiledLocalKeyVectorType | CompiledLocalKeyVectorType |
type of vector containing compiled local keys | |
typedef CompiledLocalKeyVectorType::value_type::value_type | CompiledLocalKeyType |
compiled local key type | |
typedef DofManager< GridType > | DofManagerType |
type of the DoF manager | |
typedef EntityDofStorage | EntityDofStorageType |
typedef PolynomialOrderStorage | PolynomialOrderStorageType |
typedef PersistentContainer< GridType, EntityDofStorageType > | DofContainerType |
typedef PersistentContainer< GridType, PolynomialOrderStorageType > | PolyOrderContainerType |
typedef Traits::DofMapperType | DofMapperType |
type of the DofMapper implementation | |
typedef ElementType | EntityType |
Public Member Functions | |
GenericAdaptiveDofMapper (const GridPartType &gridPart, const int order, CompiledLocalKeyVectorType &compiledLocalKeyVector) | |
constructor | |
GenericAdaptiveDofMapper (const GenericAdaptiveDofMapper &other, const int order, CompiledLocalKeyVectorType &compiledLocalKeyVector) | |
sort of copy constructor | |
int | polynomOrder (const ElementType &entity) const |
int | suggestedOrder (const ElementType &entity) const |
void | suggestPolynomOrder (const ElementType &entity, const int polOrd) |
DofContainerType & | dofContainer (const std::size_t codim) const |
const CompiledLocalKeyType & | compiledLocalKey (const int polOrd, const GeometryType type) const |
virtual | ~GenericAdaptiveDofMapper () |
destructor | |
int | size () const |
return overall number of degrees of freedom | |
template<class Functor > | |
void | mapEach (const ElementType &element, Functor f) const |
int | mapToGlobal (const ElementType &entity, const int localDof) const |
template<class Entity , class Functor > | |
void | mapEachEntityDof (const Entity &entity, Functor f) const |
map each local DoF number to a global key | |
void | onSubEntity (const ElementType &element, int i, int c, std::vector< bool > &indices) const |
void | map (const ElementType &element, std::vector< SizeType > &indices) const |
template<class Entity > | |
void | mapEntityDofs (const Entity &entity, std::vector< SizeType > &indices) const |
int | maxNumDofs () const |
obtain maximal number of DoFs on one entity | |
int | numDofs (const ElementType &entity) const |
obtain number of DoFs on an entity | |
template<class Entity > | |
int | numEntityDofs (const Entity &entity) const |
obtain number of DoFs actually belonging to an entity | |
bool | contains (int codim) const |
Check, whether any DoFs are associated with a codimension. | |
bool | fixedDataSize (int codim) const |
Check, whether the data in a codimension has fixed size. | |
int | oldIndex (const int hole, const int block) const |
int | newIndex (const int hole, const int block) const |
int | numberOfHoles (const int block) const |
int | numBlocks () const |
int | oldOffSet (const int block) const |
int | offSet (const int block) const |
bool | consecutive () const |
void | resizeContainers () |
void | insertEntity (const ElementType &entity) |
unsigned int | insertEntityDofs (const ElementType &entity) |
void | removeEntity (const ElementType &entity) |
void | resize () |
void | adapt () |
adjust mapper to newly set polynomial orders | |
unsigned int | insertFather (const ElementType &entity) |
bool | considerHierarchy () const |
return true if elements can be refined more than once during adaptation | |
size_t | insertAllUsed () |
return number of DoFs currently used for space | |
void | printDofs () const |
void | printEntityDofs (const ElementType &entity) const |
void | setUnused () |
reset all used flags of all DoF entries | |
bool | compress () |
void | backup () const |
void | restore () |
template<class InStream > | |
void | read (InStream &in) |
template<class OutStream > | |
void | write (OutStream &out) |
GenericAdaptiveDofMapper (const ThisType &)=delete | |
ThisType & | operator= (const ThisType &)=delete |
void | update () |
update DoF mapping after grid modification | |
Static Public Attributes | |
static const bool | discontinuousMapper = Traits :: discontinuousMapper |
static const int | dimension = GridType::dimension |
dimension of the grid | |
static const int | highestDimension = ( discontinuousMapper ) ? 0 : dimension |
highest codimension used to attach dofs | |
static const int | polynomialOrder = Traits::polynomialOrder |
order of the Lagrange polynoms | |
Protected Member Functions | |
const Implementation & | asImp () const |
Implementation & | asImp () |
Static Protected Member Functions | |
static const Implementation & | asImp (const ThisType &other) |
static Implementation & | asImp (ThisType &other) |
static const DofMapperTraits ::DofMapperType & | asImp (const ThisType &other) |
static DofMapperTraits ::DofMapperType & | asImp (ThisType &other) |
typedef CompiledLocalKeyVectorType::value_type::value_type Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::CompiledLocalKeyType |
compiled local key type
typedef Traits::CompiledLocalKeyVectorType Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::CompiledLocalKeyVectorType |
type of vector containing compiled local keys
typedef PersistentContainer< GridType, EntityDofStorageType > Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::DofContainerType |
typedef DofManager< GridType > Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::DofManagerType |
type of the DoF manager
|
inherited |
type of the DofMapper implementation
typedef Traits::ElementType Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::ElementType |
type of entities (codim 0)
typedef EntityDofStorage Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::EntityDofStorageType |
|
inherited |
typedef GridType::ctype Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::FieldType |
type of coordinates within the grid
typedef Traits::GlobalKeyType Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::GlobalKeyType |
type of global key
typedef Traits::GridPartType Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::GridPartType |
type of the grid part
typedef GridPartType::GridType Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::GridType |
type of the underlying grid
typedef GridPartType::IndexSetType Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::IndexSetType |
type of the index set
typedef PolynomialOrderStorage Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::PolynomialOrderStorageType |
typedef PersistentContainer< GridType, PolynomialOrderStorageType > Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::PolyOrderContainerType |
typedef std::size_t Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::SizeType |
typedef TraitsImp Dune::Fem::GenericAdaptiveDofMapper< TraitsImp >::Traits |
|
inline |
constructor
|
inline |
sort of copy constructor
|
inlinevirtual |
destructor
|
delete |
|
inline |
adjust mapper to newly set polynomial orders
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
return true if elements can be refined more than once during adaptation
|
inline |
Check, whether any DoFs are associated with a codimension.
|
inline |
|
inline |
Check, whether the data in a codimension has fixed size.
|
inline |
return number of DoFs currently used for space
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
map each local DoF number to a global key
[in] | entity | entity, 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 |
obtain maximal number of DoFs on one entity
|
inline |
|
inline |
|
inline |
|
inline |
obtain number of DoFs on an entity
[in] | element | entity of codimension 0 |
|
inline |
obtain number of DoFs actually belonging to an entity
In contrast to numDofs, this method returns the number of DoFs actually associated with an entity (usually a subentity). We have the following relation for an entity
where
[in] | entity | entity of codimension |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
reset all used flags of all DoF entries
|
inline |
return overall number of degrees of freedom
|
inline |
|
inline |
|
inlineinherited |
update DoF mapping after grid modification
Adaptive DoF mappers are considered to be always up to date and this method does nothing.
|
inline |
|
static |
dimension of the grid
|
static |
|
static |
highest codimension used to attach dofs
|
static |
order of the Lagrange polynoms