Belos Version of the Day
Belos::SolverManager< ScalarType, MV, OP > Class Template Reference

The Belos::SolverManager is a templated virtual base class that defines the basic interface that any solver manager will support. More...

#include <BelosSolverManager.hpp>

Inheritance diagram for Belos::SolverManager< ScalarType, MV, OP >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructors/Destructor
 SolverManager ()
 Empty constructor.
virtual ~SolverManager ()
 Destructor.
Accessor methods
virtual const LinearProblem
< ScalarType, MV, OP > & 
getProblem () const =0
 Return a reference to the linear problem being solved by this solver manager.
virtual Teuchos::RCP< const
Teuchos::ParameterList
getValidParameters () const =0
 Return the valid parameters for this solver manager.
virtual Teuchos::RCP< const
Teuchos::ParameterList
getCurrentParameters () const =0
 Return the current parameters being used for this solver manager.
virtual int getNumIters () const =0
 Get the iteration count for the most recent call to solve().
virtual bool isLOADetected () const =0
 Returns whether a loss of accuracy was detected in the solver.
Set methods
virtual void setProblem (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem)=0
 Set the linear problem that needs to be solved.
virtual void setParameters (const Teuchos::RCP< Teuchos::ParameterList > &params)=0
 Set the parameters the solver manager should use to solve the linear problem.
virtual void setUserConvStatusTest (const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &userConvStatusTest)
 Set user-defined convergence status test.
Reset methods
virtual void reset (const ResetType type)=0
 Performs a reset of the solver manager specified by the ResetType. This informs the solver manager that the solver should prepare for the next call to solve by resetting certain elements of the iterative solver strategy.
Solver application methods
virtual ReturnType solve ()=0
 This method performs possibly repeated calls to the underlying linear solver's iterate() routine until the problem has been solved (as decided by the solver manager) or the solver manager decides to quit.

Detailed Description

template<class ScalarType, class MV, class OP>
class Belos::SolverManager< ScalarType, MV, OP >

The Belos::SolverManager is a templated virtual base class that defines the basic interface that any solver manager will support.

Definition at line 71 of file BelosSolverManager.hpp.


Constructor & Destructor Documentation

template<class ScalarType, class MV, class OP>
Belos::SolverManager< ScalarType, MV, OP >::SolverManager ( ) [inline]

Empty constructor.

Definition at line 79 of file BelosSolverManager.hpp.

template<class ScalarType, class MV, class OP>
virtual Belos::SolverManager< ScalarType, MV, OP >::~SolverManager ( ) [inline, virtual]

Destructor.

Definition at line 82 of file BelosSolverManager.hpp.


Member Function Documentation

template<class ScalarType, class MV, class OP>
virtual const LinearProblem<ScalarType,MV,OP>& Belos::SolverManager< ScalarType, MV, OP >::getProblem ( ) const [pure virtual]
template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const Teuchos::ParameterList> Belos::SolverManager< ScalarType, MV, OP >::getValidParameters ( ) const [pure virtual]
template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const Teuchos::ParameterList> Belos::SolverManager< ScalarType, MV, OP >::getCurrentParameters ( ) const [pure virtual]
template<class ScalarType, class MV, class OP>
virtual int Belos::SolverManager< ScalarType, MV, OP >::getNumIters ( ) const [pure virtual]
template<class ScalarType, class MV, class OP>
virtual bool Belos::SolverManager< ScalarType, MV, OP >::isLOADetected ( ) const [pure virtual]
template<class ScalarType, class MV, class OP>
virtual void Belos::SolverManager< ScalarType, MV, OP >::setProblem ( const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &  problem) [pure virtual]
template<class ScalarType, class MV, class OP>
virtual void Belos::SolverManager< ScalarType, MV, OP >::setParameters ( const Teuchos::RCP< Teuchos::ParameterList > &  params) [pure virtual]
template<class ScalarType, class MV, class OP>
virtual void Belos::SolverManager< ScalarType, MV, OP >::setUserConvStatusTest ( const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &  userConvStatusTest) [inline, virtual]

Set user-defined convergence status test.

Reimplemented in Belos::GmresSolMgr< Scalar, MV, OP >, and Belos::PseudoBlockGmresSolMgr< ScalarType, MV, OP >.

Definition at line 117 of file BelosSolverManager.hpp.

template<class ScalarType, class MV, class OP>
virtual void Belos::SolverManager< ScalarType, MV, OP >::reset ( const ResetType  type) [pure virtual]
template<class ScalarType, class MV, class OP>
virtual ReturnType Belos::SolverManager< ScalarType, MV, OP >::solve ( ) [pure virtual]

This method performs possibly repeated calls to the underlying linear solver's iterate() routine until the problem has been solved (as decided by the solver manager) or the solver manager decides to quit.

Returns:
ReturnType specifying:
  • Converged: the linear problem was solved to the specification required by the solver manager.
  • Unconverged: the linear problem was not solved to the specification desired by the solver manager

Implemented in Belos::BlockCGSolMgr< ScalarType, MV, OP >, Belos::BlockGCRODRSolMgr< ScalarType, MV, OP >, Belos::BlockGmresSolMgr< ScalarType, MV, OP >, Belos::GCRODRSolMgr< ScalarType, MV, OP >, Belos::GmresPolySolMgr< ScalarType, MV, OP >, Belos::GmresSolMgr< Scalar, MV, OP >, Belos::LSQRSolMgr< ScalarType, MV, OP >, Belos::MinresSolMgr< ScalarType, MV, OP >, Belos::PCPGSolMgr< ScalarType, MV, OP >, Belos::PseudoBlockCGSolMgr< ScalarType, MV, OP >, Belos::PseudoBlockGmresSolMgr< ScalarType, MV, OP >, Belos::RCGSolMgr< ScalarType, MV, OP >, and Belos::TFQMRSolMgr< ScalarType, MV, OP >.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines