46#ifndef MUELU_SAPFACTORY_KOKKOS_DECL_HPP
47#define MUELU_SAPFACTORY_KOKKOS_DECL_HPP
53#include <KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
60#include "MueLu_PFactory.hpp"
96 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
99 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class DeviceType>
105 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>
node_type;
110#undef MUELU_SAPFACTORY_KOKKOS_SHORT
126 RCP<const ParameterList> GetValidParameterList()
const;
133 void DeclareInput(
Level& fineLevel,
Level& coarseLevel)
const;
146 void Build (
Level& fineLevel,
Level& coarseLevel)
const;
148 void BuildP(
Level& fineLevel,
Level& coarseLevel)
const;
150 void SatisfyPConstraints(RCP<Matrix> A, RCP<Matrix>& P)
const;
152 void optimalSatisfyPConstraintsForScalarPDEs( RCP<Matrix>& P)
const;
160#define MUELU_SAPFACTORY_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.
GlobalOrdinal global_ordinal_type
Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > node_type
DeviceType::execution_space execution_space
virtual ~SaPFactory_kokkos()
Destructor.
LocalOrdinal local_ordinal_type
SaPFactory_kokkos()
Constructor. User can supply a factory for generating the tentative prolongator.
Factory for building Smoothed Aggregation prolongators.
Namespace for MueLu classes and methods.