20 #ifndef GEOS_LINEARALGEBRA_INTERFACES_PETSCINTERFACE_HPP_
21 #define GEOS_LINEARALGEBRA_INTERFACES_PETSCINTERFACE_HPP_
25 #include "linearAlgebra/common/PreconditionerBase.hpp"
54 static std::unique_ptr< LinearSolverBase< PetscInterface > >
62 static std::unique_ptr< PreconditionerBase< PetscInterface > >
71 static std::unique_ptr< PreconditionerBase< PetscInterface > >
This class creates and provides basic support for the Mat matrix object type used in PETSc.
This class creates and provides basic support for Vec vector object type used in PETSc.
Array< T, 1 > array1d
Alias for 1D array.
Set of parameters for a linear solver or preconditioner.
This class holds aliases based on the Petsc library.
static void finalize()
Finalizes the Petsc library.
static void initialize()
Initializes the Petsc library.
static std::unique_ptr< LinearSolverBase< PetscInterface > > createSolver(LinearSolverParameters params)
Create a petsc-based solver object.
static std::unique_ptr< PreconditionerBase< PetscInterface > > createPreconditioner(LinearSolverParameters params)
Create a PETSc-based preconditioner object.
static std::unique_ptr< PreconditionerBase< PetscInterface > > createPreconditioner(LinearSolverParameters params, array1d< PetscVector > const &nearNullKernel)
Create a PETSc-based preconditioner object.