LinearOpWithSolveBase subclass implemented using AztecOO.
More...
#include <Thyra_AztecOOLinearOpWithSolve.hpp>
Inheritance diagram for Thyra::AztecOOLinearOpWithSolve:
Constructors/initializers/accessors | |
| AztecOOLinearOpWithSolve (const int fwdDefaultMaxIterations=400, const double fwdDefaultTol=1e-6, const int adjDefaultMaxIterations=400, const double adjDefaultTol=1e-6, const bool outputEveryRhs=false) | |
| STANDARD_MEMBER_COMPOSITION_MEMBERS (int, fwdDefaultMaxIterations) | |
| The default maximum number of iterations for forward solves. | |
| STANDARD_MEMBER_COMPOSITION_MEMBERS (double, fwdDefaultTol) | |
| The default solution tolerance on the residual for forward solves. | |
| STANDARD_MEMBER_COMPOSITION_MEMBERS (int, adjDefaultMaxIterations) | |
| The default maximum number of iterations for adjoint solves. | |
| STANDARD_MEMBER_COMPOSITION_MEMBERS (double, adjDefaultTol) | |
| The default solution tolerance on the residual for adjoint solves. | |
| STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, outputEveryRhs) | |
| Determine if output for every RHS will be printed or not. | |
| void | initialize (const Teuchos::RCP< const LinearOpBase< double > > &fwdOp, const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, const bool isExternalPrec, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, const Teuchos::RCP< AztecOO > &aztecFwdSolver, const bool allowInexactFwdSolve=false, const Teuchos::RCP< AztecOO > &aztecAdjSolver=Teuchos::null, const bool allowInexactAdjSolve=false, const double aztecSolverScalar=1.0) |
| Sets up this object. | |
| Teuchos::RCP< const LinearOpSourceBase< double > > | extract_fwdOpSrc () |
Extract the forward LinearOpBase<double> object so that it can be modified. | |
| Teuchos::RCP< const PreconditionerBase< double > > | extract_prec () |
| Extract the preconditioner. | |
| bool | isExternalPrec () const |
| Determine if the preconditioner was external or not. | |
| Teuchos::RCP< const LinearOpSourceBase< double > > | extract_approxFwdOpSrc () |
Extract the approximate forward LinearOpBase<double> object used to build the preconditioner. | |
| void | uninitialize (Teuchos::RCP< const LinearOpBase< double > > *fwdOp=NULL, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc=NULL, Teuchos::RCP< const PreconditionerBase< double > > *prec=NULL, bool *isExternalPrec=NULL, Teuchos::RCP< const LinearOpSourceBase< double > > *approxFwdOpSrc=NULL, Teuchos::RCP< AztecOO > *aztecFwdSolver=NULL, bool *allowInexactFwdSolve=NULL, Teuchos::RCP< AztecOO > *aztecAdjSolver=NULL, bool *allowInexactAdjSolve=NULL, double *aztecSolverScalar=NULL) |
| Uninitialize. | |
Overridden from LinearOpBase | |
| Teuchos::RCP< const VectorSpaceBase< double > > | range () const |
| | |
| Teuchos::RCP< const VectorSpaceBase< double > > | domain () const |
| | |
| Teuchos::RCP< const LinearOpBase< double > > | clone () const |
| | |
Overridden from Teuchos::Describable | |
| std::string | description () const |
| | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| | |
Overridden from SingleScalarLinearOpBase | |
| bool | opSupported (ETransp M_trans) const |
| | |
Overridden from SingleRhsLinearOpBase | |
| void | apply (const ETransp M_trans, const VectorBase< double > &x, VectorBase< double > *y, const double alpha, const double beta) const |
| | |
Overridden from SingleScalarLinearOpWithSolveBase | |
| bool | solveSupportsTrans (ETransp M_trans) const |
| | |
| bool | solveSupportsSolveMeasureType (ETransp M_trans, const SolveMeasureType &solveMeasureType) const |
| | |
| void | solve (const ETransp M_trans, const MultiVectorBase< double > &B, MultiVectorBase< double > *X, const int numBlocks, const BlockSolveCriteria< double > blockSolveCriteria[], SolveStatus< double > blockSolveStatus[]) const |
| | |
LinearOpWithSolveBase subclass implemented using AztecOO.
This subclass is designed to be very flexible and handle a number of different use cases. It supports forward and optionally adjoint (transpose) solves. I can support inexact solves based on a relative residual norm tolerance or just allow for a default (i.e. tight) linear solve tolerance.
This subclass is not designed to be used directly by users but instead by subclasses of LinearOpWithSolveFactoryBase. One standard implementation that is fairly flexible (and will be make more flexible in the future) is AztecOOLinearOpWithSolveFactory.
This subclass allows for user-defined preconditioners or for built-in aztec preconditioners.
ToDo: Finish documentation!
Definition at line 66 of file Thyra_AztecOOLinearOpWithSolve.hpp.
|
||||||||||||||||||||||||
|
Construct uninitialized but with default option values. Note, these defaults where taken from NOX::EpetraNew::LinearSystemAztecOO::applyJacobianInverse(...) on 2005/08/15. Definition at line 182 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
||||||||||||
|
The default maximum number of iterations for forward solves.
|
|
||||||||||||
|
The default solution tolerance on the residual for forward solves.
|
|
||||||||||||
|
The default maximum number of iterations for adjoint solves.
|
|
||||||||||||
|
The default solution tolerance on the residual for adjoint solves.
|
|
||||||||||||
|
Determine if output for every RHS will be printed or not.
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Sets up this object.
Postconditions:
ToDo: Finish documentation! Definition at line 201 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Extract the forward
Definition at line 236 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Extract the preconditioner.
Definition at line 246 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Determine if the preconditioner was external or not.
Definition at line 255 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Extract the approximate forward
Definition at line 262 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
||||||||||||||||||||||||||||||||||||||||||||
|
Uninitialize.
Definition at line 271 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Definition at line 312 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Definition at line 319 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Definition at line 326 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Reimplemented from Thyra::LinearOpDefaultBase< Scalar >. Definition at line 335 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
||||||||||||
|
Reimplemented from Thyra::LinearOpDefaultBase< Scalar >. Definition at line 348 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Implements Thyra::SingleScalarLinearOpBase< Scalar >. Definition at line 429 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
||||||||||||||||||||||||
|
Implements Thyra::SingleRhsLinearOpBase< double >. Definition at line 438 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
|
Implements Thyra::SingleScalarLinearOpWithSolveBase< double >. Definition at line 453 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
||||||||||||
|
Implements Thyra::SingleScalarLinearOpWithSolveBase< double >. Definition at line 460 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
|
||||||||||||||||||||||||||||
|
Implements Thyra::SingleScalarLinearOpWithSolveBase< double >. Definition at line 533 of file Thyra_AztecOOLinearOpWithSolve.cpp. |
1.3.9.1