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.