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

Public Member Functions

 TMGLevel2D (int level, TSquareMatrix2D *A, double *rhs, double *sol, int n_aux, int *permutation)
 
 TMGLevel2D (int level, TSquareMatrix2D *a, double *rhs, double *sol, TFEFunction2D *c, TParFECommunicator2D *parComm, TFESpace2D *ownScalarSpace, int n_aux, int *permutation)
 
 ~TMGLevel2D ()
 
double * GetAuxVector (int i)
 
double * GetSolution ()
 
double * GetRhs ()
 
double ** GetAuxVectors ()
 
int GetN_DOF ()
 
int GetHangingNodeBound ()
 
int GetN_Dirichlet ()
 
void Defect (double *sol, double *f, double *d, double &res)
 
void Update (double *sol, double *upd)
 
void CorrectNodes (double *vect)
 
void CorrectDefect (double *vect)
 
void Reset (double *vect)
 
TFESpace2DGetFESpace ()
 
void ILU (double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
 
void SOR (double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
 
void SSOR (double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
 
void Jacobi (double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
 
void Block2x2 (double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
 
void SolveExact (double *u1, double *rhs1)
 
double StepLengthControl (double *u, double *uold, double *def, int N_Parameters, double *Parameters)
 
TFESpace2DGetOwnFESpace ()
 
TParFECommunicator2DGetParComm ()
 
double * GetOwnSolution ()
 
TFEFunction2DGetFEFunction ()
 
TFEFunction2DGetOwnFEFunction ()
 

Protected Member Functions

void ILUDecomposition ()
 

Protected Attributes

int Level
 
TFESpace2DFESpace
 
int * Permutation
 
int N_Active
 
int HangingNodeBound
 
int N_Dirichlet
 
int N_DOF
 
TSquareMatrix2DA
 
TSquareStructure2DMatrixStructure
 
int * RowPtr
 
int * KCol
 
double * Entries
 
double * Rhs
 
double * X
 
int N_Aux
 
double ** Aux
 
double * Additional
 
int OwnN_DOF
 
TParFECommunicator2DParComm
 
TFEFunction2DC
 
TFESpace2DOwnScalarSpace
 
TFEFunction2DOwnC
 
double * OwnSolArray
 

Constructor & Destructor Documentation

TMGLevel2D::TMGLevel2D ( int  level,
TSquareMatrix2D a,
double *  rhs,
double *  sol,
int  n_aux,
int *  permutation 
)

constructor

Here is the call graph for this function:

TMGLevel2D::TMGLevel2D ( int  level,
TSquareMatrix2D a,
double *  rhs,
double *  sol,
TFEFunction2D c,
TParFECommunicator2D parComm,
TFESpace2D ownScalarSpace,
int  n_aux,
int *  permutation 
)

constructor for parallel

Here is the call graph for this function:

TMGLevel2D::~TMGLevel2D ( )

destructor

Member Function Documentation

void TMGLevel2D::Block2x2 ( double *  sol,
double *  f,
double *  aux,
int  N_Parameters,
double *  Parameters 
)

smoother

void TMGLevel2D::CorrectDefect ( double *  vect)

correct defect

Here is the caller graph for this function:

void TMGLevel2D::CorrectNodes ( double *  vect)

correct Dirichlet and hanging nodes

Here is the caller graph for this function:

void TMGLevel2D::Defect ( double *  sol,
double *  f,
double *  d,
double &  res 
)

calculate defect

Here is the caller graph for this function:

double * TMGLevel2D::GetAuxVector ( int  i)

return i-th auxiliary vector

Here is the caller graph for this function:

double** TMGLevel2D::GetAuxVectors ( )
inline

return AuxVectors

TFESpace2D* TMGLevel2D::GetFESpace ( )
inline

return FE space

Here is the caller graph for this function:

int TMGLevel2D::GetHangingNodeBound ( )
inline

get HangingNodeBound

Here is the caller graph for this function:

int TMGLevel2D::GetN_Dirichlet ( )
inline

get number of Dirichlet nodes

Here is the caller graph for this function:

int TMGLevel2D::GetN_DOF ( )
inline

return number of degrees of freedom

Here is the caller graph for this function:

double* TMGLevel2D::GetRhs ( )
inline

return Rhs

Here is the caller graph for this function:

double* TMGLevel2D::GetSolution ( )
inline

return FunctionVectors

Here is the caller graph for this function:

void TMGLevel2D::ILU ( double *  sol,
double *  f,
double *  aux,
int  N_Parameters,
double *  Parameters 
)

smoother

Here is the call graph for this function:

Here is the caller graph for this function:

void TMGLevel2D::ILUDecomposition ( )
protected

generate ILU decomposition

Here is the caller graph for this function:

void TMGLevel2D::Jacobi ( double *  sol,
double *  f,
double *  aux,
int  N_Parameters,
double *  Parameters 
)

smoother

Here is the caller graph for this function:

void TMGLevel2D::Reset ( double *  vect)

reset vector to zero

Here is the caller graph for this function:

void TMGLevel2D::SolveExact ( double *  u1,
double *  rhs1 
)

solve exact on this level

Here is the caller graph for this function:

void TMGLevel2D::SOR ( double *  sol,
double *  f,
double *  aux,
int  N_Parameters,
double *  Parameters 
)

smoother

Here is the caller graph for this function:

void TMGLevel2D::SSOR ( double *  sol,
double *  f,
double *  aux,
int  N_Parameters,
double *  Parameters 
)

smoother

Here is the caller graph for this function:

double TMGLevel2D::StepLengthControl ( double *  u,
double *  uold,
double *  def,
int  N_Parameters,
double *  Parameters 
)

step length control

step length control multigrid cycle

Here is the caller graph for this function:

void TMGLevel2D::Update ( double *  sol,
double *  upd 
)

update solution

Here is the caller graph for this function:

Member Data Documentation

TSquareMatrix2D* TMGLevel2D::A
protected

used matrix

double* TMGLevel2D::Additional
protected

array for additional data, e.g. ILU decomposition

double** TMGLevel2D::Aux
protected

array of auxiliary vectors

TFEFunction2D* TMGLevel2D::C
protected

FEFunction in own+Hallo fe space

double* TMGLevel2D::Entries
protected

matrix entries

TFESpace2D* TMGLevel2D::FESpace
protected

FE space

int TMGLevel2D::HangingNodeBound
protected

upper bound for hanging node number

int* TMGLevel2D::KCol
protected

column number vector

int TMGLevel2D::Level
protected

level number

TSquareStructure2D* TMGLevel2D::MatrixStructure
protected

structure of used matrix

int TMGLevel2D::N_Active
protected

number of active nodes

int TMGLevel2D::N_Aux
protected

number of auxiliary vectors

int TMGLevel2D::N_Dirichlet
protected

number of Dirichlet nodes

int TMGLevel2D::N_DOF
protected

number of all degrees of freedom

TFEFunction2D* TMGLevel2D::OwnC
protected

FEFunction in own fe space

int TMGLevel2D::OwnN_DOF
protected

number of all degrees of freedom in own cells

TFESpace2D* TMGLevel2D::OwnScalarSpace
protected

Own FE space

double* TMGLevel2D::OwnSolArray
protected

Own solution

int* TMGLevel2D::Permutation
protected

permutation vector

double* TMGLevel2D::Rhs
protected

array with right-hand sides

int* TMGLevel2D::RowPtr
protected

row pointer for matrix

double* TMGLevel2D::X
protected

array with approximate solution


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