ug4
ug::IConvergenceCheck< TVector > Class Template Referenceabstract

#include <convergence_check.h>

+ Inheritance diagram for ug::IConvergenceCheck< TVector >:

Public Member Functions

virtual number avg_rate () const =0
 
virtual SmartPtr< IConvergenceCheck< TVector > > clone ()=0
 clone the object More...
 
virtual std::string config_string () const =0
 returns information about configuration parameters More...
 
virtual number defect () const =0
 returns the current defect More...
 
virtual int get_offset () const =0
 get the current offset More...
 
virtual bool iteration_ended ()=0
 
virtual bool post ()=0
 
virtual void print_line (std::string line)=0
 prints a line More...
 
virtual number rate () const =0
 
virtual number reduction () const =0
 
virtual void set_info (std::string name)=0
 sets info string More...
 
virtual void set_name (std::string name)=0
 sets the name of the iteration More...
 
virtual void set_offset (int offset)=0
 sets the number of spaces printed before output information More...
 
virtual void set_symbol (char symbol)=0
 sets the symbol used for output More...
 
virtual void start (const TVector &d)=0
 computes the start defect and set it More...
 
virtual void start_defect (number defect)=0
 sets the given start defect More...
 
virtual int step () const =0
 returns the current number of steps More...
 
virtual void update (const TVector &d)=0
 computes the defect and sets it a the next defect value More...
 
virtual void update_defect (number defect)=0
 sets the update for the current defect More...
 
virtual ~IConvergenceCheck ()
 virtual destructor More...
 

Detailed Description

template<typename TVector>
class ug::IConvergenceCheck< TVector >

IConvergenceCheck

This is the base class for a convergence checking object. An instance is passed to an iterative solver to control the convergence.

Template Parameters
TVectorvector type

Constructor & Destructor Documentation

◆ ~IConvergenceCheck()

template<typename TVector >
virtual ug::IConvergenceCheck< TVector >::~IConvergenceCheck ( )
inlinevirtual

virtual destructor

Member Function Documentation

◆ avg_rate()

template<typename TVector >
virtual number ug::IConvergenceCheck< TVector >::avg_rate ( ) const
pure virtual

◆ clone()

◆ config_string()

template<typename TVector >
virtual std::string ug::IConvergenceCheck< TVector >::config_string ( ) const
pure virtual

returns information about configuration parameters

this should return necessary information about parameters and possibly calling config_string of subcomponents.

Returns
std::string necessary information about configuration parameters

Implemented in ug::CompositeConvCheck< TVector, TDomain >, ug::FixedConvergenceCheck< TVector >, ug::EnergyConvCheck< TVector >, ug::StdConvCheck< TVector >, and ug::AlgebraicConvCheck< TVector >.

◆ defect()

template<typename TVector >
virtual number ug::IConvergenceCheck< TVector >::defect ( ) const
pure virtual

◆ get_offset()

template<typename TVector >
virtual int ug::IConvergenceCheck< TVector >::get_offset ( ) const
pure virtual

◆ iteration_ended()

template<typename TVector >
virtual bool ug::IConvergenceCheck< TVector >::iteration_ended ( )
pure virtual

iteration_ended

Checks if the iteration must be ended. This can be due to convergence or divergence.

Returns
true if iteration ended false if iteration can and must be continued until convergence

Implemented in ug::CompositeConvCheck< TVector, TDomain >, ug::FixedConvergenceCheck< TVector >, ug::StdConvCheck< TVector >, and ug::AlgebraicConvCheck< TVector >.

◆ post()

template<typename TVector >
virtual bool ug::IConvergenceCheck< TVector >::post ( )
pure virtual

post

post-processes the iteration. Some informative outputs of the status of the iteration after finishing the iteration can be placed here

Returns
true if iteration was successful false if iteration did not lead to a satisfying result

Implemented in ug::CompositeConvCheck< TVector, TDomain >, ug::FixedConvergenceCheck< TVector >, ug::StdConvCheck< TVector >, and ug::AlgebraicConvCheck< TVector >.

◆ print_line()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::print_line ( std::string  line)
pure virtual

◆ rate()

◆ reduction()

template<typename TVector >
virtual number ug::IConvergenceCheck< TVector >::reduction ( ) const
pure virtual

◆ set_info()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::set_info ( std::string  name)
pure virtual

◆ set_name()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::set_name ( std::string  name)
pure virtual

◆ set_offset()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::set_offset ( int  offset)
pure virtual

◆ set_symbol()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::set_symbol ( char  symbol)
pure virtual

◆ start()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::start ( const TVector &  d)
pure virtual

◆ start_defect()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::start_defect ( number  defect)
pure virtual

◆ step()

template<typename TVector >
virtual int ug::IConvergenceCheck< TVector >::step ( ) const
pure virtual

◆ update()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::update ( const TVector &  d)
pure virtual

◆ update_defect()

template<typename TVector >
virtual void ug::IConvergenceCheck< TVector >::update_defect ( number  defect)
pure virtual

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