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 174 const RCP<const Map>
GetMap()
const;
199 void print(Teuchos::FancyOStream &out,
const Teuchos::EVerbosityLevel verbLevel = verbLevel_default)
const;
231 #define MUELU_AGGREGATES_SHORT 232 #endif // MUELU_AGGREGATES_DECL_HPP
Teuchos::ArrayRCP< LO > aggregateSizes_
Array of sizes of each local aggregate.
virtual ~Aggregates()
Destructor.
const RCP< LOVector > & GetProcWinner() const
Returns constant vector that maps local node IDs to owning processor IDs.
Container class for aggregation information.
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
RCP< LOVector > & GetVertex2AggIdNonConst()
Returns a nonconstant vector that maps local node IDs to local aggregates IDs.
Namespace for MueLu classes and methods.
const RCP< LOVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
void SetIsRoot(LO i, bool value=true)
Set root node information.
GO GetNumGlobalAggregates() const
Get global number of aggregates.
Aggregates(const GraphBase &graph)
Standard constructor for Aggregates structure.
LO nAggregates_
Number of aggregates on this processor.
Teuchos::ArrayRCP< LO > ComputeAggregateSizes(bool forceRecompute=true, bool cacheSizes=false) const
Compute sizes of aggregates.
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_
MueLu representation of a graph.
Base class for MueLu classes.
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.
RCP< LOVector > vertex2AggId_
void SetNumAggregates(LO nAggregates)
Set number of local aggregates on current processor.