MueLu  Version of the Day
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:
42  RCP<const FactoryBase> preSmootherFact_;
43  RCP<const FactoryBase> postSmootherFact_;
44  };
45 
46 }
47 
48 #define MUELU_TOPSMOOTHERFACTORY_SHORT
49 #endif /* PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_ */
MueLu_ConfigDefs.hpp
MueLu_SmootherFactory_fwd.hpp
MueLu::TopSmootherFactory::preSmootherFact_
RCP< const FactoryBase > preSmootherFact_
Definition: MueLu_TopSmootherFactory_decl.hpp:42
MueLu::TopSmootherFactory
Definition: MueLu_TopSmootherFactory_decl.hpp:27
MueLu_Level_fwd.hpp
MueLu
Namespace for MueLu classes and methods.
Definition: MueLu_BrickAggregationFactory_decl.hpp:76
MueLu::TopSmootherFactory::DeclareInput
void DeclareInput(Level &level) const
Specifies the data that this class needs, and the factories that generate that data.
Definition: MueLu_TopSmootherFactory_def.hpp:64
MueLu_FactoryManagerBase_fwd.hpp
MueLu::TopSmootherFactory::postSmootherFact_
RCP< const FactoryBase > postSmootherFact_
Definition: MueLu_TopSmootherFactory_decl.hpp:43
MueLu_SingleLevelFactoryBase.hpp
MueLu::TopSmootherFactory::~TopSmootherFactory
virtual ~TopSmootherFactory()
Definition: MueLu_TopSmootherFactory_def.hpp:61
MueLu::TopSmootherFactory::Build
void Build(Level &level) const
Build an object with this factory.
Definition: MueLu_TopSmootherFactory_def.hpp:72
MueLu::SingleLevelFactoryBase
Base class for factories that use one level (currentLevel).
Definition: MueLu_SingleLevelFactoryBase.hpp:64
MueLu::TopSmootherFactory::TopSmootherFactory
TopSmootherFactory(RCP< const FactoryManagerBase > parentFactoryManager, const std::string &varName)
Definition: MueLu_TopSmootherFactory_def.hpp:27
MueLu_UseShortNames.hpp
MueLu_SmootherPrototype_fwd.hpp
MueLu_SmootherBase_fwd.hpp
MueLu::Level
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:99