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

Public Member Functions

 TNSE_MGLevel (int level, double *f1, double *u1, int n_aux, double *al, int VelocitySpace, int PressureSpace, TCollection *coll)
 
 ~TNSE_MGLevel ()
 
double * GetAuxVector (int i)
 
void GetSolution (double *&u1, double *&u2, double *&p)
 
void GetRhs (double *&f1, double *&f2, double *&f3)
 
void GetSolution (double *&u1, double *&u2, double *&u3, double *&p)
 
void GetRhs (double *&f1, double *&f2, double *&f3, double *&f4)
 
void GetSolutionVector (double *&u1)
 
void GetRhsVector (double *&f1)
 
double ** GetAuxVectors ()
 
int GetN_UDOF ()
 
int GetN_PDOF ()
 
int GetVelocitySpace ()
 
int GetPressureSpace ()
 
int GetHangingNodeBound ()
 
int GetN_Dirichlet ()
 
virtual void Defect (double *u1, double *f1, double *d1, double &res)
 
void Update (double *u1, double *v1)
 
virtual void CorrectNodes (double *u1)
 
void SetHangingNodes (double *u1)
 
void CorrectDefect (double *v1)
 
void Reset (double *v1)
 
TFESpace2DGetUSpace ()
 
TFESpace2DGetPSpace ()
 
TFESpace3DGetUSpace ()
 
TFESpace3DGetPSpace ()
 
TCollectionGetCollection ()
 
void SetCollection (TCollection *coll)
 
virtual void CellVanka (double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int smoother, int N_Levels)
 
virtual void NodalVanka (double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int smoother, int N_Levels)
 
virtual void SolveExact (double *u1, double *rhs1)
 
virtual void SolveExactUMFPACK (double *u1, double *rhs1, int &umfpack_flag)
 
virtual void BraessSarazin (double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int N_Levels)
 
virtual double StepLengthControl (double *u1, double *u1old, double *def1, int N_Parameters, double *Parameter)
 
virtual void PrintAll ()
 
int GetType ()
 

Protected Attributes

int Level
 
int Type
 
TFESpace2DUSpace
 
TFESpace2DPSpace
 
TFESpace3DUSpace
 
TFESpace3DPSpace
 
int N_Dirichlet
 
int N_Active
 
int HangingNodeBound
 
int N_DOF
 
int N_UDOF
 
int N_PDOF
 
int VelocitySpace
 
int PressureSpace
 
double * Rhs1
 
double * Rhs2
 
double * Rhs3
 
double * RhsP
 
double * U1
 
double * U2
 
double * U3
 
double * P
 
int N_Aux
 
double ** Aux
 
double * Additional
 
double alpha
 
double beta
 
TCollectionVankaColl
 
int * downwind
 
int * velo_velo_local_coupling
 
int * gradient_local_coupling
 
int * divergence_local_coupling
 

Constructor & Destructor Documentation

TNSE_MGLevel::TNSE_MGLevel ( int  level,
double *  f1,
double *  u1,
int  n_aux,
double *  al,
int  velocity_space,
int  pressure_space,
TCollection coll 
)

constructor

TNSE_MGLevel::~TNSE_MGLevel ( )

destructor

Member Function Documentation

void TNSE_MGLevel::BraessSarazin ( double *  u1,
double *  rhs1,
double *  aux,
int  N_Parameters,
double *  Parameters,
int  N_Levels 
)
virtual

Braess Sarazin smoother

Braess–Sarazin smoother

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

void TNSE_MGLevel::CellVanka ( double *  u1,
double *  rhs1,
double *  aux,
int  N_Parameters,
double *  Parameters,
int  smoother,
int  N_Levels 
)
virtual

Vanka smoother

Vanka smoother, GAUSS-SEIDEL type

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

void TNSE_MGLevel::CorrectDefect ( double *  v1)

correct defect

Here is the call graph for this function:

Here is the caller graph for this function:

void TNSE_MGLevel::CorrectNodes ( double *  u1)
virtual

correct Dirichlet and hanging nodes

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

void TNSE_MGLevel::Defect ( double *  u1,
double *  f1,
double *  d1,
double &  res 
)
virtual

calculate defect

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

double * TNSE_MGLevel::GetAuxVector ( int  i)

return i-th auxiliary vector

Here is the caller graph for this function:

double** TNSE_MGLevel::GetAuxVectors ( )
inline

return AuxVectors

int TNSE_MGLevel::GetHangingNodeBound ( )
inline

return HangingNodeBound for this level

Here is the caller graph for this function:

int TNSE_MGLevel::GetN_Dirichlet ( )
inline

return number of Dirichlet nodes

Here is the caller graph for this function:

int TNSE_MGLevel::GetN_PDOF ( )
inline

return number of pressure degrees of freedom

Here is the caller graph for this function:

int TNSE_MGLevel::GetN_UDOF ( )
inline

return number of velocity degrees of freedom

Here is the caller graph for this function:

int TNSE_MGLevel::GetPressureSpace ( )
inline

return velo space

TFESpace2D* TNSE_MGLevel::GetPSpace ( )
inline

return FE space for pressure p

Here is the caller graph for this function:

TFESpace3D* TNSE_MGLevel::GetPSpace ( )
inline

return FE space for pressure p

void TNSE_MGLevel::GetRhs ( double *&  f1,
double *&  f2,
double *&  f3 
)
inline

return FunctionVectors

void TNSE_MGLevel::GetRhs ( double *&  f1,
double *&  f2,
double *&  f3,
double *&  f4 
)
inline

return FunctionVectors

void TNSE_MGLevel::GetRhsVector ( double *&  f1)
inline

return FunctionVectors

Here is the caller graph for this function:

void TNSE_MGLevel::GetSolution ( double *&  u1,
double *&  u2,
double *&  p 
)
inline

return FunctionVectors

void TNSE_MGLevel::GetSolution ( double *&  u1,
double *&  u2,
double *&  u3,
double *&  p 
)
inline

return FunctionVectors

void TNSE_MGLevel::GetSolutionVector ( double *&  u1)
inline

return FunctionVectors

Here is the caller graph for this function:

int TNSE_MGLevel::GetType ( )
inline

return Type

Here is the caller graph for this function:

TFESpace2D* TNSE_MGLevel::GetUSpace ( )
inline

return FE space for velocity u

Here is the caller graph for this function:

TFESpace3D* TNSE_MGLevel::GetUSpace ( )
inline

return FE space for velocity u

int TNSE_MGLevel::GetVelocitySpace ( )
inline

return velo space

void TNSE_MGLevel::NodalVanka ( double *  u1,
double *  rhs1,
double *  aux,
int  N_Parameters,
double *  Parameters,
int  smoother,
int  N_Levels 
)
virtual

nodal Vanka smoother

nodal Vanka smoother, GAUSS-SEIDEL type

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

void TNSE_MGLevel::PrintAll ( )
virtual

print all matrices and both right hand sides

print all matrices and oth right hand sides

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

void TNSE_MGLevel::Reset ( double *  v1)

reset vector to zero

Here is the caller graph for this function:

void TNSE_MGLevel::SetHangingNodes ( double *  u1)

set hanging nodes in order to satisfy coupling condition

Here is the call graph for this function:

Here is the caller graph for this function:

void TNSE_MGLevel::SolveExact ( double *  u1,
double *  rhs1 
)
virtual

solve exact on this level

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

void TNSE_MGLevel::SolveExactUMFPACK ( double *  u1,
double *  rhs1,
int &  umfpack_flag 
)
virtual

solve exact on this level

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

double TNSE_MGLevel::StepLengthControl ( double *  u1,
double *  u1old,
double *  def1,
int  N_Parameters,
double *  Parameters 
)
virtual

step length control for Vanka

Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.

Here is the caller graph for this function:

void TNSE_MGLevel::Update ( double *  u1,
double *  v1 
)

update solution

Here is the caller graph for this function:

Member Data Documentation

double* TNSE_MGLevel::Additional
protected

array for additional data, e.g. ILU decomposition

double TNSE_MGLevel::alpha
protected

damping coefficient

double** TNSE_MGLevel::Aux
protected

array of auxiliary vectors

double TNSE_MGLevel::beta
protected

update coefficient

int* TNSE_MGLevel::divergence_local_coupling
protected

array for finding local velocity-pressure couplings in divergence

int* TNSE_MGLevel::downwind
protected

array for downwind numbering

int* TNSE_MGLevel::gradient_local_coupling
protected

array for finding local velocity-pressure couplings in gradient

int TNSE_MGLevel::HangingNodeBound
protected

hanging node bound for velocity space

int TNSE_MGLevel::Level
protected

level number

int TNSE_MGLevel::N_Active
protected

number of active velocity degrees

int TNSE_MGLevel::N_Aux
protected

number of auxiliary vectors

int TNSE_MGLevel::N_Dirichlet
protected

number of Dirichlet velocity degrees

int TNSE_MGLevel::N_DOF
protected

number of ALL degrees of freedom

int TNSE_MGLevel::N_PDOF
protected

number of all pressure degrees of freedom

int TNSE_MGLevel::N_UDOF
protected

number of all velocity degrees of freedom

double* TNSE_MGLevel::P
protected

array with approximate solution p

int TNSE_MGLevel::PressureSpace
protected

velocity space

TFESpace2D* TNSE_MGLevel::PSpace
protected

FE space for pressure p

TFESpace3D* TNSE_MGLevel::PSpace
protected

FE space for pressure p

double* TNSE_MGLevel::Rhs1
protected

array with right-hand sides f1

double* TNSE_MGLevel::Rhs2
protected

array with right-hand sides f2

double* TNSE_MGLevel::Rhs3
protected

array with right-hand sides f3

double* TNSE_MGLevel::RhsP
protected

array with right-hand sides g

int TNSE_MGLevel::Type
protected

type number

double* TNSE_MGLevel::U1
protected

array with approximate solution u1

double* TNSE_MGLevel::U2
protected

array with approximate solution u2

double* TNSE_MGLevel::U3
protected

array with approximate solution u2

TFESpace2D* TNSE_MGLevel::USpace
protected

FE space for velocity u

TFESpace3D* TNSE_MGLevel::USpace
protected

FE space for velocity u

TCollection* TNSE_MGLevel::VankaColl
protected

collection for Cell-Vanka

int* TNSE_MGLevel::velo_velo_local_coupling
protected

array for finding local velocity-velocity couplings

int TNSE_MGLevel::VelocitySpace
protected

velocity space


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