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


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