Stratimikos Package Browser (Single Doxygen Collection) Version of the Day
Private Member Functions | Private Attributes
Thyra::BelosLinearOpWithSolve< Scalar > Class Template Reference

Concrete LinearOpWithSolveBase subclass in terms of Belos. More...

#include <Thyra_BelosLinearOpWithSolve_decl.hpp>

List of all members.

Private Member Functions

void assertInitialized () const

Private Attributes

RCP< Belos::LinearProblem
< Scalar, MV_t, LO_t > > 
lp_
RCP< Teuchos::ParameterListsolverPL_
RCP< Belos::SolverManager
< Scalar, MV_t, LO_t > > 
iterativeSolver_
int convergenceTestFrequency_
RCP< const LinearOpSourceBase
< Scalar > > 
fwdOpSrc_
RCP< const PreconditionerBase
< Scalar > > 
prec_
bool isExternalPrec_
RCP< const LinearOpSourceBase
< Scalar > > 
approxFwdOpSrc_
ESupportSolveUse supportSolveUse_
Teuchos::ScalarTraits< Scalar >
::magnitudeType 
defaultTol_

Public typedefs

typedef MultiVectorBase< Scalar > MV_t
 
typedef LinearOpBase< Scalar > LO_t
 

Constructors/initializers/accessors

 BelosLinearOpWithSolve ()
 Construct to unintialize.
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.
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.

Overridden from LinearOpBase

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
 

Overridden from Teuchos::Describable

std::string description () const
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Overridden from ParameterListAcceptor

void setParameterList (RCP< Teuchos::ParameterList > const &paramList)
 
RCP< Teuchos::ParameterListgetNonconstParameterList ()
 
RCP< Teuchos::ParameterListunsetParameterList ()
 
RCP< const Teuchos::ParameterListgetParameterList () const
 
RCP< const Teuchos::ParameterListgetValidParameters () const
 

Overridden from LinearOpWithSolveBase.

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
 

Detailed Description

template<class Scalar>
class Thyra::BelosLinearOpWithSolve< Scalar >

Concrete LinearOpWithSolveBase subclass in terms of Belos.

ToDo: Finish documentation!

Definition at line 23 of file Thyra_BelosLinearOpWithSolve_decl.hpp.


Member Typedef Documentation

template<class Scalar>
typedef MultiVectorBase<Scalar> Thyra::BelosLinearOpWithSolve< Scalar >::MV_t

Definition at line 31 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
typedef LinearOpBase<Scalar> Thyra::BelosLinearOpWithSolve< Scalar >::LO_t

Definition at line 33 of file Thyra_BelosLinearOpWithSolve_decl.hpp.


Constructor & Destructor Documentation

template<class Scalar >
Thyra::BelosLinearOpWithSolve< Scalar >::BelosLinearOpWithSolve ( )

Construct to unintialize.

Definition at line 106 of file Thyra_BelosLinearOpWithSolve_def.hpp.


Member Function Documentation

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 115 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
RCP< const LinearOpSourceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_fwdOpSrc ( )

Definition at line 155 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
RCP< const PreconditionerBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_prec ( )

Definition at line 166 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::isExternalPrec ( ) const

Definition at line 176 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
RCP< const LinearOpSourceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_approxFwdOpSrc ( )

Definition at line 184 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
ESupportSolveUse Thyra::BelosLinearOpWithSolve< Scalar >::supportSolveUse ( ) const

Definition at line 194 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 
)

Uninitializes and returns stored quantities.

ToDo: Finish documentation!

Definition at line 201 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::range ( ) const

Definition at line 237 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::domain ( ) const

Definition at line 247 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
RCP< const LinearOpBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::clone ( ) const

Definition at line 257 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
std::string Thyra::BelosLinearOpWithSolve< Scalar >::description ( ) const

Definition at line 267 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel 
) const

Definition at line 288 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar>
void Thyra::BelosLinearOpWithSolve< Scalar >::setParameterList ( RCP< Teuchos::ParameterList > const &  paramList)

template<class Scalar>
RCP<Teuchos::ParameterList> Thyra::BelosLinearOpWithSolve< Scalar >::getNonconstParameterList ( )

template<class Scalar>
RCP<Teuchos::ParameterList> Thyra::BelosLinearOpWithSolve< Scalar >::unsetParameterList ( )

template<class Scalar>
RCP<const Teuchos::ParameterList> Thyra::BelosLinearOpWithSolve< Scalar >::getParameterList ( ) const

template<class Scalar>
RCP<const Teuchos::ParameterList> Thyra::BelosLinearOpWithSolve< Scalar >::getValidParameters ( ) const

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::opSupportedImpl ( EOpTransp  M_trans) const [protected, virtual]

Definition at line 337 of file Thyra_BelosLinearOpWithSolve_def.hpp.

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 [protected, virtual]

Definition at line 344 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsImpl ( EOpTransp  M_trans) const [protected, virtual]

Definition at line 361 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsNewImpl ( EOpTransp  transp,
const Ptr< const SolveCriteria< Scalar > >  solveCriteria 
) const [protected, virtual]

Definition at line 369 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureTypeImpl ( EOpTransp  M_trans,
const SolveMeasureType &  solveMeasureType 
) const [protected, virtual]

Definition at line 394 of file Thyra_BelosLinearOpWithSolve_def.hpp.

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 [protected, virtual]

Definition at line 404 of file Thyra_BelosLinearOpWithSolve_def.hpp.

template<class Scalar>
void Thyra::BelosLinearOpWithSolve< Scalar >::assertInitialized ( ) const [private]

Member Data Documentation

template<class Scalar>
RCP<Belos::LinearProblem<Scalar,MV_t,LO_t> > Thyra::BelosLinearOpWithSolve< Scalar >::lp_ [private]

Definition at line 205 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<Teuchos::ParameterList> Thyra::BelosLinearOpWithSolve< Scalar >::solverPL_ [private]

Definition at line 206 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<Belos::SolverManager<Scalar,MV_t,LO_t> > Thyra::BelosLinearOpWithSolve< Scalar >::iterativeSolver_ [private]

Definition at line 207 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
int Thyra::BelosLinearOpWithSolve< Scalar >::convergenceTestFrequency_ [private]

Definition at line 208 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<const LinearOpSourceBase<Scalar> > Thyra::BelosLinearOpWithSolve< Scalar >::fwdOpSrc_ [private]

Definition at line 210 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<const PreconditionerBase<Scalar> > Thyra::BelosLinearOpWithSolve< Scalar >::prec_ [private]

Definition at line 211 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
bool Thyra::BelosLinearOpWithSolve< Scalar >::isExternalPrec_ [private]

Definition at line 212 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<const LinearOpSourceBase<Scalar> > Thyra::BelosLinearOpWithSolve< Scalar >::approxFwdOpSrc_ [private]

Definition at line 213 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
ESupportSolveUse Thyra::BelosLinearOpWithSolve< Scalar >::supportSolveUse_ [private]

Definition at line 214 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

template<class Scalar>
Teuchos::ScalarTraits<Scalar>::magnitudeType Thyra::BelosLinearOpWithSolve< Scalar >::defaultTol_ [private]

Definition at line 216 of file Thyra_BelosLinearOpWithSolve_decl.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines