class AbstractMultigrid : public MatrixInverse

Abstract multigrid class

Inheritance:


Public Methods

AbstractMultigrid(Matrix *a)
Constructor
virtual void RestrictTo(unsigned level, const Vector &x, Vector &y) const
Restriction operator
virtual void InterpolateFrom(unsigned level, const Vector &x, Vector &y) const
Interpolation operator
void SetCorrectionTimes(int t)
Set correctiontimes
void SetCoarseSmoothingTime(int t)
Set coarse smoothingtime
void SetSmoothingTimes(int t)
Set smoothingtimes to be t for all level except for level 0
void SetSmoothingTimes(int t, int g)
Set smoothingtimes to be g^(J-k) * t for all level k except for level 0
void SetSmoothingTimes(Array<int> t)
Set smoothingtimes from a given array
virtual void ApplyBilinearForm(unsigned level, const Vector &x, Vector &y) const
Apply Bilinearform on given level
virtual void ApplySmoother(unsigned level, const Vector &x, Vector &y) const
Apply Smoother on given level
void Mult(const Vector &x, Vector &y) const
Matrix vector multiplication
~AbstractMultigrid()
Destructor

Protected Fields

int levels
Number of levels of the multigrid structure
int correctiontimes
Time of corrections (All levels have the same correctiontime)
Array <int> smoothingtimes
Time of smoothings for each level

Protected Methods

virtual int GetLevelSize(int level) const
Get size of each level
void MultAtLevel(unsigned level, const Vector &x, Vector &y) const
Matrix vector multiplication at given level

Inherited from MatrixInverse:

Public Methods

inline int Size() const

Documentation

Abstract multigrid class
int levels
Number of levels of the multigrid structure

int correctiontimes
Time of corrections (All levels have the same correctiontime)

Array <int> smoothingtimes
Time of smoothings for each level

virtual int GetLevelSize(int level) const
Get size of each level

void MultAtLevel(unsigned level, const Vector &x, Vector &y) const
Matrix vector multiplication at given level

AbstractMultigrid(Matrix *a)
Constructor

virtual void RestrictTo(unsigned level, const Vector &x, Vector &y) const
Restriction operator

virtual void InterpolateFrom(unsigned level, const Vector &x, Vector &y) const
Interpolation operator

void SetCorrectionTimes(int t)
Set correctiontimes

void SetCoarseSmoothingTime(int t)
Set coarse smoothingtime

void SetSmoothingTimes(int t)
Set smoothingtimes to be t for all level except for level 0

void SetSmoothingTimes(int t, int g)
Set smoothingtimes to be g^(J-k) * t for all level k except for level 0

void SetSmoothingTimes(Array<int> t)
Set smoothingtimes from a given array

virtual void ApplyBilinearForm(unsigned level, const Vector &x, Vector &y) const
Apply Bilinearform on given level

virtual void ApplySmoother(unsigned level, const Vector &x, Vector &y) const
Apply Smoother on given level

void Mult(const Vector &x, Vector &y) const
Matrix vector multiplication

~AbstractMultigrid()
Destructor


Direct child classes:
Multigrid

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de