46 #ifndef MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP
47 #define MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP
49 #define HAVE_MUELU_KOKKOS_REFACTOR
50 #ifdef HAVE_MUELU_KOKKOS_REFACTOR
52 #include <Xpetra_Matrix_fwd.hpp>
56 #include "MueLu_PFactory.hpp"
99 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
106 Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>> :
public PFactory {
111 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>
node_type;
117 #undef MUELU_SEMICOARSENPFACTORY_KOKKOS_SHORT
149 const LO DofsPerNode,
const LO NFLayers,
150 const LO NCLayers,
const ArrayRCP<LO> LayerId,
151 const ArrayRCP<LO> VertLineId,
const RCP<Matrix> &Amat,
152 const RCP<MultiVector> fineNullspace, RCP<Matrix> &P,
153 RCP<MultiVector> &coarseNullspace)
const;
162 #define MUELU_SEMICOARSENPFACTORY_KOKKOS_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.
DeviceType::execution_space execution_space
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
GlobalOrdinal global_ordinal_type
bool bTransferCoordinates_
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
LocalOrdinal local_ordinal_type
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
Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > node_type
SemiCoarsenPFactory_kokkos()
Constructor.
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
virtual ~SemiCoarsenPFactory_kokkos()=default
Destructor.
Prolongator factory performing semi-coarsening.
Namespace for MueLu classes and methods.