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 33 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 47 of file PlayaAztecSolver.hpp.


Member Function Documentation

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]

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_.


Member Data Documentation

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

Aztec proc_config

Definition at line 122 of file PlayaAztecSolver.hpp.

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().

Flag indicating whether we are using Ifpack preconditioning

Definition at line 103 of file PlayaAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

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().

Flag indicating whether we are using a user-defined preconditioner

Definition at line 106 of file PlayaAztecSolver.hpp.

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

Site Contact