ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
TMultiGrid2D Class Reference
Collaboration diagram for TMultiGrid2D:
Collaboration graph
[legend]

Public Member Functions

 TMultiGrid2D (int n_problems, int n_parameters, double *parameters)
 
int GetN_Levels ()
 
void AddLevel (TMGLevel2D *MGLevel)
 
void ReplaceLevel (int i, TMGLevel2D *MGLevel)
 
TMGLevel2DGetLevel (int i)
 
void RestrictToAllGrids ()
 
void SetDirichletNodes (int i)
 
void Cycle (int i, double &res)
 
void SetRecursion (int levels)
 

Protected Attributes

int N_Levels
 
int N_Problems
 
int N_Parameters
 
double * Parameters
 
TMGLevel2DMultiGridLevels [MAXN_LEVELS]
 
TFESpace2DFESpaces [MAXN_LEVELS]
 
double ** FunctionVectors [MAXN_LEVELS]
 
double ** RhsVectors [MAXN_LEVELS]
 
double ** AuxVectors [MAXN_LEVELS]
 
int mg_recursions [MAXN_LEVELS]
 

Constructor & Destructor Documentation

TMultiGrid2D::TMultiGrid2D ( int  n_problems,
int  n_parameters,
double *  parameters 
)

constructor

Member Function Documentation

void TMultiGrid2D::AddLevel ( TMGLevel2D MGLevel)

add new level as finest

Here is the call graph for this function:

void TMultiGrid2D::Cycle ( int  i,
double &  res 
)

cycle on level i

Copy Values (own+Hallo) to Own FeFunct sol Copy Own FeFunct sol To Values (own+Hallo) defect restriction from level+1 to level one cycle on level i

first restrict defect to coarse sol, then copy coarse own sol to all (hallo) coarse rhs

first restrict to coarse sol, then copy coarse sol to all (hallo) coarse rhs

Here is the call graph for this function:

Here is the caller graph for this function:

TMGLevel2D* TMultiGrid2D::GetLevel ( int  i)
inline

return i-th level as TMGLevel object

Here is the caller graph for this function:

int TMultiGrid2D::GetN_Levels ( )
inline

return number of multi grid levels

Here is the caller graph for this function:

void TMultiGrid2D::ReplaceLevel ( int  i,
TMGLevel2D MGLevel 
)

add new level as finest

Here is the call graph for this function:

void TMultiGrid2D::RestrictToAllGrids ( )

restrict u1, u2 from finest grid to all coarser grids

restrict solution from finest grid to all coarser grids

Here is the call graph for this function:

void TMultiGrid2D::SetDirichletNodes ( int  i)

set correct values for Dirichlet nodes on grid i

Here is the call graph for this function:

Here is the caller graph for this function:

void TMultiGrid2D::SetRecursion ( int  levels)

set recursion for multigrid

Here is the caller graph for this function:

Member Data Documentation

double** TMultiGrid2D::AuxVectors[MAXN_LEVELS]
protected

auxiliary vectors

TFESpace2D* TMultiGrid2D::FESpaces[MAXN_LEVELS]
protected

array of FE spaces

double** TMultiGrid2D::FunctionVectors[MAXN_LEVELS]
protected

array of function vectors on each level

int TMultiGrid2D::mg_recursions[MAXN_LEVELS]
protected

number of recursions

TMGLevel2D* TMultiGrid2D::MultiGridLevels[MAXN_LEVELS]
protected

array of multi grid levels

int TMultiGrid2D::N_Levels
protected

number of levels

int TMultiGrid2D::N_Parameters
protected

number of parameters

int TMultiGrid2D::N_Problems
protected

number of problems

double* TMultiGrid2D::Parameters
protected

array of double parameters

double** TMultiGrid2D::RhsVectors[MAXN_LEVELS]
protected

right-hand side vectors


The documentation for this class was generated from the following files: