![]() |
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 428 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 545 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 582 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 655 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 724 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 798 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 868 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 946 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 1566 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 274 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 168 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 1023 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 1146 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 1187 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 1310 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 1438 of file ItrSmootherBSR.c.
REAL ilu_solve_time = 0.0 |
ILU time for the SOLVE phase
Definition at line 39 of file ItrSmootherBSR.c.