Public Member Functions | |
BelosSolver (const Teuchos::ParameterList ¶ms) | |
virtual | ~BelosSolver () |
void | setUserPrec (const PreconditionerFactory< double > &pf) |
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 Attributes | |
PreconditionerFactory< double > | pf_ |
RCP< Belos::SolverManager < double, Anasazi::SimpleMV, LinearOperator< double > > > | solver_ |
bool | hasSolver_ |
Definition at line 34 of file PlayaBelosSolver.hpp.
BelosSolver::BelosSolver | ( | const Teuchos::ParameterList & | params | ) |
virtual Playa::BelosSolver::~BelosSolver | ( | ) | [inline, virtual] |
Definition at line 44 of file PlayaBelosSolver.hpp.
std::string Playa::BelosSolver::description | ( | ) | const [inline] |
Write a brief description
Definition at line 61 of file PlayaBelosSolver.hpp.
Referenced by print().
virtual RCP<LinearSolverBase<double> > Playa::BelosSolver::getRcp | ( | ) | [inline, virtual] |
Return a ref count pointer to a newly created object
Implements Playa::Handleable< LinearSolverBase< double > >.
Definition at line 74 of file PlayaBelosSolver.hpp.
void Playa::BelosSolver::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Write to a stream
Implements Playa::Printable.
Definition at line 52 of file PlayaBelosSolver.hpp.
References description().
void Playa::BelosSolver::setUserPrec | ( | const PreconditionerFactory< double > & | pf | ) | [inline, virtual] |
Set the preconditioning operator
Reimplemented from Playa::LinearSolverBase< double >.
Definition at line 47 of file PlayaBelosSolver.hpp.
References pf_.
SolverState< double > BelosSolver::solve | ( | const LinearOperator< double > & | op, | |
const Vector< double > & | rhs, | |||
Vector< double > & | soln | |||
) | const [virtual] |
Implements Playa::LinearSolverBase< double >.
Definition at line 34 of file PlayaBelosSolver.cpp.
References Playa::Vector< Scalar >::copy(), Playa::PreconditionerFactory< Scalar >::createPreconditioner(), Playa::Preconditioner< Scalar >::hasLeft(), Playa::Preconditioner< Scalar >::hasRight(), hasSolver_, Playa::Preconditioner< Scalar >::left(), Playa::Vector< Scalar >::norm2(), Playa::LinearSolverBase< double >::parameters(), pf_, Playa::Handle< PointerType >::ptr(), Playa::Preconditioner< Scalar >::right(), Playa::SolveConverged, Playa::SolveFailedToConverge, solver_, and Playa::Vector< Scalar >::zero().
bool Playa::BelosSolver::hasSolver_ [mutable, private] |
PreconditionerFactory<double> Playa::BelosSolver::pf_ [private] |
Definition at line 84 of file PlayaBelosSolver.hpp.
Referenced by BelosSolver(), setUserPrec(), and solve().
RCP<Belos::SolverManager<double,Anasazi::SimpleMV, LinearOperator<double> > > Playa::BelosSolver::solver_ [mutable, private] |