Thyra::AmesosLinearOpWithSolveFactory Class Reference

Concrete LinearOpWithSolveFactoryBase adapter subclass that uses Amesos direct solvers. More...

#include <Thyra_AmesosLinearOpWithSolveFactory.hpp>

List of all members.

Constructors/initializers/accessors

 ~AmesosLinearOpWithSolveFactory ()
 
 AmesosLinearOpWithSolveFactory (const Amesos::ESolverType solverType=Amesos::LAPACK, const Amesos::ERefactorizationPolicy refactorizationPolicy=Amesos::REPIVOT_ON_REFACTORIZATION, const bool throwOnPrecInput=true)
 Constructor which sets the defaults.
 STANDARD_COMPOSITION_MEMBERS (EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor)
 Set the strategy object used to extract an Epetra_Operator view of an input forward operator.

Overridden public functions from LinearOpWithSolveFactoryBase

bool isCompatible (const LinearOpSourceBase< double > &fwdOpSrc) const
 Returns true if dynamic_cast<const EpetraLinearOpBase*>(fwdOpSrc)!=NULL .
Teuchos::RCP< LinearOpWithSolveBase<
double > > 
createOp () const
 
void initializeOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 
bool supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const
 Returns false .
void initializePreconditionedOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise.
void initializePreconditionedOp (const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
 Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise.
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
 

Overridden from ParameterListAcceptor

void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &paramList)
 
Teuchos::RCP< Teuchos::ParameterListgetNonconstParameterList ()
 
Teuchos::RCP< Teuchos::ParameterListunsetParameterList ()
 
Teuchos::RCP< const Teuchos::ParameterListgetParameterList () const
 
Teuchos::RCP< const Teuchos::ParameterListgetValidParameters () const
 

Public functions overridden from Teuchos::Describable.

std::string description () const
 

Parameter names for Paramter List

const std::string SolverType_name = "Solver Type"
 
const std::string RefactorizationPolicy_name = "Refactorization Policy"
 
const std::string ThrowOnPreconditionerInput_name = "Throw on Preconditioner Input"
 
const std::string Amesos_Settings_name = "Amesos Settings"
 


Detailed Description

Concrete LinearOpWithSolveFactoryBase adapter subclass that uses Amesos direct solvers.

This class creates objects of type AmesosLinearOpWithSolve (through the LinearOpWithSolveBase interface) which can then be used to solve for linear systems. The AmesosLinearOpWithSolve objects created an initialized by this object are completely indpendent from *this. This allows for multiple AmesosLinearOpWithSolve objects to be created and maintained simultaneously and for *this factory object to be destroyed without affecting the created AmesosLinearOpWithSolve objects.

ToDo: Mention parameter list usage.

Development notes: This class has been designed to allow for "smart" EpetraLinearOpBase subclasses that can create an Epetra_Operator view on command where the underlying storage may not be an Epetra object. However, the current implementation of at least some of the Amesos_BaseSolver subclasses do not allow the Epetra_Operator object to change after construction. Therefore, this current flawed implementation requires that every call to the EpetraLinearOpBase::getEpetraOpView() function return the same Epetra_Operator object.


Constructor & Destructor Documentation

Thyra::AmesosLinearOpWithSolveFactory::~AmesosLinearOpWithSolveFactory  ) 
 

Thyra::AmesosLinearOpWithSolveFactory::AmesosLinearOpWithSolveFactory const Amesos::ESolverType  solverType = Amesos::LAPACK,
const Amesos::ERefactorizationPolicy  refactorizationPolicy = Amesos::REPIVOT_ON_REFACTORIZATION,
const bool  throwOnPrecInput = true
 

Constructor which sets the defaults.


Member Function Documentation

Thyra::AmesosLinearOpWithSolveFactory::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::AmesosLinearOpWithSolveFactory::isCompatible const LinearOpSourceBase< double > &  fwdOpSrc  )  const
 

Returns true if dynamic_cast<const EpetraLinearOpBase*>(fwdOpSrc)!=NULL .

RCP< LinearOpWithSolveBase< double > > Thyra::AmesosLinearOpWithSolveFactory::createOp  )  const
 

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

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

Returns false .

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

Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise.

void Thyra::AmesosLinearOpWithSolveFactory::initializePreconditionedOp const Teuchos::RCP< const LinearOpSourceBase< double > > &  fwdOpSrc,
const Teuchos::RCP< const LinearOpSourceBase< double > > &  approxFwdOpSrc,
LinearOpWithSolveBase< double > *  Op,
const ESupportSolveUse  supportSolveUse
const
 

Throws exception if this->throwOnPrecInput()==true and calls this->initializeOp(fwdOpSrc,Op) otherwise.

void Thyra::AmesosLinearOpWithSolveFactory::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
 

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

RCP< Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getNonconstParameterList  ) 
 

RCP< Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::unsetParameterList  ) 
 

RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getParameterList  )  const
 

RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getValidParameters  )  const
 

std::string Thyra::AmesosLinearOpWithSolveFactory::description  )  const
 


Member Data Documentation

const std::string Thyra::AmesosLinearOpWithSolveFactory::SolverType_name = "Solver Type" [static]
 

const std::string Thyra::AmesosLinearOpWithSolveFactory::RefactorizationPolicy_name = "Refactorization Policy" [static]
 

const std::string Thyra::AmesosLinearOpWithSolveFactory::ThrowOnPreconditionerInput_name = "Throw on Preconditioner Input" [static]
 

const std::string Thyra::AmesosLinearOpWithSolveFactory::Amesos_Settings_name = "Amesos Settings" [static]
 


The documentation for this class was generated from the following files:
Generated on Sun Nov 23 12:18:26 2008 for Stratimikos by  doxygen 1.3.9.1