44 #include "Epetra_Comm.h" 45 #include "Epetra_Map.h" 46 #include "Epetra_CrsGraph.h" 47 #include "Epetra_CrsMatrix.h" 48 #include "Epetra_Vector.h" 49 #include "Epetra_MultiVector.h" 50 #include "Epetra_Flops.h" 69 : Label_(Source.Label_),
71 UseLTrans_(Source.UseLTrans_),
74 UseUTrans_(Source.UseUTrans_),
75 UseTranspose_(Source.UseTranspose_),
77 Condest_(Source.Condest_),
78 OverlapMode_(Source.OverlapMode_)
87 Epetra_MultiVector& Y)
const {
93 Epetra_MultiVector * X1 = 0;
94 Epetra_MultiVector * Y1 = 0;
99 bool UnitDiagonal =
true;
119 Epetra_MultiVector& Y)
const {
125 Epetra_MultiVector * X1 = 0;
126 Epetra_MultiVector * Y1 = 0;
133 Epetra_MultiVector Y1temp(*Y1);
143 Epetra_MultiVector Y1temp(*Y1);
152 const Epetra_MultiVector& Xin,
const Epetra_MultiVector& Yin,
153 Epetra_MultiVector * & Xout, Epetra_MultiVector * & Yout)
const {
160 Xout = (Epetra_MultiVector *) &Xin;
161 Yout = (Epetra_MultiVector *) &Yin;
172 Epetra_Vector Ones(
U_->DomainMap());
173 Epetra_Vector OnesResult(
L_->RangeMap());
Ifpack_OverlapSolveObject: Provides Overlapped Forward/back solve services for Ifpack.
Epetra_CombineMode OverlapMode_
virtual ~Ifpack_OverlapSolveObject()
Ifpack_OverlapSolveObject Destructor.
virtual int SetupXY(bool Trans, const Epetra_MultiVector &Xin, const Epetra_MultiVector &Yin, Epetra_MultiVector *&Xout, Epetra_MultiVector *&Yout) const =0
Ifpack_OverlapSolveObject(char *Label, const Epetra_Comm &Comm)
Constructor.
#define EPETRA_CHK_ERR(xxx)
int Multiply(bool Trans, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of multiplying U, D and L in that order on an Epetra_MultiVector X in Y...
int Solve(bool Trans, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Ifpack_CrsIlut forward/back solve on a Epetra_MultiVector X in Y (works for E...
int Condest(bool Trans, double &ConditionNumberEstimate) const
Returns the maximum over all the condition number estimate for each local ILU set of factors...