Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
Ifpack2_Details_UserPartitioner_decl.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4//
5// Copyright 2009 NTESS and the Ifpack2 contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef IFPACK2_USER_PARTITIONER_DECL_HPP
11#define IFPACK2_USER_PARTITIONER_DECL_HPP
12
21
22#include "Ifpack2_ConfigDefs.hpp"
23#include "Ifpack2_OverlappingPartitioner_decl.hpp"
24
25namespace Ifpack2 {
26namespace Details {
27
35template <class GraphType>
36class UserPartitioner : public OverlappingPartitioner<GraphType> {
37 public:
38 typedef typename GraphType::local_ordinal_type local_ordinal_type;
39 typedef typename GraphType::global_ordinal_type global_ordinal_type;
40 typedef typename GraphType::node_type node_type;
41 typedef Tpetra::RowGraph<local_ordinal_type, global_ordinal_type, node_type>
42 row_graph_type;
43
45 UserPartitioner(const Teuchos::RCP<const row_graph_type>& graph);
46
48 virtual ~UserPartitioner();
49
62 // OverlappingPartitioner::Parts_.
65 void setPartitionParameters(Teuchos::ParameterList& List);
66
68 void computePartitions();
69
70 private:
71 Teuchos::ArrayRCP<local_ordinal_type> map_;
73 bool userProvidedParts_;
75 bool userProvidedMap_;
76};
77
78} // namespace Details
79} // namespace Ifpack2
80
81#endif // IFPACK2_USER_PARTITIONER_DECL_HPP
Ifpack2's implementation of Trilinos::Details::LinearSolver interface.
Definition Ifpack2_Details_LinearSolver_decl.hpp:75
Partition in which the user can define a nonoverlapping partition of the graph in any way they choose...
Definition Ifpack2_Details_UserPartitioner_decl.hpp:36
virtual ~UserPartitioner()
Destructor.
Definition Ifpack2_Details_UserPartitioner_def.hpp:28
void computePartitions()
Compute the partitions.
Definition Ifpack2_Details_UserPartitioner_def.hpp:92
void setPartitionParameters(Teuchos::ParameterList &List)
Sets all the parameters for the partitioner. The only valid parameters are:
Definition Ifpack2_Details_UserPartitioner_def.hpp:32
Create overlapping partitions of a local graph.
Definition Ifpack2_OverlappingPartitioner_decl.hpp:45
Ifpack2 implementation details.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition Ifpack2_AdditiveSchwarz_decl.hpp:40