17 #ifndef __deal2__trilinos_solver_h
18 #define __deal2__trilinos_solver_h
21 #include <deal.II/base/config.h>
23 #ifdef DEAL_II_WITH_TRILINOS
25 # include <deal.II/base/std_cxx1x/shared_ptr.h>
26 # include <deal.II/lac/exceptions.h>
27 # include <deal.II/lac/solver_control.h>
28 # include <deal.II/lac/vector.h>
30 # include <Epetra_LinearProblem.h>
32 # include <Epetra_Operator.h>
35 DEAL_II_NAMESPACE_OPEN
37 namespace TrilinosWrappers
42 class PreconditionBase;
83 enum SolverName {cg, cgs, gmres, bicgstab, tfqmr} solver_name;
178 solve (Epetra_Operator &A,
204 const ::Vector<double> &b,
228 solve (Epetra_Operator &A,
230 const ::Vector<double> &b,
244 <<
"An error with error number " << arg1
245 <<
" occurred while calling a Trilinos function");
657 const ::Vector<double> &b);
670 <<
"An error with error number " << arg1
671 <<
" occurred while calling a Trilinos function");
704 std_cxx1x::shared_ptr<Amesos_BaseSolver>
solver;
716 DEAL_II_NAMESPACE_CLOSE
718 #endif // DEAL_II_WITH_TRILINOS
AdditionalData(const bool output_solver_details=false)
bool output_solver_details
SolverControl & control() const
void solve(const SparseMatrix &A, VectorBase &x, const VectorBase &b)
const bool output_solver_details
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
bool output_solver_details
DeclException1(ExcTrilinosError, int,<< "An error with error number "<< arg1<< " occurred while calling a Trilinos function")
const AdditionalData additional_data
AdditionalData(const bool output_solver_details=false, const unsigned int restart_parameter=30)
void solve(const SparseMatrix &A, VectorBase &x, const VectorBase &b, const PreconditionBase &preconditioner)
SolverControl & solver_control
bool output_solver_details
bool output_solver_details
SolverCGS(SolverControl &cn, const AdditionalData &data=AdditionalData())
SolverBase(SolverControl &cn)
SolverBicgstab(SolverControl &cn, const AdditionalData &data=AdditionalData())
SolverControl & solver_control
std_cxx1x::shared_ptr< Epetra_LinearProblem > linear_problem
AdditionalData(const bool output_solver_details=false)
bool output_solver_details
SolverTFQMR(SolverControl &cn, const AdditionalData &data=AdditionalData())
AdditionalData(const bool output_solver_details=false)
std_cxx1x::shared_ptr< Epetra_LinearProblem > linear_problem
const AdditionalData additional_data
AdditionalData(const bool output_solver_details=false)
SolverDirect(SolverControl &cn, const AdditionalData &data=AdditionalData())
void execute_solve(const PreconditionBase &preconditioner)
const AdditionalData additional_data
bool output_solver_details
SolverControl & control() const
AdditionalData(const bool output_solver_details=false)
unsigned int restart_parameter
AdditionalData(const bool output_solver_details=false, const unsigned int gmres_restart_parameter=30)
const AdditionalData additional_data
SolverCG(SolverControl &cn, const AdditionalData &data=AdditionalData())
DeclException1(ExcTrilinosError, int,<< "An error with error number "<< arg1<< " occurred while calling a Trilinos function")
std_cxx1x::shared_ptr< Amesos_BaseSolver > solver
const unsigned int gmres_restart_parameter
SolverGMRES(SolverControl &cn, const AdditionalData &data=AdditionalData())