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) |
void | setUserPrec (const LinearOperator< double > &P, const LinearSolver< double > &pSolver) |
virtual SolverState< double > | solve (const LinearOperator< double > &op, const Vector< double > &rhs, Vector< double > &soln) const |
Printable interface | |
void | print (std::ostream &os) const |
Describable interface | |
std::string | description () const |
Handleable interface | |
virtual RCP< LinearSolverBase < double > > | getRcp () |
Private Member Functions | |
void | setupML (Epetra_RowMatrix *A) const |
Static Private Member Functions | |
static Teuchos::map< string, int > & | paramMap () |
static void | initParamMap () |
Private Attributes | |
Array< int > | options_ |
Array< double > | parameters_ |
bool | useML_ |
bool | useIfpack_ |
bool | useUserPrec_ |
bool | aztec_recursive_iterate_ |
ParameterList | precParams_ |
RCP< Epetra_Operator > | userPrec_ |
Array< double > | aztec_status |
Array< int > | 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] |
Aztec proc_config
Definition at line 122 of file PlayaAztecSolver.hpp.
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] |
Aztec status
Definition at line 119 of file PlayaAztecSolver.hpp.
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().