|
Stratimikos Package Browser (Single Doxygen Collection)
Version of the Day
|
Concrete LinearOpWithSolveFactoryBase adapter subclass that uses Amesos direct solvers.
More...
#include <Thyra_AmesosLinearOpWithSolveFactory.hpp>
Static Private Member Functions | |
| static Teuchos::RCP< const Teuchos::ParameterList > | generateAndGetValidParameters () |
Private Attributes | |
| Amesos::ESolverType | solverType_ |
| Amesos::ERefactorizationPolicy | refactorizationPolicy_ |
| bool | throwOnPrecInput_ |
| Teuchos::RCP < Teuchos::ParameterList > | paramList_ |
Parameter names for Paramter List | |
| static const std::string | SolverType_name = "Solver Type" |
| | |
| static const std::string | RefactorizationPolicy_name = "Refactorization Policy" |
| | |
| static const std::string | ThrowOnPreconditionerInput_name = "Throw on Preconditioner Input" |
| | |
| static const std::string | Amesos_Settings_name = "Amesos Settings" |
| | |
Constructors/initializers/accessors | |
| ~AmesosLinearOpWithSolveFactory () | |
| | |
| AmesosLinearOpWithSolveFactory (const Amesos::ESolverType solverType=Amesos::LAPACK, const Amesos::ERefactorizationPolicy refactorizationPolicy=Amesos::REPIVOT_ON_REFACTORIZATION, const bool throwOnPrecInput=true) | |
| Constructor which sets the defaults. | |
| STANDARD_COMPOSITION_MEMBERS (EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor) | |
Set the strategy object used to extract an Epetra_Operator view of an input forward operator. | |
Overridden public functions from LinearOpWithSolveFactoryBase | |
| bool | isCompatible (const LinearOpSourceBase< double > &fwdOpSrc) const |
Returns true if dynamic_cast<const EpetraLinearOpBase*>(fwdOpSrc)!=NULL . | |
| Teuchos::RCP < LinearOpWithSolveBase < double > > | createOp () const |
| | |
| void | initializeOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const |
| | |
| bool | supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const |
Returns false . | |
| void | initializePreconditionedOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const |
Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise. | |
| void | initializePreconditionedOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const |
Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise. | |
| void | uninitializeOp (LinearOpWithSolveBase< double > *Op, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< double > > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const |
| | |
Overridden from ParameterListAcceptor | |
| void | setParameterList (Teuchos::RCP< Teuchos::ParameterList > const ¶mList) |
| | |
| Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () |
| | |
| Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () |
| | |
| Teuchos::RCP< const Teuchos::ParameterList > | getParameterList () const |
| | |
| Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
| | |
Public functions overridden from Teuchos::Describable. | |
| std::string | description () const |
| | |
Concrete LinearOpWithSolveFactoryBase adapter subclass that uses Amesos direct solvers.
This class creates objects of type AmesosLinearOpWithSolve (through the LinearOpWithSolveBase interface) which can then be used to solve for linear systems. The AmesosLinearOpWithSolve objects created and initialized by this object are completely independent from *this. This allows for multiple AmesosLinearOpWithSolve objects to be created and maintained simultaneously and for *this factory object to be destroyed without affecting the created AmesosLinearOpWithSolve objects.
ToDo: Mention parameter list usage.
Development notes: This class has been designed to allow for "smart" EpetraLinearOpBase subclasses that can create an Epetra_Operator view on command where the underlying storage may not be an Epetra object. However, the current implementation of at least some of the Amesos_BaseSolver subclasses do not allow the Epetra_Operator object to change after construction. Therefore, this current flawed implementation requires that every call to the EpetraLinearOpBase::getEpetraOpView() function return the same Epetra_Operator object.
Definition at line 69 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
Definition at line 101 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| Thyra::AmesosLinearOpWithSolveFactory::AmesosLinearOpWithSolveFactory | ( | const Amesos::ESolverType | solverType = Amesos::LAPACK, |
| const Amesos::ERefactorizationPolicy | refactorizationPolicy = Amesos::REPIVOT_ON_REFACTORIZATION, |
||
| const bool | throwOnPrecInput = true |
||
| ) |
Constructor which sets the defaults.
Definition at line 111 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| Thyra::AmesosLinearOpWithSolveFactory::STANDARD_COMPOSITION_MEMBERS | ( | EpetraOperatorViewExtractorBase | , |
| epetraFwdOpViewExtractor | |||
| ) |
Set the strategy object used to extract an Epetra_Operator view of an input forward operator.
This view will then be dynamically casted to Epetra_RowMatrix before it is used.
The default implementation used is EpetraOperatorViewExtractorBase.
| bool Thyra::AmesosLinearOpWithSolveFactory::isCompatible | ( | const LinearOpSourceBase< double > & | fwdOpSrc | ) | const |
Returns true if dynamic_cast<const EpetraLinearOpBase*>(fwdOpSrc)!=NULL .
Definition at line 124 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| RCP< LinearOpWithSolveBase< double > > Thyra::AmesosLinearOpWithSolveFactory::createOp | ( | ) | const |
Definition at line 148 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| void Thyra::AmesosLinearOpWithSolveFactory::initializeOp | ( | const Teuchos::RCP< const LinearOpSourceBase< double > > & | fwdOpSrc, |
| LinearOpWithSolveBase< double > * | Op, | ||
| const ESupportSolveUse | supportSolveUse | ||
| ) | const |
Definition at line 153 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| bool Thyra::AmesosLinearOpWithSolveFactory::supportsPreconditionerInputType | ( | const EPreconditionerInputType | precOpType | ) | const |
Returns false .
Definition at line 347 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| void Thyra::AmesosLinearOpWithSolveFactory::initializePreconditionedOp | ( | const Teuchos::RCP< const LinearOpSourceBase< double > > & | fwdOpSrc, |
| const Teuchos::RCP< const PreconditionerBase< double > > & | prec, | ||
| LinearOpWithSolveBase< double > * | Op, | ||
| const ESupportSolveUse | supportSolveUse | ||
| ) | const |
Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise.
Definition at line 352 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| void Thyra::AmesosLinearOpWithSolveFactory::initializePreconditionedOp | ( | const Teuchos::RCP< const LinearOpSourceBase< double > > & | fwdOpSrc, |
| const Teuchos::RCP< const LinearOpSourceBase< double > > & | approxFwdOpSrc, | ||
| LinearOpWithSolveBase< double > * | Op, | ||
| const ESupportSolveUse | supportSolveUse | ||
| ) | const |
Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise.
Definition at line 367 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| void Thyra::AmesosLinearOpWithSolveFactory::uninitializeOp | ( | LinearOpWithSolveBase< double > * | Op, |
| Teuchos::RCP< const LinearOpSourceBase< double > > * | fwdOpSrc, | ||
| Teuchos::RCP< const PreconditionerBase< double > > * | prec, | ||
| Teuchos::RCP< const LinearOpSourceBase< double > > * | approxFwdOpSrc, | ||
| ESupportSolveUse * | supportSolveUse | ||
| ) | const |
Definition at line 382 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| void Thyra::AmesosLinearOpWithSolveFactory::setParameterList | ( | Teuchos::RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 416 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
Definition at line 444 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
Definition at line 450 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getParameterList | ( | ) | const |
Definition at line 458 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getValidParameters | ( | ) | const |
Definition at line 464 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| std::string Thyra::AmesosLinearOpWithSolveFactory::description | ( | ) | const |
Definition at line 471 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
| RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::generateAndGetValidParameters | ( | ) | [static, private] |
Definition at line 483 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
const std::string Thyra::AmesosLinearOpWithSolveFactory::SolverType_name = "Solver Type" [static] |
Definition at line 76 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
const std::string Thyra::AmesosLinearOpWithSolveFactory::RefactorizationPolicy_name = "Refactorization Policy" [static] |
Definition at line 78 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
const std::string Thyra::AmesosLinearOpWithSolveFactory::ThrowOnPreconditionerInput_name = "Throw on Preconditioner Input" [static] |
Definition at line 80 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
const std::string Thyra::AmesosLinearOpWithSolveFactory::Amesos_Settings_name = "Amesos Settings" [static] |
Definition at line 82 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
Definition at line 198 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
Amesos::ERefactorizationPolicy Thyra::AmesosLinearOpWithSolveFactory::refactorizationPolicy_ [private] |
Definition at line 199 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
bool Thyra::AmesosLinearOpWithSolveFactory::throwOnPrecInput_ [private] |
Definition at line 200 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
Definition at line 201 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
1.7.6.1