MFEM  v4.3.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
mfem::Ginkgo::ResidualLogger< ValueType > Struct Template Reference

#include <ginkgo.hpp>

Inheritance diagram for mfem::Ginkgo::ResidualLogger< ValueType >:
[legend]
Collaboration diagram for mfem::Ginkgo::ResidualLogger< ValueType >:
[legend]

Public Types

using gko_dense = gko::matrix::Dense< ValueType >
 

Public Member Functions

void write () const
 
void on_iteration_complete (const gko::LinOp *, const gko::size_type &iteration, const gko::LinOp *residual, const gko::LinOp *solution, const gko::LinOp *residual_norm, const gko::LinOp *implicit_sq_residual_norm) const override
 
void on_iteration_complete (const gko::LinOp *op, const gko::size_type &iteration, const gko::LinOp *residual, const gko::LinOp *solution, const gko::LinOp *residual_norm) const override
 
 ResidualLogger (std::shared_ptr< const gko::Executor > exec, const gko::LinOp *matrix, const gko_dense *b, bool compute_real_residual=false)
 

Detailed Description

template<typename ValueType = double>
struct mfem::Ginkgo::ResidualLogger< ValueType >

Custom logger class which intercepts the residual norm scalar and solution vector in order to print a table of real vs recurrent (internal to the solvers) residual norms.

This has been taken from the custom-logger example of Ginkgo. See the custom-logger example to understand how to write and modify your own loggers with Ginkgo.

Definition at line 273 of file ginkgo.hpp.

Member Typedef Documentation

template<typename ValueType = double>
using mfem::Ginkgo::ResidualLogger< ValueType >::gko_dense = gko::matrix::Dense<ValueType>

Definition at line 308 of file ginkgo.hpp.

Constructor & Destructor Documentation

template<typename ValueType = double>
mfem::Ginkgo::ResidualLogger< ValueType >::ResidualLogger ( std::shared_ptr< const gko::Executor >  exec,
const gko::LinOp *  matrix,
const gko_dense b,
bool  compute_real_residual = false 
)
inline

Definition at line 390 of file ginkgo.hpp.

Member Function Documentation

template<typename ValueType = double>
void mfem::Ginkgo::ResidualLogger< ValueType >::on_iteration_complete ( const gko::LinOp *  ,
const gko::size_type &  iteration,
const gko::LinOp *  residual,
const gko::LinOp *  solution,
const gko::LinOp *  residual_norm,
const gko::LinOp *  implicit_sq_residual_norm 
) const
inlineoverride

Definition at line 312 of file ginkgo.hpp.

template<typename ValueType = double>
void mfem::Ginkgo::ResidualLogger< ValueType >::on_iteration_complete ( const gko::LinOp *  op,
const gko::size_type &  iteration,
const gko::LinOp *  residual,
const gko::LinOp *  solution,
const gko::LinOp *  residual_norm 
) const
inlineoverride

Definition at line 379 of file ginkgo.hpp.

template<typename ValueType = double>
void mfem::Ginkgo::ResidualLogger< ValueType >::write ( ) const
inline

Definition at line 276 of file ginkgo.hpp.


The documentation for this struct was generated from the following file: