Class template Dune::GDT::DisjointPartitioningDataHandle

Inherits from Dune::GDT::SpaceDataHandle.

template<class GV, size_t r, size_t rD, class R, class VectorType>
class Dune::GDT::DisjointPartitioningDataHandle : public SpaceDataHandle<GV, r, rD, R, VectorType, DisjointPartitioningGatherScatter<typename VectorType::ScalarType>, EntityDataCommunicationDescriptor<typename VectorType::ScalarType>>

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.

template<>
Dune::GDT::DisjointPartitioningDataHandle::DisjointPartitioningDataHandle<GV, r, rD, R, VectorType>(const SpaceInterface<GV, r, rD, R> &space, VectorType &v, bool init_vector = true)

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.

:param space: The GridFunctionSpace to operate on. :param v: The result vector. :param init_vector: Flag to control whether the result vector will be initialized.

type Dune::GDT::DisjointPartitioningDataHandle::BaseType

No documentation provided.