Index

NAME

ConvMonSeq   -   base  class  for  convergence  monitors  (vector
sequences)


INCLUDE

include "ConvMonitor.h"

SYNTAX

 //-----------------------------------------------------------------------------
 class ConvMonSeq : public ConvMonitor
 //-----------------------------------------------------------------------------
 {

   friend class ConvMonitorList;

 protected:

   bool prev_is_internal;      // True if prev_vec is allocated internally
   Handle(LinEqVector) prev_vec;  // test curr_vec - prev_vec

   bool firstcall;             // True before first call of satisfied

   LinEqVector scratch;


   ConvMonSeq (const ConvMonitor_prm& p)
     : ConvMonitor (p), firstcall (true) {}

   ConvMonSeq (const real conv_tolerance = 1.0e-4,
               const Norm_type norm_tp = l2,
               const int chunk_size = 100);

 public:

   ~ConvMonSeq () {}

   virtual bool ok () const;
   virtual bool satisfied ();

   virtual real getStorage () const;

   virtual void print (Os os) const;

   CLASS_INFO
 };



KEYWORDS

iterative methods, stopping criterion, convergence monitor



DESCRIPTION

The base class describes an extension to ConvMonitor that permits
the  monitoring of a vector sequence, e.g. cheking the difference
of two succeeding iterates . The vectors to be monitored  may  be
allocated  internally if these entities are not already allocated
by the iterative solver.



CONSTRUCTORS AND INITIALIZATION

Same as ConvMonitor.



MEMBER FUNCTIONS

Same as ConvMonitor.


SEE ALSO

class ConvMonitor, class IterativeSolver, class  ConvMonitorList.


AUTHOR

Are Magnus Bruaset, SINTEF Applied Mathematics.