14 #ifndef _ZOLTAN2_MATRIXPARTITIONINGSOLUTION_HPP_
15 #define _ZOLTAN2_MATRIXPARTITIONINGSOLUTION_HPP_
49 template <
typename Adapter>
54 #ifndef DOXYGEN_SHOULD_SKIP_THIS
56 typedef typename Adapter::scalar_t scalar_t;
78 const RCP<
const Comm<int> > &comm,
102 void setIDLists(ArrayRCP<part_t> &rowIDs,ArrayRCP<part_t> &colIDs,
103 ArrayRCP<part_t> &domainIDs, ArrayRCP<part_t> &rangeIDs);
161 if (rowIDs_.size() > 0)
162 return rowIDs_.getRawPtr();
172 if (colIDs_.size() > 0)
173 return colIDs_.getRawPtr();
222 RCP<const Environment> env_;
223 const RCP<const Comm<int> > comm_;
259 ArrayRCP<gno_t> rowIDs_;
260 ArrayRCP<gno_t> colIDs_;
262 ArrayRCP<gno_t> domainIDs_;
263 ArrayRCP<gno_t> rangeIDs_;
272 const RCP<Algorithm<Adapter> > algorithm_;
277 template <
typename Adapter>
280 : env_(env), comm_(comm), rowIDs_(), colIDs_(), haveSolution_(false),
281 algorithm_(algorithm)
283 env_->memory(
"After construction of solution");
289 template <
typename Adapter>
291 ArrayRCP<part_t> &domainIDs, ArrayRCP<part_t> &rangeIDs)
297 domainIDs_=domainIDs;
300 haveSolution_ =
true;
302 env_->memory(
"After Solution has processed algorithm's answer");
Just a placeholder for now.
map_t::global_ordinal_type gno_t
const RCP< const Comm< int > > & getCommunicator() const
Remap a new partition for maximum overlap with an input partition.
MatrixPartitioningSolution(const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, const RCP< Algorithm< Adapter > > &algorithm=Teuchos::null)
Constructor when part sizes are not supplied.
void setIDLists(ArrayRCP< part_t > &rowIDs, ArrayRCP< part_t > &colIDs, ArrayRCP< part_t > &domainIDs, ArrayRCP< part_t > &rangeIDs)
The algorithm uses setIDLists to set the solution.
sub-steps, each method's entry and exit
SparseMatrixAdapter_t::part_t part_t
const gno_t * getRowIdsView() const
Returns list of global row IDs of the nonzeros owned by this process.
Algorithm defines the base class for all algorithms.
map_t::local_ordinal_type lno_t
const gno_t * getColIdsView() const
Returns list of global column IDs of the nonzeros owned by this process.
const RCP< const Environment > & getEnvironment() const
Return the environment associated with the solution.
A PartitioningSolution is a solution to a partitioning problem.
Zoltan2::BasicUserTypes< zscalar_t, zlno_t, zgno_t > user_t