43 #ifndef _fei_Solver_AztecOO_h_
44 #define _fei_Solver_AztecOO_h_
47 #include <fei_trilinos_macros.hpp>
49 #ifdef HAVE_FEI_AZTECOO
51 #include <fei_macros.hpp>
52 #include <fei_Solver.hpp>
53 #include <fei_Logger.hpp>
55 #ifdef HAVE_FEI_TEUCHOS
62 class Epetra_CrsMatrix;
63 class Epetra_LinearProblem;
66 #include <ml_include.h>
67 #include <ml_epetra_preconditioner.h>
81 virtual ~Solver_AztecOO();
100 const char*
const* solverParams,
101 int& iterationsTaken,
123 int& iterationsTaken,
126 AztecOO& getAztecOO();
130 void setMaxIters(
int maxits) {maxIters_ = maxits;}
131 void setTolerance(
double tol) {tolerance_ = tol;}
132 void setUseTranspose(
bool useTrans) {useTranspose_ = useTrans;}
134 void setUseML(
bool useml);
137 int setup_ml_operator(AztecOO& azoo, Epetra_CrsMatrix* A);
146 Epetra_LinearProblem *linProb;
150 Epetra_Operator* ml_prec_;
151 bool ml_defaults_set_;
152 int *ml_aztec_options_;
153 double *ml_aztec_params_;
157 std::string dbgprefix_;
160 #endif // HAVE_FEI_AZTECOO