|
Stratimikos Package Browser (Single Doxygen Collection)
Version of the Day
|
Concrete LinearOpWithSolveBase subclass that adapts any Amesos_BaseSolver object.
More...
#include <Thyra_AmesosLinearOpWithSolve.hpp>
Private Member Functions | |
| void | assertInitialized () const |
Private Attributes | |
| Teuchos::RCP< const LinearOpBase< double > > | fwdOp_ |
| Teuchos::RCP< const LinearOpSourceBase< double > > | fwdOpSrc_ |
| Teuchos::RCP < Epetra_LinearProblem > | epetraLP_ |
| Teuchos::RCP< Amesos_BaseSolver > | amesosSolver_ |
| EOpTransp | amesosSolverTransp_ |
| double | amesosSolverScalar_ |
Constructors/initializers/accessors | |
| AmesosLinearOpWithSolve () | |
| Construct to uninitialized. | |
| 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(). | |
| 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. | |
| Teuchos::RCP< const LinearOpSourceBase< double > > | extract_fwdOpSrc () |
Extract the LinearOpSourceBase<double> object so that it can be modified. | |
| 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. | |
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 57 of file Thyra_AmesosLinearOpWithSolve.hpp.
Construct to uninitialized.
Definition at line 44 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 48 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 62 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 92 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Teuchos::RCP< const LinearOpBase< double > > Thyra::AmesosLinearOpWithSolve::get_fwdOp | ( | ) | const [inline] |
Definition at line 238 of file Thyra_AmesosLinearOpWithSolve.hpp.
| Teuchos::RCP< const LinearOpSourceBase< double > > Thyra::AmesosLinearOpWithSolve::get_fwdOpSrc | ( | ) | const [inline] |
Definition at line 245 of file Thyra_AmesosLinearOpWithSolve.hpp.
| Teuchos::RCP< Epetra_LinearProblem > Thyra::AmesosLinearOpWithSolve::get_epetraLP | ( | ) | const [inline] |
Definition at line 252 of file Thyra_AmesosLinearOpWithSolve.hpp.
| Teuchos::RCP< Amesos_BaseSolver > Thyra::AmesosLinearOpWithSolve::get_amesosSolver | ( | ) | const [inline] |
Definition at line 259 of file Thyra_AmesosLinearOpWithSolve.hpp.
| EOpTransp Thyra::AmesosLinearOpWithSolve::get_amesosSolverTransp | ( | ) | const [inline] |
Definition at line 265 of file Thyra_AmesosLinearOpWithSolve.hpp.
| double Thyra::AmesosLinearOpWithSolve::get_amesosSolverScalar | ( | ) | const [inline] |
Definition at line 271 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 101 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Teuchos::RCP< const VectorSpaceBase< double > > Thyra::AmesosLinearOpWithSolve::range | ( | ) | const |
Definition at line 132 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Teuchos::RCP< const VectorSpaceBase< double > > Thyra::AmesosLinearOpWithSolve::domain | ( | ) | const |
Definition at line 139 of file Thyra_AmesosLinearOpWithSolve.cpp.
| Teuchos::RCP< const LinearOpBase< double > > Thyra::AmesosLinearOpWithSolve::clone | ( | ) | const |
Definition at line 146 of file Thyra_AmesosLinearOpWithSolve.cpp.
| std::string Thyra::AmesosLinearOpWithSolve::description | ( | ) | const |
Definition at line 155 of file Thyra_AmesosLinearOpWithSolve.cpp.
| void Thyra::AmesosLinearOpWithSolve::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel | ||
| ) | const |
Definition at line 168 of file Thyra_AmesosLinearOpWithSolve.cpp.
| bool Thyra::AmesosLinearOpWithSolve::opSupportedImpl | ( | EOpTransp | M_trans | ) | const [protected, virtual] |
Definition at line 210 of file Thyra_AmesosLinearOpWithSolve.cpp.
| void Thyra::AmesosLinearOpWithSolve::applyImpl | ( | const EOpTransp | M_trans, |
| const MultiVectorBase< double > & | X, | ||
| const Ptr< MultiVectorBase< double > > & | Y, | ||
| const double | alpha, | ||
| const double | beta | ||
| ) | const [protected, virtual] |
Definition at line 216 of file Thyra_AmesosLinearOpWithSolve.cpp.
| bool Thyra::AmesosLinearOpWithSolve::solveSupportsImpl | ( | EOpTransp | M_trans | ) | const [protected, virtual] |
Definition at line 231 of file Thyra_AmesosLinearOpWithSolve.cpp.
| bool Thyra::AmesosLinearOpWithSolve::solveSupportsSolveMeasureTypeImpl | ( | EOpTransp | M_trans, |
| const SolveMeasureType & | solveMeasureType | ||
| ) | const [protected, virtual] |
Definition at line 251 of file Thyra_AmesosLinearOpWithSolve.cpp.
| SolveStatus< double > Thyra::AmesosLinearOpWithSolve::solveImpl | ( | const EOpTransp | M_trans, |
| const MultiVectorBase< double > & | B, | ||
| const Ptr< MultiVectorBase< double > > & | X, | ||
| const Ptr< const SolveCriteria< double > > | solveCriteria | ||
| ) | const [protected] |
Definition at line 260 of file Thyra_AmesosLinearOpWithSolve.cpp.
| void Thyra::AmesosLinearOpWithSolve::assertInitialized | ( | ) | const [private] |
Teuchos::RCP<const LinearOpBase<double> > Thyra::AmesosLinearOpWithSolve::fwdOp_ [private] |
Definition at line 222 of file Thyra_AmesosLinearOpWithSolve.hpp.
Teuchos::RCP<const LinearOpSourceBase<double> > Thyra::AmesosLinearOpWithSolve::fwdOpSrc_ [private] |
Definition at line 223 of file Thyra_AmesosLinearOpWithSolve.hpp.
Teuchos::RCP<Epetra_LinearProblem> Thyra::AmesosLinearOpWithSolve::epetraLP_ [private] |
Definition at line 224 of file Thyra_AmesosLinearOpWithSolve.hpp.
Teuchos::RCP<Amesos_BaseSolver> Thyra::AmesosLinearOpWithSolve::amesosSolver_ [private] |
Definition at line 225 of file Thyra_AmesosLinearOpWithSolve.hpp.
EOpTransp Thyra::AmesosLinearOpWithSolve::amesosSolverTransp_ [private] |
Definition at line 226 of file Thyra_AmesosLinearOpWithSolve.hpp.
double Thyra::AmesosLinearOpWithSolve::amesosSolverScalar_ [private] |
Definition at line 227 of file Thyra_AmesosLinearOpWithSolve.hpp.
1.7.6.1