LinearOpWithSolveFactoryBase adapter subclass that uses Amesos direct solvers.
More...
#include <Thyra_AmesosLinearOpWithSolveFactory.hpp>
Constructors/initializers/accessors | |
| typedef Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > | epetraFwdOpViewExtractor_ptr_t |
| ~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. | |
| void | set_epetraFwdOpViewExtractor (const Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > &epetraFwdOpViewExtractor) |
Set the strategy object used to extract an Epetra_Operator view of an input forward operator. | |
| Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > | get_epetraFwdOpViewExtractor () const |
| EpetraOperatorViewExtractorBase & | epetraFwdOpViewExtractor () |
| const EpetraOperatorViewExtractorBase & | epetraFwdOpViewExtractor () const |
Overridden public functions from LinearOpWithSolveFactoryBase | |
| bool | isCompatible (const LinearOpSourceBase< double > &fwdOpSrc) const |
Returns true if dynamic_cast<const EpetraLinearOpBase*>(fwdOpSrc)!=NULL . | |
| Teuchos::RefCountPtr< LinearOpWithSolveBase< double > > | createOp () const |
| | |
| void | initializeOp (const Teuchos::RefCountPtr< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const |
| | |
| bool | supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const |
Returns false . | |
| void | initializePreconditionedOp (const Teuchos::RefCountPtr< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RefCountPtr< 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::RefCountPtr< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RefCountPtr< 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::RefCountPtr< const LinearOpSourceBase< double > > *fwdOpSrc, Teuchos::RefCountPtr< const PreconditionerBase< double > > *prec, Teuchos::RefCountPtr< const LinearOpSourceBase< double > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const |
| | |
Overridden from ParameterListAcceptor | |
| void | setParameterList (Teuchos::RefCountPtr< Teuchos::ParameterList > const ¶mList) |
| | |
| Teuchos::RefCountPtr< Teuchos::ParameterList > | getParameterList () |
| | |
| Teuchos::RefCountPtr< Teuchos::ParameterList > | unsetParameterList () |
| | |
| Teuchos::RefCountPtr< const Teuchos::ParameterList > | getParameterList () const |
| | |
| Teuchos::RefCountPtr< const Teuchos::ParameterList > | getValidParameters () const |
| | |
Public functions overridden from Teuchos::Describable. | |
| std::string | description () const |
| | |
Parameter names for Paramter List | |
| const std::string | SolverType_name = "Solver Type" |
| | |
| const std::string | RefactorizationPolicy_name = "Refactorization Policy" |
| | |
| const std::string | ThrowOnPreconditionerInput_name = "Throw on Preconditioner Input" |
| | |
| const std::string | Amesos_Settings_name = "Amesos Settings" |
| | |
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 an initialized by this object are completely indpendent 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 113 of file Thyra_AmesosLinearOpWithSolveFactory.hpp. |
|
|
Definition at line 101 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
||||||||||||||||
|
Constructor which sets the defaults.
Definition at line 111 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Set the strategy object used to extract an
This view will then be dynamically casted to
The default implementation used is Definition at line 113 of file Thyra_AmesosLinearOpWithSolveFactory.hpp. |
|
|
Definition at line 113 of file Thyra_AmesosLinearOpWithSolveFactory.hpp. |
|
|
Definition at line 113 of file Thyra_AmesosLinearOpWithSolveFactory.hpp. |
|
|
Definition at line 113 of file Thyra_AmesosLinearOpWithSolveFactory.hpp. |
|
|
Returns true if
Definition at line 126 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 147 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
||||||||||||||||
|
Definition at line 152 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Returns
Definition at line 324 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
||||||||||||||||||||
|
Throws exception if
Definition at line 329 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
||||||||||||||||||||
|
Throws exception if
Definition at line 344 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
||||||||||||||||||||||||
|
Definition at line 359 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 393 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 420 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 426 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 434 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 440 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 447 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 91 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 93 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 95 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
|
|
Definition at line 97 of file Thyra_AmesosLinearOpWithSolveFactory.cpp. |
1.3.9.1