10 #ifndef MUELU_CLASSICALPFACTORY_DECL_HPP
11 #define MUELU_CLASSICALPFACTORY_DECL_HPP
23 #include "MueLu_PFactory.hpp"
37 #undef MUELU_CLASSICALPFACTORY_SHORT
77 void Coarsen_ClassicalModified(
const Matrix& A,
const RCP<const Matrix>& Aghost,
const LWGraph& graph,
RCP<const Map>& coarseColMap,
RCP<const Map>& coarseDomainMap,
LO num_c_points,
LO num_f_points,
const Teuchos::ArrayView<const LO>& myPointType,
const Teuchos::ArrayView<const LO>& myPointType_ghost,
const Teuchos::Array<LO>& cpoint2pcol,
const Teuchos::Array<LO>& pcol2cpoint,
Teuchos::Array<size_t>& eis_rowptr,
Teuchos::Array<bool>& edgeIsStrong,
RCP<LocalOrdinalVector>& BlockNumber,
RCP<const Import> remoteOnlyImporter,
RCP<Matrix>& P)
const;
78 void Coarsen_Direct(
const Matrix& A,
const RCP<const Matrix>& Aghost,
const LWGraph& graph,
RCP<const Map>& coarseColMap,
RCP<const Map>& coarseDomainMap,
LO num_c_points,
LO num_f_points,
const Teuchos::ArrayView<const LO>& myPointType,
const Teuchos::ArrayView<const LO>& myPointType_ghost,
const Teuchos::Array<LO>& cpoint2pcol,
const Teuchos::Array<LO>& pcol2cpoint,
Teuchos::Array<size_t>& eis_rowptr,
Teuchos::Array<bool>& edgeIsStrong,
RCP<LocalOrdinalVector>& BlockNumber,
RCP<Matrix>& P)
const;
79 void Coarsen_Ext_Plus_I(
const Matrix& A,
const RCP<const Matrix>& Aghost,
const LWGraph& graph,
RCP<const Map>& coarseColMap,
RCP<const Map>& coarseDomainMap,
LO num_c_points,
LO num_f_points,
const Teuchos::ArrayView<const LO>& myPointType,
const Teuchos::ArrayView<const LO>& myPointType_ghost,
const Teuchos::Array<LO>& cpoint2pcol,
const Teuchos::Array<LO>& pcol2cpoint,
Teuchos::Array<size_t>& eis_rowptr,
Teuchos::Array<bool>& edgeIsStrong,
RCP<LocalOrdinalVector>& BlockNumber,
RCP<Matrix>& P)
const;
87 #define MUELU_CLASSICALPFACTORY_SHORT
88 #endif // MUELU_CLASSICALPFACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
void GenerateStrengthFlags(const Matrix &A, const LWGraph &graph, Teuchos::Array< size_t > &eis_rowptr, Teuchos::Array< bool > &edgeIsStrong) const
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
virtual ~ClassicalPFactory()
Destructor.
point_type
F/C/Dirichlet point type.
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
void GhostCoarseMap(const Matrix &A, const Import &Importer, const ArrayRCP< const LO > myPointType, const RCP< const Map > &coarseMap, RCP< const Map > &coarseColMap) const
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
void Coarsen_ClassicalModified(const Matrix &A, const RCP< const Matrix > &Aghost, const LWGraph &graph, RCP< const Map > &coarseColMap, RCP< const Map > &coarseDomainMap, LO num_c_points, LO num_f_points, const Teuchos::ArrayView< const LO > &myPointType, const Teuchos::ArrayView< const LO > &myPointType_ghost, const Teuchos::Array< LO > &cpoint2pcol, const Teuchos::Array< LO > &pcol2cpoint, Teuchos::Array< size_t > &eis_rowptr, Teuchos::Array< bool > &edgeIsStrong, RCP< LocalOrdinalVector > &BlockNumber, RCP< const Import > remoteOnlyImporter, RCP< Matrix > &P) const
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
ClassicalPFactory()
Constructor.
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
void Coarsen_Ext_Plus_I(const Matrix &A, const RCP< const Matrix > &Aghost, const LWGraph &graph, RCP< const Map > &coarseColMap, RCP< const Map > &coarseDomainMap, LO num_c_points, LO num_f_points, const Teuchos::ArrayView< const LO > &myPointType, const Teuchos::ArrayView< const LO > &myPointType_ghost, const Teuchos::Array< LO > &cpoint2pcol, const Teuchos::Array< LO > &pcol2cpoint, Teuchos::Array< size_t > &eis_rowptr, Teuchos::Array< bool > &edgeIsStrong, RCP< LocalOrdinalVector > &BlockNumber, RCP< Matrix > &P) const
Lightweight MueLu representation of a compressed row storage graph.
void Coarsen_Direct(const Matrix &A, const RCP< const Matrix > &Aghost, const LWGraph &graph, RCP< const Map > &coarseColMap, RCP< const Map > &coarseDomainMap, LO num_c_points, LO num_f_points, const Teuchos::ArrayView< const LO > &myPointType, const Teuchos::ArrayView< const LO > &myPointType_ghost, const Teuchos::Array< LO > &cpoint2pcol, const Teuchos::Array< LO > &pcol2cpoint, Teuchos::Array< size_t > &eis_rowptr, Teuchos::Array< bool > &edgeIsStrong, RCP< LocalOrdinalVector > &BlockNumber, RCP< Matrix > &P) const
typename ClassicalMapFactory::point_type point_type
Factory that provides an interface for a concrete implementation of a prolongation operator...