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 82 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
Thyra::AmesosLinearOpWithSolveFactory::~AmesosLinearOpWithSolveFactory | ( | ) |
Definition at line 114 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 124 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 137 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< LinearOpWithSolveBase< double > > Thyra::AmesosLinearOpWithSolveFactory::createOp | ( | ) | const |
Definition at line 161 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 166 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
bool Thyra::AmesosLinearOpWithSolveFactory::supportsPreconditionerInputType | ( | const EPreconditionerInputType | precOpType | ) | const |
Returns false
.
Definition at line 360 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 365 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 380 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 395 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
void Thyra::AmesosLinearOpWithSolveFactory::setParameterList | ( | Teuchos::RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 429 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getNonconstParameterList | ( | ) |
Definition at line 457 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::unsetParameterList | ( | ) |
Definition at line 463 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getParameterList | ( | ) | const |
Definition at line 471 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
RCP< const Teuchos::ParameterList > Thyra::AmesosLinearOpWithSolveFactory::getValidParameters | ( | ) | const |
Definition at line 477 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
std::string Thyra::AmesosLinearOpWithSolveFactory::description | ( | ) | const |
Definition at line 484 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
|
staticprivate |
Definition at line 496 of file Thyra_AmesosLinearOpWithSolveFactory.cpp.
|
static |
Definition at line 89 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
static |
Definition at line 91 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
static |
Definition at line 93 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
static |
Definition at line 95 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 211 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 212 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 213 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 214 of file Thyra_AmesosLinearOpWithSolveFactory.hpp.