Index

NAME

CMRelResSolution  -  relative  convergence monitor for a residual
vector


INCLUDE

include "ConvMonitor.h"

SYNTAX

 //-----------------------------------------------------------------------------
 class CMRelResSolution : public CMAbsResidual
 //-----------------------------------------------------------------------------
 {

   friend class ConvMonitorList;

 protected:

   Handle(LinEqVector) x;

 public:

   CMRelResSolution (const ConvMonitor_prm& p)
     : CMAbsResidual (p) {}

   CMRelResSolution (const real conv_tolerance = 1.0e-4,
                     const Residual_type residual_tp = ORIGINAL_RES,
                     const Norm_type norm_tp = l2,
                     const int chunk_size = 100);

   ~CMRelResSolution () {}

   virtual void getScaling (String& scale) const;
   virtual real getScaling () const;

   virtual void init (Handle(LinEqCommBlk)& communication);

   virtual bool satisfied ();

   virtual String description () const;

   CLASS_INFO
 };



KEYWORDS

iterative methods, relative stopping criterion, convergence moni­
tor, residual



DESCRIPTION

Monitors the behaviour of a residual vector compared to the iter­
ate x, both obtained from an IterativeSolver via  a  LinEqCommBlk
object,  i.e.  no internal storage. The convergence test is rela­
tive,                                                        `$S,
where   equals one of the kth residuals ,  or  and S is a scaling
obtained from spectral properties (if this information is  avail­
able).




CONSTRUCTORS AND INITIALIZATION

Same as CMAbsResidual.



MEMBER FUNCTIONS

Same as CMAbsResidual.


SEE ALSO

class   CMAbsResidual,  class  IterativeSolver,  class  ConvMoni­
torList.


AUTHOR

Are Magnus Bruaset, SINTEF Applied Mathematics.