20 #ifndef GEOS_LINEARALGEBRA_INTERFACES_PETSCPRECONDITIONER_HPP_ 
   21 #define GEOS_LINEARALGEBRA_INTERFACES_PETSCPRECONDITIONER_HPP_ 
   23 #include "common/PreconditionerBase.hpp" 
   36 extern "C" struct _p_PC;
 
   37 extern "C" struct _p_MatNullSpace;
 
  112   using MatNullSpace = _p_MatNullSpace *;
 
  131   MatNullSpace m_nullsp;
 
This class creates and provides basic support for the Mat matrix object type used in PETSc.
 
Wrapper around PETSc-based preconditioners.
 
virtual void clear() override
Clean up the preconditioner setup.
 
typename Base::Matrix Matrix
Alias for matrix type.
 
typename Base::Vector Vector
Alias for vector type.
 
PC const  & unwrapped() const
Access the underlying implementation.
 
PetscPreconditioner(LinearSolverParameters params)
Constructor.
 
virtual void setup(Matrix const &mat) override
Compute the preconditioner from a matrix.
 
PetscPreconditioner(LinearSolverParameters params, arrayView1d< Vector const > nearNullKernel)
Constructor.
 
virtual ~PetscPreconditioner() override
Destructor.
 
virtual void apply(Vector const &src, Vector &dst) const override
Apply operator to a vector.
 
Common interface for preconditioning operators.
 
typename Base::Vector Vector
Alias for vector type.
 
typename LAI::ParallelMatrix Matrix
Alias for matrix type.
 
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
 
Set of parameters for a linear solver or preconditioner.