Thyra::BelosLinearOpWithSolve< Scalar > Class Template Reference
[Belos to Thyra Linear Solver Adapter Code]

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

#include <Thyra_BelosLinearOpWithSolveDecl.hpp>

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::RefCountPtr< Belos::LinearProblem< Scalar, MV_t, LO_t > > &lp, const bool adjustableBlockSize, const int maxNumberOfKrylovVectors, const Teuchos::RefCountPtr< Teuchos::ParameterList > &gmresPL, const Teuchos::RefCountPtr< Belos::StatusTestResNorm< Scalar, MV_t, LO_t > > &resNormST, const Teuchos::RefCountPtr< Belos::IterativeSolver< Scalar, MV_t, LO_t > > &iterativeSolver, const Teuchos::RefCountPtr< Belos::OutputManager< Scalar > > &outputManager, const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > &prec, const bool isExternalPrec, const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, const ESupportSolveUse &supportSolveUse)
 Calls initialize().
void initialize (const Teuchos::RefCountPtr< Belos::LinearProblem< Scalar, MV_t, LO_t > > &lp, const bool adjustableBlockSize, const int maxNumberOfKrylovVectors, const Teuchos::RefCountPtr< Teuchos::ParameterList > &gmresPL, const Teuchos::RefCountPtr< Belos::StatusTestResNorm< Scalar, MV_t, LO_t > > &resNormST, const Teuchos::RefCountPtr< Belos::IterativeSolver< Scalar, MV_t, LO_t > > &iterativeSolver, const Teuchos::RefCountPtr< Belos::OutputManager< Scalar > > &outputManager, const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > &prec, const bool isExternalPrec, const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, const ESupportSolveUse &supportSolveUse)
 Initializes given precreated solver objects.
Teuchos::RefCountPtr< const
LinearOpSourceBase< Scalar > > 
extract_fwdOpSrc ()
 
Teuchos::RefCountPtr< const
PreconditionerBase< Scalar > > 
extract_prec ()
 
bool isExternalPrec () const
 
Teuchos::RefCountPtr< const
LinearOpSourceBase< Scalar > > 
extract_approxFwdOpSrc ()
 
ESupportSolveUse supportSolveUse () const
 
void uninitialize (Teuchos::RefCountPtr< Belos::LinearProblem< Scalar, MV_t, LO_t > > *lp=NULL, bool *adjustableBlockSize=NULL, int *maxNumberOfKrylovVectors=NULL, Teuchos::RefCountPtr< Teuchos::ParameterList > *gmresPL=NULL, Teuchos::RefCountPtr< Belos::StatusTestResNorm< Scalar, MV_t, LO_t > > *resNormST=NULL, Teuchos::RefCountPtr< Belos::IterativeSolver< Scalar, MV_t, LO_t > > *iterativeSolver=NULL, Teuchos::RefCountPtr< Belos::OutputManager< Scalar > > *outputManager=NULL, Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > *fwdOpSrc=NULL, Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > *prec=NULL, bool *isExternalPrec=NULL, Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc=NULL, ESupportSolveUse *supportSolveUse=NULL)
 Uninitializes and returns stored quantities.

Overridden from LinearOpBase

Teuchos::RefCountPtr< const
VectorSpaceBase< Scalar > > 
range () const
 .
Teuchos::RefCountPtr< const
VectorSpaceBase< Scalar > > 
domain () const
 .
Teuchos::RefCountPtr< 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::RefCountPtr< Teuchos::ParameterList > const &paramList)
 
Teuchos::RefCountPtr< Teuchos::ParameterListgetParameterList ()
 
Teuchos::RefCountPtr< Teuchos::ParameterListunsetParameterList ()
 
Teuchos::RefCountPtr< const
Teuchos::ParameterList
getParameterList () const
 
Teuchos::RefCountPtr< 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 21 of file Thyra_BelosLinearOpWithSolveDecl.hpp.


Member Typedef Documentation

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

.

Definition at line 31 of file Thyra_BelosLinearOpWithSolveDecl.hpp.

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

.

Definition at line 33 of file Thyra_BelosLinearOpWithSolveDecl.hpp.


Constructor & Destructor Documentation

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

Construct to unintialize.

Definition at line 40 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Thyra::BelosLinearOpWithSolve< Scalar >::BelosLinearOpWithSolve const Teuchos::RefCountPtr< Belos::LinearProblem< Scalar, MV_t, LO_t > > &  lp,
const bool  adjustableBlockSize,
const int  maxNumberOfKrylovVectors,
const Teuchos::RefCountPtr< Teuchos::ParameterList > &  gmresPL,
const Teuchos::RefCountPtr< Belos::StatusTestResNorm< Scalar, MV_t, LO_t > > &  resNormST,
const Teuchos::RefCountPtr< Belos::IterativeSolver< Scalar, MV_t, LO_t > > &  iterativeSolver,
const Teuchos::RefCountPtr< Belos::OutputManager< Scalar > > &  outputManager,
const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > &  prec,
const bool  isExternalPrec,
const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
const ESupportSolveUse &  supportSolveUse
 

Calls initialize().

Definition at line 47 of file Thyra_BelosLinearOpWithSolve.hpp.


Member Function Documentation

template<class Scalar>
void Thyra::BelosLinearOpWithSolve< Scalar >::initialize const Teuchos::RefCountPtr< Belos::LinearProblem< Scalar, MV_t, LO_t > > &  lp,
const bool  adjustableBlockSize,
const int  maxNumberOfKrylovVectors,
const Teuchos::RefCountPtr< Teuchos::ParameterList > &  gmresPL,
const Teuchos::RefCountPtr< Belos::StatusTestResNorm< Scalar, MV_t, LO_t > > &  resNormST,
const Teuchos::RefCountPtr< Belos::IterativeSolver< Scalar, MV_t, LO_t > > &  iterativeSolver,
const Teuchos::RefCountPtr< Belos::OutputManager< Scalar > > &  outputManager,
const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > &  prec,
const bool  isExternalPrec,
const Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
const ESupportSolveUse &  supportSolveUse
 

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.
adjustableBlockSize [in] If true, then the block size in *lp will be adjusted according to the linear system being solved automatically.
maxNumberOfKrylovVectors [in] Total number of Krylov vectors that can be stored and manipulated. This more-or-less bounds the total amount of storage that the algorithm can use.
gmresPL [in] Parameter list that is used for GMRES if GMRES is used.
resNormST [in] The residual norm status test that was used to initialize the iterative solver. This is accessed to set the relative tolerance.
iterativeSolver [in] The iterative solver that will be used to solve for linear systems. This has links to *lp, *resNormST and *outputManager already embedded.
outputManager [in] The output manager that was passed to the iterative solver. This is used to reset the output level and the outptu stream on a solve by solve basis.
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 69 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_fwdOpSrc  ) 
 

Definition at line 103 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_prec  ) 
 

Definition at line 113 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 122 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::extract_approxFwdOpSrc  ) 
 

Definition at line 129 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 138 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
void Thyra::BelosLinearOpWithSolve< Scalar >::uninitialize Teuchos::RefCountPtr< Belos::LinearProblem< Scalar, MV_t, LO_t > > *  lp = NULL,
bool *  adjustableBlockSize = NULL,
int *  maxNumberOfKrylovVectors = NULL,
Teuchos::RefCountPtr< Teuchos::ParameterList > *  gmresPL = NULL,
Teuchos::RefCountPtr< Belos::StatusTestResNorm< Scalar, MV_t, LO_t > > *  resNormST = NULL,
Teuchos::RefCountPtr< Belos::IterativeSolver< Scalar, MV_t, LO_t > > *  iterativeSolver = NULL,
Teuchos::RefCountPtr< Belos::OutputManager< Scalar > > *  outputManager = NULL,
Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > *  fwdOpSrc = NULL,
Teuchos::RefCountPtr< const PreconditionerBase< Scalar > > *  prec = NULL,
bool *  isExternalPrec = NULL,
Teuchos::RefCountPtr< const LinearOpSourceBase< Scalar > > *  approxFwdOpSrc = NULL,
ESupportSolveUse *  supportSolveUse = NULL
 

Uninitializes and returns stored quantities.

ToDo: Finish documentation!

Definition at line 144 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::range  )  const
 

.

Definition at line 166 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::domain  )  const
 

.

Definition at line 173 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
Teuchos::RefCountPtr< const LinearOpBase< Scalar > > Thyra::BelosLinearOpWithSolve< Scalar >::clone  )  const
 

.

Definition at line 180 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 188 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 208 of file Thyra_BelosLinearOpWithSolve.hpp.

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

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

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

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

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

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

Definition at line 254 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 [protected]
 

Definition at line 260 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 274 of file Thyra_BelosLinearOpWithSolve.hpp.

template<class Scalar>
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureType ETransp  M_trans,
const SolveMeasureType &  solveMeasureType
const [protected]
 

Definition at line 281 of file Thyra_BelosLinearOpWithSolve.hpp.

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

Definition at line 295 of file Thyra_BelosLinearOpWithSolve.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:30:14 2008 for Amesos/Thyra Linear Solver Adapter Software by doxygen 1.3.9.1