A variety of (one-level and multi-level) preconditioners can be obtained
by a suitable setting of the preconditioner parameters. These parameters
can be logically divided into four groups, i.e. parameters defining
what |
DATA TYPE | val |
DEFAULT | COMMENTS |
mld_ml_type_ |
character(len=*) |
'ADD' 'MULT' | 'MULT' | Basic multi-level framework: additive or multiplicative among the levels (always additive inside a level). |
mld_smoother_type_ |
character(len=*) |
'DIAG' 'BJAC' 'AS' | 'AS' | Basic one-level preconditioner (i.e. smoother): diagonal, block Jacobi, AS |
mld_smoother_pos_ |
character(len=*) |
'PRE' 'POST' 'TWOSIDE' | 'POST' | ``Position'' of the smoother: pre-smoother, post-smoother, pre- and post-smoother. |
what |
DATA TYPE | val |
DEFAULT | COMMENTS |
mld_sub_ovr_ |
integer |
any integer number | 1 | Number of overlap layers. |
mld_sub_restr_ |
character(len=*) |
'HALO' 'NONE' | 'HALO' | Type of restriction operator: 'HALO' for taking into account the overlap, 'NONE' for neglecting it. |
mld_sub_prol_ |
character(len=*) |
'SUM' 'NONE' | 'NONE' | Type of prolongator operator: 'SUM' for adding the contributions from the overlap, 'NONE' for neglecting them. |
mld_sub_solve_ |
character(len=*) |
'ILU' 'MILU' 'ILUT' 'UMF' 'SLU' | 'UMF' | Local solver: ILU(), MILU(), ILU(), LU from UMFPACK, LU from SuperLU (plus triangular solve). |
mld_sub_fillin_ |
integer |
Any int. num. | 0 | Fill-in level of the incomplete LU factorizations. |
mld_sub_iluthrs_ |
real( kind_parameter) |
Any real num. | 0.e0 (or 0.d0) | Drop tolerance in the ILU() factorization. |
mld_sub_ren_ |
character(len=*) |
'RENUM_NONE' 'RENUM_GLOBAL' | 'RENUM_NONE' | Row and column reordering of the local submatrices: no reordering, reordering according to the global numbering of the rows and columns of the whole matrix. |
what |
DATA TYPE | val |
DEFAULT | COMMENTS |
mld_aggr_alg_ |
character(len=*) |
'DEC' | 'DEC' | Aggregation algorithm. Currently, only the decoupled aggregation is available. |
mld_aggr_kind_ |
character(len=*) |
'SMOOTH' 'RAW' | 'SMOOTH' | Type of aggregation: smoothed or raw, i.e. using the tentative prolongator. |
mld_aggr_thresh_ |
real( kind_parameter) |
Any real num. | 0.e0 (or 0.d0) | The threshold in the aggregation algorithm. |
mld_aggr_eig_ |
character(len=*) |
'A_NORMI' | 'A_NORMI' | Estimate of the maximum eigenvalue of for the smoothed aggregation. Currently, only the infinity norm of the matrix is available. |
mld_aggr_damp_ |
real( kind_parameter) |
Any real num. | 4.e0/3.e0 (or 4.d0/3.d0) | The damping parameter in the aggregation algorithm. |
what |
DATA TYPE | val |
DEFAULT | COMMENTS |
mld_coarse_mat_ |
character(len=*) |
'DISTR' 'REPL' | 'DISTR' | Coarsest matrix: distributed among the processors or replicated on each of them. |
mld_coarse_solve_ |
character(len=*) |
'BJAC' 'UMF' 'SLU' 'SLUDIST' | 'BJAC' | Solver used at the coarsest level: block Jacobi, sequential LU from UMFPACK, sequential LU from SuperLU, distributed LU from SuperLU_Dist. If the coarsest matrix is distributed, only 'BJAC' and 'SLUDIST' can be chosen; if it is replicated, only 'BJAC' or 'SLUDIST' can be selected. |
mld_coarse_subsolve_ |
character(len=*) |
'ILU' 'MILU' 'ILUT' 'UMF' 'SLU' | 'UMF' | Solver for the diagonal blocks of the coarse matrix, in case the block Jacobi solver is chosen as coarsest-level solver: ILU(), MILU(), ILU(), LU from UMFPACK, LU from SuperLU, plus triangular solve. |
mld_coarse_sweeps_ |
integer |
Any int. num. | 4 | Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver. |
mld_coarse_fillin_ |
integer |
Any int. num. | 0 | Fill-in level of the incomplete LU factorizations. |
mld_coarse_iluthrs_ |
real( kind_parameter) |
Any real. num. | 0.d0 (or 0.e0) | Drop tolerance in the ILU() factorization. |