
Public Member Functions | |
| AztecSolver (const Teuchos::map< int, int > &aztecOptions, const Teuchos::map< int, double > &aztecParameters) | |
| AztecSolver (const Teuchos::ParameterList ¶ms) | |
| virtual | ~AztecSolver () |
| virtual void | updateTolerance (const double &tol) |
| Change the convergence tolerance. | |
| void | setUserPrec (const LinearOperator< double > &P, const LinearSolver< double > &pSolver) |
| Set the preconditioning operator. | |
| virtual SolverState< double > | solve (const LinearOperator< double > &op, const Vector< double > &rhs, Vector< double > &soln) const |
Printable interface | |
| void | print (std::ostream &os) const |
| Write to a stream. | |
Describable interface | |
| std::string | description () const |
| Write a brief description. | |
Handleable interface | |
| virtual RCP< LinearSolverBase < double > > | getRcp () |
| Return a ref count pointer to a newly created object. | |
Private Member Functions | |
| void | setupML (Epetra_RowMatrix *A) const |
Static Private Member Functions | |
| static Teuchos::map< string, int > & | paramMap () |
| Map from parameter name to AZTEC parameter identifier. | |
| static void | initParamMap () |
| Initialize the map from parameter names to AZTEC parameter ID codes. | |
Private Attributes | |
| Array< int > | options_ |
| Aztec options. | |
| Array< double > | parameters_ |
| Aztec parameters. | |
| bool | useML_ |
| Flag indicating whether we are using ML preconditioning. | |
| bool | useIfpack_ |
| Flag indicating whether we are using Ifpack preconditioning. | |
| bool | useUserPrec_ |
| Flag indicating whether we are using a user-defined preconditioner. | |
| bool | aztec_recursive_iterate_ |
| Flag indicating whether we are doing a recursive solve with aztec (i.e., using recursiveIterate). | |
| ParameterList | precParams_ |
| Parameter list for preconditioner. | |
| RCP< Epetra_Operator > | userPrec_ |
| User-defined preconditioner object. | |
| Array< double > | aztec_status |
| Aztec status. | |
| Array< int > | aztec_proc_config |
| Aztec proc_config. | |
Definition at line 33 of file PlayaAztecSolver.hpp.
| AztecSolver::AztecSolver | ( | const Teuchos::map< int, int > & | aztecOptions, | |
| const Teuchos::map< int, double > & | aztecParameters | |||
| ) |
Definition at line 134 of file PlayaAztecSolver.cpp.
References AZ_recursive_iterate, aztec_recursive_iterate_, options_, and parameters_.
| AztecSolver::AztecSolver | ( | const Teuchos::ParameterList & | params | ) |
Definition at line 37 of file PlayaAztecSolver.cpp.
References aztec_recursive_iterate_, initParamMap(), options_, parameters_, paramMap(), precParams_, Playa::ObjectWithVerbosity::setVerb(), useIfpack_, useML_, and useUserPrec_.
| virtual Playa::AztecSolver::~AztecSolver | ( | ) | [inline, virtual] |
Definition at line 47 of file PlayaAztecSolver.hpp.
| std::string Playa::AztecSolver::description | ( | ) | const [inline] |
Write a brief description.
Definition at line 69 of file PlayaAztecSolver.hpp.
Referenced by print().
| virtual RCP<LinearSolverBase<double> > Playa::AztecSolver::getRcp | ( | ) | [inline, virtual] |
Return a ref count pointer to a newly created object.
Implements Playa::Handleable< LinearSolverBase< double > >.
Definition at line 82 of file PlayaAztecSolver.hpp.
| void AztecSolver::initParamMap | ( | ) | [static, private] |
Initialize the map from parameter names to AZTEC parameter ID codes.
Definition at line 333 of file PlayaAztecSolver.cpp.
References AZ_recursive_iterate, and paramMap().
Referenced by AztecSolver().
| static Teuchos::map<string,int>& Playa::AztecSolver::paramMap | ( | ) | [inline, static, private] |
Map from parameter name to AZTEC parameter identifier.
Definition at line 126 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), and initParamMap().
| void Playa::AztecSolver::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Write to a stream.
Implements Playa::Printable.
Definition at line 60 of file PlayaAztecSolver.hpp.
References description().
| void Playa::AztecSolver::setupML | ( | Epetra_RowMatrix * | A | ) | const [private] |
| void AztecSolver::setUserPrec | ( | const LinearOperator< double > & | P, | |
| const LinearSolver< double > & | pSolver | |||
| ) | [virtual] |
Set the preconditioning operator.
Reimplemented from Playa::LinearSolverBase< double >.
Definition at line 318 of file PlayaAztecSolver.cpp.
References userPrec_, and useUserPrec_.
| SolverState< double > AztecSolver::solve | ( | const LinearOperator< double > & | op, | |
| const Vector< double > & | rhs, | |||
| Vector< double > & | soln | |||
| ) | const [virtual] |
Implements Playa::LinearSolverBase< double >.
Definition at line 183 of file PlayaAztecSolver.cpp.
References aztec_recursive_iterate_, Playa::Vector< Scalar >::copy(), Playa::EpetraMatrix::getConcrete(), Playa::EpetraVector::getConcretePtr(), options_, Playa::Out::os(), parameters_, precParams_, Playa::SolveConverged, Playa::SolveCrashed, Playa::SolveFailedToConverge, useIfpack_, useML_, userPrec_, useUserPrec_, and Playa::ObjectWithVerbosity::verb().
| void AztecSolver::updateTolerance | ( | const double & | tol | ) | [virtual] |
Change the convergence tolerance.
Reimplemented from Playa::LinearSolverBase< double >.
Definition at line 178 of file PlayaAztecSolver.cpp.
References parameters_.
Array<int> Playa::AztecSolver::aztec_proc_config [mutable, private] |
bool Playa::AztecSolver::aztec_recursive_iterate_ [private] |
Flag indicating whether we are doing a recursive solve with aztec (i.e., using recursiveIterate).
Definition at line 110 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
Array<double> Playa::AztecSolver::aztec_status [mutable, private] |
Array<int> Playa::AztecSolver::options_ [mutable, private] |
Aztec options.
Definition at line 94 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
Array<double> Playa::AztecSolver::parameters_ [mutable, private] |
Aztec parameters.
Definition at line 97 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), solve(), and updateTolerance().
ParameterList Playa::AztecSolver::precParams_ [mutable, private] |
Parameter list for preconditioner.
Definition at line 113 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
bool Playa::AztecSolver::useIfpack_ [private] |
Flag indicating whether we are using Ifpack preconditioning.
Definition at line 103 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
bool Playa::AztecSolver::useML_ [private] |
Flag indicating whether we are using ML preconditioning.
Definition at line 100 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
RCP<Epetra_Operator> Playa::AztecSolver::userPrec_ [mutable, private] |
User-defined preconditioner object.
Definition at line 116 of file PlayaAztecSolver.hpp.
Referenced by setUserPrec(), and solve().
bool Playa::AztecSolver::useUserPrec_ [private] |
Flag indicating whether we are using a user-defined preconditioner.
Definition at line 106 of file PlayaAztecSolver.hpp.
Referenced by AztecSolver(), setUserPrec(), and solve().