Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
PreBSR.c File Reference

Preconditioners for dBSRmat matrices. More...

#include "fasp.h"
#include "fasp_functs.h"
#include "PreMGUtil.inl"

Go to the source code of this file.

Functions

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_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...
 

Detailed Description

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.

Function Documentation

◆ fasp_precond_dbsr_amg()

void fasp_precond_dbsr_amg ( REAL r,
REAL z,
void *  data 
)

AMG preconditioner.

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
08/07/2011

Definition at line 986 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
05/26/2014

Definition at line 1030 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer 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 121 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer 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_nc5()

void fasp_precond_dbsr_diag_nc5 ( REAL r,
REAL z,
void *  data 
)

Diagonal preconditioner z=inv(D)*r.

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer 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 217 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer 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 265 of file PreBSR.c.

◆ fasp_precond_dbsr_ilu()

void fasp_precond_dbsr_ilu ( REAL r,
REAL z,
void *  data 
)

ILU preconditioner.

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Shiquan Zhang, Xiaozhe Hu
Date
11/09/2010
Note
Works for general nb (Xiaozhe)

Definition at line 311 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Zheng Li
Date
12/04/2016
Note
Only works for nb 1, 2, and 3 (Zheng)

Definition at line 773 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Zheng Li
Date
12/04/2016
Note
Only works for nb 1, 2, and 3 (Zheng)

Definition at line 569 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
02/06/2012

Definition at line 1124 of file PreBSR.c.