46 #ifndef MUELU_AGGREGATES_DECL_HPP 47 #define MUELU_AGGREGATES_DECL_HPP 49 #include <Xpetra_Map_fwd.hpp> 50 #include <Xpetra_Vector_fwd.hpp> 51 #include <Xpetra_VectorFactory_fwd.hpp> 60 #define MUELU_UNAGGREGATED -1 63 #define MUELU_UNASSIGNED -1 97 template <
class LocalOrdinal =
int,
class GlobalOrdinal = LocalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
99 #undef MUELU_AGGREGATES_SHORT 231 #define MUELU_AGGREGATES_SHORT 232 #endif // MUELU_AGGREGATES_DECL_HPP
std::string description() const
Return a simple one-line description of this object.
Teuchos::ArrayRCP< LO > aggregateSizes_
Array of sizes of each local aggregate.
void print(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=verbLevel_default) const
Print the object with some verbosity level to an FancyOStream object.
virtual ~Aggregates()
Destructor.
Container class for aggregation information.
bool aggregatesIncludeGhosts_
Set to false iff aggregates do not include any DOFs belong to other processes.
bool IsRoot(LO i) const
Returns true if node with given local node id is marked to be a root node.
RCP< LOVector > procWinner_
RCP< LOVector > & GetVertex2AggIdNonConst()
Returns a nonconstant vector that maps local node IDs to local aggregates IDs.
Namespace for MueLu classes and methods.
bool AggregatesCrossProcessors() const
Return false if and only if no aggregates include DOFs from other processes.
void SetIsRoot(LO i, bool value=true)
Set root node information.
Aggregates(const GraphBase &graph)
Standard constructor for Aggregates structure.
const RCP< LOVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
GO GetNumGlobalAggregates() const
Get global number of aggregates.
LO nAggregates_
Number of aggregates on this processor.
RCP< LOVector > & GetProcWinnerNonConst()
Returns nonconsant vector that maps local node IDs to owning processor IDs.
Teuchos::ArrayRCP< bool > isRoot_
static const EVerbosityLevel verbLevel_default
const RCP< const Map > GetMap() const
returns (overlapping) map of aggregate/node distribution
MueLu representation of a graph.
Base class for MueLu classes.
LO GetNumAggregates() const
returns the number of aggregates of the current processor. Note: could/should be renamed to GetNumLoc...
const RCP< LOVector > & GetProcWinner() const
Returns constant vector that maps local node IDs to owning processor IDs.
void AggregatesCrossProcessors(const bool &flag)
Record whether aggregates include DOFs from other processes.
RCP< LOVector > vertex2AggId_
void SetNumAggregates(LO nAggregates)
Set number of local aggregates on current processor.
Teuchos::ArrayRCP< LO > ComputeAggregateSizes(bool forceRecompute=true, bool cacheSizes=false) const
Compute sizes of aggregates.