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 57 of file TSFAztecSolver.hpp.
| AztecSolver::AztecSolver | ( | const Teuchos::map< int, int > & | aztecOptions, |
| const Teuchos::map< int, double > & | aztecParameters | ||
| ) |
Definition at line 130 of file TSFAztecSolver.cpp.
References AZ_recursive_iterate, aztec_recursive_iterate_, options_, parameters_, and Sundance::NamedObject::setName().
| AztecSolver::AztecSolver | ( | const Teuchos::ParameterList & | params | ) |
Definition at line 32 of file TSFAztecSolver.cpp.
References aztec_recursive_iterate_, initParamMap(), Sundance::NamedObject::name(), options_, parameters_, paramMap(), precParams_, Sundance::NamedObject::setName(), Sundance::DefaultObjectWithVerbosity::setVerbosity(), useIfpack_, useML_, and useUserPrec_.
| virtual TSFExtended::AztecSolver::~AztecSolver | ( | ) | [inline, virtual] |
Definition at line 71 of file TSFAztecSolver.hpp.
| std::string TSFExtended::AztecSolver::description | ( | ) | const [inline] |
| virtual RCP<LinearSolverBase<double> > TSFExtended::AztecSolver::getRcp | ( | ) | [inline, virtual] |
Return a ref count pointer to a newly created object.
Implements Sundance::Handleable< LinearSolverBase< double > >.
Definition at line 106 of file TSFAztecSolver.hpp.
| void AztecSolver::initParamMap | ( | ) | [static, private] |
Initialize the map from parameter names to AZTEC parameter ID codes.
Definition at line 330 of file TSFAztecSolver.cpp.
References AZ_recursive_iterate, and paramMap().
Referenced by AztecSolver().
| static Teuchos::map<string,int>& TSFExtended::AztecSolver::paramMap | ( | ) | [inline, static, private] |
Map from parameter name to AZTEC parameter identifier.
Definition at line 150 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), and initParamMap().
| void TSFExtended::AztecSolver::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Write to a stream.
Implements Sundance::Printable.
Definition at line 84 of file TSFAztecSolver.hpp.
References description().
| void TSFExtended::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 TSFExtended::LinearSolverBase< double >.
Definition at line 315 of file TSFAztecSolver.cpp.
References userPrec_, and useUserPrec_.
| SolverState< double > AztecSolver::solve | ( | const LinearOperator< double > & | op, |
| const Vector< double > & | rhs, | ||
| Vector< double > & | soln | ||
| ) | const [virtual] |
Implements TSFExtended::LinearSolverBase< double >.
Definition at line 180 of file TSFAztecSolver.cpp.
References aztec_recursive_iterate_, TSFExtended::Vector< Scalar >::copy(), TSFExtended::EpetraMatrix::getConcrete(), TSFExtended::EpetraVector::getConcretePtr(), Sundance::NamedObject::name(), options_, Sundance::Out::os(), parameters_, precParams_, TSFExtended::SolveConverged, TSFExtended::SolveCrashed, TSFExtended::SolveFailedToConverge, useIfpack_, useML_, userPrec_, useUserPrec_, and Sundance::DefaultObjectWithVerbosity::verb().
| void AztecSolver::updateTolerance | ( | const double & | tol | ) | [virtual] |
Change the convergence tolerance.
Reimplemented from TSFExtended::LinearSolverBase< double >.
Definition at line 175 of file TSFAztecSolver.cpp.
References parameters_.
Array<int> TSFExtended::AztecSolver::aztec_proc_config [mutable, private] |
Aztec proc_config.
Definition at line 146 of file TSFAztecSolver.hpp.
bool TSFExtended::AztecSolver::aztec_recursive_iterate_ [private] |
Flag indicating whether we are doing a recursive solve with aztec (i.e., using recursiveIterate)
Definition at line 134 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
Array<double> TSFExtended::AztecSolver::aztec_status [mutable, private] |
Aztec status.
Definition at line 143 of file TSFAztecSolver.hpp.
Array<int> TSFExtended::AztecSolver::options_ [mutable, private] |
Aztec options.
Definition at line 118 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
Array<double> TSFExtended::AztecSolver::parameters_ [mutable, private] |
Aztec parameters.
Definition at line 121 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), solve(), and updateTolerance().
ParameterList TSFExtended::AztecSolver::precParams_ [mutable, private] |
Parameter list for preconditioner.
Definition at line 137 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
bool TSFExtended::AztecSolver::useIfpack_ [private] |
Flag indicating whether we are using Ifpack preconditioning.
Definition at line 127 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
bool TSFExtended::AztecSolver::useML_ [private] |
Flag indicating whether we are using ML preconditioning.
Definition at line 124 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), and solve().
RCP<Epetra_Operator> TSFExtended::AztecSolver::userPrec_ [mutable, private] |
User-defined preconditioner object.
Definition at line 140 of file TSFAztecSolver.hpp.
Referenced by setUserPrec(), and solve().
bool TSFExtended::AztecSolver::useUserPrec_ [private] |
Flag indicating whether we are using a user-defined preconditioner.
Definition at line 130 of file TSFAztecSolver.hpp.
Referenced by AztecSolver(), setUserPrec(), and solve().