Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
Playa::AztecSolver Class Reference
Inheritance diagram for Playa::AztecSolver:
Playa::LinearSolverBase< double > Playa::Handleable< LinearSolverBase< double > > Playa::Printable Playa::ObjectWithVerbosity

List of all members.

Public Member Functions

 AztecSolver (const Teuchos::map< int, int > &aztecOptions, const Teuchos::map< int, double > &aztecParameters)
 AztecSolver (const Teuchos::ParameterList &params)
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

Detailed Description

Definition at line 70 of file PlayaAztecSolver.hpp.


Constructor & Destructor Documentation

AztecSolver::AztecSolver ( const Teuchos::map< int, int > &  aztecOptions,
const Teuchos::map< int, double > &  aztecParameters 
)
AztecSolver::AztecSolver ( const Teuchos::ParameterList &  params)
virtual Playa::AztecSolver::~AztecSolver ( ) [inline, virtual]

Definition at line 84 of file PlayaAztecSolver.hpp.


Member Function Documentation

std::string Playa::AztecSolver::description ( ) const [inline]

Write a brief description

Definition at line 106 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 119 of file PlayaAztecSolver.hpp.

void AztecSolver::initParamMap ( ) [static, private]

Initialize the map from parameter names to AZTEC parameter ID codes

Definition at line 370 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 163 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 97 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 355 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]
void AztecSolver::updateTolerance ( const double &  tol) [virtual]

Change the convergence tolerance.

Reimplemented from Playa::LinearSolverBase< double >.

Definition at line 215 of file PlayaAztecSolver.cpp.

References parameters_.


Member Data Documentation

Array<int> Playa::AztecSolver::aztec_proc_config [mutable, private]

Aztec proc_config

Definition at line 159 of file PlayaAztecSolver.hpp.

Flag indicating whether we are doing a recursive solve with aztec (i.e., using recursiveIterate)

Definition at line 147 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

Array<double> Playa::AztecSolver::aztec_status [mutable, private]

Aztec status

Definition at line 156 of file PlayaAztecSolver.hpp.

Array<int> Playa::AztecSolver::options_ [mutable, private]

Aztec options

Definition at line 131 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

Array<double> Playa::AztecSolver::parameters_ [mutable, private]

Aztec parameters

Definition at line 134 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), solve(), and updateTolerance().

ParameterList Playa::AztecSolver::precParams_ [mutable, private]

Parameter list for preconditioner

Definition at line 150 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

Flag indicating whether we are using Ifpack preconditioning

Definition at line 140 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

Flag indicating whether we are using ML preconditioning

Definition at line 137 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

RCP<Epetra_Operator> Playa::AztecSolver::userPrec_ [mutable, private]

User-defined preconditioner object

Definition at line 153 of file PlayaAztecSolver.hpp.

Referenced by setUserPrec(), and solve().

Flag indicating whether we are using a user-defined preconditioner

Definition at line 143 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), setUserPrec(), and solve().

Site Contact