10#ifndef MUELU_THRESHOLDAFILTERFACTORY_DEF_HPP
11#define MUELU_THRESHOLDAFILTERFACTORY_DEF_HPP
13#include <Xpetra_Matrix.hpp>
14#include <Xpetra_CrsMatrixWrap.hpp>
23template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
30template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
35template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
41 RCP<CrsMatrixWrap> Aout =
45 currentLevel.
Set(
varName_, Teuchos::rcp_dynamic_cast<Matrix>(Aout),
this);
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Timer to be used in factories. Similar to Monitor but with additional timers.
void Input(Level &level, const std::string &varName) const
T Get(Level &level, const std::string &varName) const
Class that holds all level-specific information.
void Set(const std::string &ename, const T &entry, const FactoryBase *factory=NoFactory::get())
void Build(Level ¤tLevel) const
Build an object with this factory.
void DeclareInput(Level ¤tLevel) const
Input.
const magnitudeType threshold_
threshold parameter
std::string varName_
name of input and output variable
const GlobalOrdinal expectedNNZperRow_
ThresholdAFilterFactory(const std::string &ename, const magnitudeType threshold, const bool keepDiagonal=true, const GlobalOrdinal expectedNNZperRow=-1)
Constructor.
typename Teuchos::ScalarTraits< Scalar >::magnitudeType magnitudeType
static RCP< CrsMatrixWrap > GetThresholdedMatrix(const RCP< Matrix > &Ain, const Magnitude threshold, const bool keepDiagonal=true, const DefaultGlobalOrdinal expectedNNZperRow=-1)
Teuchos::FancyOStream & GetOStream(MsgType type, int thisProcRankOnly=0) const
Get an output stream for outputting the input message type.
Namespace for MueLu classes and methods.
@ Statistics0
Print statistics that do not involve significant additional computation.