10#ifndef MUELU_COALESCEDROPFACTORY_KOKKOS_DECL_HPP
11#define MUELU_COALESCEDROPFACTORY_KOKKOS_DECL_HPP
15#include <Tpetra_KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
17#include "Xpetra_Matrix_fwd.hpp"
94template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
101 using range_type = Kokkos::RangePolicy<local_ordinal_type, execution_space>;
108#undef MUELU_COALESCEDROPFACTORY_KOKKOS_SHORT
134 std::tuple<RCP<LocalOrdinalVector>, RCP<LocalOrdinalVector> >
GetBlockNumberMVs(
Level& currentLevel)
const;
136 std::tuple<GlobalOrdinal, boundary_nodes_type>
BuildScalar(
Level& currentLevel)
const;
138 std::tuple<GlobalOrdinal, boundary_nodes_type>
BuildVector(
Level& currentLevel)
const;
143#define MUELU_COALESCEDROPFACTORY_KOKKOS_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
void DeclareInput(Level ¤tLevel) const
Input.
Kokkos::RangePolicy< local_ordinal_type, execution_space > range_type
typename Node::execution_space execution_space
void Build(Level ¤tLevel) const
Build an object with this factory.
typename MueLu::LWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Node >::boundary_nodes_type boundary_nodes_type
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
std::tuple< GlobalOrdinal, boundary_nodes_type > BuildVector(Level ¤tLevel) const
std::tuple< GlobalOrdinal, boundary_nodes_type > BuildScalar(Level ¤tLevel) const
LocalOrdinal local_ordinal_type
GlobalOrdinal global_ordinal_type
virtual ~CoalesceDropFactory_kokkos()
Destructor.
CoalesceDropFactory_kokkos()
Constructor.
std::tuple< RCP< LocalOrdinalVector >, RCP< LocalOrdinalVector > > GetBlockNumberMVs(Level ¤tLevel) const
Kokkos::View< bool *, memory_space > boundary_nodes_type
Class that holds all level-specific information.
SingleLevelFactoryBase()
Constructor.
Namespace for MueLu classes and methods.