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
112#undef MUELU_SEMICOARSENPFACTORY_SHORT
144 LO
FindCpts(LO
const PtsPerLine, LO
const CoarsenRate, LO
const Thin, LO **LayerCpts)
const;
145 LO
MakeSemiCoarsenP(LO
const Ntotal, LO
const nz, LO
const CoarsenRate, LO
const LayerId[],
146 LO
const VertLineId[], LO
const DofsPerNode, RCP<Matrix>& Amat,
147 RCP<Matrix>& P, RCP<const Map>& coarseMap,
148 const RCP<MultiVector> fineNullspace, RCP<MultiVector>& coarseNullspace, RCP<Matrix>& R,
bool buildRestriction,
bool doLinear)
const;
157#define MUELU_SEMICOARSENPFACTORY_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.
Prolongator factory performing semi-coarsening.
LO FindCpts(LO const PtsPerLine, LO const CoarsenRate, LO const Thin, LO **LayerCpts) const
SemiCoarsenPFactory()
Constructor.
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
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, RCP< Matrix > &R, bool buildRestriction, bool doLinear) const
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
virtual ~SemiCoarsenPFactory()
Destructor.
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
void RevertToPieceWiseConstant(RCP< Matrix > &P, LO BlkSize) const
bool bTransferCoordinates_
Namespace for MueLu classes and methods.
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar