1#ifndef included_AMP_HypreBiCGSTABSolver
2#define included_AMP_HypreBiCGSTABSolver
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 "HypreBiCGSTABSolver"; }
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;
HypreBiCGSTABSolver(std::shared_ptr< HypreBiCGSTABSolverParameters > parameters)
void setHypreFunctionPointers()
void initialize(std::shared_ptr< const SolverStrategyParameters > parameters) override
void reset(std::shared_ptr< SolverStrategyParameters > params) override
virtual ~HypreBiCGSTABSolver()
std::string type() const override
Return the name of the solver.
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)
void setupHypreSolver(std::shared_ptr< const SolverStrategyParameters > parameters)
std::shared_ptr< AMP::Solver::SolverStrategy > shared_ptr