![]() |
Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
|
Smoothers for dBSRmat matrices. More...
Go to the source code of this file.
Functions | |
void | fasp_smoother_dbsr_jacobi (dBSRmat *A, dvector *b, dvector *u) |
Jacobi relaxation. More... | |
void | fasp_smoother_dbsr_jacobi_setup (dBSRmat *A, REAL *diaginv) |
Setup for jacobi relaxation, fetch the diagonal sub-block matrixes and make them inverse first. More... | |
void | fasp_smoother_dbsr_jacobi1 (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv) |
Jacobi relaxation. More... | |
void | fasp_smoother_dbsr_gs (dBSRmat *A, dvector *b, dvector *u, INT order, INT *mark) |
Gauss-Seidel relaxation. More... | |
void | fasp_smoother_dbsr_gs1 (dBSRmat *A, dvector *b, dvector *u, INT order, INT *mark, REAL *diaginv) |
Gauss-Seidel relaxation. More... | |
void | fasp_smoother_dbsr_gs_ascend (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv) |
Gauss-Seidel relaxation in the ascending order. More... | |
void | fasp_smoother_dbsr_gs_ascend1 (dBSRmat *A, dvector *b, dvector *u) |
Gauss-Seidel relaxation in the ascending order. More... | |
void | fasp_smoother_dbsr_gs_descend (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv) |
Gauss-Seidel relaxation in the descending order. More... | |
void | fasp_smoother_dbsr_gs_descend1 (dBSRmat *A, dvector *b, dvector *u) |
Gauss-Seidel relaxation in the descending order. More... | |
void | fasp_smoother_dbsr_gs_order1 (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv, INT *mark) |
Gauss-Seidel relaxation in the user-defined order. More... | |
void | fasp_smoother_dbsr_gs_order2 (dBSRmat *A, dvector *b, dvector *u, INT *mark, REAL *work) |
Gauss-Seidel relaxation in the user-defined order. More... | |
void | fasp_smoother_dbsr_sor (dBSRmat *A, dvector *b, dvector *u, INT order, INT *mark, REAL weight) |
SOR relaxation. More... | |
void | fasp_smoother_dbsr_sor1 (dBSRmat *A, dvector *b, dvector *u, INT order, INT *mark, REAL *diaginv, REAL weight) |
SOR relaxation. More... | |
void | fasp_smoother_dbsr_sor_ascend (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv, REAL weight) |
SOR relaxation in the ascending order. More... | |
void | fasp_smoother_dbsr_sor_descend (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv, REAL weight) |
SOR relaxation in the descending order. More... | |
void | fasp_smoother_dbsr_sor_order (dBSRmat *A, dvector *b, dvector *u, REAL *diaginv, INT *mark, REAL weight) |
SOR relaxation in the user-defined order. More... | |
void | fasp_smoother_dbsr_ilu (dBSRmat *A, dvector *b, dvector *x, void *data) |
ILU method as the smoother in solving Au=b with multigrid method. More... | |
Variables | |
REAL | ilu_solve_time = 0.0 |
Smoothers for dBSRmat matrices.
Copyright (C) 2009–Present by the FASP team. All rights reserved.
// TODO: Need to optimize routines here! –Chensong
Definition in file ItrSmootherBSR.c.
Gauss-Seidel relaxation.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial, OUT: approximation) |
order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending order DESCEND 21: in descending order If mark != NULL: in the user-defined order |
mark | Pointer to NULL or to the user-defined ordering |
Modified by Chunsheng Feng, Zheng Li on 08/03/2012
Definition at line 410 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_gs1 | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
INT | order, | ||
INT * | mark, | ||
REAL * | diaginv | ||
) |
Gauss-Seidel relaxation.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial, OUT: approximation) |
order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending order DESCEND 21: in descending order If mark != NULL: in the user-defined order |
mark | Pointer to NULL or to the user-defined ordering |
diaginv | Inverses for all the diagonal blocks of A |
Definition at line 520 of file ItrSmootherBSR.c.
Gauss-Seidel relaxation in the ascending order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
Definition at line 552 of file ItrSmootherBSR.c.
Gauss-Seidel relaxation in the ascending order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
Definition at line 619 of file ItrSmootherBSR.c.
Gauss-Seidel relaxation in the descending order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
Definition at line 683 of file ItrSmootherBSR.c.
Gauss-Seidel relaxation in the descending order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
Definition at line 751 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_gs_order1 | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
REAL * | diaginv, | ||
INT * | mark | ||
) |
Gauss-Seidel relaxation in the user-defined order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
mark | Pointer to the user-defined ordering |
Definition at line 816 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_gs_order2 | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
INT * | mark, | ||
REAL * | work | ||
) |
Gauss-Seidel relaxation in the user-defined order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
mark | Pointer to the user-defined ordering |
work | Work temp array |
Definition at line 888 of file ItrSmootherBSR.c.
ILU method as the smoother in solving Au=b with multigrid method.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
x | Pointer to dvector: the unknowns (IN: initial, OUT: approximation) |
data | Pointer to user defined data |
NOTE: Add multi-threads parallel ILU block by Zheng Li 12/04/2016.
form residual zr = b - A x
solve LU z=zr
x=x+z
Definition at line 1479 of file ItrSmootherBSR.c.
Jacobi relaxation.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial, OUT: approximation) |
Modified by Chunsheng Feng, Zheng Li on 08/02/2012
Definition at line 59 of file ItrSmootherBSR.c.
Jacobi relaxation.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
Modified by Chunsheng Feng, Zheng Li on 08/03/2012
Definition at line 263 of file ItrSmootherBSR.c.
Setup for jacobi relaxation, fetch the diagonal sub-block matrixes and make them inverse first.
A | Pointer to dBSRmat: the coefficient matrix |
diaginv | Inverse of the diagonal entries |
Modified by Chunsheng Feng, Zheng Li on 08/02/2012
Definition at line 163 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_sor | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
INT | order, | ||
INT * | mark, | ||
REAL | weight | ||
) |
SOR relaxation.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending order DESCEND 21: in descending order If mark != NULL: in the user-defined order |
mark | Pointer to NULL or to the user-defined ordering |
weight | Over-relaxation weight |
Modified by Chunsheng Feng, Zheng Li on 08/03/2012
Definition at line 959 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_sor1 | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
INT | order, | ||
INT * | mark, | ||
REAL * | diaginv, | ||
REAL | weight | ||
) |
SOR relaxation.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
order | Flag to indicate the order for smoothing If mark = NULL ASCEND 12: in ascending order DESCEND 21: in descending order If mark != NULL: in the user-defined order |
mark | Pointer to NULL or to the user-defined ordering |
diaginv | Inverses for all the diagonal blocks of A |
weight | Over-relaxation weight |
Definition at line 1075 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_sor_ascend | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
REAL * | diaginv, | ||
REAL | weight | ||
) |
SOR relaxation in the ascending order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
weight | Over-relaxation weight |
Modified by Chunsheng Feng, Zheng Li on 2012/09/04
Definition at line 1115 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_sor_descend | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
REAL * | diaginv, | ||
REAL | weight | ||
) |
SOR relaxation in the descending order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial guess, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
weight | Over-relaxation weight |
Modified by Chunsheng Feng, Zheng Li on 2012/09/04
Definition at line 1234 of file ItrSmootherBSR.c.
void fasp_smoother_dbsr_sor_order | ( | dBSRmat * | A, |
dvector * | b, | ||
dvector * | u, | ||
REAL * | diaginv, | ||
INT * | mark, | ||
REAL | weight | ||
) |
SOR relaxation in the user-defined order.
A | Pointer to dBSRmat: the coefficient matrix |
b | Pointer to dvector: the right hand side |
u | Pointer to dvector: the unknowns (IN: initial, OUT: approximation) |
diaginv | Inverses for all the diagonal blocks of A |
mark | Pointer to the user-defined ordering |
weight | Over-relaxation weight |
Modified by Chunsheng Feng, Zheng Li on 2012/09/04
Definition at line 1358 of file ItrSmootherBSR.c.
REAL ilu_solve_time = 0.0 |
ILU time for the SOLVE phase
Definition at line 39 of file ItrSmootherBSR.c.