dune-fem
2.4.1-rc
|
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/common/datacollector.hh>
Public Types | |
typedef Grid | GridType |
type of Grid this DofManager belongs to More... | |
typedef GridObjectStreamTraits< GridType >::InStreamType | XtractStreamImplType |
typedef GridObjectStreamTraits< GridType >::OutStreamType | InlineStreamImplType |
typedef MessageBufferIF< XtractStreamImplType > | XtractStreamType |
typedef MessageBufferIF< InlineStreamImplType > | InlineStreamType |
typedef DataCollectorInterface< GridType, XtractStreamType > | DataXtractorType |
typedef DataCollectorInterface< GridType, InlineStreamType > | DataInlinerType |
typedef GridType::template Codim< 0 >::Entity | ElementType |
typedef IndexSetRestrictProlong< ThisType, LocalIndexSetObjectsType, true > | NewIndexSetRestrictProlongType |
typedef IndexSetRestrictProlong< ThisType, LocalIndexSetObjectsType, false > | IndexSetRestrictProlongNoResizeType |
typedef EmptyIndexSetRestrictProlong | IndexSetRestrictProlongType |
Public Member Functions | |
double | memoryFactor () const |
return factor to over estimate new memory allocation More... | |
template<class IndexSetType > | |
void | addIndexSet (const IndexSetType &iset) |
add index set to dof manager's list of index sets More... | |
template<class IndexSetType > | |
void | removeIndexSet (const IndexSetType &iset) |
removed index set from dof manager's list of index sets More... | |
template<class ManagedDofStorageImp > | |
void | addDofStorage (ManagedDofStorageImp &dofStorage) |
add a managed dof storage to the dof manager. More... | |
template<class ManagedDofStorageImp > | |
void | removeDofStorage (ManagedDofStorageImp &dofStorage) |
remove a managed dof storage from the dof manager. More... | |
NewIndexSetRestrictProlongType & | indexSetRestrictProlong () |
returns the index set restriction and prolongation operator More... | |
IndexSetRestrictProlongNoResizeType & | indexSetRestrictProlongNoResize () |
returns the index set restriction and prolongation operator More... | |
bool | hasIndexSets () const |
if dofmanagers list is not empty return true More... | |
size_t | usedMemorySize () const |
return used memory size of all MemObjects in bytes. More... | |
void | resizeForRestrict () |
resize memory before data restriction during grid adaptation is done. More... | |
void | reserveMemory (int nsize, bool dummy=false) |
reserve memory for at least nsize elements, dummy is needed for dune-grid ALUGrid version More... | |
int | 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 | resize () |
Resize index sets and memory due to what the mapper has as new size. More... | |
void | insertEntity (ConstElementType &element) |
Inserts entity to all index sets added to dof manager. More... | |
void | removeEntity (ConstElementType &element) |
Removes entity from all index sets added to dof manager. More... | |
void | resizeMemory () |
resize the MemObject if necessary More... | |
void | incrementSequenceNumber () |
increase the DofManagers internal sequence number More... | |
void | compress () |
Compress all data that is hold by this dofmanager. More... | |
bool | notifyGlobalChange (const bool wasChanged) const |
communicate new sequence number More... | |
template<class DataCollType > | |
void | addDataInliner (DataCollType &d) |
add data handler for data inlining to dof manager More... | |
void | clearDataInliners () |
clear data inliner list More... | |
template<class DataCollType > | |
void | addDataXtractor (DataCollType &d) |
add data handler for data xtracting to dof manager More... | |
void | clearDataXtractors () |
clear data xtractor list More... | |
bool | contains (const int dim, const int codim) const |
the dof manager only transfers element data during load balancing More... | |
bool | fixedsize (const int dim, const int codim) const |
fixed size is false More... | |
template<class Entity > | |
size_t | size (const Entity &) const |
for convenience More... | |
void | gather (InlineStreamType &str, ConstElementType &element) const |
packs all data attached to this entity More... | |
template<class MessageBuffer , class Entity > | |
void | gather (MessageBuffer &str, const Entity &entity) const |
void | scatter (XtractStreamType &str, ConstElementType &element, size_t) |
unpacks all data attached of this entity from message buffer More... | |
template<class MessageBuffer , class Entity > | |
void | scatter (MessageBuffer &str, const Entity &entity, size_t) |
unpacks all data of this entity from message buffer More... | |
void | backup () const |
:: backup More... | |
void | restore () |
:: restore More... | |
template<class OutStream > | |
void | write (OutStream &out) const |
write all index sets to a given stream More... | |
template<class InStream > | |
void | read (InStream &in) |
read all index sets from a given stream More... | |
Static Public Member Functions | |
static ThisType & | instance (const GridType &grid) |
obtain a reference to the DofManager for a given grid More... | |
The DofManager is responsible for managing memory allocation and freeing for all discrete functions living on the grid the manager belongs to. There is only one DofManager per grid. Each discrete function knows its dofmanager and can sign in. If the grid is adapted, then the dofmanager reorganizes the memory if necessary. The DofManager holds a list of MemObjects which manage the memory and the corresponding mapper so they can determine the size of new memory. Furthermore the DofManager holds an IndexSet which the DofMapper needs for calculating the indices in the dof vector for a given entity and local dof number. This IndexSet is delivered to the mapper when a function space is created. The default value for the IndexSet is the DefaultIndexSet class which is mostly a wrapper for the grid indices.
typedef DataCollectorInterface<GridType, InlineStreamType > Dune::Fem::DofManager< Grid >::DataInlinerType |
typedef DataCollectorInterface<GridType, XtractStreamType > Dune::Fem::DofManager< Grid >::DataXtractorType |
typedef GridType :: template Codim< 0 >:: Entity Dune::Fem::DofManager< Grid >::ElementType |
typedef Grid Dune::Fem::DofManager< Grid >::GridType |
type of Grid this DofManager belongs to
typedef IndexSetRestrictProlong< ThisType, LocalIndexSetObjectsType , false > Dune::Fem::DofManager< Grid >::IndexSetRestrictProlongNoResizeType |
typedef EmptyIndexSetRestrictProlong Dune::Fem::DofManager< Grid >::IndexSetRestrictProlongType |
typedef GridObjectStreamTraits< GridType >::OutStreamType Dune::Fem::DofManager< Grid >::InlineStreamImplType |
typedef MessageBufferIF< InlineStreamImplType > Dune::Fem::DofManager< Grid >::InlineStreamType |
typedef IndexSetRestrictProlong< ThisType, LocalIndexSetObjectsType , true > Dune::Fem::DofManager< Grid >::NewIndexSetRestrictProlongType |
typedef GridObjectStreamTraits< GridType >::InStreamType Dune::Fem::DofManager< Grid >::XtractStreamImplType |
typedef MessageBufferIF< XtractStreamImplType > Dune::Fem::DofManager< Grid >::XtractStreamType |
|
inline |
add data handler for data inlining to dof manager
|
inline |
add data handler for data xtracting to dof manager
|
inline |
:: backup
:: backup
|
inline |
clear data inliner list
References Dune::Fem::DataCollectorInterface< GridType, ObjectStreamImp >::clear().
|
inline |
clear data xtractor list
References Dune::Fem::DataCollectorInterface< GridType, ObjectStreamImp >::clear().
|
inline |
Compress all data that is hold by this dofmanager.
Referenced by Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveLagrangeSpaceTraits< FS, GP, maxPolOrder, S > >::adapt(), and Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::finalize().
|
inline |
the dof manager only transfers element data during load balancing
|
inline |
fixed size is false
|
inline |
packs all data attached to this entity
References Dune::Fem::DataCollectorInterface< GridType, ObjectStreamImp >::apply().
|
inline |
|
inline |
if dofmanagers list is not empty return true
References Dune::Fem::LocalInterface< ParamT >::empty().
|
inline |
increase the DofManagers internal sequence number
|
inline |
returns the index set restriction and prolongation operator
Referenced by Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::prolongLocal(), and Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::restrictLocal().
|
inline |
returns the index set restriction and prolongation operator
|
inline |
Inserts entity to all index sets added to dof manager.
References Dune::Fem::LocalInterface< ParamT >::apply().
|
inlinestatic |
obtain a reference to the DofManager for a given grid
[in] | grid | grid for which the DofManager is desired |
References Dune::Fem::DofManager< Grid >::addIndexSet(), and Dune::Fem::DofStorageInterface::name().
Referenced by Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveLagrangeSpaceTraits< FS, GP, maxPolOrder, S > >::adapt(), Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::AdaptiveDofMapper(), and Dune::Fem::__IndexSetDofMapper::AdaptiveDofMapper< GridPart >::~AdaptiveDofMapper().
|
inline |
return factor to over estimate new memory allocation
Referenced by Dune::Fem::ManagedDofStorageImplementation< GridImp, MapperType, DofArrayType >::ManagedDofStorageImplementation().
|
inline |
communicate new sequence number
Referenced by Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::finalize().
|
inline |
read all index sets from a given stream
[in] | in | stream to read from |
|
inline |
Removes entity from all index sets added to dof manager.
References Dune::Fem::LocalInterface< ParamT >::apply().
|
inline |
reserve memory for at least nsize elements, dummy is needed for dune-grid ALUGrid version
References Dune::Fem::LocalInterface< ParamT >::apply(), and Dune::Std::max().
Referenced by Dune::Fem::RestrictProlongWrapper< Grid, DofManager, RestrictProlongOperator >::initialize().
|
inline |
Resize index sets and memory due to what the mapper has as new size.
Referenced by Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveLagrangeSpaceTraits< FS, GP, maxPolOrder, S > >::adapt().
|
inline |
resize memory before data restriction during grid adaptation is done.
|
inline |
resize the MemObject if necessary
References Dune::Fem::LocalInterface< ParamT >::apply().
|
inline |
:: restore
:: restore
|
inline |
unpacks all data attached of this entity from message buffer
References Dune::Fem::DataCollectorInterface< GridType, ObjectStreamImp >::apply().
|
inline |
unpacks all data of this entity from message buffer
References Dune::Fem::DataCollectorInterface< GridType, ObjectStreamImp >::apply().
|
inline |
return number of sequence, if dofmanagers memory was changed by calling some method like resize, then also this number will increase
Referenced by Dune::Fem::GridWidthProvider< GridType, MinMax >::calcWidths(), Dune::Fem::GridPartDefault< IntersectionAdaptiveLeafGridPartTraits< Grid, idxpitype > >::sequence(), and Dune::Fem::DiscreteFunctionSpaceDefault< PAdaptiveLagrangeSpaceTraits< FS, GP, maxPolOrder, S > >::sequence().
|
inline |
for convenience
|
inline |
return used memory size of all MemObjects in bytes.
References Dune::Fem::SpecialArrayFeatures< ArrayType >::used().
|
inline |
write all index sets to a given stream
[out] | out | stream to write to |