Go to the documentation of this file.
46 #ifndef MUELU_RAPSHIFTFACTORY_DECL_HPP
47 #define MUELU_RAPSHIFTFACTORY_DECL_HPP
51 #include <Xpetra_Matrix_fwd.hpp>
52 #include <Xpetra_CrsMatrix_fwd.hpp>
53 #include <Xpetra_MatrixFactory_fwd.hpp>
54 #include <Xpetra_Vector_fwd.hpp>
55 #include <Xpetra_VectorFactory_fwd.hpp>
74 template <
class Scalar =
double,
class LocalOrdinal =
int,
class GlobalOrdinal = LocalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
76 #undef MUELU_RAPSHIFTFACTORY_SHORT
171 #define MUELU_RAPSHIFTFACTORY_SHORT
172 #endif // MUELU_RAPSHIFTFACTORY_DECL_HPP
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
void SetRepairZeroDiagonal(bool const &repairZeroDiagonals)
Indicate that zero entries on the diagonal of Ac shall be repaired (i.e. if A(i,i) == 0....
virtual ~RAPShiftFactory()
void SetShifts(std::vector< Scalar > &shifts)
std::vector< RCP< const FactoryBase > > transferFacts_
list of user-defined transfer Factories
size_t NumTransferFactories() const
Returns number of transfer factories.
bool repairZeroDiagonals_
void SetPlausibilityCheck(bool const &checkAc)
Indicate that a simple plausibility check shall be done for Ac after building RAP.
void AddTransferFactory(const RCP< const FactoryBase > &factory)
Add transfer factory in the end of list of transfer factories in RepartitionAcFactory.
Namespace for MueLu classes and methods.
Base class for factories that use two levels (fineLevel and coarseLevel).
void CheckMainDiagonal(RCP< Matrix > &Ac) const
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
Factory for building coarse grid matrices, when the matrix is of the form K+a*M. Useful when you want...
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
bool implicitTranspose_
If true, the action of the restriction operator action is implicitly defined by the transpose of the ...
void SetImplicitTranspose(bool const &implicit)
Indicate that the restriction operator action should be implicitly defined by the transpose of the pr...
Class that holds all level-specific information.
std::vector< Scalar > shifts_