LifeV
AztecooOperatorAlgebra.cpp
Go to the documentation of this file.
1 #include <lifev/core/linear_algebra/AztecooOperatorAlgebra.hpp>
2 
3 namespace LifeV
4 {
5 
6 namespace Operators
7 {
8 
12 {
13  M_name = "AztecooOperatorAlgebra";
14 }
15 
17 {
18  vector_Type Xcopy(X);
19  Y.PutScalar(0.0);
20  M_linSolver->SetUserOperator( M_oper.get());
21  M_linSolver->SetParameters(*M_pList);
22  M_linSolver->SetRHS(&Xcopy);
23  M_linSolver->SetLHS(&Y);
24  if(M_prec.get() != 0)
25  EPETRA_CHK_ERR(M_linSolver->SetPrecOperator( (Epetra_Operator*) M_prec.get()) );
26 
27  int maxIter( M_pList->get<int>("max_iter"));
28  double tol( M_pList->get<double>("tol"));
29 
30  return M_linSolver->Iterate(maxIter, tol);
31 }
32 
33 } // Namespace Operators
34 
35 } // Namespace LifeV
InvertibleOperator interface to AztecOO in Trilinos. AztecooOperator will use the matrix-free Krylov ...
void updateInverseJacobian(const UInt &iQuadPt)
Abstract class which defines the interface of an Invertible Linear Operator Algebra.
virtual int doApplyInverse(const vector_Type &X, vector_Type &Y) const