17#ifndef __FASPBLOCK_HEADER__
18#define __FASPBLOCK_HEADER__
Main header file for the FASP project.
#define SHORT
FASP integer and floating point numbers.
Data for multigrid levels in dBSRmat format.
dCSRmat PP
pointer to the pressure block (only for reservoir simulation)
dvector diaginv_SS
pointer to the diagonal inverse of the saturation block at level level_num
INT near_kernel_dim
dimension of the near kernel for SAMG
dBSRmat R
restriction operator at level level_num
REAL * pw
pointer to the auxiliary vectors for pressure block
dBSRmat A
pointer to the matrix at level level_num
dCSRmat * A_nk
Matrix data for near kernal.
dBSRmat SS
pointer to the saturation block (only for reservoir simulation)
dCSRmat Ac
pointer to the matrix at level level_num (csr format)
Pardiso_data pdata
data for Intel MKL PARDISO
Mumps_data mumps
data for MUMPS
ILU_data PP_LU
ILU data for pressure block.
AMG_data * mglT
AMG data for TT, Li Zhao, 05/23/2023.
dvector b
pointer to the right-hand side at level level_num
AMG_data * mglP
AMG data for PP, Li Zhao, 05/19/2023.
REAL ** near_kernel_basis
basis of near kernel space for SAMG
void * Numeric
pointer to the numerical dactorization from UMFPACK
INT ILU_levels
number of levels use ILU smoother
dBSRmat P
prolongation operator at level level_num
INT num_levels
number of levels in use <= max_levels
dCSRmat * R_nk
Resriction for near kernal.
dvector x
pointer to the iterative solution at level level_num
INT max_levels
max number of levels
dCSRmat * P_nk
Prolongation for near kernal.
dvector diaginv
pointer to the diagonal inverse at level level_num
REAL * sw
pointer to the auxiliary vectors for saturation block
dvector w
temporary work space
ivector cfmark
pointer to the CF marker at level level_num
ILU_data LU
ILU matrix for ILU smoother.
Parameters for AMG methods.
Data for MUMPS interface.
Data for Intel MKL PARDISO interface.
Block REAL vector structure.
INT brow
row number of blocks in A, m
dvector ** blocks
blocks of dvector, point to blocks[brow]
Block INT vector structure.
INT brow
row number of blocks in A, m
ivector ** blocks
blocks of dvector, point to blocks[brow]
Block REAL CSR matrix format.
INT brow
row number of blocks in A, m
dCSRmat ** blocks
blocks of dCSRmat, point to blocks[brow][bcol]
INT bcol
column number of blocks A, n
Block sparse row storage matrix of REAL type.
INT COL
number of cols of sub-blocks in matrix A, N
INT NNZ
number of nonzero sub-blocks in matrix A, NNZ
INT nb
dimension of each sub-block
INT * IA
integer array of row pointers, the size is ROW+1
INT ROW
number of rows of sub-blocks in matrix A, M
INT storage_manner
storage manner for each sub-block
Sparse matrix of REAL type in CSR format.
Vector with n entries of REAL type.
Block INT CSR matrix format.
INT brow
row number of blocks in A, m
iCSRmat ** blocks
blocks of iCSRmat, point to blocks[brow][bcol]
INT bcol
column number of blocks A, n
Sparse matrix of INT type in CSR format.
Vector with n entries of INT type.
Data for block preconditioners in dBLCmat format.
Data for preconditioners in dBSRmat format.
SHORT print_level
print level in AMG preconditioner
AMG_data * pres_mgl_data
AMG preconditioner data for pressure block.
SHORT coarsening_type
coarsening type
SHORT nl_amli_krylov_type
type of krylov method used by Nonlinear AMLI cycle
SHORT coarse_scaling
switch of scaling of the coarse grid correction
dCSRmat * A_nk
Matrix data for near kernal.
REAL * amli_coef
coefficients of the polynomial used by AMLI cycle
REAL * w
temporary work space for other usage
ILU_data * LU
ILU preconditioner data (needed for CPR type preconditioner)
SHORT AMG_type
type of AMG method
REAL tol
tolerance for AMG preconditioner
SHORT coarse_solver
coarse solver type for AMG
REAL relaxation
relaxation parameter for SOR smoother
SHORT smoother
AMG smoother type.
SHORT cycle_type
AMG cycle type.
SHORT amli_degree
degree of the polynomial used by AMLI cycle
REAL tentative_smooth
smooth factor for smoothing the tentative prolongation
SHORT postsmooth_iter
number of postsmoothing
dCSRmat * R_nk
Resriction for near kernal.
AMG_data_bsr * mgl_data
AMG preconditioner data.
INT max_levels
max number of AMG levels
dCSRmat * P_nk
Prolongation for near kernal.
SHORT presmooth_iter
number of presmoothing
INT maxit
max number of iterations of AMG preconditioner
dvector r
temporary dvector used to store and restore the residual
SHORT smooth_order
AMG smoother ordering.
Data for sweeping preconditioner.
Data for diagnal preconditioners in dBSRmat format.
INT nb
dimension of each sub-block
dvector diag
diagnal elements