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 191 const RCP<const Map>
GetMap()
const;
218 void print(Teuchos::FancyOStream &out,
const Teuchos::EVerbosityLevel verbLevel = verbLevel_default)
const;
258 #define MUELU_AGGREGATES_SHORT 259 #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.
MueLu::DefaultLocalOrdinal LocalOrdinal
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
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 IsRoot(LO i) const
Returns true if node with given local node id is marked to be a root node.
RCP< LOVector > procWinner_
Namespace for MueLu classes and methods.
bool AggregatesCrossProcessors() const
Return false if and only if no aggregates include DOFs from other processes.
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.
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.
GO GetNumGlobalAggregates() const
Get global number of aggregates.
MueLu::DefaultGlobalOrdinal GlobalOrdinal
LO nAggregates_
Number of aggregates on this processor.
RCP< LOVector > & GetProcWinnerNonConst()
Returns nonconstant vector that maps local node IDs to owning processor IDs.
Teuchos::ArrayRCP< bool > isRoot_
const RCP< const Map > GetMap() const
returns (overlapping) map of aggregate/node distribution
MueLu representation of a graph.
Base class for MueLu classes.
void ComputeNodesInAggregate(Array< LO > &aggPtr, Array< LO > &aggNodes, Array< LO > &unaggregated) const
Generates a compressed list of nodes in each aggregate, where the entries in aggNodes[aggPtr[i]] up t...
RCP< LOMultiVector > vertex2AggId_
LO GetNumAggregates() const
returns the number of aggregates of the current processor. Note: could/should be renamed to GetNumLoc...
const RCP< LOMultiVector > & GetVertex2AggId() const
Returns constant vector that maps local node IDs to local aggregates IDs.
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.
Teuchos::ArrayRCP< LO > ComputeAggregateSizes(bool forceRecompute=false) const
Compute sizes of aggregates.
void SetNumAggregates(LO nAggregates)
Set number of local aggregates on current processor.