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