Diffpack Documentation

(Functionality not available, requires installation of an additional Diffpack Toolbox)


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

MLIter Class Reference

interface class for multilevel iterative solvers. More...

#include <MLIter.h>

Inheritance diagram for MLIter::

BasicItSolver IterativeSolver LinEqSolver HandleId List of all members.

Public Methods

 MLIter (MLSolver &dds)
 MLIter (const LinEqSolver_prm &pm)
 ~MLIter ()
virtual void attach (MLSolver &dds)
virtual bool solve (LinEqSystem &system)
virtual bool ok () const
virtual void performance (LinEqStatBlk &performance_status)
virtual String description () const
CLASS_INFO VIRTUAL_CAST (MLIter) private
void attach (ConvMonitorList &monitors_)
void attach (ConvMonitor &monitor)

Protected Attributes

MLSolvermlsolver

Detailed Description

interface class for multilevel iterative solvers.

NAME: MLIter - interface class for multilevel iterative solvers

DESCRIPTION:

The class implements the "MLIter" iteration for solving systems of linear equations. The system is represented as a class "LinEqSystem" object. Usually, an object of type "MLIter" is created on basis of the parameter object "LinEqSolver_prm" using the function "LinEqSolver_prm create".

The essential point is to attach a "MLSolver" object, which represents the actual domain decomposition or multigrid algorithm. The "MLIter" is just an interface fitting into the iterative solvers hierarchy.


Constructor & Destructor Documentation

MLIter::MLIter ( MLSolver & dds )
 

There is one default constructor without arguments since no parameters are needed for the MLIter iteration. For the sake comaptibility, there is also a constructor accepting a "LinEqSolver_prm" object.

Internal "LinEqVector" attributes are not properly initialized by the constructor. These are initialized by the "redim" function which is called from "solve". Thus, the user of this class need not be careful with initialization of objects: The constructor and the "solve" function will take care of it.

MLIter::MLIter ( const LinEqSolver_prm & pm )
 

See documentation of one of the overloaded constructor.

MLIter::~MLIter ( ) [inline]
 


Member Function Documentation

CLASS_INFO MLIter::VIRTUAL_CAST ( MLIter ) [inline]
 

void MLIter::attach ( ConvMonitor & monitor ) [inline]
 

See documentation of one of the overloaded functions.

Reimplemented from IterativeSolver.

void MLIter::attach ( ConvMonitorList & monitors_ ) [inline]
 

See documentation of one of the overloaded functions.

Reimplemented from IterativeSolver.

void MLIter::attach ( MLSolver & dds ) [virtual]
 

attach a "MLSolver" object. It is crucial to do that. "MLIter" is just an interface for this object.

String MLIter::description ( ) const [virtual]
 

Reimplemented from LinEqSolver.

bool MLIter::ok ( ) const [virtual]
 

returns "true" if the object is in an ok state, that is, if all internal attricutes seems to be initialized. This "ok" function is called in "solve" and the user of the class should never need to call "ok".

Reimplemented from BasicItSolver.

void MLIter::performance ( LinEqStatBlk & performance_status ) [virtual]
 

fills in the "LinEqStatBlk" object with relevant statistics regarding the last solve.

Reimplemented from IterativeSolver.

bool MLIter::solve ( LinEqSystem & system ) [virtual]
 

solve a system of linear equations.

Reimplemented from BasicItSolver.


Member Data Documentation

MLSolver * MLIter::mlsolver [protected]
 


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.