Stratimikos Package Browser (Single Doxygen Collection)
Version of the Day
|
Concrete LinearOpWithSolveFactoryBase
adapter subclass that uses Amesos direct solvers.
More...
#include <Thyra_AmesosLinearOpWithSolveFactory.hpp>
Inherits LinearOpWithSolveFactoryBase< double >.
Static Private Member Functions | |
static Teuchos::RCP< const Teuchos::ParameterList > | generateAndGetValidParameters () |
Private Attributes | |
Amesos::ESolverType | solverType_ |
Amesos::ERefactorizationPolicy | refactorizationPolicy_ |
bool | throwOnPrecInput_ |
Teuchos::RCP < Teuchos::ParameterList > | paramList_ |
Parameter names for Paramter List | |
static const std::string | SolverType_name = "Solver Type" |
static const std::string | RefactorizationPolicy_name = "Refactorization Policy" |
static const std::string | ThrowOnPreconditionerInput_name = "Throw on Preconditioner Input" |
static const std::string | Amesos_Settings_name = "Amesos Settings" |
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. 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 | isCompatible (const LinearOpSourceBase< double > &fwdOpSrc) const |
Returns true if dynamic_cast<const EpetraLinearOpBase*>(fwdOpSrc)!=NULL . More... | |
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 . More... | |
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. More... | |
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. More... | |
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 ¶mList) |
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 |
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 and initialized by this object are completely independent 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.
Definition at line 48 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
Thyra::AmesosLinearOpWithSolveFactory::~AmesosLinearOpWithSolveFactory | ( | ) |
Definition at line 80 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
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.
Definition at line 90 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
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
.
Definition at line 103 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< LinearOpWithSolveBase< double > > Thyra::AmesosLinearOpWithSolveFactory::createOp | ( | ) | const |
Definition at line 127 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
void Thyra::AmesosLinearOpWithSolveFactory::initializeOp | ( | const Teuchos::RCP< const LinearOpSourceBase< double > > & | fwdOpSrc, |
LinearOpWithSolveBase< double > * | Op, | ||
const ESupportSolveUse | supportSolveUse | ||
) | const |
Definition at line 132 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
bool Thyra::AmesosLinearOpWithSolveFactory::supportsPreconditionerInputType | ( | const EPreconditionerInputType | precOpType | ) | const |
Returns false
.
Definition at line 326 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
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.
Definition at line 331 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
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.
Definition at line 346 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
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 |
Definition at line 361 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
void Thyra::AmesosLinearOpWithSolveFactory::setParameterList | ( | Teuchos::RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 395 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getNonconstParameterList | ( | ) |
Definition at line 423 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::unsetParameterList | ( | ) |
Definition at line 429 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getParameterList | ( | ) | const |
Definition at line 437 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getValidParameters | ( | ) | const |
Definition at line 443 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
std::string Thyra::AmesosLinearOpWithSolveFactory::description | ( | ) | const |
Definition at line 450 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
|
staticprivate |
Definition at line 462 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
|
static |
Definition at line 55 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
static |
Definition at line 57 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
static |
Definition at line 59 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
static |
Definition at line 61 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 177 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 178 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 179 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 180 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.