16#ifndef dealii_trilinos_solver_h
17# define dealii_trilinos_solver_h
22# ifdef DEAL_II_WITH_TRILINOS
31# include <Epetra_LinearProblem.h>
32# include <Epetra_Operator.h>
44 class PreconditionBase;
198 Epetra_MultiVector & x,
199 const Epetra_MultiVector &b,
214 Epetra_MultiVector & x,
215 const Epetra_MultiVector &b,
233 const ::Vector<double> &b,
250 const ::Vector<double> &b,
262 const ::LinearAlgebra::distributed::Vector<double> &b,
275 const ::LinearAlgebra::distributed::Vector<double> &b,
290 <<
"An error with error number " << arg1
291 <<
" occurred while calling a Trilinos function");
307 template <
typename Preconditioner>
309 do_solve(
const Preconditioner &preconditioner);
314 template <
typename Preconditioner>
449 const unsigned int restart_parameter = 30);
638 const ::LinearAlgebra::distributed::Vector<double> &b);
659 const ::Vector<double> &b);
670 const ::LinearAlgebra::distributed::Vector<double> &b);
683 <<
"An error with error number " << arg1
684 <<
" occurred while calling a Trilinos function");
713 std::unique_ptr<Amesos_BaseSolver>
solver;
virtual ~SolverBase()=default
SolverControl & control() const
void solve(const SparseMatrix &A, MPI::Vector &x, const MPI::Vector &b, const PreconditionBase &preconditioner)
const AdditionalData additional_data
std::unique_ptr< AztecOO_StatusTest > status_test
void set_preconditioner(AztecOO &solver, const Preconditioner &preconditioner)
SolverControl & solver_control
void do_solve(const Preconditioner &preconditioner)
void solve(Epetra_Operator &A, ::LinearAlgebra::distributed::Vector< double > &x, const ::LinearAlgebra::distributed::Vector< double > &b, const PreconditionBase &preconditioner)
std::unique_ptr< Epetra_LinearProblem > linear_problem
enum TrilinosWrappers::SolverBase::SolverName solver_name
void solve(const SparseMatrix &A, ::LinearAlgebra::distributed::Vector< double > &x, const ::LinearAlgebra::distributed::Vector< double > &b, const PreconditionBase &preconditioner)
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
void solve(const SparseMatrix &A, ::LinearAlgebra::distributed::Vector< double > &x, const ::LinearAlgebra::distributed::Vector< double > &b)
const AdditionalData additional_data
virtual ~SolverDirect()=default
void initialize(const SparseMatrix &A)
std::unique_ptr< Amesos_BaseSolver > solver
SolverControl & solver_control
void solve(MPI::Vector &x, const MPI::Vector &b)
std::unique_ptr< Epetra_LinearProblem > linear_problem
SolverControl & control() const
const AdditionalData additional_data
const AdditionalData additional_data
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcTrilinosError(int arg1)
static ::ExceptionBase & ExcTrilinosError(int arg1)
#define DeclException1(Exception1, type1, outsequence)
const unsigned int gmres_restart_parameter
const bool output_solver_details
bool output_solver_details