Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Types | Private Attributes | Related Functions | List of all members
Thyra::MultiVectorLinearOpWithSolveFactory< Scalar > Class Template Reference

Create a LinearOpWithSolveFactory for a flattened-out multi-vector. More...

#include <Thyra_MultiVectorLinearOpWithSolveFactory.hpp>

Inheritance diagram for Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >:
Thyra::LinearOpWithSolveFactoryBase< Scalar > Teuchos::Describable Teuchos::ParameterListAcceptor Teuchos::LabeledObject

Private Types

typedef
Teuchos::ConstNonconstObjectContainer
< LinearOpWithSolveFactoryBase
< Scalar > > 
LOWSF_t
 

Private Attributes

LOWSF_t lowsf_
 
RCP< const
DefaultMultiVectorProductVectorSpace
< Scalar > > 
multiVecRange_
 
RCP< const
DefaultMultiVectorProductVectorSpace
< Scalar > > 
multiVecDomain_
 

Related Functions

(Note that these are not member functions.)

template<class Scalar >
RCP
< MultiVectorLinearOpWithSolveFactory
< Scalar > > 
nonconstMultiVectorLinearOpWithSolveFactory (const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Nonmember constructor. More...
 
template<class Scalar >
RCP
< MultiVectorLinearOpWithSolveFactory
< Scalar > > 
nonconstMultiVectorLinearOpWithSolveFactory (const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf, const int num_blocks)
 Nonmember constructor. More...
 
template<class Scalar >
RCP
< MultiVectorLinearOpWithSolveFactory
< Scalar > > 
multiVectorLinearOpWithSolveFactory (const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &lowsf, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Nonmember constructor. More...
 
template<class Scalar >
RCP
< MultiVectorLinearOpWithSolveFactory
< Scalar > > 
multiVectorLinearOpWithSolveFactory (const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &lowsf, const int num_blocks)
 Nonmember constructor. More...
 

Overridden from Constructors/Initializers/Accessors

 MultiVectorLinearOpWithSolveFactory ()
 Construct to uninitialized. More...
 
void nonconstInitialize (const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Initialize given a single non-const LOWSFB object. More...
 
void initialize (const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &lowsf, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Initialize given a single const LOWSFB object. More...
 
RCP
< LinearOpWithSolveFactoryBase
< Scalar > > 
getUnderlyingLOWSF ()
 
RCP< const
LinearOpWithSolveFactoryBase
< Scalar > > 
getUnderlyingLOWSF () const
 

Overridden from Teuchos::Describable.

std::string description () const
 

Overridden from ParameterListAcceptor (simple forwarding functions)

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

Overridden from LinearOpWithSolveFactoyBase

virtual bool acceptsPreconditionerFactory () const
 returns false. More...
 
virtual void setPreconditionerFactory (const RCP< PreconditionerFactoryBase< Scalar > > &precFactory, const std::string &precFactoryName)
 Throws exception. More...
 
virtual RCP
< PreconditionerFactoryBase
< Scalar > > 
getPreconditionerFactory () const
 Returns null . More...
 
virtual void unsetPreconditionerFactory (RCP< PreconditionerFactoryBase< Scalar > > *precFactory, std::string *precFactoryName)
 Throws exception. More...
 
virtual bool isCompatible (const LinearOpSourceBase< Scalar > &fwdOpSrc) const
 
virtual RCP
< LinearOpWithSolveBase
< Scalar > > 
createOp () const
 
virtual void initializeOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
 
virtual void initializeAndReuseOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op) const
 
virtual void uninitializeOp (LinearOpWithSolveBase< Scalar > *Op, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc, RCP< const PreconditionerBase< Scalar > > *prec, RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
 
virtual bool supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const
 
virtual void initializePreconditionedOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
 
virtual void initializeApproxPreconditionedOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
 
void informUpdatedVerbosityState () const
 Overridden from Teuchos::VerboseObjectBase. More...
 

Additional Inherited Members

- Public Member Functions inherited from Thyra::LinearOpWithSolveFactoryBase< Scalar >
bool isCompatible (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const LinearOpBase< Scalar > &fwdOp)
 
void setDefaultObjectLabel (const LinearOpBase< Scalar > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op)
 
void initializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 
void initializeAndReuseOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op)
 
void initializePreconditionedOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const RCP< const PreconditionerBase< Scalar > > &prec, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 
void initializeApproxPreconditionedOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const RCP< const LinearOpBase< Scalar > > &approxFwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 
RCP< LinearOpWithSolveBase
< Scalar > > 
linearOpWithSolve (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
 
RCP< LinearOpBase< Scalar > > inverse (const LinearOpWithSolveFactoryBase< Scalar > &LOWSF, const RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED, const Ptr< const SolveCriteria< Scalar > > &fwdSolveCriteria=Teuchos::null, const EThrowOnSolveFailure throwOnFwdSolveFailure=THROW_ON_SOLVE_FAILURE, const Ptr< const SolveCriteria< Scalar > > &adjSolveCriteria=Teuchos::null, const EThrowOnSolveFailure throwOnAdjSolveFailure=THROW_ON_SOLVE_FAILURE)
 
void uninitializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const Ptr< RCP< const LinearOpBase< Scalar > > > &fwdOp=Teuchos::null, const Ptr< RCP< const PreconditionerBase< Scalar > > > &prec=Teuchos::null, const Ptr< RCP< const LinearOpBase< Scalar > > > &approxFwdOp=Teuchos::null, const Ptr< ESupportSolveUse > &supportSolveUse=Teuchos::null)
 
- Public Member Functions inherited from Teuchos::Describable
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
- Public Member Functions inherited from Teuchos::ParameterListAcceptor
virtual void setParameterList (const RCP< ParameterList > &paramList)=0
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class Scalar>
class Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >

Create a LinearOpWithSolveFactory for a flattened-out multi-vector.

Definition at line 25 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

Member Typedef Documentation

Constructor & Destructor Documentation

Construct to uninitialized.

Definition at line 32 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

Member Function Documentation

template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::nonconstInitialize ( const RCP< LinearOpWithSolveFactoryBase< Scalar > > &  lowsf,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecDomain 
)

Initialize given a single non-const LOWSFB object.

Parameters
lowsf[in,persisting] The LOWSFB object that will be used to create the LOWSB object for the diagonal blocks.
multiVecRange[?] Description.
multiVecDomain[?] Description.

Preconditions:

  • !is_null(lowsf)

Definition at line 249 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::initialize ( const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &  lowsf,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecDomain 
)

Initialize given a single const LOWSFB object.

Parameters
lowsf[in,persisting] The LOWSFB object that will be used to create the LOWSB object for the diagonal blocks.
multiVecRange[?] Description.
multiVecDomain[?] Description.

Preconditions:

  • !is_null(lowsf)

Definition at line 265 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
RCP< LinearOpWithSolveFactoryBase< Scalar > > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF ( )
template<class Scalar >
RCP< const LinearOpWithSolveFactoryBase< Scalar > > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF ( ) const
template<class Scalar >
std::string Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::description ( ) const
virtual

Reimplemented from Teuchos::Describable.

Definition at line 297 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::setParameterList ( RCP< ParameterList > const &  paramList)
template<class Scalar >
RCP< ParameterList > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::getNonconstParameterList ( )
virtual
template<class Scalar >
RCP< ParameterList > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::unsetParameterList ( )
virtual
template<class Scalar >
RCP< const ParameterList > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::getParameterList ( ) const
virtual

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 335 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
RCP< const ParameterList > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::getValidParameters ( ) const
virtual

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 342 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
bool Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::acceptsPreconditionerFactory ( ) const
virtual

returns false.

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 350 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::setPreconditionerFactory ( const RCP< PreconditionerFactoryBase< Scalar > > &  precFactory,
const std::string &  precFactoryName 
)
virtual

Throws exception.

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 357 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
RCP< PreconditionerFactoryBase< Scalar > > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::getPreconditionerFactory ( ) const
virtual

Returns null .

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 369 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::unsetPreconditionerFactory ( RCP< PreconditionerFactoryBase< Scalar > > *  precFactory,
std::string *  precFactoryName 
)
virtual

Throws exception.

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 381 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
bool Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::isCompatible ( const LinearOpSourceBase< Scalar > &  fwdOpSrc) const
virtual
template<class Scalar >
RCP< LinearOpWithSolveBase< Scalar > > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::createOp ( ) const
virtual
template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::initializeOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
LinearOpWithSolveBase< Scalar > *  Op,
const ESupportSolveUse  supportSolveUse 
) const
virtual
template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::initializeAndReuseOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
LinearOpWithSolveBase< Scalar > *  Op 
) const
virtual
template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::uninitializeOp ( LinearOpWithSolveBase< Scalar > *  Op,
RCP< const LinearOpSourceBase< Scalar > > *  fwdOpSrc,
RCP< const PreconditionerBase< Scalar > > *  prec,
RCP< const LinearOpSourceBase< Scalar > > *  approxFwdOpSrc,
ESupportSolveUse supportSolveUse 
) const
virtual
template<class Scalar >
bool Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::supportsPreconditionerInputType ( const EPreconditionerInputType  precOpType) const
virtual
template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::initializePreconditionedOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const RCP< const PreconditionerBase< Scalar > > &  prec,
LinearOpWithSolveBase< Scalar > *  Op,
const ESupportSolveUse  supportSolveUse 
) const
virtual
template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::initializeApproxPreconditionedOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const RCP< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
LinearOpWithSolveBase< Scalar > *  Op,
const ESupportSolveUse  supportSolveUse 
) const
virtual
template<class Scalar >
void Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::informUpdatedVerbosityState ( ) const
protected

Friends And Related Function Documentation

template<class Scalar >
RCP< MultiVectorLinearOpWithSolveFactory< Scalar > > nonconstMultiVectorLinearOpWithSolveFactory ( const RCP< LinearOpWithSolveFactoryBase< Scalar > > &  lowsf,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecDomain 
)
related

Nonmember constructor.

Definition at line 177 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
RCP< MultiVectorLinearOpWithSolveFactory< Scalar > > nonconstMultiVectorLinearOpWithSolveFactory ( const RCP< LinearOpWithSolveFactoryBase< Scalar > > &  lowsf,
const int  num_blocks 
)
related

Nonmember constructor.

Definition at line 196 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
RCP< MultiVectorLinearOpWithSolveFactory< Scalar > > multiVectorLinearOpWithSolveFactory ( const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &  lowsf,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  multiVecDomain 
)
related

Nonmember constructor.

Definition at line 215 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

template<class Scalar >
RCP< MultiVectorLinearOpWithSolveFactory< Scalar > > multiVectorLinearOpWithSolveFactory ( const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &  lowsf,
const int  num_blocks 
)
related

Nonmember constructor.

Definition at line 234 of file Thyra_MultiVectorLinearOpWithSolveFactory.hpp.

Member Data Documentation

template<class Scalar >
LOWSF_t Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::lowsf_
private
template<class Scalar >
RCP<const DefaultMultiVectorProductVectorSpace<Scalar> > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::multiVecRange_
private
template<class Scalar >
RCP<const DefaultMultiVectorProductVectorSpace<Scalar> > Thyra::MultiVectorLinearOpWithSolveFactory< Scalar >::multiVecDomain_
private

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