dune-fem 2.8.0
Loading...
Searching...
No Matches
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 <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
 
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
 
DataCollectorInterfaceTypeoperator+= (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 LocalInterfaceTypegetLocalInterfaceOp () const
 
LocalInterfaceTypegetLocalInterfaceOp ()
 
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
 
MyTypeoperator+= (const OpType &dc)
 Assignement operator.
 
virtual MyTypeoperator+= (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, 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

◆ BaseType

template<class GridType , class LocalDataCollectImp >
typedef DataCollectorInterface< GridType, ObjectStreamType > Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::BaseType
protected

◆ DataCollectorInterfaceType

template<class GridType , class LocalDataCollectImp >
typedef DataCollectorInterface<GridType, ObjectStreamType> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::DataCollectorInterfaceType
protected

◆ DataCollectorParamType

typedef std::pair< ObjectStreamType * , const EntityType * > Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp ::ObjectStreamType >::DataCollectorParamType
inherited

◆ DofManagerType

template<class GridType , class LocalDataCollectImp >
typedef DofManager<GridType> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::DofManagerType
protected

◆ EntityType

template<class GridType , class LocalDataCollectImp >
typedef GridType::template Codim<0>::Entity Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::EntityType

◆ LocalInterfaceType

template<class GridType , class LocalDataCollectImp >
typedef LocalInterface<ParamType> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::LocalInterfaceType
protected

◆ MyType

template<class GridType , class LocalDataCollectImp >
typedef DataCollector<EntityType,LocalDataCollectImp> Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::MyType
protected

◆ ObjectStreamType

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

◆ ParamType

template<class GridType , class LocalDataCollectImp >
typedef std::pair< ObjectStreamType * , const EntityType * > Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::ParamType
protected

◆ ReadWriteType

template<class GridType , class LocalDataCollectImp >
typedef DataCollectorTraits::ReadWriteType Dune::Fem::DataCollector< GridType, LocalDataCollectImp >::ReadWriteType
protected

Constructor & Destructor Documentation

◆ DataCollector()

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

◆ ~DataCollector()

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

Desctructor.

Member Function Documentation

◆ apply() [1/2]

virtual void Dune::Fem::DataCollectorInterface< GridType, LocalDataCollectImp ::ObjectStreamType >::apply ( ObjectStreamType str,
const EntityType entity 
) const
inlinevirtualinherited

all adaptation operators have this method which adapts the corresponding grid and organizes the restriction prolongation process of the underlying function spaces

◆ apply() [2/2]

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

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

◆ clear()

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

clear object list

◆ getLocalInterfaceOp() [1/2]

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

◆ getLocalInterfaceOp() [2/2]

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

◆ getLocalOp() [1/2]

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

return reference to loacl Operator

◆ getLocalOp() [2/2]

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

return reference to loacl Operator

◆ inlineData()

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

◆ operator+()

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

◆ operator+=() [1/4]

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

◆ operator+=() [2/4]

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

operator += combine and return InterfaceType

◆ operator+=() [3/4]

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

Assignement operator.

◆ operator+=() [4/4]

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

Assignement operator.

◆ saveObjPointer() [1/2]

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

Store new generated DiscreteOperator Pointer.

◆ saveObjPointer() [2/2]

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

Store new generated DiscreteOperator Pointer and the LocalOperator pointer

◆ writeData()

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

◆ xtractData()

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


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