10#ifndef MUELU_AGGREGATEQUALITYESTIMATEFACTORY_DECL_HPP
11#define MUELU_AGGREGATEQUALITYESTIMATEFACTORY_DECL_HPP
17#include <Xpetra_Matrix_fwd.hpp>
18#include <Xpetra_MultiVector_fwd.hpp>
19#include <Xpetra_Map_fwd.hpp>
20#include <Xpetra_MultiVectorFactory_fwd.hpp>
21#include <Xpetra_Vector_fwd.hpp>
22#include <Xpetra_VectorFactory_fwd.hpp>
49#undef MUELU_AGGREGATEQUALITYESTIMATEFACTORY_SHORT
56 typedef typename Teuchos::ScalarTraits<Scalar>::magnitudeType
magnitudeType;
92 static void ConvertAggregatesData(RCP<const Aggregates> aggs, ArrayRCP<LO>& aggSortedVertices, ArrayRCP<LO>& aggsToIndices, ArrayRCP<LO>& aggSizes);
100 void ComputeAggregateQualities(RCP<const Matrix> A, RCP<const Aggregates> aggs, RCP<Xpetra::MultiVector<magnitudeType, LO, GO, Node>> agg_qualities)
const;
102 void ComputeAggregateSizes(RCP<const Matrix> A, RCP<const Aggregates> aggs, RCP<LocalOrdinalVector> agg_sizes)
const;
109 void OutputAggQualities(
const Level& level, RCP<
const Xpetra::MultiVector<magnitudeType, LO, GO, Node>> agg_qualities)
const;
119#define MUELU_AGGREGATEQUALITYESTIMATEFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
An factory which assigns each aggregate a quality estimate. Originally developed by Napov and Notay i...
void OutputAggQualities(const Level &level, RCP< const Xpetra::MultiVector< magnitudeType, LO, GO, Node > > agg_qualities) const
void OutputAggSizes(const Level &level, RCP< const LocalOrdinalVector > agg_sizes) const
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void ComputeAggregateQualities(RCP< const Matrix > A, RCP< const Aggregates > aggs, RCP< Xpetra::MultiVector< magnitudeType, LO, GO, Node > > agg_qualities) const
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Specifies the data that this class needs, and the factories that generate that data.
static void ConvertAggregatesData(RCP< const Aggregates > aggs, ArrayRCP< LO > &aggSortedVertices, ArrayRCP< LO > &aggsToIndices, ArrayRCP< LO > &aggSizes)
Build aggregate quality esimates with this factory.
Teuchos::ScalarTraits< Scalar >::magnitudeType magnitudeType
virtual ~AggregateQualityEstimateFactory()
Destructor.
AggregateQualityEstimateFactory()
Constructor.
void Build(Level &fineLevel, Level &coarseLevel) const
Build aggregate quality esimates with this factory.
void ComputeAggregateSizes(RCP< const Matrix > A, RCP< const Aggregates > aggs, RCP< LocalOrdinalVector > agg_sizes) const
Class that holds all level-specific information.
Base class for factories that use two levels (fineLevel and coarseLevel).
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar