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
167 void badGuysCoalesceDrop(
const Matrix& Amat, Teuchos::ArrayRCP<Scalar> & dropParams, LO nPDEs,
const MultiVector& smoothedTVecs,
const MultiVector& smoothedNull, RCP<GraphBase>& filteredGraph)
const;
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
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
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.
virtual ~SmooVecCoalesceDropFactory()
Destructor.
RCP< PreDropFunctionBaseClass > predrop_
void Build(Level ¤tLevel) const
Build an object with this factory.
void SetPreDropFunction(const RCP< MueLu::PreDropFunctionBaseClass< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &predrop)
set predrop function
SmooVecCoalesceDropFactory()
Constructor.
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
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void DeclareInput(Level ¤tLevel) const
Input.
Namespace for MueLu classes and methods.
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar