43 #ifndef _fei_Solver_Belos_hpp_
44 #define _fei_Solver_Belos_hpp_
47 #include <fei_trilinos_macros.hpp>
51 #include <fei_macros.hpp>
52 #include <fei_Solver.hpp>
53 #include <fei_Logger.hpp>
55 #ifdef HAVE_FEI_TEUCHOS
63 template<
class Scalar,
class MV,
class OP>
class SolverManager;
67 #include <ml_include.h>
68 #include <ml_epetra_preconditioner.h>
82 virtual ~Solver_Belos();
100 const char*
const* solverParams,
101 int& iterationsTaken,
123 int& iterationsTaken,
128 void setMaxIters(
int maxits) {maxIters_ = maxits;}
129 void setTolerance(
double tol) {tolerance_ = tol;}
130 void setUseTranspose(
bool useTrans) {useTranspose_ = useTrans;}
132 void setUseML(
bool useml);
146 ML_Epetra::MultiLevelPreconditioner* ml_prec_;
147 bool ml_defaults_set_;
148 int *ml_aztec_options_;
149 double *ml_aztec_params_;
153 std::string dbgprefix_;
156 #endif // HAVE_FEI_BELOS
virtual int solve(fei::LinearSystem *linearSystem, fei::Matrix *preconditioningMatrix, const fei::ParameterSet ¶meterSet, int &iterationsTaken, int &status)