![]() |
Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
|
Smoothers for dSTRmat matrices. More...
Go to the source code of this file.
Functions | |
| void | fasp_smoother_dstr_jacobi (dSTRmat *A, dvector *b, dvector *u) |
| Jacobi method as the smoother. More... | |
| void | fasp_smoother_dstr_jacobi1 (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv) |
| Jacobi method as the smoother with diag_inv given. More... | |
| void | fasp_smoother_dstr_gs (dSTRmat *A, dvector *b, dvector *u, const INT order, INT *mark) |
| Gauss-Seidel method as the smoother. More... | |
| void | fasp_smoother_dstr_gs1 (dSTRmat *A, dvector *b, dvector *u, const INT order, INT *mark, REAL *diaginv) |
| Gauss-Seidel method as the smoother with diag_inv given. More... | |
| void | fasp_smoother_dstr_gs_ascend (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv) |
| Gauss-Seidel method as the smoother in the ascending manner. More... | |
| void | fasp_smoother_dstr_gs_descend (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv) |
| Gauss-Seidel method as the smoother in the descending manner. More... | |
| void | fasp_smoother_dstr_gs_order (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv, INT *mark) |
| Gauss method as the smoother in the user-defined order. More... | |
| void | fasp_smoother_dstr_gs_cf (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv, INT *mark, const INT order) |
| Gauss method as the smoother in the C-F manner. More... | |
| void | fasp_smoother_dstr_sor (dSTRmat *A, dvector *b, dvector *u, const INT order, INT *mark, const REAL weight) |
| SOR method as the smoother. More... | |
| void | fasp_smoother_dstr_sor1 (dSTRmat *A, dvector *b, dvector *u, const INT order, INT *mark, REAL *diaginv, const REAL weight) |
| SOR method as the smoother. More... | |
| void | fasp_smoother_dstr_sor_ascend (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv, REAL weight) |
| SOR method as the smoother in the ascending manner. More... | |
| void | fasp_smoother_dstr_sor_descend (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv, REAL weight) |
| SOR method as the smoother in the descending manner. More... | |
| void | fasp_smoother_dstr_sor_order (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv, INT *mark, REAL weight) |
| SOR method as the smoother in the user-defined order. More... | |
| void | fasp_smoother_dstr_sor_cf (dSTRmat *A, dvector *b, dvector *u, REAL *diaginv, INT *mark, const INT order, const REAL weight) |
| SOR method as the smoother in the C-F manner. More... | |
| void | fasp_generate_diaginv_block (dSTRmat *A, ivector *neigh, dvector *diaginv, ivector *pivot) |
| Generate inverse of diagonal block for block smoothers. More... | |
| void | fasp_smoother_dstr_swz (dSTRmat *A, dvector *b, dvector *u, dvector *diaginv, ivector *pivot, ivector *neigh, ivector *order) |
Smoothers for dSTRmat matrices.
Copyright (C) 2009–Present by the FASP team. All rights reserved.
Definition in file ItrSmootherSTR.c.
| void fasp_generate_diaginv_block | ( | dSTRmat * | A, |
| ivector * | neigh, | ||
| dvector * | diaginv, | ||
| ivector * | pivot | ||
| ) |
Generate inverse of diagonal block for block smoothers.
| A | Pointer to dCSRmat: the coefficient matrix |
| neigh | Pointer to ivector: neighborhoods |
| diaginv | Pointer to dvector: the inverse of the diagonals |
| pivot | Pointer to ivector: the pivot of diagonal blocks |
Definition at line 1543 of file ItrSmootherSTR.c.
Gauss-Seidel method as the smoother.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending manner DESCEND 21: in descending manner If mark != NULL USERDEFINED 0 : in the user-defined manner CPFIRST 1 : C-points first and then F-points FPFIRST -1 : F-points first and then C-points |
| mark | Pointer to the user-defined ordering(when order=0) or CF_marker array(when order!=0) |
Definition at line 217 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_gs1 | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| const INT | order, | ||
| INT * | mark, | ||
| REAL * | diaginv | ||
| ) |
Gauss-Seidel method as the smoother with diag_inv given.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending manner DESCEND 21: in descending manner If mark != NULL USERDEFINED 0 : in the user-defined manner CPFIRST 1 : C-points first and then F-points FPFIRST -1 : F-points first and then C-points |
| mark | Pointer to the user-defined ordering(when order=0) or CF_marker array(when order!=0) |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
Definition at line 277 of file ItrSmootherSTR.c.
Gauss-Seidel method as the smoother in the ascending manner.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
Definition at line 322 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_gs_cf | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| REAL * | diaginv, | ||
| INT * | mark, | ||
| const INT | order | ||
| ) |
Gauss method as the smoother in the C-F manner.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
| mark | Pointer to the user-defined order array |
| order | Flag to indicate the order for smoothing CPFIRST 1 : C-points first and then F-points FPFIRST -1 : F-points first and then C-points |
Definition at line 680 of file ItrSmootherSTR.c.
Gauss-Seidel method as the smoother in the descending manner.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
Definition at line 438 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_gs_order | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| REAL * | diaginv, | ||
| INT * | mark | ||
| ) |
Gauss method as the smoother in the user-defined order.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
| mark | Pointer to the user-defined order array |
Definition at line 556 of file ItrSmootherSTR.c.
Jacobi method as the smoother.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
Definition at line 43 of file ItrSmootherSTR.c.
Jacobi method as the smoother with diag_inv given.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
Definition at line 92 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_sor | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| const INT | order, | ||
| INT * | mark, | ||
| const REAL | weight | ||
| ) |
SOR method as the smoother.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending manner DESCEND 21: in descending manner If mark != NULL USERDEFINED 0 : in the user-defined manner CPFIRST 1 : C-points first and then F-points FPFIRST -1 : F-points first and then C-points |
| mark | Pointer to the user-defined ordering(when order=0) or CF_marker array(when order!=0) |
| weight | Over-relaxation weight |
Definition at line 873 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_sor1 | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| const INT | order, | ||
| INT * | mark, | ||
| REAL * | diaginv, | ||
| const REAL | weight | ||
| ) |
SOR method as the smoother.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending manner DESCEND 21: in descending manner If mark != NULL USERDEFINED 0 : in the user-defined manner CPFIRST 1 : C-points first and then F-points FPFIRST -1 : F-points first and then C-points |
| mark | Pointer to the user-defined ordering(when order=0) or CF_marker array(when order!=0) |
| diaginv | Inverse of the diagonal entries |
| weight | Over-relaxation weight |
Definition at line 935 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_sor_ascend | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| REAL * | diaginv, | ||
| REAL | weight | ||
| ) |
SOR method as the smoother in the ascending manner.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
| weight | Over-relaxation weight |
Definition at line 981 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_sor_cf | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| REAL * | diaginv, | ||
| INT * | mark, | ||
| const INT | order, | ||
| const REAL | weight | ||
| ) |
SOR method as the smoother in the C-F manner.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
| mark | Pointer to the user-defined order array |
| order | Flag to indicate the order for smoothing CPFIRST 1 : C-points first and then F-points FPFIRST -1 : F-points first and then C-points |
| weight | Over-relaxation weight |
Definition at line 1355 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_sor_descend | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| REAL * | diaginv, | ||
| REAL | weight | ||
| ) |
SOR method as the smoother in the descending manner.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
| weight | Over-relaxation weight |
Definition at line 1102 of file ItrSmootherSTR.c.
| void fasp_smoother_dstr_sor_order | ( | dSTRmat * | A, |
| dvector * | b, | ||
| dvector * | u, | ||
| REAL * | diaginv, | ||
| INT * | mark, | ||
| REAL | weight | ||
| ) |
SOR method as the smoother in the user-defined order.
| A | Pointer to dCSRmat: the coefficient matrix |
| b | Pointer to dvector: the right hand side |
| u | Pointer to dvector: the unknowns |
| diaginv | All the inverse matrices for all the diagonal block of A when (A->nc)>1, and NULL when (A->nc)=1 |
| mark | Pointer to the user-defined order array |
| weight | Over-relaxation weight |
Definition at line 1224 of file ItrSmootherSTR.c.