13#ifndef dealii_ginkgo_solver_h
14#define dealii_ginkgo_solver_h
19#ifdef DEAL_II_WITH_GINKGO
27# include <ginkgo/ginkgo.hpp>
35#ifdef DEAL_II_WITH_GINKGO
47 template <
typename ValueType,
typename IndexType>
157 std::shared_ptr<gko::stop::ResidualNormReduction<>::Factory>
210 template <
typename ValueType =
double,
typename IndexType =
int32_t>
250 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
264 template <
typename ValueType =
double,
typename IndexType =
int32_t>
304 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
320 template <
typename ValueType =
double,
typename IndexType =
int32_t>
360 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
385 template <
typename ValueType =
double,
typename IndexType =
int32_t>
425 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
438 template <
typename ValueType =
double,
typename IndexType =
int32_t>
489 const std::shared_ptr<gko::LinOpFactory> &preconditioner,
506 template <
typename ValueType =
double,
typename IndexType =
int32_t>
546 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
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
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
std::vector< index_type > data
unsigned int restart_parameter