Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
Loading...
Searching...
No Matches
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_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...
 

Variables

double PreSmoother_time_zl = 0.0
 
double PostSmoother_time_zl = 0.0
 
double Krylov_time_zl = 0.0
 
double Coarsen_time_zl = 0.0
 
double AMLI_cycle_time_zl = 0.0
 

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 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer 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
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 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
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_nc4()

void fasp_precond_dbsr_diag_nc4 ( 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 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
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 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
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 304 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 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
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)
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
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 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
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
02/06/2012

Definition at line 1294 of file PreBSR.c.

Variable Documentation

◆ AMLI_cycle_time_zl

double AMLI_cycle_time_zl = 0.0

Definition at line 1280 of file PreBSR.c.

◆ Coarsen_time_zl

double Coarsen_time_zl = 0.0

Definition at line 1279 of file PreBSR.c.

◆ Krylov_time_zl

double Krylov_time_zl = 0.0

Definition at line 1278 of file PreBSR.c.

◆ PostSmoother_time_zl

double PostSmoother_time_zl = 0.0

Definition at line 1277 of file PreBSR.c.

◆ PreSmoother_time_zl

double PreSmoother_time_zl = 0.0

Definition at line 1276 of file PreBSR.c.