Index

NAME

CMRelResidualUB  - relative convergence monitor for residual vec­
tors with user-defined base value


INCLUDE

include "ConvMonitor.h"

SYNTAX

 //-----------------------------------------------------------------------------
 class CMRelResidualUB : public CMAbsResidual
 //-----------------------------------------------------------------------------
 {

   friend class ConvMonitorList;

 public:

   CMRelResidualUB (const ConvMonitor_prm& p);

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

   ~CMRelResidualUB () {}

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

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

   virtual void   performance (ConvStatistics& convStat);

   virtual String description () const;

   virtual void   print (Os os) const;

   CLASS_INFO
 };



KEYWORDS

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



DESCRIPTION

Monitors  the  behaviour  of  a  residual vector imported from an
IterativeSolver via a LinEqCommBlk object, i.e. no internal stor­
age.   The  convergence  test is relative, see CMRelResidual. The
only difference from this class, is that the base value has to be
set manually by the user.


CONSTRUCTORS AND INITIALIZATION

Same  as CMRelResidual. The additional parameter user_base can be
used to set the base value.



MEMBER FUNCTIONS

Same as CMRelResidual.


SEE ALSO

class  CMRelResidual,  class  IterativeSolver,  class   ConvMoni­
torList.


AUTHOR

Are Magnus Bruaset, SINTEF Applied Mathematics.