deal.II version GIT relicensing-2289-g1e5549a87a 2024-12-21 21:30:00+00:00
|
#include <deal.II/lac/ginkgo_solver.h>
Classes | |
struct | AdditionalData |
Public Member Functions | |
SolverGMRES (SolverControl &solver_control, const std::string &exec_type, const AdditionalData &data=AdditionalData()) | |
SolverGMRES (SolverControl &solver_control, const std::string &exec_type, const std::shared_ptr< gko::LinOpFactory > &preconditioner, const AdditionalData &data=AdditionalData()) | |
void | initialize (const SparseMatrix< ValueType > &matrix) |
void | apply (Vector< ValueType > &solution, const Vector< ValueType > &rhs) |
void | solve (const SparseMatrix< ValueType > &matrix, Vector< ValueType > &solution, const Vector< ValueType > &rhs) |
SolverControl & | control () const |
Protected Attributes | |
const AdditionalData | additional_data |
SolverControl & | solver_control |
std::shared_ptr< gko::LinOpFactory > | solver_gen |
std::shared_ptr< gko::stop::ResidualNormReduction<>::Factory > | residual_criterion |
std::shared_ptr< gko::log::Convergence<> > | convergence_logger |
std::shared_ptr< gko::stop::Combined::Factory > | combined_factory |
std::shared_ptr< gko::Executor > | executor |
Private Member Functions | |
void | initialize_ginkgo_log () |
Private Attributes | |
std::shared_ptr< gko::matrix::Csr< ValueType, IndexType > > | system_matrix |
const std::string | exec_type |
An implementation of the solver interface using the Ginkgo GMRES solver.
Definition at line 438 of file ginkgo_solver.h.
SolverGMRES< ValueType, IndexType >::SolverGMRES | ( | SolverControl & | solver_control, |
const std::string & | exec_type, | ||
const AdditionalData & | data = AdditionalData() |
||
) |
Constructor.
[in,out] | solver_control | The solver control object is then used to set the parameters and set up the GMRES solver from the GMRES factory which solves the linear system. |
[in] | exec_type | The execution paradigm for the GMRES solver. |
[in] | data | The additional data required by the solver. |
Definition at line 445 of file ginkgo_solver.cc.
SolverGMRES< ValueType, IndexType >::SolverGMRES | ( | SolverControl & | solver_control, |
const std::string & | exec_type, | ||
const std::shared_ptr< gko::LinOpFactory > & | preconditioner, | ||
const AdditionalData & | data = AdditionalData() |
||
) |
Constructor.
[in,out] | solver_control | The solver control object is then used to set the parameters and set up the GMRES solver from the GMRES factory which solves the linear system. |
[in] | exec_type | The execution paradigm for the GMRES solver. |
[in] | preconditioner | The preconditioner for the solver. |
[in] | data | The additional data required by the solver. |
Definition at line 461 of file ginkgo_solver.cc.
|
inherited |
Initialize the matrix and copy over its data to Ginkgo's data structures.
Definition at line 217 of file ginkgo_solver.cc.
|
inherited |
Solve the linear system Ax=b
. Dependent on the information provided by derived classes one of Ginkgo's linear solvers is chosen.
Definition at line 87 of file ginkgo_solver.cc.
|
inherited |
Solve the linear system Ax=b
. Dependent on the information provided by derived classes one of Ginkgo's linear solvers is chosen.
Definition at line 291 of file ginkgo_solver.cc.
|
inherited |
Access to the object that controls convergence.
Definition at line 208 of file ginkgo_solver.cc.
|
privateinherited |
Initialize the Ginkgo logger object with event masks. Refer to Ginkgo's logging event masks.
Definition at line 75 of file ginkgo_solver.cc.
|
protected |
Store a copy of the settings for this particular solver.
Definition at line 495 of file ginkgo_solver.h.
|
protectedinherited |
Reference to the object that controls convergence of the iterative solvers.
Definition at line 145 of file ginkgo_solver.h.
|
protectedinherited |
The Ginkgo generated solver factory object.
Definition at line 150 of file ginkgo_solver.h.
|
protectedinherited |
The residual criterion object that controls the reduction of the residual based on the tolerance set in the solver_control member.
Definition at line 157 of file ginkgo_solver.h.
|
protectedinherited |
The Ginkgo convergence logger used to check for convergence and other solver data if needed.
Definition at line 163 of file ginkgo_solver.h.
|
protectedinherited |
The Ginkgo combined factory object is used to create a combined stopping criterion to be passed to the solver.
Definition at line 169 of file ginkgo_solver.h.
|
protectedinherited |
The execution paradigm in Ginkgo. The choices are between gko::OmpExecutor
, gko::CudaExecutor
and gko::ReferenceExecutor
and more details can be found in Ginkgo's documentation.
Definition at line 176 of file ginkgo_solver.h.
|
privateinherited |
Ginkgo matrix data structure. First template parameter is for storing the array of the non-zeros of the matrix. The second is for the row pointers and the column indices.
Definition at line 195 of file ginkgo_solver.h.
|
privateinherited |
The execution paradigm as a string to be set by the user. The choices are between omp
, cuda
and reference
and more details can be found in Ginkgo's documentation.
Definition at line 202 of file ginkgo_solver.h.