46 #ifndef MUELU_SEMICOARSENPFACTORY_DECL_HPP
47 #define MUELU_SEMICOARSENPFACTORY_DECL_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;
152 #define MUELU_SEMICOARSENPFACTORY_SHORT
153 #endif // MUELU_SEMICOARSENPFACTORY_DECL_HPP
bool bTransferCoordinates_
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.
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.
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< MultiVector > fineNullspace, RCP< MultiVector > &coarseNullspace) const
Factory that provides an interface for a concrete implementation of a prolongation operator...