dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Types | List of all members
Dune::Fem::DataCollector< GridType, LocalDataCollectImp > Class Template Reference

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 </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/common/datacollector.hh>

Inheritance diagram for Dune::Fem::DataCollector< GridType, LocalDataCollectImp >:
Inheritance graph

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 More...
 
virtual ~DataCollector ()
 Desctructor. More...
 
template<class LocalDataCollectType >
DataCollector< GridType, CombinedLocalDataCollect< LocalDataCollectImp, LocalDataCollectType > > & operator+ (const DataCollector< GridType, LocalDataCollectType > &op)
 operator + (combine this operator) and return new Object More...
 
template<class LocalDataCollectType >
DataCollector< GridType, LocalInterface< ParamType > > & operator+= (const DataCollector< GridType, LocalDataCollectType > &op)
 oeprator += combine and return this Object More...
 
DataCollectorInterfaceTypeoperator+= (const DataCollectorInterfaceType &op)
 operator += combine and return InterfaceType More...
 
const LocalDataCollectImp & getLocalOp () const
 return reference to loacl Operator More...
 
LocalDataCollectImp & getLocalOp ()
 return reference to loacl Operator More...
 
const LocalInterfaceTypegetLocalInterfaceOp () const
 
LocalInterfaceTypegetLocalInterfaceOp ()
 
bool writeData () const
 return true if data collector is writing data instead of reading More...
 
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 More...
 
void xtractData (ObjectStreamType &str, const EntityType &entity) const
 read all data of all entities blowe this Entity from the stream More...
 
MyTypeoperator+= (const OpType &dc)
 Assignement operator. More...
 
virtual MyTypeoperator+= (const MyType &dc)
 Assignement operator. More...
 
virtual void clear ()
 clear object list More...
 
template<class DiscrOpType >
void saveObjPointer (DiscrOpType *discrOp)
 Store new generated DiscreteOperator Pointer. More...
 
template<class DiscrOpType , class LocalOpType >
void saveObjPointer (DiscrOpType *discrOp, LocalOpType *lop)
 

Protected Types

typedef DataCollectorInterface< GridType, ObjectStreamTypeBaseType
 
typedef DataCollectorTraits::ReadWriteType ReadWriteType
 
typedef DataCollector< EntityType, LocalDataCollectImp > MyType
 
typedef DofManager< GridType > DofManagerType
 
typedef std::pair< ObjectStreamType *, const EntityType * > ParamType
 
typedef LocalInterface< ParamTypeLocalInterfaceType
 
typedef DataCollectorInterface< GridType, ObjectStreamTypeDataCollectorInterfaceType
 

Detailed Description

template<class GridType, class LocalDataCollectImp>
class Dune::Fem::DataCollector< GridType, LocalDataCollectImp >

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.

Member Typedef Documentation

template<class GridType, class LocalDataCollectImp>
typedef DataCollectorInterface< GridType, ObjectStreamType > Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::BaseType
protected
template<class GridType, class LocalDataCollectImp>
typedef DataCollectorInterface<GridType, ObjectStreamType> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::DataCollectorInterfaceType
protected
typedef std::pair< ObjectStreamType * , const EntityType * > Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp::ObjectStreamType >::DataCollectorParamType
inherited
template<class GridType, class LocalDataCollectImp>
typedef DofManager<GridType> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::DofManagerType
protected
template<class GridType, class LocalDataCollectImp>
typedef GridType::template Codim<0>::Entity Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::EntityType
template<class GridType, class LocalDataCollectImp>
typedef LocalInterface<ParamType> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::LocalInterfaceType
protected
template<class GridType, class LocalDataCollectImp>
typedef DataCollector<EntityType,LocalDataCollectImp> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::MyType
protected
template<class GridType, class LocalDataCollectImp>
typedef LocalDataCollectImp :: ObjectStreamType Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::ObjectStreamType
template<class GridType, class LocalDataCollectImp>
typedef std::pair< ObjectStreamType * , const EntityType * > Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::ParamType
protected
template<class GridType, class LocalDataCollectImp>
typedef DataCollectorTraits :: ReadWriteType Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::ReadWriteType
protected

Constructor & Destructor Documentation

template<class GridType, class LocalDataCollectImp>
Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::DataCollector ( GridType &  grid,
DofManagerType dm,
LocalDataCollectImp &  ldc,
const ReadWriteType  rwType,
int  numChildren = 8 
)
inline

create DiscreteOperator with a LocalOperator

template<class GridType, class LocalDataCollectImp>
virtual Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::~DataCollector ( )
inlinevirtual

Desctructor.

Member Function Documentation

template<class GridType, class LocalDataCollectImp>
void Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::apply ( ObjectStreamType str,
const EntityType entity 
) const
inlinevirtual

apply, if this operator is in write status the inlineData is called else xtractData is called

Reimplemented from Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp::ObjectStreamType >.

virtual void Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp::ObjectStreamType >::clear ( )
inlinevirtualinherited

clear object list

template<class GridType, class LocalDataCollectImp>
const LocalInterfaceType& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::getLocalInterfaceOp ( ) const
inlinevirtual
template<class GridType, class LocalDataCollectImp>
LocalInterfaceType& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::getLocalInterfaceOp ( )
inlinevirtual
template<class GridType, class LocalDataCollectImp>
const LocalDataCollectImp& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::getLocalOp ( ) const
inline
template<class GridType, class LocalDataCollectImp>
LocalDataCollectImp& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::getLocalOp ( )
inline

return reference to loacl Operator

template<class GridType, class LocalDataCollectImp>
void Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::inlineData ( ObjectStreamType str,
const EntityType entity 
) const
inline

write all data of all entities blowe this Entity to the stream

template<class GridType, class LocalDataCollectImp>
template<class LocalDataCollectType >
DataCollector<GridType, CombinedLocalDataCollect <LocalDataCollectImp,LocalDataCollectType> >& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::operator+ ( const DataCollector< GridType, LocalDataCollectType > &  op)
inline

operator + (combine this operator) and return new Object

MyType& Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp::ObjectStreamType >::operator+= ( const OpType &  dc)
inlineinherited

Assignement operator.

virtual MyType& Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp::ObjectStreamType >::operator+= ( const MyType dc)
inlinevirtualinherited

Assignement operator.

template<class GridType, class LocalDataCollectImp>
template<class LocalDataCollectType >
DataCollector<GridType,LocalInterface<ParamType> >& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::operator+= ( const DataCollector< GridType, LocalDataCollectType > &  op)
inline

oeprator += combine and return this Object

References Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::getLocalOp().

template<class GridType, class LocalDataCollectImp>
DataCollectorInterfaceType& Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::operator+= ( const DataCollectorInterfaceType op)
inline

operator += combine and return InterfaceType

References Dune::Fem::DataCollectorInterface< GridType, ObjectStreamImp >::getLocalInterfaceOp().

template<class DiscrOpType >
void Dune::Fem::ObjPointerStorage::saveObjPointer ( DiscrOpType *  discrOp)
inlineinherited

Store new generated DiscreteOperator Pointer.

References Dune::Fem::ObjPointer< ObjType >::next.

template<class DiscrOpType , class LocalOpType >
void Dune::Fem::ObjPointerStorage::saveObjPointer ( DiscrOpType *  discrOp,
LocalOpType *  lop 
)
inlineinherited

Store new generated DiscreteOperator Pointer and the LocalOperator pointer

template<class GridType, class LocalDataCollectImp>
bool Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::writeData ( ) const
inline

return true if data collector is writing data instead of reading

References Dune::Fem::DataCollectorTraits::writeData.

template<class GridType, class LocalDataCollectImp>
void Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::xtractData ( ObjectStreamType str,
const EntityType entity 
) const
inline

read all data of all entities blowe this Entity from the stream

References Dune::Fem::DataCollectorTraits::writeData.


The documentation for this class was generated from the following file: