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 131 RCP<const ParameterList> GetValidParameterList()
const;
136 void DeclareInput(
Level &fineLevel,
Level &coarseLevel)
const;
143 void Build(
Level &fineLevel,
Level &coarseLevel)
const;
144 void BuildP(
Level &fineLevel,
Level &coarseLevel)
const;
148 void BuildSemiCoarsenP(
Level &coarseLevel,
const LO NFRows,
const LO NFNodes,
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 163 #endif // HAVE_MUELU_KOKKOS_REFACTOR 164 #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.