dune-pdelab
2.0.0
|
GatherScatter data handle for creating a disjoint DOF partitioning. More...
#include <dune/pdelab/gridfunctionspace/genericdatahandle.hh>
Public Types | |
typedef EntityDataCommunicationDescriptor < V::ElementType >::DataType | DataType |
typedef GFS::Traits::SizeType | size_type |
Public Member Functions | |
DisjointPartitioningDataHandle (const GFS &gfs_, V &v_, bool init_vector=true) | |
Creates a new DisjointPartitioningDataHandle. More... | |
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... | |
size_type | size (const Entity &e) const |
how many objects of type DataType have to be sent for a given entity More... | |
enable_if < EntityDataCommunicationDescriptor < V::ElementType > ::wrap_buffer &&AlwaysTrue < Entity >::value >::type | gather (MessageBuffer &buff, const Entity &e) const |
pack data from user to message buffer - version with support for sending leaf ordering sizes More... | |
enable_if < !EntityDataCommunicationDescriptor < V::ElementType > ::wrap_buffer &&AlwaysTrue < Entity >::value >::type | gather (MessageBuffer &buff, const Entity &e) const |
pack data from user to message buffer - version without support for sending leaf ordering sizes More... | |
enable_if < EntityDataCommunicationDescriptor < V::ElementType > ::wrap_buffer &&AlwaysTrue < Entity >::value >::type | scatter (MessageBuffer &buff, const Entity &e, size_type n) |
unpack data from message buffer to user More... | |
enable_if < !EntityDataCommunicationDescriptor < V::ElementType > ::wrap_buffer &&AlwaysTrue < Entity >::value >::type | scatter (MessageBuffer &buff, const Entity &e, size_type n) |
unpack data from message buffer to user More... | |
Static Public Attributes | |
static const size_type | leaf_count |
GatherScatter data handle for creating a disjoint DOF partitioning.
This data handle will associate each DOF with a unique rank, creating a nonoverlapping partitioning of the unknowns. The rank for a DOF is chosen by finding the lowest rank on which the associated grid entity belongs to either the interior or the border partition.
|
inherited |
|
inherited |
|
inline |
Creates a new DisjointPartitioningDataHandle.
Creates a new DisjointPartitioningDataHandle and by default initializes the result vector with the current MPI rank. If you have already done that externally, you can skip the initialization.
gfs_ | The GridFunctionSpace to operate on. |
v_ | The result vector. |
init_vector | Flag to control whether the result vector will be initialized. |
|
inlineinherited |
returns true if data for this codim should be communicated
|
inlineinherited |
returns true if size per entity of given dim and codim is a constant
|
inlineinherited |
pack data from user to message buffer - version with support for sending leaf ordering sizes
|
inlineinherited |
pack data from user to message buffer - version without support for sending leaf ordering sizes
|
inlineinherited |
unpack data from message buffer to user
n is the number of objects sent by the sender
This is the version with support for receiving leaf ordering sizes
|
inlineinherited |
unpack data from message buffer to user
n is the number of objects sent by the sender
This is the version without support for receiving leaf ordering sizes
|
inlineinherited |
how many objects of type DataType have to be sent for a given entity
Note: Only the sender side needs to know this size.
|
staticinherited |