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