dune-fem 2.8.0
|
The DataCollector is an example for a grid walk done while load balancing moves entities from one processor to another. The Communicator or grid should call the inlineData (write Data to ObjectStream) and the xtractData (read Data from Stream) and provide the macro level Entity<codim =0> and the ObjectStream. This Operator then does the hierarhic walk and calls its local pack operators which know the discrete functions to pack to the stream. More...
#include <dune/fem/space/common/datacollector.hh>
Public Types | |
typedef LocalDataCollectImp::ObjectStreamType | ObjectStreamType |
typedef GridType::template Codim< 0 >::Entity | EntityType |
typedef std::pair< ObjectStreamType *, const EntityType * > | DataCollectorParamType |
Public Member Functions | |
DataCollector (GridType &grid, DofManagerType &dm, LocalDataCollectImp &ldc, const ReadWriteType rwType, int numChildren=8) | |
create DiscreteOperator with a LocalOperator | |
virtual | ~DataCollector () |
Desctructor. | |
template<class LocalDataCollectType > | |
DataCollector< GridType, CombinedLocalDataCollect< LocalDataCollectImp, LocalDataCollectType > > & | operator+ (const DataCollector< GridType, LocalDataCollectType > &op) |
operator + (combine this operator) and return new Object | |
template<class LocalDataCollectType > | |
DataCollector< GridType, LocalInterface< ParamType > > & | operator+= (const DataCollector< GridType, LocalDataCollectType > &op) |
oeprator += combine and return this Object | |
DataCollectorInterfaceType & | operator+= (const DataCollectorInterfaceType &op) |
operator += combine and return InterfaceType | |
const LocalDataCollectImp & | getLocalOp () const |
return reference to loacl Operator | |
LocalDataCollectImp & | getLocalOp () |
return reference to loacl Operator | |
const LocalInterfaceType & | getLocalInterfaceOp () const |
LocalInterfaceType & | getLocalInterfaceOp () |
bool | writeData () const |
return true if data collector is writing data instead of reading | |
void | apply (ObjectStreamType &str, const EntityType &entity) const |
void | inlineData (ObjectStreamType &str, const EntityType &entity) const |
write all data of all entities blowe this Entity to the stream | |
void | xtractData (ObjectStreamType &str, const EntityType &entity) const |
read all data of all entities blowe this Entity from the stream | |
virtual void | apply (ObjectStreamType &str, const EntityType &entity) const |
MyType & | operator+= (const OpType &dc) |
Assignement operator. | |
virtual MyType & | operator+= (const MyType &dc) |
Assignement operator. | |
virtual void | clear () |
clear object list | |
template<class DiscrOpType > | |
void | saveObjPointer (DiscrOpType *discrOp) |
Store new generated DiscreteOperator Pointer. | |
template<class DiscrOpType , class LocalOpType > | |
void | saveObjPointer (DiscrOpType *discrOp, LocalOpType *lop) |
Protected Types | |
typedef DataCollectorInterface< GridType, ObjectStreamType > | BaseType |
typedef DataCollectorTraits::ReadWriteType | ReadWriteType |
typedef DataCollector< EntityType, LocalDataCollectImp > | MyType |
typedef DofManager< GridType > | DofManagerType |
typedef std::pair< ObjectStreamType *, const EntityType * > | ParamType |
typedef LocalInterface< ParamType > | LocalInterfaceType |
typedef DataCollectorInterface< GridType, ObjectStreamType > | DataCollectorInterfaceType |
The DataCollector is an example for a grid walk done while load balancing moves entities from one processor to another. The Communicator or grid should call the inlineData (write Data to ObjectStream) and the xtractData (read Data from Stream) and provide the macro level Entity<codim =0> and the ObjectStream. This Operator then does the hierarhic walk and calls its local pack operators which know the discrete functions to pack to the stream.
|
protected |
|
protected |
|
inherited |
|
protected |
typedef GridType::template Codim<0>::Entity Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::EntityType |
|
protected |
|
protected |
typedef LocalDataCollectImp::ObjectStreamType Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::ObjectStreamType |
|
protected |
|
protected |
|
inline |
create DiscreteOperator with a LocalOperator
|
inlinevirtual |
Desctructor.
|
inlinevirtualinherited |
all adaptation operators have this method which adapts the corresponding grid and organizes the restriction prolongation process of the underlying function spaces
|
inline |
apply, if this operator is in write status the inlineData is called else xtractData is called
|
inlinevirtualinherited |
clear object list
|
inlinevirtual |
|
inlinevirtual |
|
inline |
return reference to loacl Operator
|
inline |
return reference to loacl Operator
|
inline |
write all data of all entities blowe this Entity to the stream
|
inline |
operator + (combine this operator) and return new Object
|
inline |
oeprator += combine and return this Object
|
inline |
operator += combine and return InterfaceType
|
inlinevirtualinherited |
Assignement operator.
|
inlineinherited |
Assignement operator.
|
inlineinherited |
Store new generated DiscreteOperator Pointer.
|
inlineinherited |
Store new generated DiscreteOperator Pointer and the LocalOperator pointer
|
inline |
return true if data collector is writing data instead of reading
|
inline |
read all data of all entities blowe this Entity from the stream