46 #ifndef MUELU_SEMICOARSENPFACTORY_DECL_HPP 47 #define MUELU_SEMICOARSENPFACTORY_DECL_HPP 49 #include <Xpetra_Matrix_fwd.hpp> 52 #include "MueLu_PFactory.hpp" 59 #define GRID_SUPPLIED -1 107 template <
class Scalar =
double,
class LocalOrdinal =
int,
class GlobalOrdinal = LocalOrdinal,
class Node = KokkosClassic::DefaultNode::DefaultNodeType>
109 #undef MUELU_SEMICOARSENPFACTORY_SHORT 141 LO
FindCpts(LO
const PtsPerLine, LO
const CoarsenRate, LO
const Thin, LO **LayerCpts)
const;
142 LO
MakeSemiCoarsenP(LO
const Ntotal, LO
const nz, LO
const CoarsenRate, LO
const LayerId[],
143 LO
const VertLineId[], LO
const DofsPerNode, RCP<Matrix>& Amat,
144 RCP<Matrix>& P, RCP<const Map>& coarseMap)
const;
151 #define MUELU_SEMICOARSENPFACTORY_SHORT 152 #endif // MUELU_SEMICOARSENPFACTORY_DECL_HPP bool bTransferCoordinates_
LO MakeSemiCoarsenP(LO const Ntotal, LO const nz, LO const CoarsenRate, LO const LayerId[], LO const VertLineId[], LO const DofsPerNode, RCP< Matrix > &Amat, RCP< Matrix > &P, RCP< const Map > &coarseMap) 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.
Namespace for MueLu classes and methods.
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
Prolongator factory performing semi-coarsening.
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
Class that holds all level-specific information.
SemiCoarsenPFactory()
Constructor.
LO FindCpts(LO const PtsPerLine, LO const CoarsenRate, LO const Thin, LO **LayerCpts) const
virtual ~SemiCoarsenPFactory()
Destructor.
Factory that provides an interface for a concrete implementation of a prolongation operator...