Inheritance diagram for Isorropia::Partitioner:
Public Member Functions
|virtual void||setParameters (const Teuchos::ParameterList ¶mlist)=0|
|Set parameters for the Partitioner instance. |
|virtual void||compute_partitioning (bool force_repartitioning=false)=0|
|Method which does the work of computing a new partitioning. |
|virtual bool||partitioning_already_computed () const =0|
|Query whether compute_partitioning() has already been called. |
|virtual int||newPartitionNumber (int myElem) const =0|
|Return the new partition ID for a given element that resided locally in the old partitioning. |
|virtual int||numElemsInPartition (int partition) const =0|
|Return the number of elements in a given partition. |
|virtual void||elemsInPartition (int partition, int *elementList, int len) const =0|
|Fill user-allocated list (of length len) with the global element ids to be located in the given partition. |
If the methods which describe the new partitioning (e.g., newPartitionNumber(), etc.) are called before compute_partitioning() has been called, behavior is not well defined. Implementations will either return empty/erroneous data, or throw an exception. In most cases, implementations will probably call compute_partitioning() internally in a constructor or factory method, so this won't usually be an issue.
|virtual void Isorropia::Partitioner::setParameters||(||const Teuchos::ParameterList &||paramlist||)||
|virtual void Isorropia::Partitioner::compute_partitioning||(||bool|| force_repartitioning =
Method which does the work of computing a new partitioning.
Implementations of this interface will typically be constructed with an object or information describing the existing ('old') partitioning. This method computes a 'new' rebalanced partitioning for that input data.
|force_repartitioning||Optional argument defaults to false. Depending on the implementation, compute_partitioning() should only perform a repartitioning the first time it is called, and subsequent repeated calls are no-ops. If the user's intent is to re-compute the partitioning (e.g., if parameters or other inputs have been changed), then setting this flag to true will force a new partitioning to be computed.|
Implemented in Isorropia::Epetra::Partitioner.