OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Ifpack2Preconditioner.h
Go to the documentation of this file.
1 #ifndef IFPACK_2_PRECONDITIONER_H
2 #define IFPACK_2_PRECONDITIONER_H
3 
4 #include "AmrPreconditioner.h"
5 
6 #include <Ifpack2_Factory.hpp>
7 
8 template <class Level>
9 class Ifpack2Preconditioner : public AmrPreconditioner<amr::matrix_t, Level>
10 {
11 public:
19 
20  typedef std::map<std::string, Preconditioner> map_t;
21 
22 public:
23 
25 
26  void create(const Teuchos::RCP<amr::matrix_t>& A, Level* level_p = nullptr);
27 
28  Teuchos::RCP<amr::operator_t> get();
29 
30  static void fillMap(map_t& map);
31 
32 private:
36  void init_m(Preconditioner prec);
37 
38 private:
40  std::string prectype_m;
41 
43  Teuchos::RCP<Teuchos::ParameterList> params_mp;
44 
45  Teuchos::RCP<precond_t> prec_mp;
46 };
47 
49 
50 #endif
Teuchos::RCP< Teuchos::ParameterList > params_mp
parameter list of preconditioner
Bottom solver preconditioners.
void init_m(Preconditioner prec)
Ifpack2Preconditioner(Preconditioner prec)
int local_ordinal_t
KokkosClassic::DefaultNode::DefaultNodeType node_t
std::string prectype_m
preconditioner type
Ifpack2::Preconditioner< amr::scalar_t, amr::local_ordinal_t, amr::global_ordinal_t, amr::node_t > precond_t
Teuchos::RCP< precond_t > prec_mp
amr::Preconditioner Preconditioner
long global_ordinal_t
static void fillMap(map_t &map)
std::map< std::string, Preconditioner > map_t
void create(const Teuchos::RCP< amr::matrix_t > &A, Level *level_p=nullptr)
double scalar_t