Advanced Multi-Physics (AMP)
On-Line Documentation
QMRCGSTABSolver.h
Go to the documentation of this file.
1#ifndef included_AMP_QMRCGSTABSolver
2#define included_AMP_QMRCGSTABSolver
3
4#include "AMP/solvers/SolverStrategy.h"
5#include "AMP/utils/AMP_MPI.h"
6
7namespace AMP::Solver {
8
18template<typename T = double>
20{
21public:
25 QMRCGSTABSolver() = default;
26
44 explicit QMRCGSTABSolver( std::shared_ptr<SolverStrategyParameters> params );
45
51 static std::unique_ptr<SolverStrategy>
52 createSolver( std::shared_ptr<SolverStrategyParameters> params )
53 {
54 return std::make_unique<QMRCGSTABSolver<T>>( params );
55 }
56
60 virtual ~QMRCGSTABSolver() = default;
61
62 std::string type() const override { return "QMRCGSTABSolver"; }
63
69 void apply( std::shared_ptr<const AMP::LinearAlgebra::Vector> f,
70 std::shared_ptr<AMP::LinearAlgebra::Vector> u ) override;
71
76 void initialize( std::shared_ptr<const SolverStrategyParameters> params ) override;
77
78protected:
79 void getFromInput( std::shared_ptr<const AMP::Database> db );
80
81private:
83
85};
86} // namespace AMP::Solver
87
88#endif
virtual ~QMRCGSTABSolver()=default
QMRCGSTABSolver(std::shared_ptr< SolverStrategyParameters > params)
void initialize(std::shared_ptr< const SolverStrategyParameters > params) override
std::string type() const override
Return the name of the solver.
void apply(std::shared_ptr< const AMP::LinearAlgebra::Vector > f, std::shared_ptr< AMP::LinearAlgebra::Vector > u) override
static std::unique_ptr< SolverStrategy > createSolver(std::shared_ptr< SolverStrategyParameters > params)
void getFromInput(std::shared_ptr< const AMP::Database > db)
std::shared_ptr< AMP::Solver::SolverStrategy > shared_ptr



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page