Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
Loading...
Searching...
No Matches
PreBLC.c File Reference

Preconditioners for dBLCmat matrices. More...

#include "fasp.h"
#include "fasp_block.h"
#include "fasp_functs.h"

Go to the source code of this file.

Functions

void fasp_precond_dblc_diag_3 (REAL *r, REAL *z, void *data)
 Block diagonal preconditioner (3x3 blocks) More...
 
void fasp_precond_dblc_diag_3_amg (REAL *r, REAL *z, void *data)
 Block diagonal preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_diag_4 (REAL *r, REAL *z, void *data)
 Block diagonal preconditioning (4x4 blocks) More...
 
void fasp_precond_dblc_lower_3 (REAL *r, REAL *z, void *data)
 block lower triangular preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_lower_3_amg (REAL *r, REAL *z, void *data)
 block lower triangular preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_lower_4 (REAL *r, REAL *z, void *data)
 block lower triangular preconditioning (4x4 blocks) More...
 
void fasp_precond_dblc_upper_3 (REAL *r, REAL *z, void *data)
 block upper triangular preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_upper_3_amg (REAL *r, REAL *z, void *data)
 block upper triangular preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_SGS_3 (REAL *r, REAL *z, void *data)
 Block symmetric GS preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_SGS_3_amg (REAL *r, REAL *z, void *data)
 Block symmetric GS preconditioning (3x3 blocks) More...
 
void fasp_precond_dblc_sweeping (REAL *r, REAL *z, void *data)
 Sweeping preconditioner for Maxwell equations. More...
 

Detailed Description

Preconditioners for dBLCmat matrices.

Note
This file contains Level-4 (Pre) functions. It requires: AuxArray.c, AuxMemory.c, AuxVector.c, BlaSpmvCSR.c, and PreMGCycle.c

Copyright (C) 2009–Present by the FASP team. All rights reserved.

Released under the terms of the GNU Lesser General Public License 3.0 or later.

TODO: Separate solve and setup phases for direct solvers!!! –Chensong

Definition in file PreBLC.c.

Function Documentation

◆ fasp_precond_dblc_diag_3()

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

Block diagonal preconditioner (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
07/10/2014
Note
Each diagonal block is solved exactly

Definition at line 38 of file PreBLC.c.

◆ fasp_precond_dblc_diag_3_amg()

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

Block diagonal preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
07/10/2014
Note
Each diagonal block is solved by AMG

Definition at line 126 of file PreBLC.c.

◆ fasp_precond_dblc_diag_4()

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

Block diagonal preconditioning (4x4 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
07/10/2014
Note
Each diagonal block is solved exactly

Definition at line 191 of file PreBLC.c.

◆ fasp_precond_dblc_lower_3()

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

block lower triangular preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
07/10/2014
Note
Each diagonal block is solved exactly

Definition at line 291 of file PreBLC.c.

◆ fasp_precond_dblc_lower_3_amg()

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

block lower triangular preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
07/10/2014
Note
Each diagonal block is solved by AMG

Definition at line 379 of file PreBLC.c.

◆ fasp_precond_dblc_lower_4()

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

block lower triangular preconditioning (4x4 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
07/10/2014
Note
Each diagonal block is solved exactly

Definition at line 453 of file PreBLC.c.

◆ fasp_precond_dblc_SGS_3()

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

Block symmetric GS preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
02/19/2015
Note
Each diagonal block is solved exactly

Definition at line 725 of file PreBLC.c.

◆ fasp_precond_dblc_SGS_3_amg()

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

Block symmetric GS preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
02/19/2015
Note
Each diagonal block is solved by AMG

Definition at line 838 of file PreBLC.c.

◆ fasp_precond_dblc_sweeping()

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

Sweeping preconditioner for Maxwell equations.

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
05/01/2014
Note
Each diagonal block is solved exactly

Definition at line 939 of file PreBLC.c.

◆ fasp_precond_dblc_upper_3()

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

block upper triangular preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
02/18/2015
Note
Each diagonal block is solved exactly

Definition at line 557 of file PreBLC.c.

◆ fasp_precond_dblc_upper_3_amg()

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

block upper triangular preconditioning (3x3 blocks)

Parameters
rPointer to the vector needs preconditioning
zPointer to preconditioned vector
dataPointer to precondition data
Author
Xiaozhe Hu
Date
02/19/2015
Note
Each diagonal block is solved by AMG

Definition at line 645 of file PreBLC.c.