44 #ifndef THYRA_AMESOS2_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP 
   45 #define THYRA_AMESOS2_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP 
   47 #include "Thyra_LinearOpWithSolveFactoryBase.hpp" 
   50 #include "Amesos2.hpp" 
   51 #include "Amesos2_Version.hpp" 
   60 template<
typename Scalar>
 
   92 #ifdef HAVE_AMESOS2_KLU2
 
   99     const bool throwOnPrecInput = 
true 
  108   bool isCompatible( 
const LinearOpSourceBase<Scalar> &fwdOpSrc ) 
const;
 
  115     const Teuchos::RCP<
const LinearOpSourceBase<Scalar> > &fwdOpSrc,
 
  116     LinearOpWithSolveBase<Scalar> *Op,
 
  117     const ESupportSolveUse supportSolveUse
 
  127     const Teuchos::RCP<
const LinearOpSourceBase<Scalar> > &fwdOpSrc,
 
  128     const Teuchos::RCP<
const PreconditionerBase<Scalar> > &prec,
 
  129     LinearOpWithSolveBase<Scalar> *Op,
 
  130     const ESupportSolveUse supportSolveUse
 
  137     const Teuchos::RCP<
const LinearOpSourceBase<Scalar> > &fwdOpSrc,
 
  138     const Teuchos::RCP<
const LinearOpSourceBase<Scalar> > &approxFwdOpSrc,
 
  139     LinearOpWithSolveBase<Scalar> *Op,
 
  140     const ESupportSolveUse supportSolveUse
 
  145     LinearOpWithSolveBase<Scalar> *Op,
 
  146     Teuchos::RCP<
const LinearOpSourceBase<Scalar> > *fwdOpSrc,
 
  148     Teuchos::RCP<
const LinearOpSourceBase<Scalar> > *approxFwdOpSrc,
 
  149     ESupportSolveUse *supportSolveUse
 
  198 #endif // THYRA_AMESOS2_LINEAR_OP_WITH_SOLVE_FACTORY_HPP 
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
 
static Teuchos::RCP< const Teuchos::ParameterList > generateAndGetValidParameters()
 
Teuchos::RCP< LinearOpWithSolveBase< Scalar > > createOp() const 
 
typename Amesos2LinearOpWithSolve< Scalar >::ConverterT ConverterT
 
void initializeOp(const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const 
 
static const std::string Amesos2_Settings_name
 
void initializePreconditionedOp(const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const 
Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise. 
 
Completely new pivoting will be used on refactorizations! 
 
Amesos2::ESolverType solverType_
 
std::string description() const 
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const 
 
ERefactorizationPolicy
The policy used on refactoring a matrix. 
 
typename Amesos2LinearOpWithSolve< Scalar >::MAT MAT
 
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
 
typename Amesos2LinearOpWithSolve< Scalar >::Solver Solver
 
typename Amesos2LinearOpWithSolve< Scalar >::MV MV
 
Tpetra::MultiVector< Scalar > MV
 
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
 
bool isCompatible(const LinearOpSourceBase< Scalar > &fwdOpSrc) const 
 
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const 
 
~Amesos2LinearOpWithSolveFactory()
 
bool supportsPreconditionerInputType(const EPreconditionerInputType precOpType) const 
Returns false . 
 
::Amesos2::Solver< MAT, MV > Solver
 
Amesos2LinearOpWithSolveFactory(const Amesos2::ESolverType solverType=Amesos2::LAPACK, const Amesos2::ERefactorizationPolicy refactorizationPolicy=Amesos2::REPIVOT_ON_REFACTORIZATION, const bool throwOnPrecInput=true)
Constructor which sets the defaults. 
 
Tpetra::CrsMatrix< Scalar > MAT
 
static const std::string RefactorizationPolicy_name
 
Teuchos::RCP< Teuchos::ParameterList > paramList_
 
Amesos2::ERefactorizationPolicy refactorizationPolicy_
 
static const std::string SolverType_name
 
void uninitializeOp(LinearOpWithSolveBase< Scalar > *Op, Teuchos::RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< Scalar > > *prec, Teuchos::RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const 
 
static const std::string ThrowOnPreconditionerInput_name