Preconditioners for dBSRmat matrices.
More...
#include "fasp.h"
#include "fasp_functs.h"
#include "PreMGUtil.inl"
Go to the source code of this file.
|
void | fasp_precond_dbsr_diag (REAL *r, REAL *z, void *data) |
| Diagonal preconditioner z=inv(D)*r. More...
|
|
void | fasp_precond_dbsr_diag_nc2 (REAL *r, REAL *z, void *data) |
| Diagonal preconditioner z=inv(D)*r. More...
|
|
void | fasp_precond_dbsr_diag_nc3 (REAL *r, REAL *z, void *data) |
| Diagonal preconditioner z=inv(D)*r. More...
|
|
void | fasp_precond_dbsr_diag_nc4 (REAL *r, REAL *z, void *data) |
| Diagonal preconditioner z=inv(D)*r. More...
|
|
void | fasp_precond_dbsr_diag_nc5 (REAL *r, REAL *z, void *data) |
| Diagonal preconditioner z=inv(D)*r. More...
|
|
void | fasp_precond_dbsr_diag_nc7 (REAL *r, REAL *z, void *data) |
| Diagonal preconditioner z=inv(D)*r. More...
|
|
void | fasp_precond_dbsr_ilu (REAL *r, REAL *z, void *data) |
| ILU preconditioner. More...
|
|
void | fasp_precond_dbsr_ilu_mc_omp (REAL *r, REAL *z, void *data) |
| Multi-thread Parallel ILU preconditioner based on graph coloring. More...
|
|
void | fasp_precond_dbsr_ilu_ls_omp (REAL *r, REAL *z, void *data) |
| Multi-thread Parallel ILU preconditioner based on level schedule strategy. More...
|
|
void | fasp_precond_dbsr_amg (REAL *r, REAL *z, void *data) |
| AMG preconditioner. More...
|
|
void | fasp_precond_dbsr_amg_nk (REAL *r, REAL *z, void *data) |
| AMG with extra near kernel solve preconditioner. More...
|
|
void | fasp_precond_dbsr_namli (REAL *r, REAL *z, void *data) |
| Nonlinear AMLI-cycle AMG preconditioner. More...
|
|
Preconditioners for dBSRmat matrices.
- Note
- This file contains Level-4 (Pre) functions. It requires: AuxArray.c, AuxParam.c, AuxThreads.c, AuxVector.c, BlaSmallMat.c, BlaSpmvBSR.c, BlaSpmvCSR.c, KrySPcg.c, KrySPvgmres.c, PreMGCycle.c, and PreMGRecurAMLI.c
Copyright (C) 2010–Present by the FASP team. All rights reserved.
Released under the terms of the GNU Lesser General Public License 3.0 or later.
Definition in file PreBSR.c.
◆ fasp_precond_dbsr_amg()
void fasp_precond_dbsr_amg |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
AMG preconditioner.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Xiaozhe Hu
- Date
- 08/07/2011
Definition at line 1149 of file PreBSR.c.
◆ fasp_precond_dbsr_amg_nk()
void fasp_precond_dbsr_amg_nk |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
AMG with extra near kernel solve preconditioner.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Xiaozhe Hu
- Date
- 05/26/2014
Definition at line 1194 of file PreBSR.c.
◆ fasp_precond_dbsr_diag()
void fasp_precond_dbsr_diag |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Diagonal preconditioner z=inv(D)*r.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zhou Zhiyang, Xiaozhe Hu
- Date
- 10/26/2010
Modified by Chunsheng Feng, Xiaoqiang Yue on 05/24/2012
- Note
- Works for general nb (Xiaozhe)
Definition at line 49 of file PreBSR.c.
◆ fasp_precond_dbsr_diag_nc2()
void fasp_precond_dbsr_diag_nc2 |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Diagonal preconditioner z=inv(D)*r.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zhou Zhiyang, Xiaozhe Hu
- Date
- 11/18/2011
Modified by Chunsheng Feng, Xiaoqiang Yue on 05/24/2012
- Note
- Works for 2-component (Xiaozhe)
Definition at line 124 of file PreBSR.c.
◆ fasp_precond_dbsr_diag_nc3()
void fasp_precond_dbsr_diag_nc3 |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Diagonal preconditioner z=inv(D)*r.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zhou Zhiyang, Xiaozhe Hu
- Date
- 01/06/2011
Modified by Chunsheng Feng Xiaoqiang Yue on 05/24/2012
- Note
- Works for 3-component (Xiaozhe)
Definition at line 169 of file PreBSR.c.
◆ fasp_precond_dbsr_diag_nc4()
void fasp_precond_dbsr_diag_nc4 |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Diagonal preconditioner z=inv(D)*r.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zhou Zhiyang, Xiaozhe Hu
- Date
- 01/06/2011
Modified by Chunsheng Feng Xiaoqiang Yue on 05/24/2012
- Note
- Works for 4-component (Li Zhao)
Definition at line 214 of file PreBSR.c.
◆ fasp_precond_dbsr_diag_nc5()
void fasp_precond_dbsr_diag_nc5 |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Diagonal preconditioner z=inv(D)*r.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zhou Zhiyang, Xiaozhe Hu
- Date
- 01/06/2011
Modified by Chunsheng Feng, Xiaoqiang Yue on 05/24/2012
- Note
- Works for 5-component (Xiaozhe)
Definition at line 259 of file PreBSR.c.
◆ fasp_precond_dbsr_diag_nc7()
void fasp_precond_dbsr_diag_nc7 |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Diagonal preconditioner z=inv(D)*r.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zhou Zhiyang, Xiaozhe Hu
- Date
- 01/06/2011
Modified by Chunsheng Feng Xiaoqiang Yue on 05/24/2012
- Note
- Works for 7-component (Xiaozhe)
Definition at line 304 of file PreBSR.c.
◆ fasp_precond_dbsr_ilu()
void fasp_precond_dbsr_ilu |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
ILU preconditioner.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Shiquan Zhang, Xiaozhe Hu
- Date
- 11/09/2010
- Note
- Works for general nb (Xiaozhe)
Definition at line 347 of file PreBSR.c.
◆ fasp_precond_dbsr_ilu_ls_omp()
void fasp_precond_dbsr_ilu_ls_omp |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Multi-thread Parallel ILU preconditioner based on level schedule strategy.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zheng Li
- Date
- 12/04/2016
- Note
- Only works for nb 1, 2, and 3 (Zheng)
-
works forall nb = 1, 2, ..., added by Li Zhao, 09/19/2022
Definition at line 844 of file PreBSR.c.
◆ fasp_precond_dbsr_ilu_mc_omp()
void fasp_precond_dbsr_ilu_mc_omp |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Multi-thread Parallel ILU preconditioner based on graph coloring.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Zheng Li
- Date
- 12/04/2016
- Note
- Only works for nb 1, 2, and 3 (Zheng)
Definition at line 618 of file PreBSR.c.
◆ fasp_precond_dbsr_namli()
void fasp_precond_dbsr_namli |
( |
REAL * |
r, |
|
|
REAL * |
z, |
|
|
void * |
data |
|
) |
| |
Nonlinear AMLI-cycle AMG preconditioner.
- Parameters
-
r | Pointer to the vector needs preconditioning |
z | Pointer to preconditioned vector |
data | Pointer to precondition data |
- Author
- Xiaozhe Hu
- Date
- 02/06/2012
Definition at line 1294 of file PreBSR.c.
◆ AMLI_cycle_time_zl
double AMLI_cycle_time_zl = 0.0 |
◆ Coarsen_time_zl
double Coarsen_time_zl = 0.0 |
◆ Krylov_time_zl
double Krylov_time_zl = 0.0 |
◆ PostSmoother_time_zl
double PostSmoother_time_zl = 0.0 |
◆ PreSmoother_time_zl
double PreSmoother_time_zl = 0.0 |