rheolef  6.5
solver_no_trilinos_ifpack.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_SOLVER_NO_TRILINOS_IFPACK_H
2 #define _RHEOLEF_SOLVER_NO_TRILINOS_IFPACK_H
3 
4 #include "rheolef/config.h"
5 
6 #if !defined(_RHEOLEF_HAVE_TRILINOS) && !defined(_RHEOLEF_HAVE_PASTIX)
7 
8 #include "rheolef/solver.h"
9 
10 namespace rheolef {
11 
12 template<class T, class M>
13 class solver_no_trilinos_ifpack_rep : public solver_abstract_rep<T,M> {
14 public:
15 
16  typedef typename csr<T,M>::size_type size_type;
17 
18 
19  solver_no_trilinos_ifpack_rep() : solver_abstract_rep<T,M>(solver_option_type()), _ic0() {}
20  explicit solver_no_trilinos_ifpack_rep (const csr<T,M>& a, const solver_option_type& opt = solver_option_type());
21  void update_values (const csr<T,M>& a);
22  ~solver_no_trilinos_ifpack_rep ();
23 
24 
25  vec<T,M> trans_solve (const vec<T,M>& rhs) const;
26  vec<T,M> solve (const vec<T,M>& rhs) const;
27 
28 protected:
29  csr<T,M> _ic0;
30 };
31 
32 } // namespace rheolef
33 #endif // !defined(_RHEOLEF_HAVE_TRILINOS) && !defined(_RHEOLEF_HAVE_PASTIX)
34 #endif // _RHEOLEF_SOLVER_NO_TRILINOS_IFPACK_H
35