Index

NAME

BasicItSolver - base class for basic iterations


INCLUDE

include "LinEqSolver.h"

SYNTAX

 //-----------------------------------------------------------------------------
 class BasicItSolver : public IterativeSolver
 //-----------------------------------------------------------------------------
 {

 protected:

       // Member functions for internal use within the hierarchy

   BasicItSolver ();
   BasicItSolver (const LinEqSolver_prm& pm);

   virtual void init (const LinEqPrecMode algprec_mode);  // initial start


       // These functions SHOULD OFTEN be extended by subclasses

   virtual bool redim (LinEqSystem& system);  // allocate storage

   virtual void initDefaultCriterion ();         // attach default crit.

   virtual void initCommBlk   ();                // set up communication


 public:

  ~BasicItSolver ();

       // SHOULD be extended by subclasses
   virtual bool ok      () const;

   virtual bool solve (LinEqSystem& system);

   virtual String getCategory () const;
   virtual bool inCategory (const String& baseclass_name) const;

   CLASS_INFO

   VIRTUAL_CAST(BasicItSolver)
 };



KEYWORDS

linear systems, linear solver, basic iterations



DESCRIPTION

This  class is the base for any stationary iteration, where stor­
age of residual vectors is not required.



CONSTRUCTORS AND INITIALIZATION

See class LinEqSolver.



MEMBER FUNCTIONS

See class LinEqSolver and IterativeSolver. In addition, we have



redim  -  redimensions  internal  storage  based  on  the   given
LinEqSystem  object.   This  function  is  typically  called from
solve.




SEE ALSO

class IterativeSolver, class LinEqSolver_prm, class  LinEqSystem,
class LinEqCommBlk, class ConvMonitor, class ConvMonitorList.


AUTHOR

Are Magnus Bruaset, SINTEF Applied Mathematics.