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) |
TFESpace2D * | GetUSpace () |
TFESpace2D * | GetPSpace () |
TFESpace3D * | GetUSpace () |
TFESpace3D * | GetPSpace () |
TCollection * | GetCollection () |
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 |
TFESpace2D * | USpace |
TFESpace2D * | PSpace |
TFESpace3D * | USpace |
TFESpace3D * | PSpace |
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 |
TCollection * | VankaColl |
int * | downwind |
int * | velo_velo_local_coupling |
int * | gradient_local_coupling |
int * | divergence_local_coupling |
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
|
virtual |
Braess Sarazin smoother
Braess–Sarazin smoother
Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.
|
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.
void TNSE_MGLevel::CorrectDefect | ( | double * | v1 | ) |
correct defect
|
virtual |
correct Dirichlet and hanging nodes
Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.
|
virtual |
calculate defect
Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.
double * TNSE_MGLevel::GetAuxVector | ( | int | i | ) |
return i-th auxiliary vector
|
inline |
return AuxVectors
|
inline |
return HangingNodeBound for this level
|
inline |
return number of Dirichlet nodes
|
inline |
return number of pressure degrees of freedom
|
inline |
return number of velocity degrees of freedom
|
inline |
return velo space
|
inline |
return FE space for pressure p
|
inline |
return FE space for pressure p
|
inline |
return FunctionVectors
|
inline |
return FunctionVectors
|
inline |
return FunctionVectors
|
inline |
return FunctionVectors
|
inline |
return FunctionVectors
|
inline |
return FunctionVectors
|
inline |
return Type
|
inline |
return FE space for velocity u
|
inline |
return FE space for velocity u
|
inline |
return velo space
|
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.
|
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
void TNSE_MGLevel::SetHangingNodes | ( | double * | u1 | ) |
set hanging nodes in order to satisfy coupling condition
|
virtual |
solve exact on this level
Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.
|
virtual |
solve exact on this level
Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.
|
virtual |
step length control for Vanka
Reimplemented in TNSE_MGLevel4, TNSE_MGLevel14, TNSE_MGLevel2, TNSE_MGLevel3, TNSE_MGLevel3, TNSE_MGLevel1, and TNSE_MGLevel5.
void TNSE_MGLevel::Update | ( | double * | u1, |
double * | v1 | ||
) |
update solution
|
protected |
array for additional data, e.g. ILU decomposition
|
protected |
damping coefficient
|
protected |
array of auxiliary vectors
|
protected |
update coefficient
|
protected |
array for finding local velocity-pressure couplings in divergence
|
protected |
array for downwind numbering
|
protected |
array for finding local velocity-pressure couplings in gradient
|
protected |
hanging node bound for velocity space
|
protected |
level number
|
protected |
number of active velocity degrees
|
protected |
number of auxiliary vectors
|
protected |
number of Dirichlet velocity degrees
|
protected |
number of ALL degrees of freedom
|
protected |
number of all pressure degrees of freedom
|
protected |
number of all velocity degrees of freedom
|
protected |
array with approximate solution p
|
protected |
velocity space
|
protected |
FE space for pressure p
|
protected |
FE space for pressure p
|
protected |
array with right-hand sides f1
|
protected |
array with right-hand sides f2
|
protected |
array with right-hand sides f3
|
protected |
array with right-hand sides g
|
protected |
type number
|
protected |
array with approximate solution u1
|
protected |
array with approximate solution u2
|
protected |
array with approximate solution u2
|
protected |
FE space for velocity u
|
protected |
FE space for velocity u
|
protected |
collection for Cell-Vanka
|
protected |
array for finding local velocity-velocity couplings
|
protected |
velocity space