Index

NAME

CMAbsResidual - absolute convergence monitor for residual vectors


INCLUDE

include "ConvMonitor.h"

SYNTAX

 //-----------------------------------------------------------------------------
 class CMAbsResidual : public ConvMonitor
 //-----------------------------------------------------------------------------
 {

   friend class ConvMonitorList;

 protected:

   bool                firstcall;
   Handle(LinEqVector) orig_res;  // Internal storage of original residual,
                                  // used when the target vector is computed.
   Residual_type residual_tp;

 public:

   CMAbsResidual (const ConvMonitor_prm& p)
     : ConvMonitor (p), firstcall (true) { residual_tp = p.residual_tp; }

   CMAbsResidual (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);

   ~CMAbsResidual () {}

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

   virtual bool satisfied ();

   virtual void   performance (ConvStatistics& convStat);

   virtual String description () const;

   virtual void   print (Os os) const;

   CLASS_INFO
 };



KEYWORDS

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



DESCRIPTION

Monitors  the  behaviour  of  a  residual vector imported from an
IterativeSolver via a LinEqCommBlk, i.e. no internal storage. The
convergence test is absolute, , where `$v^{k}$$$$r^{k}$$s^{k}$ or
and S is a scaling obtained from  spectral  properties  (if  this
information is available).



CONSTRUCTORS AND INITIALIZATION

Same   as  ConvMonitor.   Note  that  the  parameter  residual_tp
determines whether the monitor uses the  original  residual,  the
left preconditioned one or the pseudo-residual.



MEMBER FUNCTIONS

Same as ConvMonitor.


SEE ALSO

class  ConvMonitor, class IterativeSolver, class ConvMonitorList.


AUTHOR

Are Magnus Bruaset, SINTEF Applied Mathematics.