46#ifndef MUELU_PGPFACTORY_DECL_HPP_
47#define MUELU_PGPFACTORY_DECL_HPP_
49#include <Xpetra_Vector_fwd.hpp>
50#include <Xpetra_VectorFactory_fwd.hpp>
51#include <Xpetra_Matrix_fwd.hpp>
52#include <Xpetra_Import_fwd.hpp>
53#include <Xpetra_ImportFactory_fwd.hpp>
54#include <Xpetra_Export_fwd.hpp>
55#include <Xpetra_ExportFactory_fwd.hpp>
60#include "MueLu_PFactory.hpp"
85#undef MUELU_PGPFACTORY_SHORT
139 void MultiplySelfAll(
const RCP<Matrix>& Op, Teuchos::RCP<Xpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& InnerProdVec)
const;
141 void MultiplyAll(
const RCP<Matrix>& left,
const RCP<Matrix>& right, Teuchos::RCP<Xpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> >& InnerProdVec)
const;
143 void ComputeRowBasedOmega(
Level& fineLevel,
Level& coarseLevel,
const RCP<Matrix>& A,
const RCP<Matrix>& P0,
const RCP<Matrix>& DinvAP0, RCP<Xpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > & RowBasedOmega)
const;
153#define MUELU_PGPFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Factory that provides an interface for a concrete implementation of a prolongation operator.
Factory for building Petrov-Galerkin Smoothed Aggregation prolongators.
std::string diagonalView_
Factory parameters.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void Build(Level &fineLevel, Level &coarseLevel) const
Build method.
virtual ~PgPFactory()
Destructor.
void ReUseDampingParameters(bool bReuse)
void MultiplyAll(const RCP< Matrix > &left, const RCP< Matrix > &right, Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &InnerProdVec) const
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
void ComputeRowBasedOmega(Level &fineLevel, Level &coarseLevel, const RCP< Matrix > &A, const RCP< Matrix > &P0, const RCP< Matrix > &DinvAP0, RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &RowBasedOmega) const
PgPFactory()
Constructor. User can supply a factory for generating the tentative prolongator.
void SetMinimizationMode(MinimizationNorm minnorm)
Set minimization mode (L2NORM for cheapest, ANORM more expensive, DINVANORM = default)
MinimizationNorm GetMinimizationMode()
return minimization mode
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
void MultiplySelfAll(const RCP< Matrix > &Op, Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &InnerProdVec) const
Namespace for MueLu classes and methods.
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar