MueLu  Version of the Day
MueLu_IsorropiaInterface_decl.hpp
Go to the documentation of this file.
1 /*
2  * MueLu_IsorropiaInterface_decl.hpp
3  *
4  * Created on: Jun 10, 2013
5  * Author: tobias
6  */
7 
8 #ifndef MUELU_ISORROPIAINTERFACE_DECL_HPP_
9 #define MUELU_ISORROPIAINTERFACE_DECL_HPP_
10 
11 #include "MueLu_ConfigDefs.hpp"
12 
13 //#if defined(HAVE_MUELU_ISORROPIA) && defined(HAVE_MPI)
14 
15 #include <Xpetra_Matrix.hpp>
16 #include <Xpetra_MapFactory_fwd.hpp>
17 #include <Xpetra_BlockedMultiVector.hpp>
18 #include <Xpetra_BlockedVector.hpp>
19 #include <Xpetra_VectorFactory.hpp>
20 #include <Xpetra_CrsGraphFactory.hpp> //TODO
21 
22 #ifdef HAVE_MUELU_EPETRA
23 #include <Xpetra_EpetraCrsGraph.hpp>
24 #endif
25 
26 #ifdef HAVE_MUELU_TPETRA
27 #include <Xpetra_TpetraCrsGraph.hpp>
28 #endif
29 
31 
32 #include "MueLu_Level_fwd.hpp"
34 #include "MueLu_Graph_fwd.hpp"
37 #include "MueLu_Utilities_fwd.hpp"
38 
39 namespace MueLu {
40 
78  //FIXME: this class should not be templated
79  template <class LocalOrdinal = int,
80  class GlobalOrdinal = LocalOrdinal,
81  class Node = KokkosClassic::DefaultNode::DefaultNodeType>
83 
84  typedef double Scalar; // FIXME This class only works with the Epetra stack, i.e., Scalar = double
85 #undef MUELU_ISORROPIAINTERFACE_SHORT
86 #include "MueLu_UseShortNames.hpp"
87 
88  public:
89 
91 
92 
95 
97  virtual ~IsorropiaInterface() { }
99 
100  RCP<const ParameterList> GetValidParameterList() const;
101 
103 
104  void DeclareInput(Level & level) const;
106 
108 
109  void Build(Level &level) const;
110 
112 
113 
114 
115  private:
116 
117 
118 
119  }; //class IsorropiaInterface
120 
121 } //namespace MueLu
122 
123 #define MUELU_ISORROPIAINTERFACE_SHORT
124 //#endif //if defined(HAVE_MUELU_ISORROPIA) && defined(HAVE_MPI)
125 
126 
127 #endif /* MUELU_ISORROPIAINTERFACE_DECL_HPP_ */
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void DeclareInput(Level &level) const
Specifies the data that this class needs, and the factories that generate that data.
Interface to IsorropiaInterface to Isorropia allowing to access other rebalancing/repartitioning algo...
void Build(Level &level) const
Build an object with this factory.
Namespace for MueLu classes and methods.
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:99
Base class for factories that use one level (currentLevel).