10#ifndef MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
11#define MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
13#include <Xpetra_Matrix_fwd.hpp>
14#include <Xpetra_MultiVector_fwd.hpp>
15#include <Xpetra_VectorFactory_fwd.hpp>
16#include <Xpetra_Vector_fwd.hpp>
17#include <Xpetra_MapFactory_fwd.hpp>
18#include <Xpetra_Map_fwd.hpp>
25#include "MueLu_LWGraph.hpp"
86#undef MUELU_SMOOVECCOALESCEDROPFACTORY_SHORT
120 void badGuysCoalesceDrop(
const Matrix& Amat, Teuchos::ArrayRCP<Scalar>& dropParams, LO nPDEs,
const MultiVector& smoothedTVecs,
const MultiVector& smoothedNull, RCP<LWGraph>& filteredGraph)
const;
121 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;
127#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.
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
void badGuysCoalesceDrop(const Matrix &Amat, Teuchos::ArrayRCP< Scalar > &dropParams, LO nPDEs, const MultiVector &smoothedTVecs, const MultiVector &smoothedNull, RCP< LWGraph > &filteredGraph) const
Methods to support compatible-relaxation style dropping.
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.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar