DUNE-FEM (unstable)

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>

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
 
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)
 

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 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

◆ saveObjPointer()

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

Store new generated DiscreteOperator Pointer and the LocalOperator pointer

References Dune::Fem::ObjPointerStorage::saveObjPointer().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 20, 23:30, 2024)