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.