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

Public Member Functions

 TNSE_MGLevel1 (int level, TSquareMatrix2D *A, TMatrix2D *B1, TMatrix2D *B2, TStructure2D *structureBT, double *f1, double *u1, int n_aux, double *al, int VelocitySpace, int PressureSpace, TCollection *coll, int *dw)
 
 TNSE_MGLevel1 (int level, TSquareMatrix3D *A, TMatrix3D *B1, TMatrix3D *B2, TMatrix3D *B3, TStructure3D *structureBT, double *f1, double *u1, int n_aux, double *al, int VelocitySpace, int PressureSpace, TCollection *coll, int *dw)
 
 ~TNSE_MGLevel1 ()
 
virtual void Defect (double *u1, double *f1, double *d1, double &res)
 
virtual void CorrectNodes (double *u1)
 
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 ()
 
- Public Member Functions inherited from TNSE_MGLevel
 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 ()
 
void Update (double *u1, double *v1)
 
void SetHangingNodes (double *u1)
 
void CorrectDefect (double *v1)
 
void Reset (double *v1)
 
TFESpace2DGetUSpace ()
 
TFESpace2DGetPSpace ()
 
TFESpace3DGetUSpace ()
 
TFESpace3DGetPSpace ()
 
TCollectionGetCollection ()
 
void SetCollection (TCollection *coll)
 
int GetType ()
 

Protected Attributes

TSquareMatrix2DA
 
TSquareStructure2DStructureA
 
TMatrix2DB1
 
TMatrix2DB2
 
TStructure2DStructureB
 
TStructure2DStructureBT
 
TSquareMatrix3DA
 
TSquareStructure3DStructureA
 
TMatrix3DB1
 
TMatrix3DB2
 
TMatrix3DB3
 
TStructure3DStructureB
 
double * B3Entries
 
TStructure3DStructureBT
 
int * ARowPtr
 
int * AKCol
 
double * AEntries
 
int * BRowPtr
 
int * BKCol
 
double * B1Entries
 
double * B2Entries
 
int * BTRowPtr
 
int * BTKCol
 
- Protected Attributes inherited from TNSE_MGLevel
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_MGLevel1::TNSE_MGLevel1 ( int  level,
TSquareMatrix2D a,
TMatrix2D b1,
TMatrix2D b2,
TStructure2D structureBT,
double *  f1,
double *  u1,
int  n_aux,
double *  al,
int  velocity_space,
int  pressure_space,
TCollection Coll,
int *  dw 
)

constructor

Here is the call graph for this function:

TNSE_MGLevel1::~TNSE_MGLevel1 ( )

destructor

Member Function Documentation

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

Braess–Sarazin smoother

Reimplemented from TNSE_MGLevel.

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

Vanka smoother

cellwise Vanka smoother, GAUSS-SEIDEL type

Reimplemented from TNSE_MGLevel.

Here is the call graph for this function:

void TNSE_MGLevel1::CorrectNodes ( double *  u1)
virtual

correct Dirichlet and hanging nodes

Reimplemented from TNSE_MGLevel.

void TNSE_MGLevel1::Defect ( double *  u,
double *  f,
double *  d,
double &  res 
)
virtual

calculate defect

Reimplemented from TNSE_MGLevel.

Here is the caller graph for this function:

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

Vanka smoother

nodal Vanka smoother, GAUSS-SEIDEL type

Reimplemented from TNSE_MGLevel.

Here is the call graph for this function:

void TNSE_MGLevel1::PrintAll ( )
virtual

print all matrices and both right hand sides

print all matrices and oth right hand sides

Reimplemented from TNSE_MGLevel.

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

solve exact on this level

Reimplemented from TNSE_MGLevel.

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

solve exact on this level

Reimplemented from TNSE_MGLevel.

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

step length control for Vanka

step length control for smoother u1 : new iterate u1old : old iterate def1 : defect (residual in old iterate) N_Paramters: checks if some damping paramter is set if the step length control fails

Reimplemented from TNSE_MGLevel.

Member Data Documentation

TSquareMatrix2D* TNSE_MGLevel1::A
protected

matrix A

TSquareMatrix3D* TNSE_MGLevel1::A
protected

matrix A

double* TNSE_MGLevel1::AEntries
protected

matrix entries of matrix A

int* TNSE_MGLevel1::AKCol
protected

column number vector for matrix A

int* TNSE_MGLevel1::ARowPtr
protected

row pointer for matrix A

TMatrix2D* TNSE_MGLevel1::B1
protected

matrix B1

TMatrix3D* TNSE_MGLevel1::B1
protected

matrix B1

double* TNSE_MGLevel1::B1Entries
protected

matrix entries of matrix B1

TMatrix2D* TNSE_MGLevel1::B2
protected

matrix B2

TMatrix3D* TNSE_MGLevel1::B2
protected

matrix B2

double* TNSE_MGLevel1::B2Entries
protected

matrix entries of matrix B2

TMatrix3D* TNSE_MGLevel1::B3
protected

matrix B3

double* TNSE_MGLevel1::B3Entries
protected

matrix entries of matrix B3

int* TNSE_MGLevel1::BKCol
protected

column number vector for matrix B

int* TNSE_MGLevel1::BRowPtr
protected

row pointer for matrix B

int* TNSE_MGLevel1::BTKCol
protected

column number vector for matrix BT

int* TNSE_MGLevel1::BTRowPtr
protected

row pointer for matrix BT

TSquareStructure2D* TNSE_MGLevel1::StructureA
protected

structure of matrix A

TSquareStructure3D* TNSE_MGLevel1::StructureA
protected

structure of matrix A

TStructure2D* TNSE_MGLevel1::StructureB
protected

structure of matrix B

TStructure3D* TNSE_MGLevel1::StructureB
protected

structure of matrix B

TStructure2D* TNSE_MGLevel1::StructureBT
protected

structure of matrix BT

TStructure3D* TNSE_MGLevel1::StructureBT
protected

structure of matrix BT


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