next up previous contents
Next: Subroutine mld_precbld Up: Subroutine mld_precset Previous: Subroutine mld_precset   Contents

Arguments

p type(mld_xprec_type), intent(inout).
  The preconditioner data structure. Note that x must be chosen according to the real/complex, single/double precision version of MLD2P4 under use.
what integer, intent(in).
  The number identifying the parameter to be set. A mnemonic constant has been associated to each of these numbers, as reported in Tables [*]-[*].
val integer or character(len=*) or real(psb_spk_) or real(psb_dpk_), intent(in).
  The value of the parameter to be set. The list of allowed values and the corresponding data types is given in Tables [*]-[*]. When the value is of type character(len=*), it is also treated as case insensitive.
info integer, intent(out).
  Error code. If no error, 0 is returned. See Section [*] for details.


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

  1. the type of multi-level preconditioner;
  2. the one-level preconditioner used as smoother;
  3. the aggregation algorithm;
  4. the coarse-space correction at the coarsest level.
A list of the parameters that can be set, along with their allowed and default values, is given in Tables [*]-[*]. For a detailed description of the meaning of the parameters, please refer to Section [*].

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 $\ge 0$ 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($p$), MILU($p$), ILU($p,t$), LU from UMFPACK, LU from SuperLU (plus triangular solve).
mld_sub_fillin_ integer Any int. num. $\ge 0$ 0 Fill-in level $p$ of the incomplete LU factorizations.
mld_sub_iluthrs_ real(kind_parameter) Any real num. $\ge 0$ 0.e0 (or 0.d0) Drop tolerance $t$ in the ILU($p,t$) 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. $\in [0, 1]$ 0.e0 (or 0.d0) The threshold $\theta$ in the aggregation algorithm.
mld_aggr_eig_ character(len=*) 'A_NORMI' 'A_NORMI' Estimate of the maximum eigenvalue of $D^{-1}A$ for the smoothed aggregation. Currently, only the infinity norm of the matrix is available.
mld_aggr_damp_ real(kind_parameter) Any real num. $>0$ 4.e0/3.e0 (or 4.d0/3.d0) The damping parameter $\omega$ 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($p$), MILU($p$), ILU($p,t$), LU from UMFPACK, LU from SuperLU, plus triangular solve.
mld_coarse_sweeps_ integer Any int. num. $>0$ 4 Number of Block-Jacobi sweeps when 'BJAC' is used as coarsest-level solver.
mld_coarse_fillin_ integer Any int. num. $\ge 0$ 0 Fill-in level $p$ of the incomplete LU factorizations.
mld_coarse_iluthrs_ real(kind_parameter) Any real. num. $\ge 0$ 0.d0 (or 0.e0) Drop tolerance $t$ in the ILU($p,t$) factorization.


next up previous contents
Next: Subroutine mld_precbld Up: Subroutine mld_precset Previous: Subroutine mld_precset   Contents
Salvatore Filippone 2008-07-22