10 #include <lifev/core/linear_algebra/IfpackPreconditioner.hpp> 24 ASSERT_PRE(M_pList.isSublist(
"options"),
"RowMatrixPreconditioner::SetParameterList(): pList must have a options subList");
29 bool verbose(0 == M_rowMatrix->Comm().MyPID());
30 std::string defaultPreconditioner(
"ILU");
31 int defaultOverlap(1);
33 if(!M_pList.isParameter(
"preconditioner") )
37 std::cout <<
"IfpackPreconditioner::myCompute: Using default preconditioner " 38 << defaultPreconditioner <<
"\n";
42 if(!M_pList.isParameter(
"overlap") )
46 std::cout <<
"IfpackPreconditioner::myCompute: Using default overlap " << defaultOverlap <<
"\n";
49 Ifpack_Preconditioner * prec;
51 prec = FactoryIfpack.Create(M_pList.get(
"preconditioner", defaultPreconditioner), M_rowMatrix.get(),
52 M_pList.get(
"overlap", defaultOverlap));
54 prec->SetParameters(M_pList.sublist(
"options"));
int myCompute()
Abstract method myCompute implemented by the derived class.
virtual ~IfpackPreconditioner()
RowMatrixPreconditioner()
Empty constructor.
void updateInverseJacobian(const UInt &iQuadPt)
Interface to the Ifpack preconditioners in Trilinos.
Abstract class to construct preconditioners from a matrix in Epetra_CsrFormat.