MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_TopSmootherFactory_decl.hpp
Go to the documentation of this file.
1 /*
2  * MueLu_TopSmootherFactory_decl.hpp
3  *
4  * Created on: Jan 25, 2016
5  * Author: tawiesn
6  */
7 
8 #ifndef PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_
9 #define PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_
10 
11 #include "MueLu_ConfigDefs.hpp"
12 
14 #include "MueLu_Level_fwd.hpp"
19 //#include "MueLu_TwoLevelFactoryBase.hpp"
20 //#include "MueLu_Hierarchy_fwd.hpp"
21 //#include "MueLu_HierarchyManager_fwd.hpp"
22 
23 
24 namespace MueLu {
25 
26  template <class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
27  class TopSmootherFactory : public SingleLevelFactoryBase { //TODO: inherit from SmootherFactoryBase ?
28 #undef MUELU_TOPSMOOTHERFACTORY_SHORT
29 #include "MueLu_UseShortNames.hpp"
30 
31  public:
32 
33  TopSmootherFactory(RCP<const FactoryManagerBase> parentFactoryManager, const std::string& varName);
34 
35  virtual ~TopSmootherFactory();
36 
37  void DeclareInput(Level & level) const;
38 
39  void Build(Level & level) const;
40 
41  private:
44  };
45 
46 }
47 
48 #define MUELU_TOPSMOOTHERFACTORY_SHORT
49 #endif /* PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_ */
void Build(Level &level) const
Build an object with this factory.
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:99
RCP< const FactoryBase > preSmootherFact_
RCP< const FactoryBase > postSmootherFact_
Base class for factories that use one level (currentLevel).
void DeclareInput(Level &level) const
Specifies the data that this class needs, and the factories that generate that data.
TopSmootherFactory(RCP< const FactoryManagerBase > parentFactoryManager, const std::string &varName)