10#ifndef MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP
11#define MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP
13#include <Xpetra_Matrix_fwd.hpp>
17#include "MueLu_PFactory.hpp"
60template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
70#undef MUELU_SEMICOARSENPFACTORY_KOKKOS_SHORT
103 const LO DofsPerNode,
const LO NFLayers,
104 const LO NCLayers,
const ArrayRCP<LO> LayerId,
105 const ArrayRCP<LO> VertLineId,
const RCP<Matrix> &Amat,
106 const RCP<MultiVector> fineNullspace, RCP<Matrix> &P,
107 RCP<MultiVector> &coarseNullspace)
const;
116#define MUELU_SEMICOARSENPFACTORY_KOKKOS_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
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.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
GlobalOrdinal global_ordinal_type
Node::execution_space execution_space
void BuildSemiCoarsenP(Level &coarseLevel, const LO NFRows, const LO NFNodes, const LO DofsPerNode, const LO NFLayers, const LO NCLayers, const ArrayRCP< LO > LayerId, const ArrayRCP< LO > VertLineId, const RCP< Matrix > &Amat, const RCP< MultiVector > fineNullspace, RCP< Matrix > &P, RCP< MultiVector > &coarseNullspace) const
bool bTransferCoordinates_
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
virtual ~SemiCoarsenPFactory_kokkos()=default
Destructor.
SemiCoarsenPFactory_kokkos()
Constructor.
LocalOrdinal local_ordinal_type
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
Node::device_type DeviceType
Namespace for MueLu classes and methods.