MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_MapTransferFactory_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_MAPTRANSFERFACTORY_DECL_HPP_
11 #define MUELU_MAPTRANSFERFACTORY_DECL_HPP_
12 
13 #include "MueLu_ConfigDefs.hpp"
15 
16 namespace MueLu {
17 
53 template <class Scalar = DefaultScalar,
56  class Node = DefaultNode>
58 #undef MUELU_MAPTRANSFERFACTORY_SHORT
59 #include "MueLu_UseShortNames.hpp"
60 
61  public:
63 
64 
66 
67  void DeclareInput(Level& fineLevel, Level& coarseLevel) const override;
68 
70 
72 
75  void Build(Level& fineLevel, Level& coarseLevel) const override;
76 
78 
79  private:
91  int GetLimitOfProlongatorColumns(const ParameterList& pL) const;
92 
95 
96 }; // class MapTransferFactory
97 
98 } // namespace MueLu
99 
100 #define MUELU_MAPTRANSFERFACTORY_SHORT
101 #endif /* MUELU_MAPTRANSFERFACTORY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
void DeclareInput(Level &fineLevel, Level &coarseLevel) const override
Input.
Base class for factories that use two levels (fineLevel and coarseLevel).
RCP< const FactoryBase > mapFact_
Generating factory of input variable.
MueLu::DefaultNode Node
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:63
RCP< const ParameterList > GetValidParameterList() const override
Input.
int GetLimitOfProlongatorColumns(const ParameterList &pL) const
Get the max number of entries per row of P to be considered for map transfer.
Factory to transfer a map from a fine to a coarse level.
void Build(Level &fineLevel, Level &coarseLevel) const override
Build an object with this factory.