Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
TSFExtended::AztecSolver Class Reference
Inheritance diagram for TSFExtended::AztecSolver:
TSFExtended::LinearSolverBase< double > Sundance::Handleable< LinearSolverBase< double > > Sundance::Printable Sundance::DefaultObjectWithVerbosity Sundance::NamedObject Sundance::ObjectWithVerbosityBase

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 57 of file TSFAztecSolver.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 TSFExtended::AztecSolver::~AztecSolver ( ) [inline, virtual]

Definition at line 71 of file TSFAztecSolver.hpp.


Member Function Documentation

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

Write a brief description.

Definition at line 93 of file TSFAztecSolver.hpp.

Referenced by print().

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


Member Data Documentation

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

Aztec proc_config.

Definition at line 146 of file TSFAztecSolver.hpp.

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

Flag indicating whether we are using Ifpack preconditioning.

Definition at line 127 of file TSFAztecSolver.hpp.

Referenced by AztecSolver(), and solve().

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

Flag indicating whether we are using a user-defined preconditioner.

Definition at line 130 of file TSFAztecSolver.hpp.

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

Site Contact