Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar > Class Template Reference

Implicit subclass that takes a blocked triangular LOWB object and turns it into a LOWSB object. More...

#include <Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_decl.hpp>

Inheritance diagram for Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >:

Inheritance graph
[legend]
List of all members.

Overridden from Constructors/Initializers/Accessors

 DefaultBlockedTriangularLinearOpWithSolveFactory (const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf)
 Create given a single non-const LOWSFB object.
 DefaultBlockedTriangularLinearOpWithSolveFactory (const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &lowsf)
 Create given a single const LOWSFB object.
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< ParameterListgetNonconstParameterList ()
 
RCP< ParameterListunsetParameterList ()
 
RCP< const ParameterListgetParameterList () const
 
RCP< const ParameterListgetValidParameters () const
 

Overridden from LinearOpWithSolveFactoyBase

virtual bool acceptsPreconditionerFactory () const
 returns false.
virtual void setPreconditionerFactory (const RCP< PreconditionerFactoryBase< Scalar > > &precFactory, const std::string &precFactoryName)
 Throws exception.
virtual RCP< PreconditionerFactoryBase<
Scalar > > 
getPreconditionerFactory () const
 Returns null .
virtual void unsetPreconditionerFactory (RCP< PreconditionerFactoryBase< Scalar > > *precFactory, std::string *precFactoryName)
 Throws exception.
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 .

Detailed Description

template<class Scalar>
class Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >

Implicit subclass that takes a blocked triangular LOWB object and turns it into a LOWSB object.

This class takes any upper or lower triangular PhysicallyBlockedLinearOpBase object and compatible LinearOpWithSolveFactoryBase object(s) and creates a LOWSB version by creating LOWSB objects along the diagonal.

For example, consider the lower block triangular linear operator:

       [ M(0,0)                   ]
   M = [ M(1,0)   M(1,1)          ]
       [ M(2,0)   M(2,1)   M(2,2) ]  

 

This class object will then create a new LOWSB object (of type DefaultBlockedTriangularLinearOpWithSolve) that looks like:

          [ invM(0,0)                       ]
   invM = [ M(1,0)     invM(1,1)            ]
          [ M(2,0)     M(2,1)     invM(2,2) ]  

 

where invM(k,k) are LOWSB objects created from the LOB objects M(k,k) given a LOWSFB object.

This class is not very compliciated, see the function initializeOp() see what this class actually does!

ToDo: Finish Documentation!

Definition at line 80 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_decl.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::DefaultBlockedTriangularLinearOpWithSolveFactory ( const RCP< LinearOpWithSolveFactoryBase< Scalar > > &  lowsf  ) 

Create 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.
Preconditions:

Definition at line 49 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::DefaultBlockedTriangularLinearOpWithSolveFactory ( const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &  lowsf  ) 

Create 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.
Preconditions:

Definition at line 61 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.


Member Function Documentation

template<class Scalar>
RCP< LinearOpWithSolveFactoryBase< Scalar > > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF (  ) 

Definition at line 74 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< const LinearOpWithSolveFactoryBase< Scalar > > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF (  )  const

Definition at line 82 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

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

Reimplemented from Teuchos::Describable.

Definition at line 93 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
void Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::setParameterList ( RCP< ParameterList > const &  paramList  )  [virtual]

Implements Teuchos::ParameterListAcceptor.

Definition at line 113 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< ParameterList > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getNonconstParameterList (  )  [virtual]

Implements Teuchos::ParameterListAcceptor.

Definition at line 123 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< ParameterList > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::unsetParameterList (  )  [virtual]

Implements Teuchos::ParameterListAcceptor.

Definition at line 131 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< const ParameterList > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getParameterList (  )  const [virtual]

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 139 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< const ParameterList > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getValidParameters (  )  const [virtual]

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 147 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
bool Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::acceptsPreconditionerFactory (  )  const [virtual]

returns false.

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 158 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

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

Throws exception.

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 166 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< PreconditionerFactoryBase< Scalar > > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getPreconditionerFactory (  )  const [virtual]

Returns null .

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 178 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

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

Throws exception.

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 185 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
bool Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::isCompatible ( const LinearOpSourceBase< Scalar > &  fwdOpSrc  )  const [virtual]

Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 197 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
RCP< LinearOpWithSolveBase< Scalar > > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::createOp (  )  const [virtual]

Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 208 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
void Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::initializeOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
LinearOpWithSolveBase< Scalar > *  Op,
const ESupportSolveUse  supportSolveUse 
) const [virtual]

Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 216 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
void Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::initializeAndReuseOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
LinearOpWithSolveBase< Scalar > *  Op 
) const [virtual]

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 295 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
void Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::uninitializeOp ( LinearOpWithSolveBase< Scalar > *  Op,
RCP< const LinearOpSourceBase< Scalar > > *  fwdOpSrc,
RCP< const PreconditionerBase< Scalar > > *  prec,
RCP< const LinearOpSourceBase< Scalar > > *  approxFwdOpSrc,
ESupportSolveUse supportSolveUse 
) const [virtual]

Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 306 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
bool Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::supportsPreconditionerInputType ( const EPreconditionerInputType  precOpType  )  const [virtual]

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 334 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
void Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::initializePreconditionedOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const RCP< const PreconditionerBase< Scalar > > &  prec,
LinearOpWithSolveBase< Scalar > *  Op,
const ESupportSolveUse  supportSolveUse 
) const [virtual]

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 349 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

template<class Scalar>
void Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::initializeApproxPreconditionedOp ( const RCP< const LinearOpSourceBase< Scalar > > &  fwdOpSrc,
const RCP< const LinearOpSourceBase< Scalar > > &  approxFwdOpSrc,
LinearOpWithSolveBase< Scalar > *  Op,
const ESupportSolveUse  supportSolveUse 
) const [virtual]

Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.

Definition at line 363 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.

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

Overridden from Teuchos::VerboseObjectBase .

Reimplemented from Teuchos::VerboseObjectBase.

Definition at line 380 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Jul 13 09:26:39 2010 for Thyra by  doxygen 1.4.7