16 #ifndef dealii__trilinos_solver_h 17 #define dealii__trilinos_solver_h 20 #include <deal.II/base/config.h> 22 #ifdef DEAL_II_WITH_TRILINOS 24 # include <deal.II/base/std_cxx11/shared_ptr.h> 25 # include <deal.II/lac/exceptions.h> 26 # include <deal.II/lac/solver_control.h> 27 # include <deal.II/lac/vector.h> 28 # include <deal.II/lac/la_parallel_vector.h> 30 DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
31 # include <Epetra_LinearProblem.h> 33 # include <Epetra_Operator.h> 35 DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
38 DEAL_II_NAMESPACE_OPEN
45 class PreconditionBase;
168 solve (
const Epetra_Operator &A,
183 solve (
const Epetra_Operator &A,
186 const Epetra_Operator &preconditioner);
198 solve (
const Epetra_Operator &A,
199 Epetra_MultiVector &x,
200 const Epetra_MultiVector &b,
214 solve (
const Epetra_Operator &A,
215 Epetra_MultiVector &x,
216 const Epetra_MultiVector &b,
217 const Epetra_Operator &preconditioner);
234 const ::Vector<double> &b,
249 solve (Epetra_Operator &A,
251 const ::Vector<double> &b,
263 const ::LinearAlgebra::distributed::Vector<double> &b,
274 solve (Epetra_Operator &A,
276 const ::LinearAlgebra::distributed::Vector<double> &b,
290 <<
"An error with error number " << arg1
291 <<
" occurred while calling a Trilinos function");
309 template<
typename Preconditioner>
310 void do_solve(
const Preconditioner &preconditioner);
315 template<
typename Preconditioner>
317 const Preconditioner &preconditioner);
354 const Epetra_Operator &preconditioner);
702 const ::Vector<double> &b);
713 const ::LinearAlgebra::distributed::Vector<double> &b);
725 <<
"An error with error number " << arg1
726 <<
" occurred while calling a Trilinos function");
754 std_cxx11::shared_ptr<Amesos_BaseSolver>
solver;
764 DEAL_II_NAMESPACE_CLOSE
766 #endif // DEAL_II_WITH_TRILINOS void set_preconditioner(AztecOO &solver, const Preconditioner &preconditioner)
SolverCG(SolverControl &cn, const AdditionalData &data=AdditionalData())
bool output_solver_details
std_cxx11::shared_ptr< Epetra_LinearProblem > linear_problem
const bool output_solver_details
const AdditionalData additional_data
const AdditionalData additional_data
std_cxx11::shared_ptr< Epetra_LinearProblem > linear_problem
AdditionalData(const bool output_solver_details=false, const unsigned int restart_parameter=30)
const AdditionalData additional_data
void initialize(const SparseMatrix &A)
static ::ExceptionBase & ExcTrilinosError(int arg1)
bool output_solver_details
const AdditionalData additional_data
void solve(const SparseMatrix &A, VectorBase &x, const VectorBase &b, const PreconditionBase &preconditioner)
void do_solve(const Preconditioner &preconditioner)
SolverControl & solver_control
bool output_solver_details
bool output_solver_details
#define DeclException1(Exception1, type1, outsequence)
SolverCGS(SolverControl &cn, const AdditionalData &data=AdditionalData())
SolverBase(SolverControl &cn)
AdditionalData(const bool output_solver_details=false)
SolverBicgstab(SolverControl &cn, const AdditionalData &data=AdditionalData())
SolverControl & solver_control
SolverControl & control() const
bool output_solver_details
std_cxx11::shared_ptr< AztecOO_StatusTest > status_test
SolverTFQMR(SolverControl &cn, const AdditionalData &data=AdditionalData())
AdditionalData(const bool output_solver_details=false)
void solve(VectorBase &x, const VectorBase &b)
const AdditionalData additional_data
AdditionalData(const bool output_solver_details=false, const std::string &solver_type="Amesos_Klu")
SolverDirect(SolverControl &cn, const AdditionalData &data=AdditionalData())
const AdditionalData additional_data
bool output_solver_details
std_cxx11::shared_ptr< Amesos_BaseSolver > solver
AdditionalData(const bool output_solver_details=false)
SolverControl & control() const
unsigned int restart_parameter
AdditionalData(const bool output_solver_details=false, const unsigned int gmres_restart_parameter=30)
SolverGMRES(SolverControl &cn, const AdditionalData &data=AdditionalData())
const AdditionalData additional_data
static ::ExceptionBase & ExcTrilinosError(int arg1)
AdditionalData(const bool output_solver_details=false)
const unsigned int gmres_restart_parameter