NAME
CMAbsRefSolution - absolute convergence monitor for reference
solution
INCLUDE
include "ConvMonitor.h"
SYNTAX
//-----------------------------------------------------------------------------
class CMAbsRefSolution : public ConvMonitor
//-----------------------------------------------------------------------------
{
friend class ConvMonitorList;
protected:
Handle(LinEqVector) ref_vec; // test curr_vec - ref_vec
LinEqVector scratch;
public:
CMAbsRefSolution (const ConvMonitor_prm& p)
: ConvMonitor (p) { ref_vec.rebind (p.ref_sol()); }
CMAbsRefSolution (const real conv_tolerance = 1.0e-4,
const Norm_type norm_tp = l2,
const int chunk_size = 100);
~CMAbsRefSolution () {}
virtual void init (Handle(LinEqCommBlk)& communication);
virtual bool ok () const;
virtual bool satisfied ();
virtual real getStorage () const;
virtual void attach (LinEqVector& refsol);
virtual String description () const;
CLASS_INFO
};
KEYWORDS
iterative methods, absolute stopping criterion, convergence moni
tor, solution sequence, reference solution
DESCRIPTION
Monitors the behaviour of the iterates x managed by Iterative
Solver. The convergence test is absolute and is based on the dif
ference of the current iterate and a reference solution set by
attach, i.e., .
CONSTRUCTORS AND INITIALIZATION
Same as ConvMonitor.
MEMBER FUNCTIONS
Same as ConvMonitor, except attach for binding a reference solu
tion.
SEE ALSO
class ConvMonitor, class IterativeSolver, class ConvMonitorList.
AUTHOR
Are Magnus Bruaset, SINTEF Applied Mathematics.