30 #ifndef __SolverNonLinearTrilinos_H
31 #define __SolverNonLinearTrilinos_H 1
33 #include <feel/feelcore/feel.hpp>
40 #if defined( FEELPP_HAS_TRILINOS )
42 #include "NOX_Epetra_Interface_Required.H"
43 #include "NOX_Epetra_Interface_Jacobian.H"
44 #include "NOX_Epetra_LinearSystem_AztecOO.H"
45 #include "NOX_Epetra_Group.H"
59 class SolverNonLinearTrilinos
61 public SolverNonLinear<T>
63 typedef SolverNonLinear<T> super;
71 typedef SolverNonLinearTrilinos<T> self_type;
73 typedef typename super::value_type value_type;
74 typedef typename super::real_type real_type;
75 typedef typename super::sparse_matrix_ptrtype sparse_matrix_ptrtype;
76 typedef typename super::vector_ptrtype vector_ptrtype;
78 typedef typename super::dense_matrix_type dense_matrix_type;
79 typedef typename super::dense_vector_type dense_vector_type;
90 SolverNonLinearTrilinos(WorldComm
const& worldComm=Environment::worldComm());
91 SolverNonLinearTrilinos( SolverNonLinearTrilinos
const & );
96 ~SolverNonLinearTrilinos();
101 virtual void init ();
131 virtual void clear ();
137 virtual std::pair<int, real_type> solve ( sparse_matrix_ptrtype&,
141 const unsigned int );
143 virtual std::pair<unsigned int, real_type> solve ( dense_matrix_type&,
147 const unsigned int );
165 template <
typename T>
167 SolverNonLinearTrilinos<T>::SolverNonLinearTrilinos (WorldComm
const& worldComm)
172 template <
typename T>
174 SolverNonLinearTrilinos<T>::~SolverNonLinearTrilinos ()
180 #endif// FEELPP_HAS_TRILINOS_NOX