Thyra::BelosLinearOpWithSolve< Scalar > Class Template Reference

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

#include <Thyra_BelosLinearOpWithSolveDecl.hpp>

Inheritance diagram for Thyra::BelosLinearOpWithSolve< Scalar >:

Inheritance graph
[legend]

List of all members.

Public typedefs



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

Constructors/initializers/accessors



 BelosLinearOpWithSolve ()
 Construct to unintialize.
 BelosLinearOpWithSolve (const Teuchos::RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > &lp, const Teuchos::RCP< Teuchos::ParameterList > &solverPL, const Teuchos::RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > &iterativeSolver, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< Scalar > > &prec, const bool isExternalPrec, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, const ESupportSolveUse &supportSolveUse)
 Calls initialize().
void initialize (const Teuchos::RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > &lp, const Teuchos::RCP< Teuchos::ParameterList > &solverPL, const Teuchos::RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > &iterativeSolver, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< Scalar > > &prec, const bool isExternalPrec, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, const ESupportSolveUse &supportSolveUse)
 Initializes given precreated solver objects.
Teuchos::RCP< const
LinearOpSourceBase< Scalar > > 
extract_fwdOpSrc ()
 
Teuchos::RCP< const
PreconditionerBase< Scalar > > 
extract_prec ()
 
bool isExternalPrec () const
 
Teuchos::RCP< const
LinearOpSourceBase< Scalar > > 
extract_approxFwdOpSrc ()
 
ESupportSolveUse supportSolveUse () const
 
void uninitialize (Teuchos::RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > *lp=NULL, Teuchos::RCP< Teuchos::ParameterList > *solverPL=NULL, Teuchos::RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > *iterativeSolver=NULL, Teuchos::RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc=NULL, Teuchos::RCP< const PreconditionerBase< Scalar > > *prec=NULL, bool *isExternalPrec=NULL, Teuchos::RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc=NULL, ESupportSolveUse *supportSolveUse=NULL)
 Uninitializes and returns stored quantities.

Overridden from LinearOpBase



Teuchos::RCP< const
VectorSpaceBase< Scalar > > 
range () const
 
Teuchos::RCP< const
VectorSpaceBase< Scalar > > 
domain () const
 
Teuchos::RCP< const
LinearOpBase< Scalar > > 
clone () const
 

Overridden from Teuchos::Describable



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

Overridden from ParameterListAcceptor



void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &paramList)
 
Teuchos::RCP
< Teuchos::ParameterList
getParameterList ()
 
Teuchos::RCP
< Teuchos::ParameterList
unsetParameterList ()
 
Teuchos::RCP< const
Teuchos::ParameterList
getParameterList () const
 
Teuchos::RCP< const
Teuchos::ParameterList
getValidParameters () const
 

Overridden from SingleScalarLinearOpBase



bool opSupported (ETransp M_trans) const
 
void apply (const ETransp M_trans, const MultiVectorBase< Scalar > &X, MultiVectorBase< Scalar > *Y, const Scalar alpha, const Scalar beta) const
 

Overridden from SingleScalarLinearOpWithSolveBase



bool solveSupportsTrans (ETransp M_trans) const
 
bool solveSupportsSolveMeasureType (ETransp M_trans, const SolveMeasureType &solveMeasureType) const
 
void solve (const ETransp M_trans, const MultiVectorBase< Scalar > &B, MultiVectorBase< Scalar > *X, const int numBlocks, const BlockSolveCriteria< Scalar > blockSolveCriteria[], SolveStatus< Scalar > blockSolveStatus[]) const
 


Detailed Description

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

Concrete LinearOpWithSolveBase subclass in terms of Belos.

ToDo: Finish documentation!

Definition at line 19 of file Thyra_BelosLinearOpWithSolveDecl.hpp.


Member Typedef Documentation

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

Definition at line 29 of file Thyra_BelosLinearOpWithSolveDecl.hpp.

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

Definition at line 31 of file Thyra_BelosLinearOpWithSolveDecl.hpp.


Constructor & Destructor Documentation

template<class Scalar >
Thyra::BelosLinearOpWithSolve< Scalar >::BelosLinearOpWithSolve (  )  [inline]

Construct to unintialize.

Definition at line 14 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
Thyra::BelosLinearOpWithSolve< Scalar >::BelosLinearOpWithSolve ( const Teuchos::RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > &  lp,
const Teuchos::RCP< Teuchos::ParameterList > &  solverPL,
const Teuchos::RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > &  iterativeSolver,
const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const Teuchos::RCP< const PreconditionerBase< Scalar > > &  prec,
const bool  isExternalPrec,
const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
const ESupportSolveUse supportSolveUse 
) [inline]

Calls initialize().

Definition at line 21 of file Thyra_BelosLinearOpWithSolve.hpp.


Member Function Documentation

template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::initialize ( const Teuchos::RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > &  lp,
const Teuchos::RCP< Teuchos::ParameterList > &  solverPL,
const Teuchos::RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > &  iterativeSolver,
const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const Teuchos::RCP< const PreconditionerBase< Scalar > > &  prec,
const bool  isExternalPrec,
const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
const ESupportSolveUse supportSolveUse 
) [inline]

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 precondtioners 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 39 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
Teuchos::RCP< const LinearOpSourceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_fwdOpSrc (  )  [inline]

Definition at line 74 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
Teuchos::RCP< const PreconditionerBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_prec (  )  [inline]

Definition at line 84 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 93 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
Teuchos::RCP< const LinearOpSourceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_approxFwdOpSrc (  )  [inline]

Definition at line 100 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 109 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::uninitialize ( Teuchos::RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > *  lp = NULL,
Teuchos::RCP< Teuchos::ParameterList > *  solverPL = NULL,
Teuchos::RCP< Belos::SolverManager< Scalar, MV_t, LO_t > > *  iterativeSolver = NULL,
Teuchos::RCP< const LinearOpSourceBase< Scalar > > *  fwdOpSrc = NULL,
Teuchos::RCP< const PreconditionerBase< Scalar > > *  prec = NULL,
bool *  isExternalPrec = NULL,
Teuchos::RCP< const LinearOpSourceBase< Scalar > > *  approxFwdOpSrc = NULL,
ESupportSolveUse supportSolveUse = NULL 
) [inline]

Uninitializes and returns stored quantities.

ToDo: Finish documentation!

Definition at line 115 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::range (  )  const [inline, virtual]

template<class Scalar >
Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::domain (  )  const [inline, virtual]

template<class Scalar >
Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::clone (  )  const [inline, virtual]

Reimplemented from Thyra::LinearOpBase< Scalar, DomainScalar >.

Definition at line 167 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
std::string Thyra::BelosLinearOpWithSolve< Scalar >::description (  )  const [inline, virtual]

Reimplemented from Teuchos::Describable.

Definition at line 175 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Reimplemented from Teuchos::Describable.

Definition at line 195 of file Thyra_BelosLinearOpWithSolve.hpp.

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

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

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

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

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

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::opSupported ( ETransp  M_trans  )  const [inline, protected]

Definition at line 242 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::apply ( const ETransp  M_trans,
const MultiVectorBase< Scalar > &  X,
MultiVectorBase< Scalar > *  Y,
const Scalar  alpha,
const Scalar  beta 
) const [inline, protected]

Definition at line 248 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsTrans ( ETransp  M_trans  )  const [inline, protected, virtual]

template<class Scalar >
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureType ( ETransp  M_trans,
const SolveMeasureType solveMeasureType 
) const [inline, protected, virtual]

template<class Scalar >
void Thyra::BelosLinearOpWithSolve< Scalar >::solve ( const ETransp  M_trans,
const MultiVectorBase< Scalar > &  B,
MultiVectorBase< Scalar > *  X,
const int  numBlocks,
const BlockSolveCriteria< Scalar >  blockSolveCriteria[],
SolveStatus< Scalar >  blockSolveStatus[] 
) const [inline, protected, virtual]


The documentation for this class was generated from the following files:

Generated on Wed Jul 22 13:20:49 2009 for Stratimikos by doxygen 1.5.8