46 #ifndef MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP 47 #define MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP 49 #include <Xpetra_Matrix_fwd.hpp> 53 #include "MueLu_PFactory.hpp" 96 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
103 Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>> :
public PFactory {
108 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>
node_type;
114 #undef MUELU_SEMICOARSENPFACTORY_KOKKOS_SHORT 128 RCP<const ParameterList> GetValidParameterList()
const;
133 void DeclareInput(
Level &fineLevel,
Level &coarseLevel)
const;
140 void Build(
Level &fineLevel,
Level &coarseLevel)
const;
141 void BuildP(
Level &fineLevel,
Level &coarseLevel)
const;
145 void BuildSemiCoarsenP(
Level &coarseLevel,
const LO NFRows,
const LO NFNodes,
146 const LO DofsPerNode,
const LO NFLayers,
147 const LO NCLayers,
const ArrayRCP<LO> LayerId,
148 const ArrayRCP<LO> VertLineId,
const RCP<Matrix> &Amat,
149 const RCP<MultiVector> fineNullspace, RCP<Matrix> &P,
150 RCP<MultiVector> &coarseNullspace)
const;
159 #define MUELU_SEMICOARSENPFACTORY_KOKKOS_SHORT 160 #endif // MUELU_SEMICOARSENPFACTORY_KOKKOS_DECL_HPP MueLu::DefaultLocalOrdinal LocalOrdinal
SemiCoarsenPFactory_kokkos()
Constructor.
Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > node_type
Namespace for MueLu classes and methods.
GlobalOrdinal global_ordinal_type
DeviceType::execution_space execution_space
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
LocalOrdinal local_ordinal_type
bool bTransferCoordinates_
Factory that provides an interface for a concrete implementation of a prolongation operator...
Prolongator factory performing semi-coarsening.