|
Stratimikos
Version of the Day
|
Concrete LinearOpWithSolveBase subclass that adapts any Amesos_BaseSolver object.
More...
#include <Thyra_AmesosLinearOpWithSolve.hpp>

Constructors/initializers/accessors | |
| AmesosLinearOpWithSolve () | |
| Construct to uninitialized. More... | |
| AmesosLinearOpWithSolve (const Teuchos::RCP< const LinearOpBase< double > > &fwdOp, const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< Epetra_LinearProblem > &epetraLP, const Teuchos::RCP< Amesos_BaseSolver > &amesosSolver, const EOpTransp amesosSolverTransp, const double amesosSolverScalar) | |
Calls this->initialize(). More... | |
| void | initialize (const Teuchos::RCP< const LinearOpBase< double > > &fwdOp, const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< Epetra_LinearProblem > &epetraLP, const Teuchos::RCP< Amesos_BaseSolver > &amesosSolver, const EOpTransp amesosSolverTransp, const double amesosSolverScalar) |
| First initialization. More... | |
| Teuchos::RCP< const LinearOpSourceBase< double > > | extract_fwdOpSrc () |
Extract the LinearOpSourceBase<double> object so that it can be modified. More... | |
| Teuchos::RCP< const LinearOpBase< double > > | get_fwdOp () const |
| Teuchos::RCP< const LinearOpSourceBase< double > > | get_fwdOpSrc () const |
| Teuchos::RCP < Epetra_LinearProblem > | get_epetraLP () const |
| Teuchos::RCP< Amesos_BaseSolver > | get_amesosSolver () const |
| EOpTransp | get_amesosSolverTransp () const |
| double | get_amesosSolverScalar () const |
| void | uninitialize (Teuchos::RCP< const LinearOpBase< double > > *fwdOp=NULL, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc=NULL, Teuchos::RCP< Epetra_LinearProblem > *epetraLP=NULL, Teuchos::RCP< Amesos_BaseSolver > *amesosSolver=NULL, EOpTransp *amesosSolverTransp=NULL, double *amesosSolverScalar=NULL) |
| Uninitialize. More... | |
Overridden public functions from LinearOpBase | |
| Teuchos::RCP< const VectorSpaceBase< double > > | range () const |
| Teuchos::RCP< const VectorSpaceBase< double > > | domain () const |
| Teuchos::RCP< const LinearOpBase< double > > | clone () const |
Overridden public functions from Teuchos::Describable | |
| std::string | description () const |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
Overridden from LinearOpBase | |
| virtual bool | opSupportedImpl (EOpTransp M_trans) const |
| virtual void | applyImpl (const EOpTransp M_trans, const MultiVectorBase< double > &X, const Ptr< MultiVectorBase< double > > &Y, const double alpha, const double beta) const |
Overridden from LinearOpWithSolveBase. | |
| virtual bool | solveSupportsImpl (EOpTransp M_trans) const |
| virtual bool | solveSupportsSolveMeasureTypeImpl (EOpTransp M_trans, const SolveMeasureType &solveMeasureType) const |
| SolveStatus< double > | solveImpl (const EOpTransp M_trans, const MultiVectorBase< double > &B, const Ptr< MultiVectorBase< double > > &X, const Ptr< const SolveCriteria< double > > solveCriteria) const |
Concrete LinearOpWithSolveBase subclass that adapts any Amesos_BaseSolver object.
See the LinearOpWithSolveBase interface for a description of how to use objects of this type.
Note: Clients should not generally directly create objects of this type but instead should use AmesosLinearOpWithSolveFactory. Only very sophisticated users should ever directly interact with an object through this subclass interface.
Definition at line 70 of file Thyra_AmesosLinearOpWithSolve.hpp.
| Thyra::AmesosLinearOpWithSolve::AmesosLinearOpWithSolve | ( | ) |
Construct to uninitialized.
Definition at line 57 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Thyra::AmesosLinearOpWithSolve::AmesosLinearOpWithSolve | ( | const Teuchos::RCP< const LinearOpBase< double > > & | fwdOp, |
| const Teuchos::RCP< const LinearOpSourceBase< double > > & | fwdOpSrc, | ||
| const Teuchos::RCP< Epetra_LinearProblem > & | epetraLP, | ||
| const Teuchos::RCP< Amesos_BaseSolver > & | amesosSolver, | ||
| const EOpTransp | amesosSolverTransp, | ||
| const double | amesosSolverScalar | ||
| ) |
Calls this->initialize().
Definition at line 63 of file Thyra_AmesosLinearOpWithSolve.cpp.
| void Thyra::AmesosLinearOpWithSolve::initialize | ( | const Teuchos::RCP< const LinearOpBase< double > > & | fwdOp, |
| const Teuchos::RCP< const LinearOpSourceBase< double > > & | fwdOpSrc, | ||
| const Teuchos::RCP< Epetra_LinearProblem > & | epetraLP, | ||
| const Teuchos::RCP< Amesos_BaseSolver > & | amesosSolver, | ||
| const EOpTransp | amesosSolverTransp, | ||
| const double | amesosSolverScalar | ||
| ) |
First initialization.
| fwdOp | [in] The forward operator for which the factorization exists. |
| epetraLP | [in] The Epetra_LinearProblem object that was used to create the Amesos_BaseSolver object *amesosSolver. Note that the RHS and the LHS multi-vector pointers in this object will be set and unset here. |
| amesosSolver | [in] Contains the factored, and ready to go, Amesos_BaseSolver object ready to solve linear system. |
| amesosSolverTransp | [in] Determines if the Amesos solver should be used as its transpose or not. |
| amesosSolverScalar | [in] Determines the scaling factor associated with the Amesos solver. The solution to the linear solve is scaled by 1/amesosSolverScalar. |
Preconditions:
fwdOp.get()!=NULL epetraLP.get()!=NULL amesosSolver.get()!=NULL *epetraLP->GetOperator() is compatible with *fwdOp epetraLP->GetLHS()==NULL epetraLP->GetRHS()==NULL *amesosSolver contains the factorization of *fwdOp and is ready to solve linear systems! Postconditions:
this->get_fwdOp().get() == fwdOp.get() this->get_epetraLP().get() == epetraLP.get() this->get_amesosSolver().get() == amesosSolver.get() this->get_amesosSolverTransp() == amesosSolverTransp this->get_amesosSolverScalar() == amesosSolverScalar Definition at line 77 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Teuchos::RCP< const LinearOpSourceBase< double > > Thyra::AmesosLinearOpWithSolve::extract_fwdOpSrc | ( | ) |
Extract the LinearOpSourceBase<double> object so that it can be modified.
Postconditions:
return.get() is the same as this->get_fwdOpSrc().get() before call. this->get_fwdOpSrc().get()==NULL Definition at line 107 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
inline |
Definition at line 251 of file Thyra_AmesosLinearOpWithSolve.hpp.
|
inline |
Definition at line 258 of file Thyra_AmesosLinearOpWithSolve.hpp.
|
inline |
Definition at line 265 of file Thyra_AmesosLinearOpWithSolve.hpp.
|
inline |
Definition at line 272 of file Thyra_AmesosLinearOpWithSolve.hpp.
|
inline |
Definition at line 278 of file Thyra_AmesosLinearOpWithSolve.hpp.
|
inline |
Definition at line 284 of file Thyra_AmesosLinearOpWithSolve.hpp.
| void Thyra::AmesosLinearOpWithSolve::uninitialize | ( | Teuchos::RCP< const LinearOpBase< double > > * | fwdOp = NULL, |
| Teuchos::RCP< const LinearOpSourceBase< double > > * | fwdOpSrc = NULL, |
||
| Teuchos::RCP< Epetra_LinearProblem > * | epetraLP = NULL, |
||
| Teuchos::RCP< Amesos_BaseSolver > * | amesosSolver = NULL, |
||
| EOpTransp * | amesosSolverTransp = NULL, |
||
| double * | amesosSolverScalar = NULL |
||
| ) |
Uninitialize.
Definition at line 116 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
virtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 147 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
virtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 154 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Teuchos::RCP< const LinearOpBase< double > > Thyra::AmesosLinearOpWithSolve::clone | ( | ) | const |
Definition at line 161 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 170 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 183 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
protectedvirtual |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 225 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
protectedvirtual |
Definition at line 231 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
protectedvirtual |
Reimplemented from Thyra::LinearOpWithSolveBase< double >.
Definition at line 246 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
protectedvirtual |
Reimplemented from Thyra::LinearOpWithSolveBase< double >.
Definition at line 266 of file Thyra_AmesosLinearOpWithSolve.cpp.
|
protectedvirtual |
Implements Thyra::LinearOpWithSolveBase< double >.
Definition at line 275 of file Thyra_AmesosLinearOpWithSolve.cpp.
1.8.5