9 #include "PETScVector.h"
10 #include <dolfinx/common/MPI.h>
20 class PETScDMCollection;
50 int solve(Vec x,
const Vec b,
bool transpose =
false);
This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the K...
Definition: PETScKrylovSolver.h:30
void set_dm(DM dm)
Set the DM.
Definition: PETScKrylovSolver.cpp:162
void set_operator(const Mat A)
Set operator (Mat)
Definition: PETScKrylovSolver.cpp:45
void set_operators(const Mat A, const Mat P)
Set operator and preconditioner matrix (Mat)
Definition: PETScKrylovSolver.cpp:47
void set_options_prefix(std::string options_prefix)
Sets the prefix used by PETSc when searching the PETSc options database.
Definition: PETScKrylovSolver.cpp:177
int solve(Vec x, const Vec b, bool transpose=false)
Solve linear system Ax = b and return number of iterations (A^t x = b if transpose is true)
Definition: PETScKrylovSolver.cpp:57
virtual ~PETScKrylovSolver()
Destructor.
Definition: PETScKrylovSolver.cpp:39
KSP ksp() const
Return PETSc KSP pointer.
Definition: PETScKrylovSolver.cpp:204
std::string get_options_prefix() const
Returns the prefix used by PETSc when searching the PETSc options database.
Definition: PETScKrylovSolver.cpp:186
void set_from_options() const
Set options from PETSc options database.
Definition: PETScKrylovSolver.cpp:196
PETScKrylovSolver(MPI_Comm comm)
Create Krylov solver for a particular method and named preconditioner.
Definition: PETScKrylovSolver.cpp:18
void set_dm_active(bool val)
Activate/deactivate DM.
Definition: PETScKrylovSolver.cpp:168