KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::MGSolverStatistics< d, Real > Class Template Reference

An interface for gathering multigrid solver statistics. More...

#include <qpmg.hh>

Detailed Description

template<int d, class Real = double>
class Kaskade::MGSolverStatistics< d, Real >

An interface for gathering multigrid solver statistics.

This interface provides also a trivial, i.e. do-nothing, implementation of all virtual functions for entering values.

Definition at line 37 of file qpmg.hh.

Public Types

using VectorX = Dune::BlockVector< Dune::FieldVector< Real, d > >
 
using VectorB = Dune::BlockVector< Dune::FieldVector< Real, 1 > >
 

Public Member Functions

 ~MGSolverStatistics ()
 
virtual void enterPreSmoothingCorrection (int level, VectorX const &dx)
 
virtual void enterCoarseGridCorrection (int level, VectorX const &dx)
 
virtual void enterPostSmoothingCorrection (int level, VectorX const &dx)
 
virtual void enterVCycleCorrection (int iter, VectorX const &dx, Real energy, VectorX const &grad, VectorX const &grad0, VectorX const &grad1, VectorB const &cons, int activeSetChanges, std::vector< VectorX > &correctionStack, std::vector< std::tuple< double, double, double > > &coarseRes)
 At the end of a V-cycle, specify the iteration number, the correction, and the resulting energy at the new iterate. More...
 

Member Typedef Documentation

◆ VectorB

template<int d, class Real = double>
using Kaskade::MGSolverStatistics< d, Real >::VectorB = Dune::BlockVector<Dune::FieldVector<Real,1> >

Definition at line 41 of file qpmg.hh.

◆ VectorX

template<int d, class Real = double>
using Kaskade::MGSolverStatistics< d, Real >::VectorX = Dune::BlockVector<Dune::FieldVector<Real,d> >

Definition at line 40 of file qpmg.hh.

Constructor & Destructor Documentation

◆ ~MGSolverStatistics()

template<int d, class Real = double>
Kaskade::MGSolverStatistics< d, Real >::~MGSolverStatistics ( )
inline

Definition at line 43 of file qpmg.hh.

Member Function Documentation

◆ enterCoarseGridCorrection()

template<int d, class Real = double>
virtual void Kaskade::MGSolverStatistics< d, Real >::enterCoarseGridCorrection ( int  level,
VectorX const &  dx 
)
inlinevirtual

Definition at line 46 of file qpmg.hh.

◆ enterPostSmoothingCorrection()

template<int d, class Real = double>
virtual void Kaskade::MGSolverStatistics< d, Real >::enterPostSmoothingCorrection ( int  level,
VectorX const &  dx 
)
inlinevirtual

Definition at line 47 of file qpmg.hh.

◆ enterPreSmoothingCorrection()

template<int d, class Real = double>
virtual void Kaskade::MGSolverStatistics< d, Real >::enterPreSmoothingCorrection ( int  level,
VectorX const &  dx 
)
inlinevirtual

Definition at line 45 of file qpmg.hh.

◆ enterVCycleCorrection()

template<int d, class Real = double>
virtual void Kaskade::MGSolverStatistics< d, Real >::enterVCycleCorrection ( int  iter,
VectorX const &  dx,
Real  energy,
VectorX const &  grad,
VectorX const &  grad0,
VectorX const &  grad1,
VectorB const &  cons,
int  activeSetChanges,
std::vector< VectorX > &  correctionStack,
std::vector< std::tuple< double, double, double > > &  coarseRes 
)
inlinevirtual

At the end of a V-cycle, specify the iteration number, the correction, and the resulting energy at the new iterate.

Parameters
activeSetChangesthe number of inequality constraints that changed their activity state in this iteration

Definition at line 55 of file qpmg.hh.


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