A data handle class to exchange entries of a vector for multiple codims in one communication call.
#include <dumux/parallel/vectorcommdatahandle.hh>
|
| using | DataType = DataT |
| | export type of data for message buffer
|
|
| | MultiCodimVectorCommDataHandle (const Mapper &mapper, Vector &vector, std::bitset< dim+1 > activeCodims) |
| bool | contains (int, int codim) const |
| | returns true if data for this codim should be communicated
|
| bool | fixedSize (int, int codim) const |
| template<class Entity> |
| std::size_t | size (Entity &entity) const |
| | how many objects of type DataType have to be sent for a given entity
|
| template<class MessageBuffer, class Entity> |
| void | gather (MessageBuffer &buff, const Entity &entity) const |
| | pack data from user to message buffer (all DOFs of entity)
|
| template<class MessageBuffer, class Entity> |
| void | scatter (MessageBuffer &buff, const Entity &entity, std::size_t n) |
| | unpack data from message buffer to user (all DOFs of entity)
|
◆ DataType
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
◆ MultiCodimVectorCommDataHandle()
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
| Dumux::MultiCodimVectorCommDataHandle< Mapper, Vector, dim, ScatterOperator, DataT >::MultiCodimVectorCommDataHandle |
( |
const Mapper & | mapper, |
|
|
Vector & | vector, |
|
|
std::bitset< dim+1 > | activeCodims ) |
|
inline |
◆ contains()
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
◆ fixedSize()
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
returns true if size per entity of given dim and codim is a constant. For mappers where all entities of the same codim have the same DOF count, this is true. For mixed meshes with variable-DOF geometry types (e.g. simplex+cube) it may be false.
◆ gather()
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
template<class MessageBuffer, class Entity>
◆ scatter()
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
template<class MessageBuffer, class Entity>
- Note
- n is the number of objects sent by the sender
◆ size()
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
template<class Entity>
- Note
- Only the sender side needs to know this size.
◆ activeCodims_
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
◆ mapper_
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
◆ vector_
template<class Mapper, class Vector, int dim, class ScatterOperator, class DataT = typename Vector::value_type>
The documentation for this class was generated from the following file: