16 #include <SquareMatrix3D.h>
19 #include <ParFECommunicator3D.h>
21 #include <ParFECommunicator2D.h>
95 int *Reorder_M,*Reorder_D1,*Reorder_D2,*Reorder_I;
97 int N_InterfaceM, N_Dept1, N_Dept2;
103 int N_CMaster, N_CDept1, N_CDept2, N_CInt, *ptrCMaster, *ptrCDept1, *ptrCDept2, *ptrCInt;
111 double *rhs,
double *sol,
int n_aux,
119 double *GetTemp_arr()
160 void Defect(
double *sol,
double *f,
double *d,
double &res);
163 void Update(
double *sol,
double *upd);
172 void Reset(
double *vect);
179 void ILU(
double *sol,
double *f,
double *aux,
180 int N_Parameters,
double *Parameters);
183 void SOR(
double *sol,
double *f,
double *aux,
184 int N_Parameters,
double *Parameters);
187 void SSOR(
double *sol,
double *f,
double *aux,
188 int N_Parameters,
double *Parameters);
191 void Jacobi(
double *sol,
double *f,
double *aux,
192 int N_Parameters,
double *Parameters);
197 void Block2x2(
double *sol,
double *f,
double *aux,
198 int N_Parameters,
double *Parameters);
217 void SOR_Re(
double *sol,
double *f,
double *aux,
218 int N_Parameters,
double *Parameters);
223 void SOR_Re_Color(
double *sol,
double *f,
double *aux,
224 int N_Parameters,
double *Parameters,
bool firstTime,
bool lastTime);
225 void SOR_Re_Color(
double *sol,
double *f,
double *aux,
int N_Parameters,
double *Parameters,
int smooth);
227 void SOR_Re_Color_Coarse(
double *sol,
double *f,
double *aux,
228 int N_Parameters,
double *Parameters);
int OwnN_DOF
Definition: MGLevel3D.h:85
int * RowPtr
Definition: MGLevel3D.h:57
double * Rhs
Definition: MGLevel3D.h:66
int * KCol
Definition: MGLevel3D.h:60
void ILU(double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
Definition: MGLevel3D.C:796
void CorrectNodes(double *vect)
Definition: MGLevel3D.C:562
Definition: SquareMatrix3D.h:20
TFESpace3D * FESpace
Definition: MGLevel3D.h:33
TSquareStructure3D * MatrixStructure
Definition: MGLevel3D.h:54
void Jacobi(double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
Definition: MGLevel3D.C:443
~TMGLevel3D()
Definition: MGLevel3D.C:169
void SOR(double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
Definition: MGLevel3D.C:254
int * Permutation
Definition: MGLevel3D.h:36
Definition: FESpace3D.h:22
int N_Dirichlet
Definition: MGLevel3D.h:45
int Level
Definition: MGLevel3D.h:30
int N_Active
Definition: MGLevel3D.h:39
TSquareMatrix3D * A
Definition: MGLevel3D.h:51
Definition: MGLevel3D.h:26
int * Reorder
Definition: MGLevel3D.h:93
TMGLevel3D(int level, TSquareMatrix3D *A, double *rhs, double *sol, int n_aux, int *permutation)
Definition: MGLevel3D.C:39
double * GetSolution()
Definition: MGLevel3D.h:130
int N_CMaster
Definition: MGLevel3D.h:103
Definition: ParFEMapper3D.h:24
void Defect(double *sol, double *f, double *d, double &res)
Definition: MGLevel3D.C:194
double ** GetAuxVectors()
Definition: MGLevel3D.h:140
int N_DOF
Definition: MGLevel3D.h:48
int GetN_Dirichlet()
Definition: MGLevel3D.h:156
TSquareMatrix3D * GetMatrix()
Definition: MGLevel3D.h:144
void Update(double *sol, double *upd)
Definition: MGLevel3D.C:539
void Reset(double *vect)
Definition: MGLevel3D.C:557
double * Entries
Definition: MGLevel3D.h:63
double ** Aux
Definition: MGLevel3D.h:75
int GetN_DOF()
Definition: MGLevel3D.h:148
double * Additional
Definition: MGLevel3D.h:78
double * GetAuxVector(int i)
Definition: MGLevel3D.C:179
int N_Aux
Definition: MGLevel3D.h:72
double StepLengthControl(double *u, double *uold, double *def, int N_Parameters, double *Parameters)
Definition: MGLevel3D.C:882
Definition: SquareStructure3D.h:20
int GetHangingNodeBound()
Definition: MGLevel3D.h:152
TFESpace3D * GetFESpace()
Definition: MGLevel3D.h:175
Definition: ParFECommunicator3D.h:25
int HangingNodeBound
Definition: MGLevel3D.h:42
double * GetRhs()
Definition: MGLevel3D.h:134
void Block2x2(double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
Definition: MGLevel3D.C:614
void SSOR(double *sol, double *f, double *aux, int N_Parameters, double *Parameters)
Definition: MGLevel3D.C:337
double * X
Definition: MGLevel3D.h:69
void ILUDecomposition()
Definition: MGLevel3D.C:712
void CorrectDefect(double *vect)
Definition: MGLevel3D.C:588
void SolveExact(double *u1, double *rhs1)
Definition: MGLevel3D.C:839