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

Delayed linear solver construction LinearOpWithSolveBase decorator class. More...

#include <Thyra_DelayedLinearOpWithSolve_decl.hpp>

Inheritance diagram for Thyra::DelayedLinearOpWithSolve< Scalar >:
Inheritance graph
[legend]

List of all members.

Private Member Functions

void updateSolver () const

Private Attributes

RCP< const LinearOpSourceBase
< Scalar > > 
fwdOpSrc_
RCP< const PreconditionerBase
< Scalar > > 
prec_
RCP< const LinearOpSourceBase
< Scalar > > 
approxFwdOpSrc_
ESupportSolveUse supportSolveUse_
RCP
< LinearOpWithSolveFactoryBase
< Scalar > > 
lowsf_
RCP< const LinearOpBase< Scalar > > fwdOp_
bool lows_is_valid_
RCP< LinearOpWithSolveBase
< Scalar > > 
lows_

Related Functions

(Note that these are not member functions.)

template<class Scalar >
RCP< DelayedLinearOpWithSolve
< Scalar > > 
delayedLinearOpWithSolve ()
 Nonmember constuctor.
template<class Scalar >
RCP< DelayedLinearOpWithSolve
< Scalar > > 
delayedLinearOpWithSolve (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf)
 Nonmember constuctor.

Constructor/Initializers

 DelayedLinearOpWithSolve ()
 
void initialize (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const PreconditionerBase< Scalar > > &prec, const RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, const ESupportSolveUse supportSolveUse, const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf)
 
RCP< const LinearOpSourceBase
< Scalar > > 
getFwdOpSrc () const
 
RCP< const PreconditionerBase
< Scalar > > 
getPrec () const
 
RCP< const LinearOpSourceBase
< Scalar > > 
getApproxFwdOpSrc () const
 
ESupportSolveUse getSupportSolveUse () const
 

Overridden from Teuchos::Describable.

std::string description () const
 

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
 
void informUpdatedVerbosityState () const
 Overridden from Teuchos::VerboseObjectBase.

Overridden from LinearOpWithSolveBase.

virtual bool solveSupportsImpl (EOpTransp M_trans) const
 
virtual bool solveSupportsSolveMeasureTypeImpl (EOpTransp M_trans, const SolveMeasureType &solveMeasureType) const
 
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::DelayedLinearOpWithSolve< Scalar >

Delayed linear solver construction LinearOpWithSolveBase decorator class.

This simple class takes a LinearOpWithSolveFactoryBase object and the arguments for a call to LinearOpWithSolveBase::initializeOp() (or one of its related functions) and then waits until a solve is called before it constructs the preconditioner.

This class should never be created directly by a client. Instead, it should be created by a DelayedLinearOpWithSolveFactory object.

Definition at line 53 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.


Constructor & Destructor Documentation

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

Definition at line 48 of file Thyra_DelayedLinearOpWithSolve_def.hpp.


Member Function Documentation

template<class Scalar >
void Thyra::DelayedLinearOpWithSolve< Scalar >::initialize ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const RCP< const PreconditionerBase< Scalar > > &  prec,
const RCP< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
const ESupportSolveUse  supportSolveUse,
const RCP< LinearOpWithSolveFactoryBase< Scalar > > &  lowsf 
)
template<class Scalar >
RCP< const LinearOpSourceBase< Scalar > > Thyra::DelayedLinearOpWithSolve< Scalar >::getFwdOpSrc ( ) const
template<class Scalar >
RCP< const PreconditionerBase< Scalar > > Thyra::DelayedLinearOpWithSolve< Scalar >::getPrec ( ) const
template<class Scalar >
RCP< const LinearOpSourceBase< Scalar > > Thyra::DelayedLinearOpWithSolve< Scalar >::getApproxFwdOpSrc ( ) const
template<class Scalar >
ESupportSolveUse Thyra::DelayedLinearOpWithSolve< Scalar >::getSupportSolveUse ( ) const
template<class Scalar >
std::string Thyra::DelayedLinearOpWithSolve< Scalar >::description ( ) const [virtual]

Reimplemented from Teuchos::Describable.

Definition at line 113 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References Teuchos::Describable::description(), and is_null().

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DelayedLinearOpWithSolve< Scalar >::range ( ) const [virtual]

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 138 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References is_null(), and Teuchos::null.

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DelayedLinearOpWithSolve< Scalar >::domain ( ) const [virtual]

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 148 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References is_null(), and Teuchos::null.

template<class Scalar >
RCP< const LinearOpBase< Scalar > > Thyra::DelayedLinearOpWithSolve< Scalar >::clone ( ) const [virtual]

Reimplemented from Thyra::LinearOpBase< Scalar >.

Definition at line 158 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References Teuchos::null.

template<class Scalar >
void Thyra::DelayedLinearOpWithSolve< Scalar >::informUpdatedVerbosityState ( ) const [protected, virtual]

Overridden from Teuchos::VerboseObjectBase.

Reimplemented from Teuchos::VerboseObjectBase.

Definition at line 168 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References is_null().

template<class Scalar >
bool Thyra::DelayedLinearOpWithSolve< Scalar >::opSupportedImpl ( EOpTransp  M_trans) const [protected, virtual]
template<class Scalar >
void Thyra::DelayedLinearOpWithSolve< Scalar >::applyImpl ( const EOpTransp  M_trans,
const MultiVectorBase< Scalar > &  X,
const Ptr< MultiVectorBase< Scalar > > &  Y,
const Scalar  alpha,
const Scalar  beta 
) const [protected, virtual]

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 192 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References Thyra::apply().

template<class Scalar >
bool Thyra::DelayedLinearOpWithSolve< Scalar >::solveSupportsImpl ( EOpTransp  M_trans) const [protected, virtual]
template<class Scalar >
bool Thyra::DelayedLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureTypeImpl ( EOpTransp  M_trans,
const SolveMeasureType solveMeasureType 
) const [protected, virtual]
template<class Scalar >
SolveStatus< Scalar > Thyra::DelayedLinearOpWithSolve< Scalar >::solveImpl ( const EOpTransp  transp,
const MultiVectorBase< Scalar > &  B,
const Ptr< MultiVectorBase< Scalar > > &  X,
const Ptr< const SolveCriteria< Scalar > >  solveCriteria 
) const [protected, virtual]
template<class Scalar >
void Thyra::DelayedLinearOpWithSolve< Scalar >::updateSolver ( ) const [private]

Definition at line 243 of file Thyra_DelayedLinearOpWithSolve_def.hpp.

References is_null().


Friends And Related Function Documentation

template<class Scalar >
RCP< DelayedLinearOpWithSolve< Scalar > > delayedLinearOpWithSolve ( ) [related]

Nonmember constuctor.

Definition at line 174 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

References Teuchos::rcp().

template<class Scalar >
RCP< DelayedLinearOpWithSolve< Scalar > > delayedLinearOpWithSolve ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const RCP< LinearOpWithSolveFactoryBase< Scalar > > &  lowsf 
) [related]

Nonmember constuctor.

Definition at line 186 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

References Teuchos::null, and Thyra::SUPPORT_SOLVE_UNSPECIFIED.


Member Data Documentation

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

Definition at line 150 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

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

Definition at line 151 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

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

Definition at line 152 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

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

Definition at line 153 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<LinearOpWithSolveFactoryBase<Scalar> > Thyra::DelayedLinearOpWithSolve< Scalar >::lowsf_ [private]

Definition at line 154 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<const LinearOpBase<Scalar> > Thyra::DelayedLinearOpWithSolve< Scalar >::fwdOp_ [private]

Definition at line 156 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

template<class Scalar>
bool Thyra::DelayedLinearOpWithSolve< Scalar >::lows_is_valid_ [mutable, private]

Definition at line 158 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.

template<class Scalar>
RCP<LinearOpWithSolveBase<Scalar> > Thyra::DelayedLinearOpWithSolve< Scalar >::lows_ [mutable, private]

Definition at line 159 of file Thyra_DelayedLinearOpWithSolve_decl.hpp.


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