32 StratimikosFactory(
const Teuchos::RCP<Stratimikos::DefaultLinearSolverBuilder> & builder,
33 const Teuchos::RCP<Teko::RequestHandler> & rh);
44 Thyra::EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor );
52 bool isCompatible(
const Thyra::LinearOpSourceBase<double> &fwdOp )
const;
58 Teuchos::RCP<Thyra::PreconditionerBase<double> >
createPrec()
const;
61 const Teuchos::RCP<
const Thyra::LinearOpSourceBase<double> > &fwdOp,
62 Thyra::PreconditionerBase<double> *prec,
63 const Thyra::ESupportSolveUse supportSolveUse
67 Thyra::PreconditionerBase<double> *prec
68 ,Teuchos::RCP<
const Thyra::LinearOpSourceBase<double> > *fwdOp
69 ,Thyra::ESupportSolveUse *supportSolveUse
79 Teuchos::RCP<Teuchos::ParameterList>
const& paramList);
103 const Teuchos::RCP<
const Thyra::LinearOpSourceBase<double> > &fwdOp,
104 Thyra::PreconditionerBase<double> *prec,
105 const Thyra::ESupportSolveUse supportSolveUse
111 const Teuchos::RCP<
const Thyra::LinearOpSourceBase<double> > &fwdOp,
112 Thyra::PreconditionerBase<double> *prec,
113 const Thyra::ESupportSolveUse supportSolveUse
119 { reqHandler_ = rh; }
124 {
return reqHandler_; }
144 Teuchos::RCP<Epetra_Operator> buildWrappedEpetraOperator(
145 const Teuchos::RCP<const Epetra_Operator> & Jac,
146 const Teuchos::RCP<Epetra_Operator> & wrapInput,
147 std::ostream & out)
const;
157 void buildStridedVectors(
const Epetra_Operator & Jac,
158 const std::vector<int> & decomp,
159 std::vector<std::vector<int> > & vars)
const;
161 Teuchos::RCP<Teuchos::ParameterList> paramList_;
163 mutable Teuchos::RCP<Teko::InverseLibrary> invLib_;
164 mutable Teuchos::RCP<Teko::InverseFactory> invFactory_;
165 Teuchos::RCP<Teko::RequestHandler> reqHandler_;
166 mutable std::vector<int> decomp_;
167 Teuchos::RCP<Stratimikos::DefaultLinearSolverBuilder> builder_;