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_VectorFactory.hpp>
18 #include <Xpetra_CrsGraphFactory.hpp> //TODO
19 
20 #ifdef HAVE_MUELU_EPETRA
21 #include <Xpetra_EpetraCrsGraph.hpp>
22 #endif
23 
24 #ifdef HAVE_MUELU_TPETRA
25 #include <Xpetra_TpetraCrsGraph.hpp>
26 #endif
27 
29 
30 #include "MueLu_Level_fwd.hpp"
32 #include "MueLu_Graph_fwd.hpp"
35 #include "MueLu_Utilities_fwd.hpp"
36 
37 namespace MueLu {
38 
76  //FIXME: this class should not be templated
77  template <class LocalOrdinal = int,
78  class GlobalOrdinal = LocalOrdinal,
79  class Node = KokkosClassic::DefaultNode::DefaultNodeType>
81 
82  typedef double Scalar; // FIXME This class only works with the Epetra stack, i.e., Scalar = double
83 #undef MUELU_ISORROPIAINTERFACE_SHORT
84 #include "MueLu_UseShortNames.hpp"
85 
86  public:
87 
89 
90 
93 
95  virtual ~IsorropiaInterface() { }
97 
99 
101 
102  void DeclareInput(Level & level) const;
104 
106 
107  void Build(Level &level) const;
108 
110 
111 
112 
113  private:
114 
115 
116 
117  }; //class IsorropiaInterface
118 
119 } //namespace MueLu
120 
121 #define MUELU_ISORROPIAINTERFACE_SHORT
122 //#endif //if defined(HAVE_MUELU_ISORROPIA) && defined(HAVE_MPI)
123 
124 
125 #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).