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.