Concrete LinearOpWithSolveBase
subclass in terms of Belos
.
More...
#include <Thyra_BelosLinearOpWithSolve_decl.hpp>
Inherits LinearOpWithSolveBase< Scalar >.
|
typedef MultiVectorBase< Scalar > | MV_t |
|
typedef LinearOpBase< Scalar > | LO_t |
|
|
| BelosLinearOpWithSolve () |
| Construct to unintialize. More...
|
|
void | initialize (const RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > &lp, const RCP< Teuchos::ParameterList > &solverPL, const RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > &iterativeSolver, const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const PreconditionerBase< Scalar > > &prec, const bool isExternalPrec, const RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, const ESupportSolveUse &supportSolveUse, const int convergenceTestFrequency) |
| Initializes given precreated solver objects. More...
|
|
RCP< const LinearOpSourceBase
< Scalar > > | extract_fwdOpSrc () |
|
RCP< const PreconditionerBase
< Scalar > > | extract_prec () |
|
bool | isExternalPrec () const |
|
RCP< const LinearOpSourceBase
< Scalar > > | extract_approxFwdOpSrc () |
|
ESupportSolveUse | supportSolveUse () const |
|
void | uninitialize (RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > *lp=NULL, RCP< Teuchos::ParameterList > *solverPL=NULL, RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > *iterativeSolver=NULL, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc=NULL, RCP< const PreconditionerBase< Scalar > > *prec=NULL, bool *isExternalPrec=NULL, RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc=NULL, ESupportSolveUse *supportSolveUse=NULL) |
| Uninitializes and returns stored quantities. More...
|
|
|
RCP< const VectorSpaceBase
< Scalar > > | range () const |
|
RCP< const VectorSpaceBase
< Scalar > > | domain () const |
|
RCP< const LinearOpBase< Scalar > > | clone () const |
|
virtual bool | opSupportedImpl (EOpTransp M_trans) const |
|
virtual void | applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const |
|
|
virtual bool | solveSupportsImpl (EOpTransp M_trans) const |
|
virtual bool | solveSupportsNewImpl (EOpTransp transp, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const |
|
virtual bool | solveSupportsSolveMeasureTypeImpl (EOpTransp M_trans, const SolveMeasureType &solveMeasureType) const |
|
virtual SolveStatus< Scalar > | solveImpl (const EOpTransp transp, const MultiVectorBase< Scalar > &B, const Ptr< MultiVectorBase< Scalar > > &X, const Ptr< const SolveCriteria< Scalar > > solveCriteria) const |
|
template<class Scalar>
class Thyra::BelosLinearOpWithSolve< Scalar >
Concrete LinearOpWithSolveBase
subclass in terms of Belos
.
ToDo: Finish documentation!
Definition at line 31 of file Thyra_BelosLinearOpWithSolve_decl.hpp.
template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::initialize |
( |
const RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > & |
lp, |
|
|
const RCP< Teuchos::ParameterList > & |
solverPL, |
|
|
const RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > & |
iterativeSolver, |
|
|
const RCP< const LinearOpSourceBase< Scalar > > & |
fwdOpSrc, |
|
|
const RCP< const PreconditionerBase< Scalar > > & |
prec, |
|
|
const bool |
isExternalPrec, |
|
|
const RCP< const LinearOpSourceBase< Scalar > > & |
approxFwdOpSrc, |
|
|
const ESupportSolveUse & |
supportSolveUse, |
|
|
const int |
convergenceTestFrequency |
|
) |
| |
Initializes given precreated solver objects.
- Parameters
-
lp | [in] The linear problem that was used to initialize the iterative solver. The RHS and LHS arguments are set on this object to solve a linear system. |
solverPL | [in] Parameter list that is used by the iterative solver. |
iterativeSolver | [in] The iterative solver manager that will be used to solve for linear systems. This has links to *lp , *solverPL already embedded. |
fwdOpSrc | [in] The source for the forward operator object defining the linear system. This object is not used here, it is just being "remembered" so that it can be extracted by BelosLinearOpWithSolveFactory::unitializeOp() . |
prec | [in] The preconditioner object that was used to get the preconditioners set in *lp This object is not used here, it is just being "remembered" so that it can be extracted by BelosLinearOpWithSolveFactory::unitializeOp() . |
isExternalPrec | [in] Determines if the preconditioner was set by an external client or was created internally by the BelosLinearOpWithSolveFactory object. This is not used here, it is just being "remembered" so that it can be used in the logic for BelosLinearOpWithSolveFactory::unitializeOp() . |
approxFwdOpSrc | [in] The external approximate forward operator object that was used to create the internal preconditioner. This object is not used here, it is just being "remembered" so that it can be extracted by BelosLinearOpWithSolveFactory::unitializeOp() . |
supportSolveUse | [in] Argument passed to BelosLinearOpWithSolveFactory that is being remembered here to be passed back to BelosLinearOpWithSolveFactory::unitializeOp() . |
ToDo: Finish documentation!
Definition at line 133 of file Thyra_BelosLinearOpWithSolve_def.hpp.
template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::uninitialize |
( |
RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > * |
lp = NULL , |
|
|
RCP< Teuchos::ParameterList > * |
solverPL = NULL , |
|
|
RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > * |
iterativeSolver = NULL , |
|
|
RCP< const LinearOpSourceBase< Scalar > > * |
fwdOpSrc = NULL , |
|
|
RCP< const PreconditionerBase< Scalar > > * |
prec = NULL , |
|
|
bool * |
isExternalPrec = NULL , |
|
|
RCP< const LinearOpSourceBase< Scalar > > * |
approxFwdOpSrc = NULL , |
|
|
ESupportSolveUse * |
supportSolveUse = NULL |
|
) |
| |
template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::applyImpl |
( |
const EOpTransp |
M_trans, |
|
|
const MultiVectorBase< Scalar > & |
X, |
|
|
const Ptr< MultiVectorBase< Scalar > > & |
Y, |
|
|
const Scalar |
alpha, |
|
|
const Scalar |
beta |
|
) |
| const |
|
protectedvirtual |
template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsNewImpl |
( |
EOpTransp |
transp, |
|
|
const Ptr< const SolveCriteria< Scalar > > |
solveCriteria |
|
) |
| const |
|
protectedvirtual |
template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureTypeImpl |
( |
EOpTransp |
M_trans, |
|
|
const SolveMeasureType & |
solveMeasureType |
|
) |
| const |
|
protectedvirtual |
template<class Scalar >
SolveStatus< Scalar > Thyra::BelosLinearOpWithSolve< Scalar >::solveImpl |
( |
const EOpTransp |
transp, |
|
|
const MultiVectorBase< Scalar > & |
B, |
|
|
const Ptr< MultiVectorBase< Scalar > > & |
X, |
|
|
const Ptr< const SolveCriteria< Scalar > > |
solveCriteria |
|
) |
| const |
|
protectedvirtual |
The documentation for this class was generated from the following files: