Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/v0.1.0/v0.9.0/cpp
DOLFINx  0.1.0
DOLFINx C++ interface
Public Member Functions | List of all members
dolfinx::la::PETScKrylovSolver Class Reference

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

Public Member Functions

 PETScKrylovSolver (MPI_Comm comm)
 Create Krylov solver for a particular method and named preconditioner.
 
 PETScKrylovSolver (KSP ksp, bool inc_ref_count)
 Create solver wrapper of a PETSc KSP object. More...
 
 PETScKrylovSolver (const PETScKrylovSolver &solver)=delete
 
 PETScKrylovSolver (PETScKrylovSolver &&solver)
 Move constructor.
 
 ~PETScKrylovSolver ()
 Destructor.
 
PETScKrylovSolveroperator= (const PETScKrylovSolver &)=delete
 
PETScKrylovSolveroperator= (PETScKrylovSolver &&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.
 
void set_dm (DM dm)
 Set the DM.
 
void set_dm_active (bool val)
 Activate/deactivate DM.
 

Detailed Description

This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Krylov solvers of PETSc.

Constructor & Destructor Documentation

◆ PETScKrylovSolver()

PETScKrylovSolver::PETScKrylovSolver ( KSP  ksp,
bool  inc_ref_count 
)

Create solver wrapper of a PETSc KSP object.

Parameters
[in]kspThe PETSc KSP object. It should already have been created
[in]inc_ref_countIncrement the reference count on ksp if true

The documentation for this class was generated from the following files: