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>
52 #include <Xpetra_MultiVector_fwd.hpp>
60 #include "MueLu_IndexManager.hpp"
62 #define MUELU_UNAGGREGATED -1
65 #define MUELU_UNASSIGNED -1
103 #undef MUELU_AGGREGATES_SHORT
248 #define MUELU_AGGREGATES_SHORT
249 #endif // MUELU_AGGREGATES_DECL_HPP
Teuchos::ArrayRCP< LO > aggregateSizes_
Array of sizes of each local aggregate.
virtual ~Aggregates()
Destructor.
MueLu::DefaultLocalOrdinal LocalOrdinal
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
const RCP< LOVector > & GetProcWinner() const
Returns constant vector that maps local node IDs to owning processor IDs.
RCP< IndexManager > geoData_
Container class for aggregation information.
RCP< IndexManager > & GetIndexManager()
Get the index manager used by structured aggregation algorithms.
bool aggregatesIncludeGhosts_
Set to false iff aggregates do not include any DOFs belong to other processes.
bool AggregatesCrossProcessors() const
Return false if and only if no aggregates include DOFs from other processes.
RCP< LOVector > procWinner_
const RCP< const Map > GetMap() const
returns (overlapping) map of aggregate/node distribution
void SetIndexManager(RCP< IndexManager > &geoData)
Get the index manager used by structured aggregation algorithms.
void SetIsRoot(LO i, bool value=true)
Set root node information.
Teuchos::ArrayRCP< LO > ComputeAggregateSizes(bool forceRecompute=false) const
Compute sizes of aggregates.
GO GetNumGlobalAggregates() const
Get global number of aggregates.
Aggregates(const GraphBase &graph)
Standard constructor for Aggregates structure.
RCP< LOMultiVector > & GetVertex2AggIdNonConst()
Returns a nonconstant vector that maps local node IDs to local aggregates IDs.
MueLu::DefaultGlobalOrdinal GlobalOrdinal
LO nAggregates_
Number of aggregates on this processor.
RCP< LOVector > & GetProcWinnerNonConst()
Returns nonconsant vector that maps local node IDs to owning processor IDs.
LO GetNumAggregates() const
returns the number of aggregates of the current processor. Note: could/should be renamed to GetNumLoc...
Teuchos::ArrayRCP< bool > isRoot_
const RCP< LOMultiVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
static const EVerbosityLevel verbLevel_default
MueLu representation of a graph.
Base class for MueLu classes.
RCP< LOMultiVector > vertex2AggId_
bool IsRoot(LO i) const
Returns true if node with given local node id is marked to be a root node.
void print(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=verbLevel_default) const
Print the object with some verbosity level to an FancyOStream object.
std::string description() const
Return a simple one-line description of this object.
void AggregatesCrossProcessors(const bool &flag)
Record whether aggregates include DOFs from other processes.
void SetNumAggregates(LO nAggregates)
Set number of local aggregates on current processor.