DUNE-FEM (unstable)
Classes | |
class | Dune::Fem::DofManager< Grid > |
class | Dune::Fem::DofManagerFactory< DofManagerImp > |
Singleton provider for the DofManager. More... | |
class | Dune::Fem::ManagedIndexSetInterface |
class | Dune::Fem::DofStorageInterface |
Interface class for a dof storage object to be stored in discrete functions. More... | |
class | Dune::Fem::ManagedDofStorageInterface |
Interface class for a dof storage object that can be managed (resized and compressed) by the DofManager. More... | |
class | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType > |
class | Dune::Fem::ManagedDofStorage< GridImp, MapperType, DofArrayType > |
class | Dune::Fem::DofIteratorInterface< DofImp, DofIteratorImp > |
interface for DoF iterators of discrete functions More... | |
class | Dune::Fem::DofIteratorDefault< DofImp, DofIteratorImp > |
default implementation of DofManagerInterface More... | |
Typedefs | |
typedef ManagedIndexSetInterface | Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::BaseType |
type of base class | |
typedef Grid | Dune::Fem::DofManager< Grid >::GridType |
type of Grid this DofManager belongs to | |
Functions | |
virtual void | Dune::Fem::ManagedIndexSetInterface::resize ()=0 |
resize of index set | |
virtual bool | Dune::Fem::ManagedIndexSetInterface::compress ()=0 |
compress of index set | |
virtual void | Dune::Fem::ManagedIndexSetInterface::backup () const =0 |
:: backup More... | |
virtual void | Dune::Fem::ManagedIndexSetInterface::restore ()=0 |
:: restore More... | |
virtual void | Dune::Fem::ManagedIndexSetInterface::write (StandardOutStream &out) const =0 |
new read/write methods using binary streams | |
void | Dune::Fem::ManagedIndexSetInterface::addReference () |
increase reference counter | |
bool | Dune::Fem::ManagedIndexSetInterface::removeReference () |
decrease reference counter and return true if zero reached | |
Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::ManagedIndexSet (const IndexSetType &iset, LocalIndexSetObjectsType &insertList, LocalIndexSetObjectsType &removeList) | |
Constructor of MemObject, only to call from DofManager. | |
Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::~ManagedIndexSet () | |
destructor | |
void | Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::resize () |
wrap resize of index set | |
bool | Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::compress () |
wrap compress of index set | |
virtual void | Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::read (StandardInStream &in) |
new write method | |
virtual void | Dune::Fem::ManagedIndexSet< IndexSetType, EntityType >::write (StandardOutStream &out) const |
new write method | |
Dune::Fem::DofStorageInterface::DofStorageInterface ()=default | |
do not allow to create explicit instances | |
virtual | Dune::Fem::DofStorageInterface::~DofStorageInterface ()=default |
destructor | |
virtual void | Dune::Fem::DofStorageInterface::enableDofCompression () |
enable dof compression for dof storage (default is empty) | |
virtual SizeType | Dune::Fem::DofStorageInterface::size () const =0 |
size of space, i.e. mapper.size() | |
Dune::Fem::ManagedDofStorageInterface::ManagedDofStorageInterface ()=default | |
do not allow to create explicit instances | |
virtual | Dune::Fem::ManagedDofStorageInterface::~ManagedDofStorageInterface ()=default |
destructor | |
virtual void | Dune::Fem::ManagedDofStorageInterface::resize (const bool enlargeOnly)=0 |
resize memory | |
virtual void | Dune::Fem::ManagedDofStorageInterface::reserve (const SizeType newSize)=0 |
resize memory | |
virtual void | Dune::Fem::ManagedDofStorageInterface::dofCompress (const bool clearResizedArrays)=0 |
virtual size_t | Dune::Fem::ManagedDofStorageInterface::usedMemorySize () const =0 |
return size of mem used by MemObject | |
Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::ManagedDofStorageImplementation (const GridImp &grid, const MapperType &mapper, DofArrayType &array) | |
Constructor of ManagedDofStorageImplementation, only to call from derived classes. | |
Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::~ManagedDofStorageImplementation () | |
destructor deleting MemObject from resize and reserve List | |
ResizeMemoryObjectType & | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::resizeMemoryObject () |
return object that calls resize of this memory object | |
ReserveMemoryObjectType & | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::reserveMemoryObject () |
return object that calls reserve of this memory object | |
SizeType | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::size () const override |
return size of underlying array | |
void | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::resize (const bool enlargeOnly) override |
resize the memory with the new size | |
void | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::reserve (const SizeType needed) override |
reserve memory for what is coming | |
void | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::dofCompress (const bool clearResizedArrays) override |
copy the dof from the rear section of the vector to the holes | |
size_t | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::usedMemorySize () const override |
return used memory size | |
void | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::enableDofCompression () override |
enable dof compression for this MemObject | |
DofArrayType & | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::getArray () |
return reference to array for DiscreteFunction | |
void | Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::moveToFront (const SizeType oldSize, const int block) |
move block to front again | |
Dune::Fem::ManagedDofStorage< GridImp, MapperType, DofArrayType >::ManagedDofStorage (const GridImp &grid, const MapperType &mapper) | |
Constructor of ManagedDofStorage. | |
template<class DofStorageType , class GridType , class MapperType > | |
static std::pair< DofStorageInterface *, DofStorageType * > | Dune::Fem::allocateManagedDofStorage (const GridType &grid, const MapperType &mapper, const DofStorageType *=0) |
default implementation for creating a managed dof storage | |
void | Dune::Fem::RemoveIndicesFromSet< IndexSetType, EntityType >::apply (EntityType &entity) |
apply wraps the removeEntity Method of the index set | |
void | Dune::Fem::InsertIndicesToSet< IndexSetType, EntityType >::apply (EntityType &entity) |
apply wraps the insertEntity method of the index set | |
template<class EntityType > | |
void | Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >::restrictLocal (const EntityType &father, const EntityType &son, bool initialize) const |
restrict data to father and resize memory if doResize is true | |
template<class EntityType > | |
void | Dune::Fem::IndexSetRestrictProlong< DofManagerType, RestrictProlongIndexSetType, doResize >::prolongLocal (const EntityType &father, const EntityType &son, bool initialize) const |
prolong data to children and resize memory if doResize is true | |
template<class EntityType > | |
void | Dune::Fem::EmptyIndexSetRestrictProlong::restrictLocal (EntityType &father, EntityType &son, bool initialize) const |
restrict data to father and resize memory if doResize is true | |
template<class EntityType > | |
void | Dune::Fem::EmptyIndexSetRestrictProlong::prolongLocal (EntityType &father, EntityType &son, bool initialize) const |
prolong data to children and resize memory if doResize is true | |
double | Dune::Fem::DofManager< Grid >::memoryFactor () const |
return factor to over estimate new memory allocation | |
template<class IndexSetType > | |
void | Dune::Fem::DofManager< Grid >::addIndexSet (const IndexSetType &iset) |
add index set to dof manager's list of index sets More... | |
template<class IndexSetType > | |
void | Dune::Fem::DofManager< Grid >::removeIndexSet (const IndexSetType &iset) |
removed index set from dof manager's list of index sets More... | |
template<class ManagedDofStorageImp > | |
void | Dune::Fem::DofManager< Grid >::addDofStorage (ManagedDofStorageImp &dofStorage) |
add a managed dof storage to the dof manager. More... | |
template<class ManagedDofStorageImp > | |
void | Dune::Fem::DofManager< Grid >::removeDofStorage (ManagedDofStorageImp &dofStorage) |
remove a managed dof storage from the dof manager. More... | |
NewIndexSetRestrictProlongType & | Dune::Fem::DofManager< Grid >::indexSetRestrictProlong () |
returns the index set restriction and prolongation operator | |
IndexSetRestrictProlongNoResizeType & | Dune::Fem::DofManager< Grid >::indexSetRestrictProlongNoResize () |
returns the index set restriction and prolongation operator | |
bool | Dune::Fem::DofManager< Grid >::hasIndexSets () const |
if dofmanagers list is not empty return true | |
size_t | Dune::Fem::DofManager< Grid >::usedMemorySize () const |
return used memory size of all MemObjects in bytes. | |
void | Dune::Fem::DofManager< Grid >::resizeForRestrict () |
resize memory before data restriction during grid adaptation is done. | |
void | Dune::Fem::DofManager< Grid >::reserveMemory (std::size_t nsize, bool dummy=false) |
reserve memory for at least nsize elements, dummy is needed for dune-grid ALUGrid version | |
int | Dune::Fem::DofManager< Grid >::sequence () const |
return number of sequence, if dofmanagers memory was changed by calling some method like resize, then also this number will increase More... | |
void | Dune::Fem::DofManager< Grid >::resize () |
Resize index sets and memory due to what the mapper has as new size. More... | |
void | Dune::Fem::DofManager< Grid >::insertEntity (ConstElementType &element) |
Inserts entity to all index sets added to dof manager. | |
void | Dune::Fem::DofManager< Grid >::removeEntity (ConstElementType &element) const |
Removes entity from all index sets added to dof manager. | |
void | Dune::Fem::DofManager< Grid >::resizeMemory () |
resize the MemObject if necessary | |
void | Dune::Fem::DofManager< Grid >::enlargeMemory () |
resize the MemObject if necessary | |
void | Dune::Fem::DofManager< Grid >::incrementSequenceNumber () |
increase the DofManagers internal sequence number More... | |
void | Dune::Fem::DofManager< Grid >::compress () |
Compress all data that is hold by this dofmanager. More... | |
bool | Dune::Fem::DofManager< Grid >::notifyGlobalChange (const bool wasChanged) const |
communicate new sequence number | |
template<class DataCollType > | |
void | Dune::Fem::DofManager< Grid >::addDataInliner (DataCollType &d) |
add data handler for data inlining to dof manager | |
void | Dune::Fem::DofManager< Grid >::clearDataInliners () |
clear data inliner list | |
template<class DataCollType > | |
void | Dune::Fem::DofManager< Grid >::addDataXtractor (DataCollType &d) |
add data handler for data xtracting to dof manager | |
void | Dune::Fem::DofManager< Grid >::clearDataXtractors () |
clear data xtractor list | |
bool | Dune::Fem::DofManager< Grid >::contains (const int dim, const int codim) const |
the dof manager only transfers element data during load balancing | |
bool | Dune::Fem::DofManager< Grid >::fixedSize (const int dim, const int codim) const |
fixed size is false | |
template<class Entity > | |
size_t | Dune::Fem::DofManager< Grid >::size (const Entity &) const |
for convenience | |
void | Dune::Fem::DofManager< Grid >::gather (InlineStreamType &str, ConstElementType &element) const |
packs all data attached to this entity | |
void | Dune::Fem::DofManager< Grid >::scatter (XtractStreamType &str, ConstElementType &element, size_t) |
unpacks all data attached of this entity from message buffer | |
template<class MessageBuffer , class Entity > | |
void | Dune::Fem::DofManager< Grid >::scatter (MessageBuffer &str, const Entity &entity, size_t) |
unpacks all data of this entity from message buffer | |
void | Dune::Fem::DofManager< Grid >::backup () const |
:: backup More... | |
void | Dune::Fem::DofManager< Grid >::restore () |
:: restore More... | |
template<class OutStream > | |
void | Dune::Fem::DofManager< Grid >::write (OutStream &out) const |
write all index sets to a given stream More... | |
template<class InStream > | |
void | Dune::Fem::DofManager< Grid >::read (InStream &in) |
read all index sets from a given stream More... | |
static ThisType & | Dune::Fem::DofManager< Grid >::instance (const GridType &grid) |
obtain a reference to the DofManager for a given grid More... | |
static DofManagerType & | Dune::Fem::DofManagerFactory< DofManagerImp >::instance (const GridType &grid) |
obtain a reference to the DofManager for a given grid More... | |
static bool | Dune::Fem::DofManagerFactory< DofManagerImp >::writeDofManagerNew (const GridType &grid, const std ::string &filename, int timestep) |
writes DofManager of corresponding grid, when DofManager exists | |
static bool | Dune::Fem::DofManagerFactory< DofManagerImp >::readDofManagerNew (const GridType &grid, const std ::string &filename, int timestep) |
reads DofManager of corresponding grid, when DofManager exists | |
static void | Dune::Fem::DofManagerFactory< DofManagerImp >::deleteDofManager (DofManagerType &dm) |
delete the dof manager that belong to the given grid | |
Detailed Description
Function Documentation
◆ addDofStorage()
void Dune::Fem::DofManager< GridType >::addDofStorage | ( | ManagedDofStorageImp & | dofStorage | ) |
add a managed dof storage to the dof manager.
- Parameters
-
dofStorage dof storage to add which must fulfill the ManagedDofStorageInterface
Referenced by Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::ManagedDofStorageImplementation().
◆ addIndexSet()
|
inline |
add index set to dof manager's list of index sets
During adaptation, all index sets known to the dof manager are notified of the changes.
To register an index set with the dof manager, it has to satisfy the following interface:
- Parameters
-
[in] iset index set to add to list
References Dune::Fem::ManagedIndexSetInterface::addReference(), and DUNE_THROW.
◆ backup() [1/2]
|
inline |
:: backup
:: backup
◆ backup() [2/2]
|
pure virtual |
:: backup
:: backup
◆ compress()
|
inline |
Compress all data that is hold by this dofmanager.
- Note
- This will increase the sequence counter by 1.
References Dune::Fem::DofManager< Grid >::incrementSequenceNumber().
Referenced by Dune::Fem::GenericDiscreteFunctionSpace< Traits >::adapt().
◆ dofCompress()
|
pure virtual |
compressed the underlying dof vector and clear the array if it's temporary and clearresizedarrays is enabled (default)
Implemented in Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >, and Dune::Fem::ManagedDofStorageImplementation< GridType, BlockMapperType, DofVectorType >.
◆ incrementSequenceNumber()
|
inline |
increase the DofManagers internal sequence number
- Note
- This will increase the sequence counter by 1.
References Dune::Grid< dim, dimworld, ct, GridFamily >::comm().
Referenced by Dune::Fem::DofManager< Grid >::compress().
◆ instance() [1/2]
|
inlinestatic |
obtain a reference to the DofManager for a given grid
- Parameters
-
[in] grid grid for which the DofManager is desired
- Returns
- a reference to the singleton instance of the DofManager
Referenced by Dune::Fem::CheckPointer< GridImp >::GridPersistentObject::backup().
◆ instance() [2/2]
|
inlinestaticprotected |
obtain a reference to the DofManager for a given grid
- Parameters
-
[in] grid grid for which the DofManager is desired
- Returns
- a reference to the singleton instance of the DofManager
References Dune::Fem::SingletonList< Key, Object, Factory >::getObject().
◆ read()
|
inline |
read all index sets from a given stream
- Parameters
-
[in] in stream to read from
◆ removeDofStorage()
void Dune::Fem::DofManager< GridType >::removeDofStorage | ( | ManagedDofStorageImp & | dofStorage | ) |
remove a managed dof storage from the dof manager.
- Parameters
-
dofStorage dof storage to remove which must fulfill the ManagedDofStorageInterface
Referenced by Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::~ManagedDofStorageImplementation().
◆ removeIndexSet()
|
inline |
removed index set from dof manager's list of index sets
During adaptation, all index sets known to the dof manager are notified of the changes.
- Parameters
-
[in] iset index set to add to list
References DUNE_THROW, and Dune::Fem::ManagedIndexSetInterface::removeReference().
◆ resize()
|
inline |
Resize index sets and memory due to what the mapper has as new size.
- Note
- This will increase the sequence counter by 1.
References Dune::Fem::DofManager< Grid >::resizeMemory().
Referenced by Dune::Fem::GenericDiscreteFunctionSpace< Traits >::adapt(), and Dune::Fem::DofManager< Grid >::restore().
◆ restore() [1/2]
|
inline |
◆ restore() [2/2]
|
pure virtual |
:: restore
:: restore
◆ sequence()
|
inline |
return number of sequence, if dofmanagers memory was changed by calling some method like resize, then also this number will increase
- Note
- The increase of this number could be larger than 1
Referenced by Dune::Fem::DomainDecomposedIterator< GridPart >::update(), and Dune::Fem::ThreadIterator< GridPart, ptype >::update().
◆ write()
|
inline |
write all index sets to a given stream
- Parameters
-
[out] out stream to write to