Stratimikos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Thyra::AztecOOLinearOpWithSolveFactory Class Reference

LinearOpWithSolveFactoryBase subclass implemented in terms of AztecOO. More...

#include <Thyra_AztecOOLinearOpWithSolveFactory.hpp>

Inherits LinearOpWithSolveFactoryBase< double >.

Private Member Functions

void updateThisValidParamList ()
 
void initializeOp_impl (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, const bool reusePrec, LinearOpWithSolveBase< double > *Op) const
 

Static Private Member Functions

static Teuchos::RCP< const
Teuchos::ParameterList
generateAndGetValidParameters ()
 

Private Attributes

Teuchos::RCP
< PreconditionerFactoryBase
< double > > 
precFactory_
 
std::string precFactoryName_
 
Teuchos::RCP
< Teuchos::ParameterList
thisValidParamList_
 
Teuchos::RCP
< Teuchos::ParameterList
paramList_
 
int defaultFwdMaxIterations_
 
double defaultFwdTolerance_
 
int defaultAdjMaxIterations_
 
double defaultAdjTolerance_
 
bool outputEveryRhs_
 
bool useAztecPrec_
 

Constructors/initializers/accessors

 AztecOOLinearOpWithSolveFactory (Teuchos::RCP< Teuchos::ParameterList > const &paramList=Teuchos::null)
 Construct uninitialized. More...
 
 STANDARD_COMPOSITION_MEMBERS (EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor)
 Set the strategy object used to extract an Epetra_Operator view of an input forward operator. More...
 

Overridden public functions from LinearOpWithSolveFactoryBase

bool acceptsPreconditionerFactory () const
 Returns true . More...
 
void setPreconditionerFactory (const Teuchos::RCP< PreconditionerFactoryBase< double > > &precFactory, const std::string &precFactoryName)
 
Teuchos::RCP
< PreconditionerFactoryBase
< double > > 
getPreconditionerFactory () const
 
void unsetPreconditionerFactory (Teuchos::RCP< PreconditionerFactoryBase< double > > *precFactory, std::string *precFactoryName)
 
bool isCompatible (const LinearOpSourceBase< double > &fwdOpSrc) const
 
Teuchos::RCP
< LinearOpWithSolveBase
< double > > 
createOp () const
 
void initializeOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 
void initializeAndReuseOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op) const
 
void uninitializeOp (LinearOpWithSolveBase< double > *Op, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< double > > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
 
bool supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const
 
void initializePreconditionedOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 
void initializeApproxPreconditionedOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 

Overridden from ParameterListAcceptor

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

Public functions overridden from Teuchos::Describable.

std::string description () const
 

Detailed Description

LinearOpWithSolveFactoryBase subclass implemented in terms of AztecOO.

This class creates objects of type AztecOOLinearOpWithSolve (through the LinearOpWithSolveBase interface) using AztecOO objects.

The class can support both externally defined preconditioners and built-in aztec preconditioners. Then built-in aztec preconditioners are used (as specified by the input parameter list), *this only supports very limited functionality and does not support adjoint solves. However, when no preconditioning or externally defined preconditioners are used, *this supports a wide range of features which include:

Definition at line 47 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

Constructor & Destructor Documentation

Thyra::AztecOOLinearOpWithSolveFactory::AztecOOLinearOpWithSolveFactory ( Teuchos::RCP< Teuchos::ParameterList > const &  paramList = Teuchos::null)

Construct uninitialized.

Definition at line 70 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Member Function Documentation

Thyra::AztecOOLinearOpWithSolveFactory::STANDARD_COMPOSITION_MEMBERS ( EpetraOperatorViewExtractorBase  ,
epetraFwdOpViewExtractor   
)

Set the strategy object used to extract an Epetra_Operator view of an input forward operator.

This view will then be dynamically casted to Epetra_RowMatrix before it is used.

The default implementation used is EpetraOperatorViewExtractorBase.

bool Thyra::AztecOOLinearOpWithSolveFactory::acceptsPreconditionerFactory ( ) const

Returns true .

Definition at line 90 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::setPreconditionerFactory ( const Teuchos::RCP< PreconditionerFactoryBase< double > > &  precFactory,
const std::string &  precFactoryName 
)

Definition at line 96 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< PreconditionerFactoryBase< double > > Thyra::AztecOOLinearOpWithSolveFactory::getPreconditionerFactory ( ) const

Definition at line 119 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::unsetPreconditionerFactory ( Teuchos::RCP< PreconditionerFactoryBase< double > > *  precFactory,
std::string *  precFactoryName 
)

Definition at line 125 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

bool Thyra::AztecOOLinearOpWithSolveFactory::isCompatible ( const LinearOpSourceBase< double > &  fwdOpSrc) const

Definition at line 138 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< LinearOpWithSolveBase< double > > Thyra::AztecOOLinearOpWithSolveFactory::createOp ( ) const

Definition at line 147 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::initializeOp ( const Teuchos::RCP< const LinearOpSourceBase< double > > &  fwdOpSrc,
LinearOpWithSolveBase< double > *  Op,
const ESupportSolveUse  supportSolveUse 
) const

Definition at line 153 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::initializeAndReuseOp ( const Teuchos::RCP< const LinearOpSourceBase< double > > &  fwdOpSrc,
LinearOpWithSolveBase< double > *  Op 
) const

Definition at line 163 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::uninitializeOp ( LinearOpWithSolveBase< double > *  Op,
Teuchos::RCP< const LinearOpSourceBase< double > > *  fwdOpSrc,
Teuchos::RCP< const PreconditionerBase< double > > *  prec,
Teuchos::RCP< const LinearOpSourceBase< double > > *  approxFwdOpSrc,
ESupportSolveUse *  supportSolveUse 
) const

Definition at line 220 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

bool Thyra::AztecOOLinearOpWithSolveFactory::supportsPreconditionerInputType ( const EPreconditionerInputType  precOpType) const

Definition at line 172 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::initializePreconditionedOp ( const Teuchos::RCP< const LinearOpSourceBase< double > > &  fwdOpSrc,
const Teuchos::RCP< const PreconditionerBase< double > > &  prec,
LinearOpWithSolveBase< double > *  Op,
const ESupportSolveUse  supportSolveUse 
) const

Definition at line 195 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::initializeApproxPreconditionedOp ( const Teuchos::RCP< const LinearOpSourceBase< double > > &  fwdOpSrc,
const Teuchos::RCP< const LinearOpSourceBase< double > > &  approxFwdOpSrc,
LinearOpWithSolveBase< double > *  Op,
const ESupportSolveUse  supportSolveUse 
) const

Definition at line 207 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::setParameterList ( Teuchos::RCP< Teuchos::ParameterList > const &  paramList)

Definition at line 256 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::getNonconstParameterList ( )

Definition at line 295 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::unsetParameterList ( )

Definition at line 302 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< const Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::getParameterList ( ) const

Definition at line 311 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< const Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::getValidParameters ( ) const

Definition at line 318 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

std::string Thyra::AztecOOLinearOpWithSolveFactory::description ( ) const

Definition at line 327 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Teuchos::RCP< const Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::generateAndGetValidParameters ( )
staticprivate

Definition at line 345 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::updateThisValidParamList ( )
private

Definition at line 390 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::initializeOp_impl ( const Teuchos::RCP< const LinearOpSourceBase< double > > &  fwdOpSrc,
const Teuchos::RCP< const PreconditionerBase< double > > &  prec,
const Teuchos::RCP< const LinearOpSourceBase< double > > &  approxFwdOpSrc,
const bool  reusePrec,
LinearOpWithSolveBase< double > *  Op 
) const
private

Definition at line 407 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Member Data Documentation

Teuchos::RCP<PreconditionerFactoryBase<double> > Thyra::AztecOOLinearOpWithSolveFactory::precFactory_
private

Definition at line 156 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

std::string Thyra::AztecOOLinearOpWithSolveFactory::precFactoryName_
private

Definition at line 157 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

Teuchos::RCP<Teuchos::ParameterList> Thyra::AztecOOLinearOpWithSolveFactory::thisValidParamList_
private

Definition at line 158 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

Teuchos::RCP<Teuchos::ParameterList> Thyra::AztecOOLinearOpWithSolveFactory::paramList_
private

Definition at line 159 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

int Thyra::AztecOOLinearOpWithSolveFactory::defaultFwdMaxIterations_
private

Definition at line 161 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

double Thyra::AztecOOLinearOpWithSolveFactory::defaultFwdTolerance_
private

Definition at line 162 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

int Thyra::AztecOOLinearOpWithSolveFactory::defaultAdjMaxIterations_
private

Definition at line 163 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

double Thyra::AztecOOLinearOpWithSolveFactory::defaultAdjTolerance_
private

Definition at line 164 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

bool Thyra::AztecOOLinearOpWithSolveFactory::outputEveryRhs_
private

Definition at line 165 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

bool Thyra::AztecOOLinearOpWithSolveFactory::useAztecPrec_
private

Definition at line 167 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.


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