Stratimikos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Thyra::BelosLinearOpWithSolve< Scalar > Class Template Reference

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

#include <Thyra_BelosLinearOpWithSolve_decl.hpp>

Inherits LinearOpWithSolveBase< Scalar >.

Public typedefs

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

Overridden from LinearOpWithSolveBase.

RCP< Belos::LinearProblem< Scalar, MV_t, LO_t > > lp_
RCP< Teuchos::ParameterList > solverPL_
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_
std::string label_
std::string filenameLHS_
std::string filenameRHS_
int counter_
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
void assertInitialized () const

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::ParameterList > getNonconstParameterList ()
RCP< Teuchos::ParameterList > unsetParameterList ()
RCP< const Teuchos::ParameterList > getParameterList () const
RCP< const Teuchos::ParameterList > getValidParameters () const

Detailed Description

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

Concrete LinearOpWithSolveBase subclass in terms of Belos.

ToDo: Finish documentation!

Definition at line 66 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

Member Typedef Documentation

◆ MV_t

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

Definition at line 74 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ LO_t

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

Definition at line 76 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

Constructor & Destructor Documentation

◆ BelosLinearOpWithSolve()

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

Construct to unintialize.

Definition at line 156 of file Thyra_BelosLinearOpWithSolve_def.hpp.

Member Function Documentation

◆ initialize()

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

◆ extract_fwdOpSrc()

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

Definition at line 291 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ extract_prec()

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

Definition at line 302 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ isExternalPrec()

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

Definition at line 312 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ extract_approxFwdOpSrc()

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

Definition at line 320 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ supportSolveUse()

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

Definition at line 330 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ uninitialize()

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

◆ range()

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

Definition at line 373 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ domain()

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

Definition at line 383 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ clone()

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

Definition at line 393 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ description()

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

Definition at line 403 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ describe()

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

Definition at line 424 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ setParameterList()

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

◆ getNonconstParameterList()

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

◆ unsetParameterList()

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

◆ getParameterList()

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

◆ getValidParameters()

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

◆ opSupportedImpl()

template<class Scalar>
bool Thyra::BelosLinearOpWithSolve< Scalar >::opSupportedImpl ( EOpTransp M_trans) const
protectedvirtual

Definition at line 472 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ applyImpl()

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

Definition at line 479 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ solveSupportsImpl()

template<class Scalar>
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsImpl ( EOpTransp M_trans) const
protectedvirtual

Definition at line 496 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ solveSupportsNewImpl()

template<class Scalar>
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsNewImpl ( EOpTransp transp,
const Ptr< const SolveCriteria< Scalar > > solveCriteria ) const
protectedvirtual

Definition at line 504 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ solveSupportsSolveMeasureTypeImpl()

template<class Scalar>
bool Thyra::BelosLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureTypeImpl ( EOpTransp M_trans,
const SolveMeasureType & solveMeasureType ) const
protectedvirtual

Definition at line 528 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ solveImpl()

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

Definition at line 538 of file Thyra_BelosLinearOpWithSolve_def.hpp.

◆ assertInitialized()

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

Member Data Documentation

◆ lp_

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

Definition at line 248 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ solverPL_

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

Definition at line 249 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ iterativeSolver_

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

Definition at line 250 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ convergenceTestFrequency_

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

Definition at line 251 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ fwdOpSrc_

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

Definition at line 253 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ prec_

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

Definition at line 254 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ isExternalPrec_

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

Definition at line 255 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ approxFwdOpSrc_

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

Definition at line 256 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ supportSolveUse_

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

Definition at line 257 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ defaultTol_

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

Definition at line 259 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ label_

template<class Scalar>
std::string Thyra::BelosLinearOpWithSolve< Scalar >::label_
private

Definition at line 263 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ filenameLHS_

template<class Scalar>
std::string Thyra::BelosLinearOpWithSolve< Scalar >::filenameLHS_
private

Definition at line 263 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ filenameRHS_

template<class Scalar>
std::string Thyra::BelosLinearOpWithSolve< Scalar >::filenameRHS_
private

Definition at line 263 of file Thyra_BelosLinearOpWithSolve_decl.hpp.

◆ counter_

template<class Scalar>
int Thyra::BelosLinearOpWithSolve< Scalar >::counter_
mutableprivate

Definition at line 264 of file Thyra_BelosLinearOpWithSolve_decl.hpp.


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