MueLu Version of the Day
Loading...
Searching...
No Matches
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
22namespace MueLu {
23
70template <class LocalOrdinal = DefaultLocalOrdinal,
72 class Node = DefaultNode>
74#undef MUELU_STRUCTUREDAGGREGATIONFACTORY_KOKKOS_SHORT
76
77 public:
79
80
83
86
87 RCP<const ParameterList> GetValidParameterList() const;
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
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
virtual void SetFactory(const std::string &varName, const RCP< const FactoryBase > &factory)
Configuration.
Class that holds all level-specific information.
void SetParameter(const std::string &name, const ParameterEntry &entry)
Set a parameter directly as a ParameterEntry.
Base class for factories that use one level (currentLevel).
Factory for building structured aggregates or CrsGraph for interpolation base prolongator.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void SetOnePtMapName(const std::string name, Teuchos::RCP< const FactoryBase > mapFact)
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode