1#ifndef included_AMP_HypreGMRESSolver
2#define included_AMP_HypreGMRESSolver
5#include "AMP/matrices/Matrix.h"
6#include "AMP/solvers/SolverStrategy.h"
7#include "AMP/solvers/SolverStrategyParameters.h"
8#include "AMP/solvers/hypre/HypreSolver.h"
11class HypreMatrixAdaptor;
48 std::string
type()
const override {
return "HypreGMRESSolver"; }
51 static std::unique_ptr<SolverStrategy>
66 void initialize( std::shared_ptr<const SolverStrategyParameters> parameters )
override;
70 void reset( std::shared_ptr<SolverStrategyParameters> params )
override;
void reset(std::shared_ptr< SolverStrategyParameters > params) override
virtual ~HypreGMRESSolver()
void setupHypreSolver(std::shared_ptr< const SolverStrategyParameters > parameters)
void initialize(std::shared_ptr< const SolverStrategyParameters > parameters) override
static std::unique_ptr< SolverStrategy > createSolver(std::shared_ptr< SolverStrategyParameters > solverStrategyParameters)
static create routine that is used by SolverFactory
void getFromInput(std::shared_ptr< const AMP::Database > db)
std::string type() const override
Return the name of the solver.
HypreGMRESSolver(std::shared_ptr< HypreGMRESSolverParameters > parameters)
void setHypreFunctionPointers()
std::shared_ptr< AMP::Solver::SolverStrategy > shared_ptr