Thyra::AztecOOLinearOpWithSolveFactory Class Reference
[AztecOO to Thyra Linear Solver Adapter Code]

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

#include <Thyra_AztecOOLinearOpWithSolveFactory.hpp>

List of all members.

Constructors/initializers/accessors

typedef Teuchos::RefCountPtr<
EpetraOperatorViewExtractorBase
epetraFwdOpViewExtractor_ptr_t
 AztecOOLinearOpWithSolveFactory (Teuchos::RefCountPtr< Teuchos::ParameterList > const &paramList=Teuchos::null)
 Construct uninitialized.
void set_epetraFwdOpViewExtractor (const Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > &epetraFwdOpViewExtractor)
 Set the strategy object used to extract an Epetra_Operator view of an input forward operator.
Teuchos::RefCountPtr< EpetraOperatorViewExtractorBaseget_epetraFwdOpViewExtractor () const
EpetraOperatorViewExtractorBaseepetraFwdOpViewExtractor ()
const EpetraOperatorViewExtractorBaseepetraFwdOpViewExtractor () const

Overridden public functions from LinearOpWithSolveFactoryBase

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

Overridden from ParameterListAcceptor

void setParameterList (Teuchos::RefCountPtr< Teuchos::ParameterList > const &paramList)
 
Teuchos::RefCountPtr< Teuchos::ParameterListgetParameterList ()
 
Teuchos::RefCountPtr< Teuchos::ParameterListunsetParameterList ()
 
Teuchos::RefCountPtr< const
Teuchos::ParameterList
getParameterList () const
 
Teuchos::RefCountPtr< 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:

Warning: One must be very careful what options are set using the parameter lists passed in using setFwdAztecSolveParameters() and setAdjAztecSolveParameters() as some of these options will cause great problems and may even result in exit() being called to terminate your program! In the future, a new parameter sublist will be defined that will define a safer way to control the underlying aztec solvers.

Click on the above "examples" link at the top to see how this class is used.


Member Typedef Documentation

typedef Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > Thyra::AztecOOLinearOpWithSolveFactory::epetraFwdOpViewExtractor_ptr_t
 


Constructor & Destructor Documentation

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

Construct uninitialized.


Member Function Documentation

void Thyra::AztecOOLinearOpWithSolveFactory::set_epetraFwdOpViewExtractor const Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > &  epetraFwdOpViewExtractor  )  [inline]
 

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.

Teuchos::RefCountPtr< EpetraOperatorViewExtractorBase > Thyra::AztecOOLinearOpWithSolveFactory::get_epetraFwdOpViewExtractor  )  const [inline]
 

EpetraOperatorViewExtractorBase& Thyra::AztecOOLinearOpWithSolveFactory::epetraFwdOpViewExtractor  )  [inline]
 

const EpetraOperatorViewExtractorBase& Thyra::AztecOOLinearOpWithSolveFactory::epetraFwdOpViewExtractor  )  const [inline]
 

bool Thyra::AztecOOLinearOpWithSolveFactory::acceptsPreconditionerFactory  )  const
 

Returns true .

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

Teuchos::RefCountPtr< PreconditionerFactoryBase< double > > Thyra::AztecOOLinearOpWithSolveFactory::getPreconditionerFactory  )  const
 

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

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

Teuchos::RefCountPtr< LinearOpWithSolveBase< double > > Thyra::AztecOOLinearOpWithSolveFactory::createOp  )  const
 

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

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

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

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

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

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

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

Teuchos::RefCountPtr< Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::getParameterList  ) 
 

Teuchos::RefCountPtr< Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::unsetParameterList  ) 
 

Teuchos::RefCountPtr< const Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::getParameterList  )  const
 

Teuchos::RefCountPtr< const Teuchos::ParameterList > Thyra::AztecOOLinearOpWithSolveFactory::getValidParameters  )  const
 

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


The documentation for this class was generated from the following files:
Generated on Sun May 20 12:51:22 2007 for Aztecoo/Thyra Linear Solver Adapter Software by doxygen 1.3.9.1