DOLFINx 0.7.3
DOLFINx C++ interface
|
This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Krylov solvers of PETSc. More...
#include <petsc.h>
Public Member Functions | |
KrylovSolver (MPI_Comm comm) | |
Create Krylov solver for a particular method and named preconditioner. | |
KrylovSolver (KSP ksp, bool inc_ref_count) | |
Create solver wrapper of a PETSc KSP object. | |
KrylovSolver (const KrylovSolver &solver)=delete | |
KrylovSolver (KrylovSolver &&solver) | |
Move constructor. | |
~KrylovSolver () | |
Destructor. | |
KrylovSolver & | operator= (const KrylovSolver &)=delete |
KrylovSolver & | operator= (KrylovSolver &&solver) |
Move assignment. | |
void | set_operator (const Mat A) |
Set operator (Mat) | |
void | set_operators (const Mat A, const Mat P) |
Set operator and preconditioner matrix (Mat) | |
int | solve (Vec x, const Vec b, bool transpose=false) const |
Solve linear system Ax = b and return number of iterations (A^t x = b if transpose is true) | |
void | set_options_prefix (std::string options_prefix) |
Sets the prefix used by PETSc when searching the PETSc options database. | |
std::string | get_options_prefix () const |
Returns the prefix used by PETSc when searching the PETSc options database. | |
void | set_from_options () const |
Set options from PETSc options database. | |
KSP | ksp () const |
Return PETSc KSP pointer. | |
This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Krylov solvers of PETSc.
KrylovSolver | ( | KSP | ksp, |
bool | inc_ref_count | ||
) |
Create solver wrapper of a PETSc KSP object.
[in] | ksp | The PETSc KSP object. It should already have been created |
[in] | inc_ref_count | Increment the reference count on ksp if true |