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

Public Member Functions

 TNSE_MultiGrid (int n_problems, int n_parameters, double *parameters)
 
int GetN_Levels ()
 
void AddLevel (TNSE_MGLevel *MGLevel)
 
TNSE_MGLevelReplaceLevel (int i, TNSE_MGLevel *MGLevel)
 
TNSE_MGLevelGetLevel (int i)
 
void RestrictToAllGrids ()
 
void SetDirichletNodes (int i)
 
double GetResidual (int i)
 
void Cycle (int i, double &res)
 
void SetRecursion (int levels)
 
double GetParam (int i)
 
void SetParam (int i, double a)
 

Protected Attributes

int N_Levels
 
int N_Problems
 
int N_Parameters
 
double * Parameters
 
TNSE_MGLevelMultiGridLevels [MAXN_LEVELS]
 
TFESpace2DUSpaces [MAXN_LEVELS]
 
TFESpace2DPSpaces [MAXN_LEVELS]
 
TFESpace3DUSpaces [MAXN_LEVELS]
 
TFESpace3DPSpaces [MAXN_LEVELS]
 
double ** U1Vectors [MAXN_LEVELS]
 
double ** U2Vectors [MAXN_LEVELS]
 
double ** U3Vectors [MAXN_LEVELS]
 
double ** PVectors [MAXN_LEVELS]
 
double ** Rhs1Vectors [MAXN_LEVELS]
 
double ** Rhs2Vectors [MAXN_LEVELS]
 
double ** Rhs3Vectors [MAXN_LEVELS]
 
double ** RhsPVectors [MAXN_LEVELS]
 
double ** AuxVectors [MAXN_LEVELS]
 
int mg_recursions [MAXN_LEVELS]
 

Constructor & Destructor Documentation

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

constructor

Member Function Documentation

void TNSE_MultiGrid::AddLevel ( TNSE_MGLevel MGLevel)

add new level as finest

Here is the call graph for this function:

Here is the caller graph for this function:

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

cycle on level i

one cycle on level i

Here is the call graph for this function:

Here is the caller graph for this function:

TNSE_MGLevel* TNSE_MultiGrid::GetLevel ( int  i)
inline

return i-th level as TMGLevel object

Here is the caller graph for this function:

int TNSE_MultiGrid::GetN_Levels ( )
inline

return number of multi grid levels

Here is the caller graph for this function:

double TNSE_MultiGrid::GetParam ( int  i)

get parameter

double TNSE_MultiGrid::GetResidual ( int  i)

return residual on grid i

Here is the call graph for this function:

TNSE_MGLevel * TNSE_MultiGrid::ReplaceLevel ( int  i,
TNSE_MGLevel MGLevel 
)

replace level i by given MGLevel and return old level

Here is the call graph for this function:

void TNSE_MultiGrid::RestrictToAllGrids ( )

restrict u1, u2 from finest grid to all coarser grids

Here is the call graph for this function:

void TNSE_MultiGrid::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 TNSE_MultiGrid::SetParam ( int  i,
double  a 
)

get parameter

void TNSE_MultiGrid::SetRecursion ( int  levels)

set recursion for multigrid

Here is the caller graph for this function:

Member Data Documentation

double** TNSE_MultiGrid::AuxVectors[MAXN_LEVELS]
protected

auxiliary vectors

int TNSE_MultiGrid::mg_recursions[MAXN_LEVELS]
protected

number of recursions

TNSE_MGLevel* TNSE_MultiGrid::MultiGridLevels[MAXN_LEVELS]
protected

array of multi grid levels

int TNSE_MultiGrid::N_Levels
protected

number of levels

int TNSE_MultiGrid::N_Parameters
protected

number of parameters

int TNSE_MultiGrid::N_Problems
protected

number of problems

double* TNSE_MultiGrid::Parameters
protected

array of double parameters

TFESpace2D* TNSE_MultiGrid::PSpaces[MAXN_LEVELS]
protected

array of FE spaces

TFESpace3D* TNSE_MultiGrid::PSpaces[MAXN_LEVELS]
protected

array of FE spaces

double** TNSE_MultiGrid::PVectors[MAXN_LEVELS]
protected

array of p vectors on each level

double** TNSE_MultiGrid::Rhs1Vectors[MAXN_LEVELS]
protected

right-hand side vectors

double** TNSE_MultiGrid::Rhs2Vectors[MAXN_LEVELS]
protected

right-hand side vectors

double** TNSE_MultiGrid::Rhs3Vectors[MAXN_LEVELS]
protected

right-hand side vectors

double** TNSE_MultiGrid::RhsPVectors[MAXN_LEVELS]
protected

right-hand side vectors

double** TNSE_MultiGrid::U1Vectors[MAXN_LEVELS]
protected

array of u1 vectors on each level

double** TNSE_MultiGrid::U2Vectors[MAXN_LEVELS]
protected

array of u2 vectors on each level

double** TNSE_MultiGrid::U3Vectors[MAXN_LEVELS]
protected

array of u3 vectors on each level

TFESpace2D* TNSE_MultiGrid::USpaces[MAXN_LEVELS]
protected

array of FE spaces

TFESpace3D* TNSE_MultiGrid::USpaces[MAXN_LEVELS]
protected

array of FE spaces


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