19 #ifndef GEOSX_PETSCPRECONDITIONER_HPP 20 #define GEOSX_PETSCPRECONDITIONER_HPP 22 #include "linearAlgebra/solvers/PreconditionerBase.hpp" 35 extern "C" struct _p_PC;
36 extern "C" struct _p_MatNullSpace;
100 virtual void clear()
override;
122 #endif //GEOSX_PETSCPRECONDITIONER_HPP PC const & unwrapped() const
Access the underlying implementation.
typename Base::Matrix Matrix
Alias for matrix type.
Common interface for preconditioning operators.
virtual void compute(Matrix const &mat)
Compute the preconditioner from a matrix.
virtual void apply(Vector const &src, Vector &dst) const override
Apply operator to a vector.
Set of parameters for a linear solver or preconditioner.
virtual ~PetscPreconditioner() override
Destructor.
PetscPreconditioner(LinearSolverParameters params)
Constructor.
_p_MatNullSpace * MatNullSpace
Near null space pointer alias.
typename PetscInterface ::ParallelMatrix Matrix
Alias for matrix type.
virtual void compute(Matrix const &mat) override
Compute the preconditioner from a matrix.
typename Base::Vector Vector
Alias for vector type.
_p_PC * PC
Preconditioner pointer alias.
virtual void clear() override
Clean up the preconditioner setup.
Wrapper around PETSc-based preconditioners.
typename Base::Vector Vector
Alias for vector type.
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...