Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Public Member Functions | Protected Attributes | List of all members
GinkgoWrappers::SolverIR< ValueType, IndexType > Class Template Reference

#include <deal.II/lac/ginkgo_solver.h>

Inheritance diagram for GinkgoWrappers::SolverIR< ValueType, IndexType >:
[legend]

Classes

struct  AdditionalData
 

Public Member Functions

 SolverIR (SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData())
 
 SolverIR (SolverControl &solver_control, const std::string &exec_type, const std::shared_ptr< gko::LinOpFactory > &inner_solver, const AdditionalData &data=AdditionalData())
 
- Public Member Functions inherited from GinkgoWrappers::SolverBase< double, int32_t >
 SolverBase (SolverControl &solver_control, const std::string &exec_type)
 
virtual ~SolverBase ()=default
 
void initialize (const SparseMatrix< double > &matrix)
 
void apply (Vector< double > &solution, const Vector< double > &rhs)
 
void solve (const SparseMatrix< double > &matrix, Vector< double > &solution, const Vector< double > &rhs)
 
SolverControlcontrol () const
 

Protected Attributes

const AdditionalData additional_data
 
- Protected Attributes inherited from GinkgoWrappers::SolverBase< double, int32_t >
SolverControlsolver_control
 
std::shared_ptr< gko::LinOpFactory > solver_gen
 
std::shared_ptr< gko::stop::ResidualNormReduction<>::Factoryresidual_criterion
 
std::shared_ptr< gko::log::Convergence<> > convergence_logger
 
std::shared_ptr< gko::stop::Combined::Factory > combined_factory
 
std::shared_ptr< gko::Executor > executor
 

Detailed Description

template<typename ValueType = double, typename IndexType = int32_t>
class GinkgoWrappers::SolverIR< ValueType, IndexType >

An implementation of the solver interface using the Ginkgo IR solver.

Iterative refinement (IR) is an iterative method that uses another coarse method to approximate the error of the current solution via the current residual.

Definition at line 521 of file ginkgo_solver.h.

Constructor & Destructor Documentation

◆ SolverIR() [1/2]

template<typename ValueType , typename IndexType >
GinkgoWrappers::SolverIR< ValueType, IndexType >::SolverIR ( SolverControl solver_control,
const std::string &  exec_type,
const AdditionalData data = AdditionalData() 
)

Constructor.

Parameters
[in,out]solver_controlThe solver control object is then used to set the parameters and setup the IR solver from the IR factory which solves the linear system.
[in]exec_typeThe execution paradigm for the IR solver.
[in]dataThe additional data required by the solver.

Definition at line 482 of file ginkgo_solver.cc.

◆ SolverIR() [2/2]

template<typename ValueType , typename IndexType >
GinkgoWrappers::SolverIR< ValueType, IndexType >::SolverIR ( SolverControl solver_control,
const std::string &  exec_type,
const std::shared_ptr< gko::LinOpFactory > &  inner_solver,
const AdditionalData data = AdditionalData() 
)

Constructor.

Parameters
[in,out]solver_controlThe solver control object is then used to set the parameters and setup the IR solver from the IR factory which solves the linear system.
[in]exec_typeThe execution paradigm for the IR solver.
[in]inner_solverThe Inner solver for the IR solver.
[in]dataThe additional data required by the solver.

Definition at line 496 of file ginkgo_solver.cc.

Member Data Documentation

◆ additional_data

template<typename ValueType = double, typename IndexType = int32_t>
const AdditionalData GinkgoWrappers::SolverIR< ValueType, IndexType >::additional_data
protected

Store a copy of the settings for this particular solver.

Definition at line 567 of file ginkgo_solver.h.


The documentation for this class was generated from the following files: