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 79 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

Constructor & Destructor Documentation

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

Construct uninitialized.

Definition at line 103 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 123 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 129 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 152 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 158 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 171 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 180 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 186 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 196 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 253 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 205 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 228 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 240 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 289 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 328 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 335 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 344 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 351 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 360 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

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

Definition at line 378 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

void Thyra::AztecOOLinearOpWithSolveFactory::updateThisValidParamList ( )
private

Definition at line 423 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 440 of file Thyra_AztecOOLinearOpWithSolveFactory.cpp.

Member Data Documentation

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

Definition at line 188 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

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

Definition at line 189 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

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

Definition at line 190 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

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

Definition at line 191 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

int Thyra::AztecOOLinearOpWithSolveFactory::defaultFwdMaxIterations_
private

Definition at line 193 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

double Thyra::AztecOOLinearOpWithSolveFactory::defaultFwdTolerance_
private

Definition at line 194 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

int Thyra::AztecOOLinearOpWithSolveFactory::defaultAdjMaxIterations_
private

Definition at line 195 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

double Thyra::AztecOOLinearOpWithSolveFactory::defaultAdjTolerance_
private

Definition at line 196 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

bool Thyra::AztecOOLinearOpWithSolveFactory::outputEveryRhs_
private

Definition at line 197 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.

bool Thyra::AztecOOLinearOpWithSolveFactory::useAztecPrec_
private

Definition at line 199 of file Thyra_AztecOOLinearOpWithSolveFactory.hpp.


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