ThunderEgg
1.0.0
|
Abstract interface for Iterative solvers. More...
#include <Solver.h>
Public Member Functions | |
virtual Solver< D > * | clone () const =0 |
Clone this solver. More... | |
virtual | ~Solver () |
Destroy the Solver object. | |
virtual int | solve (const Operator< D > &A, Vector< D > &x, const Vector< D > &b, const Operator< D > *Mr=nullptr, bool output=false, std::ostream &os=std::cout) const =0 |
Perform an iterative solve. More... | |
Abstract interface for Iterative solvers.
D | the number of cartesian dimensions |
|
pure virtual |
Clone this solver.
Implemented in ThunderEgg::PETSc::KSPSolver< D >, ThunderEgg::Iterative::BiCGStab< D >, and ThunderEgg::Iterative::CG< D >.
|
pure virtual |
Perform an iterative solve.
A | the matrix |
x | the initial LHS guess. |
b | the RHS vector. |
Mr | the right preconditioner. Set to nullptr if there is no right preconditioner. |
output | print output to the provided stream |
os | the stream to output to |
Implemented in ThunderEgg::PETSc::KSPSolver< D >, ThunderEgg::Iterative::BiCGStab< D >, and ThunderEgg::Iterative::CG< D >.