16#ifndef dealii_ginkgo_solver_h
17# define dealii_ginkgo_solver_h
22# ifdef DEAL_II_WITH_GINKGO
30# include <ginkgo/ginkgo.hpp>
49 template <
typename ValueType,
typename IndexType>
159 std::shared_ptr<gko::stop::ResidualNormReduction<>::Factory>
214 template <
typename ValueType =
double,
typename IndexType =
int32_t>
254 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
270 template <
typename ValueType =
double,
typename IndexType =
int32_t>
310 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
328 template <
typename ValueType =
double,
typename IndexType =
int32_t>
368 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
395 template <
typename ValueType =
double,
typename IndexType =
int32_t>
435 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
450 template <
typename ValueType =
double,
typename IndexType =
int32_t>
501 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
520 template <
typename ValueType =
double,
typename IndexType =
int32_t>
560 const std::shared_ptr<gko::LinOpFactory> &inner_solver,
SolverControl & control() const
const std::string exec_type
SolverControl & solver_control
std::shared_ptr< gko::log::Convergence<> > convergence_logger
void initialize_ginkgo_log()
void initialize(const SparseMatrix< ValueType > &matrix)
std::shared_ptr< gko::matrix::Csr< ValueType, IndexType > > system_matrix
SolverBase(SolverControl &solver_control, const std::string &exec_type)
void apply(Vector< ValueType > &solution, const Vector< ValueType > &rhs)
std::shared_ptr< gko::Executor > executor
std::shared_ptr< gko::LinOpFactory > solver_gen
void solve(const SparseMatrix< ValueType > &matrix, Vector< ValueType > &solution, const Vector< ValueType > &rhs)
virtual ~SolverBase()=default
std::shared_ptr< gko::stop::ResidualNormReduction<>::Factory > residual_criterion
std::shared_ptr< gko::stop::Combined::Factory > combined_factory
SolverBicgstab(SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
const AdditionalData additional_data
const AdditionalData additional_data
SolverCGS(SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
SolverCG(SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
const AdditionalData additional_data
const AdditionalData additional_data
SolverFCG(SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
const AdditionalData additional_data
SolverGMRES(SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
const AdditionalData additional_data
SolverIR(SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
@ matrix
Contents is actually a matrix.
AdditionalData(const unsigned int restart_parameter=30)
unsigned int restart_parameter