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 = DefaultScalar,
29  class Node = DefaultNode>
30  class TopSmootherFactory : public SingleLevelFactoryBase { //TODO: inherit from SmootherFactoryBase ?
31 #undef MUELU_TOPSMOOTHERFACTORY_SHORT
32 #include "MueLu_UseShortNames.hpp"
33 
34  public:
35 
36  TopSmootherFactory(RCP<const FactoryManagerBase> parentFactoryManager, const std::string& varName);
37 
38  virtual ~TopSmootherFactory();
39 
40  void DeclareInput(Level & level) const;
41 
42  void Build(Level & level) const;
43 
44  private:
45  RCP<const FactoryBase> preSmootherFact_;
46  RCP<const FactoryBase> postSmootherFact_;
47  };
48 
49 }
50 
51 #define MUELU_TOPSMOOTHERFACTORY_SHORT
52 #endif /* PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_ */
MueLu_ConfigDefs.hpp
MueLu_SmootherFactory_fwd.hpp
MueLu::DefaultScalar
double DefaultScalar
Definition: MueLu_Details_DefaultTypes.hpp:55
string
DASHPOS string(SUBSTRING ${CLASS} 0 ${DASHPOS} CLASS_NAME) set(CONDITION_NAME "") set(CONDITION_NAME_END "") string(SUBSTRING $
Definition: src/CMakeLists.txt:134
MueLu::TopSmootherFactory::preSmootherFact_
RCP< const FactoryBase > preSmootherFact_
Definition: MueLu_TopSmootherFactory_decl.hpp:45
Scalar
MueLu::DefaultScalar Scalar
Definition: MueLu_UseDefaultTypes.hpp:49
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition: MueLu_UseDefaultTypes.hpp:51
MueLu::TopSmootherFactory
Definition: MueLu_TopSmootherFactory_decl.hpp:30
MueLu_Level_fwd.hpp
MueLu
Namespace for MueLu classes and methods.
Definition: MueLu_BrickAggregationFactory_decl.hpp:76
MueLu::DefaultLocalOrdinal
int DefaultLocalOrdinal
Definition: MueLu_Details_DefaultTypes.hpp:56
Node
MueLu::DefaultNode Node
Definition: MueLu_UseDefaultTypes.hpp:52
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:46
MueLu_SingleLevelFactoryBase.hpp
MueLu::TopSmootherFactory::~TopSmootherFactory
virtual ~TopSmootherFactory()
Definition: MueLu_TopSmootherFactory_def.hpp:61
MueLu::DefaultNode
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Definition: MueLu_Details_DefaultTypes.hpp:66
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::DefaultGlobalOrdinal
int DefaultGlobalOrdinal
Definition: MueLu_Details_DefaultTypes.hpp:63
MueLu::Level
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:99
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition: MueLu_UseDefaultTypes.hpp:50