ThunderEgg
1.0.0
|
Wraps a PETSc KSP solver for use use as a Solver. More...
#include <KSPSolver.h>
Public Member Functions | |
KSPSolver () | |
Construct a new MatWrapper object. More... | |
KSPSolver< D > * | clone () const override |
Clone this solver. More... | |
void | setType (KSPType new_type) |
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 override |
Perform an iterative solve. More... | |
Public Member Functions inherited from ThunderEgg::Iterative::Solver< D > | |
virtual | ~Solver () |
Destroy the Solver object. | |
Wraps a PETSc KSP solver for use use as a Solver.
|
inlineexplicit |
Construct a new MatWrapper object.
This object will not deallocate the PETSc Mat, you are responsible for deallocating it.
A_in | the PETSc Mat to wrap |
|
inlineoverridevirtual |
Clone this solver.
Implements ThunderEgg::Iterative::Solver< D >.
|
inlineoverridevirtual |
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 |
Implements ThunderEgg::Iterative::Solver< D >.