version 3.8
Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT > Class Template Reference

A data handle class to exchange entries of a vector.

#include <dumux/parallel/vectorcommdatahandle.hh>

Inheritance diagram for Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >:

Public Types

using DataType = DataT
 export type of data for message buffer More...
 

Public Member Functions

 VectorCommDataHandle (const Mapper &mapper, Vector &vector)
 
bool contains (int dim, int codim) const
 returns true if data for this codim should be communicated More...
 
bool fixedSize (int dim, int codim) const
 returns true if size per entity of given dim and codim is a constant More...
 
template<class Entity >
std::size_t size (Entity &entity) const
 how many objects of type DataType have to be sent for a given entity More...
 
template<class MessageBuffer , class Entity >
void gather (MessageBuffer &buff, const Entity &entity) const
 pack data from user to message buffer More...
 
template<class MessageBuffer , class Entity >
void scatter (MessageBuffer &buff, const Entity &entity, std::size_t n)
 unpack data from message buffer to user More...
 

Protected Attributes

const Mapper & mapper_
 
Vector & vector_
 

Member Typedef Documentation

◆ DataType

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
using Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::DataType = DataT

Constructor & Destructor Documentation

◆ VectorCommDataHandle()

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::VectorCommDataHandle ( const Mapper &  mapper,
Vector &  vector 
)
inline

Member Function Documentation

◆ contains()

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
bool Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::contains ( int  dim,
int  codim 
) const
inline

◆ fixedSize()

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
bool Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::fixedSize ( int  dim,
int  codim 
) const
inline

◆ gather()

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
template<class MessageBuffer , class Entity >
void Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::gather ( MessageBuffer &  buff,
const Entity &  entity 
) const
inline

◆ scatter()

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
template<class MessageBuffer , class Entity >
void Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::scatter ( MessageBuffer &  buff,
const Entity &  entity,
std::size_t  n 
)
inline
Note
n is the number of objects sent by the sender

◆ size()

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
template<class Entity >
std::size_t Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::size ( Entity &  entity) const
inline
Note
Only the sender side needs to know this size.

Member Data Documentation

◆ mapper_

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
const Mapper& Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::mapper_
protected

◆ vector_

template<class Mapper , class Vector , int entityCodim, class ScatterOperator , class DataT = typename Vector::value_type>
Vector& Dumux::VectorCommDataHandle< Mapper, Vector, entityCodim, ScatterOperator, DataT >::vector_
protected

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