|
dune-pdelab 2.10-git
|
GatherScatter data handle for creating a disjoint DOF partitioning. More...
#include <dune/pdelab/gridfunctionspace/genericdatahandle.hh>

Public Types | |
| typedef CommunicationDescriptor::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. | |
| bool | contains (int dim, int codim) const |
| returns true if data for this codim should be communicated | |
| bool | fixedSize (int dim, int codim) const |
| returns true if size per entity of given dim and codim is a constant | |
| size_type | size (const Entity &e) const |
| how many objects of type DataType have to be sent for a given entity | |
| size_t | size (const EntityType &e) const |
| std::enable_if< CommunicationDescriptor::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 | |
| std::enable_if<!CommunicationDescriptor::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 | |
| void | gather (MessageBufferImp &buff, const EntityType &e) const |
| std::enable_if< CommunicationDescriptor::wrap_buffer &&AlwaysTrue< Entity >::value >::type | scatter (MessageBuffer &buff, const Entity &e, size_type n) |
| unpack data from message buffer to user | |
| std::enable_if<!CommunicationDescriptor::wrap_buffer &&AlwaysTrue< Entity >::value >::type | scatter (MessageBuffer &buff, const Entity &e, size_type n) |
| unpack data from message buffer to user | |
| void | scatter (MessageBufferImp &buff, const EntityType &e, size_t n) |
Static Public Attributes | |
| static const size_type | leaf_count |
Detailed Description
class Dune::PDELab::DisjointPartitioningDataHandle< GFS, V >
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.
- Note
- In order to work correctly, the data handle must be communicated on the Dune::InteriorBorder_All_Interface and the result vector must be initialized with the MPI rank value.
Member Typedef Documentation
◆ DataType
|
inherited |
◆ size_type
|
inherited |
Constructor & Destructor Documentation
◆ DisjointPartitioningDataHandle()
|
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.
- Parameters
-
gfs_ The GridFunctionSpace to operate on. v_ The result vector. init_vector Flag to control whether the result vector will be initialized.
Member Function Documentation
◆ contains()
|
inlineinherited |
returns true if data for this codim should be communicated
◆ fixedSize()
|
inlineinherited |
returns true if size per entity of given dim and codim is a constant
◆ gather() [1/2]
|
inlineinherited |
pack data from user to message buffer - version with support for sending leaf ordering sizes
◆ gather() [2/2]
|
inlineinherited |
pack data from user to message buffer - version without support for sending leaf ordering sizes
◆ scatter() [1/2]
|
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
◆ scatter() [2/2]
|
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
◆ size()
|
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.
Member Data Documentation
◆ leaf_count
|
staticinherited |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8