Index

NAME

ConvMonitor_prm - parameters for the ConvMonitor hierarchy


INCLUDE

include "ConvMonitor_prm.h"

SYNTAX

 //-----------------------------------------------------------------------------
 class ConvMonitor_prm : public HandleId
 //-----------------------------------------------------------------------------
 {
 protected:
   StringList    subclasses;
   static Handle(ConvMonitor_prm) master;
   virtual ConvMonitor_prm* clone () { return new ConvMonitor_prm(); }
   ConvMonitor_prm ();
 public:
   static   ConvMonitor_prm* construct ();
   virtual ~ConvMonitor_prm () {}

   String        monitor_tp;
   Residual_type residual_tp;    // Which residual should be monitored ?
   real          conv_tolerance; // max value in convergence tests
   Norm_type     norm_tp;        // type of norm (max, l2 etc)
   bool          monitor;        // True if history plot is needed
   bool          runtime_plot;   // True if run time history plot is needed
   bool          criterion;      // True if convergence test is needed
   bool          append;         // True if appended at end of list
   ConvMon_Relop relop;          // Relation operator for criterions
   bool          use_eig_info;   // True if eigenvalue scaling is preferred
   bool          rel_to_rhs;     // True if basevalue uses (prec.) rhs
   int           chunk_size;     // size of history allocation block
   real          user_base;      // user-defined base value (if appropriate)
   Handle(LinEqVector) ref_sol;  // reference solution

   static void defineStatic (MenuSystem& menu, int level = MAIN);
   static void defineStatic (MenuSystem& menu, int level, int index);

          void scan   (MenuSystem& menu);
          void scan   (MenuSystem& menu, int index);

          void define (MenuSystem& menu, int level = MAIN)
                      { defineStatic (menu, level); }

          void define (MenuSystem& menu, int level, int index)
                       { defineStatic (menu, level, index);  }

   void print (Os os) const;

   bool ok () const     { return monitor_tp.ok(); }

   virtual ConvMonitor* create () const;
           const StringList& hier () const  { return subclasses; }
   static  const StringList& hierStatic ()  { return master->hier(); }
   static  void   registerPrmSubclass (ConvMonitor_prm& sc)
     { master.rebind (sc); }
   static  void unregisterPrmSubclass ()
     { master.rebind (new ConvMonitor_prm()); }
 };



KEYWORDS

linear systems, parameters, initialization



DESCRIPTION

The class contains all parameters needed for initialization of an
object derived from ConvMonitor.



SEE ALSO

class ConvMonitor.


DEVELOPED BY

SINTEF Applied Mathematics, Oslo, Norway, and University of Oslo,
Dept. of Mathematics, Norway


AUTHOR

Are Magnus Bruaset, SINTEF Applied Mathematics.