MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_StructuredAggregationFactory_kokkos_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // MueLu: A package for multigrid based preconditioning
4 //
5 // Copyright 2012 NTESS and the MueLu contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef MUELU_STRUCTUREDAGGREGATIONFACTORY_KOKKOS_DECL_HPP
11 #define MUELU_STRUCTUREDAGGREGATIONFACTORY_KOKKOS_DECL_HPP
12 
13 #include "MueLu_ConfigDefs.hpp"
15 #include "MueLu_Level_fwd.hpp"
16 #include "MueLu_Exceptions.hpp"
17 
19 
20 #include <Tpetra_KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
21 
22 namespace MueLu {
23 
70 template <class LocalOrdinal = DefaultLocalOrdinal,
72  class Node = DefaultNode>
74 #undef MUELU_STRUCTUREDAGGREGATIONFACTORY_KOKKOS_SHORT
76 
77  public:
79 
80 
83 
86 
88 
90 
92 
93  // set information about 1-node aggregates (map name and generating factory)
94  void SetOnePtMapName(const std::string name, Teuchos::RCP<const FactoryBase> mapFact) {
95  SetParameter("OnePt aggregate map name", ParameterEntry(std::string(name))); // revalidate
96  SetFactory("OnePt aggregate map factory", mapFact);
97  }
98 
100 
102 
103 
104  void DeclareInput(Level& currentLevel) const;
105 
107 
109 
110 
112  void Build(Level& currentLevel) const;
113 
115 
116  private:
120  mutable bool bDefinitionPhase_;
121 
122 }; // class StructuredAggregationFactory
123 
124 } // namespace MueLu
125 
126 #define MUELU_STRUCTUREDAGGREGATIONFACTORY_KOKKOS_SHORT
127 #endif // MUELU_UNCOUPLEDAGGREGATIONFACTORY_KOKKOS_DECL_HPP
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
MueLu::DefaultLocalOrdinal LocalOrdinal
virtual void SetFactory(const std::string &varName, const RCP< const FactoryBase > &factory)
Configuration.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
void SetOnePtMapName(const std::string name, Teuchos::RCP< const FactoryBase > mapFact)
void Build(Level &currentLevel) const
Build aggregates.
MueLu::DefaultNode Node
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:63
void SetParameter(const std::string &name, const ParameterEntry &entry)
Set a parameter directly as a ParameterEntry.
Factory for building structured aggregates or CrsGraph for interpolation base prolongator.
Base class for factories that use one level (currentLevel).