46 #ifndef MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
47 #define MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
49 #include <Xpetra_Matrix_fwd.hpp>
50 #include <Xpetra_MultiVector_fwd.hpp>
51 #include <Xpetra_VectorFactory_fwd.hpp>
52 #include <Xpetra_Vector_fwd.hpp>
53 #include <Xpetra_ImportFactory_fwd.hpp>
54 #include <Xpetra_MapFactory_fwd.hpp>
55 #include <Xpetra_CrsGraph_fwd.hpp>
56 #include <Xpetra_CrsGraphFactory.hpp>
57 #include <Xpetra_StridedMap_fwd.hpp>
58 #include <Xpetra_Map_fwd.hpp>
130 #undef MUELU_SMOOVECCOALESCEDROPFACTORY_SHORT
168 void badGuysDropfunc(LO row,
const Teuchos::ArrayView<const LocalOrdinal>& indices,
const Teuchos::ArrayView<const Scalar>& vals,
const MultiVector& smoothedTVecs, LO nPDEs,
Teuchos::ArrayRCP<Scalar> & penalties,
const MultiVector& smoothedNull,
Teuchos::ArrayRCP<LO>& Bcols,
Teuchos::ArrayRCP<bool>& keepOrNot, LO &Nbcols, LO nLoc)
const;
174 #define MUELU_SMOOVECCOALESCEDROPFACTORY_SHORT
175 #endif // MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
virtual ~SmooVecCoalesceDropFactory()
Destructor.
RCP< PreDropFunctionBaseClass > predrop_
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Factory for creating a graph base on a given matrix.
void badGuysCoalesceDrop(const Matrix &Amat, Teuchos::ArrayRCP< Scalar > &dropParams, LO nPDEs, const MultiVector &smoothedTVecs, const MultiVector &smoothedNull, RCP< GraphBase > &filteredGraph) const
Methods to support compatible-relaxation style dropping.
void Build(Level ¤tLevel) const
Build an object with this factory.
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
void SetPreDropFunction(const RCP< MueLu::PreDropFunctionBaseClass< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &predrop)
set predrop function
SmooVecCoalesceDropFactory()
Constructor.
void DeclareInput(Level ¤tLevel) const
Input.
void badGuysDropfunc(LO row, const Teuchos::ArrayView< const LocalOrdinal > &indices, const Teuchos::ArrayView< const Scalar > &vals, const MultiVector &smoothedTVecs, LO nPDEs, Teuchos::ArrayRCP< Scalar > &penalties, const MultiVector &smoothedNull, Teuchos::ArrayRCP< LO > &Bcols, Teuchos::ArrayRCP< bool > &keepOrNot, LO &Nbcols, LO nLoc) const
Base class for factories that use one level (currentLevel).