20 #ifndef GEOS_LINEARALGEBRA_INTERFACES_HYPRESOLVER_HPP_
21 #define GEOS_LINEARALGEBRA_INTERFACES_HYPRESOLVER_HPP_
33 struct HypreSolverWrapper;
95 std::unique_ptr< HypreSolverWrapper > m_solver;
Wrapper class for hypre's ParCSRMatrix.
Wrapper around hypre-based preconditioners.
This class creates and provides basic support for Hypre solvers.
virtual ~HypreSolver() override
Destructor.
HypreSolver(LinearSolverParameters parameters)
Solver constructor, with parameter list reference.
virtual void solve(HypreVector const &rhs, HypreVector &sol) const override
Solve preconditioned system.
virtual void setup(HypreMatrix const &mat) override
Compute the preconditioner from a matrix.
virtual void clear() override
Clean up the preconditioner setup.
virtual void apply(HypreVector const &src, HypreVector &dst) const override
Apply operator to a vector, dst = this(src).
Wrapper class for hypre's ParVector.
Simple interface for linear solvers that allows to extract solution results.
LinearSolverResult m_result
Result of most recent solve (status, timings)
LinearSolverParameters m_params
Parameters for the solver.
LinearSolverParameters const & parameters() const
Set of parameters for a linear solver or preconditioner.