From c6991a7507474a8ca884a12b454acc723f417eaf Mon Sep 17 00:00:00 2001 From: Daniela di Serafino Date: Mon, 24 Jul 2017 21:09:20 +0200 Subject: [PATCH] : updated example and test programs and their input files; updated README --- README | 11 +++++----- examples/fileread/mld_dexample_ml.f90 | 5 ++--- examples/fileread/runs/ml.inp | 2 +- examples/pdegen/mld_dexample_ml.f90 | 5 ++--- examples/pdegen/runs/ml.inp | 4 ++-- tests/fileread/mld_df_sample.f90 | 15 -------------- tests/fileread/runs/dfs.inp | 29 ++++++++++++--------------- tests/pdegen/mld_d_pde2d.f90 | 15 -------------- tests/pdegen/mld_d_pde3d.f90 | 15 -------------- tests/pdegen/runs/mld_pde2d.inp | 23 +++++++++------------ tests/pdegen/runs/mld_pde3d.inp | 23 +++++++++------------ 11 files changed, 46 insertions(+), 101 deletions(-) diff --git a/README b/README index 1c9867dd..79c7d929 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This directory contains the MLD2P4 set of preconditioners, version 2.1 +This directory contains the MLD2P4 set of preconditioners, version 2.1 WHAT'S NEW @@ -56,18 +56,19 @@ In version 1.1: - Note that we now need version 2.3.1 of PSBLAS. -To compile: +TO COMPILE + 0. Unpack the tar file in a directory of your choice (preferrably outside the main PSBLAS directory). 1. run configure --with-psblas= adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired. + See MLD2P4 User's and Reference Guide (Section 3) for details. 2. Tweak Make.inc if you are not satisfied. - 3. make; - 4. Go into the test subdirectory and build the examples of your choice. -Notes: + +NOTES - The single precision version is supported only by SuperLU; thus, even if you specify at configure to use UMFPACK or SuperLU_Dist, the diff --git a/examples/fileread/mld_dexample_ml.f90 b/examples/fileread/mld_dexample_ml.f90 index c2e0e7c1..9e9f18b4 100644 --- a/examples/fileread/mld_dexample_ml.f90 +++ b/examples/fileread/mld_dexample_ml.f90 @@ -53,8 +53,8 @@ ! sweeps (with ILU(0) on the blocks) as coarsest-level solver(Sec. 5.1, Fig. 3) ! ! - choice = 3, build a W-cycle preconditioner with 2 hybrid forward/backward -! GS sweeps as pre/post-smoother, a distributed coarsest -! matrix, and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4) +! GS sweeps as pre/post-smoother, a distributed coarsest matrix, +! and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4) ! ! The matrix and the rhs are read from files (if an rhs is not available, the ! unit rhs is set). @@ -237,7 +237,6 @@ program mld_dexample_ml call P%init('ML',info) call P%set('ML_CYCLE','WCYCLE',info) - call P%set('SMOOTHER_TYPE','FBGS',info) call P%set('SMOOTHER_SWEEPS',2,info) call P%set('COARSE_SOLVE','MUMPS',info) call P%set('COARSE_MAT','DIST',info) diff --git a/examples/fileread/runs/ml.inp b/examples/fileread/runs/ml.inp index ee50bdbd..70bc6267 100644 --- a/examples/fileread/runs/ml.inp +++ b/examples/fileread/runs/ml.inp @@ -1,6 +1,6 @@ mld_mat.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or mld_rhs.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html MM ! File format: MM (Matrix Market) HB (Harwell-Boeing). -3 ! Preconditioner choice +1 ! Preconditioner choice 0100 ! ITMAX 1.d-6 ! EPS diff --git a/examples/pdegen/mld_dexample_ml.f90 b/examples/pdegen/mld_dexample_ml.f90 index b40e9ee8..99398104 100644 --- a/examples/pdegen/mld_dexample_ml.f90 +++ b/examples/pdegen/mld_dexample_ml.f90 @@ -54,8 +54,8 @@ ! sweeps (with ILU(0) on the blocks) as coarsest-level solver(Sec. 5.1, Fig. 3) ! ! - choice = 3, build a W-cycle preconditioner with 2 hybrid forward/backward -! GS sweeps as pre/post-smoother, a distributed coarsest -! matrix, and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4) +! GS sweeps as pre/post-smoother, a distributed coarsest matrix, +! and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4) ! ! The PDE is a general second order equation in 3d ! @@ -193,7 +193,6 @@ program mld_dexample_ml call P%init('ML',info) call P%set('ML_CYCLE','WCYCLE',info) - call P%set('SMOOTHER_TYPE','FBGS',info) call P%set('SMOOTHER_SWEEPS',2,info) call P%set('COARSE_SOLVE','MUMPS',info) call P%set('COARSE_MAT','DIST',info) diff --git a/examples/pdegen/runs/ml.inp b/examples/pdegen/runs/ml.inp index 8bbbb126..d51ba703 100644 --- a/examples/pdegen/runs/ml.inp +++ b/examples/pdegen/runs/ml.inp @@ -1,4 +1,4 @@ -3 ! Preconditioner choice +1 ! Preconditioner choice 10 ! IDIM; domain size is idim**3 -500 ! ITMAX +500 ! ITMAX 1.d-6 ! EPS diff --git a/tests/fileread/mld_df_sample.f90 b/tests/fileread/mld_df_sample.f90 index fea66b61..b932d8a6 100644 --- a/tests/fileread/mld_df_sample.f90 +++ b/tests/fileread/mld_df_sample.f90 @@ -84,9 +84,6 @@ program mld_df_sample integer(psb_ipk_) :: thrvsz ! size of threshold vector real(psb_dpk_) :: athres ! smoothed aggregation threshold real(psb_dpk_) :: ascale ! smoothed aggregation scale factor for threshold - character(len=16) :: aggr_omalg ! algorithm for estimating omega parameter - character(len=16) :: aggr_eig ! Eigenvalue estimation procedure - real(psb_dpk_) :: omega_val ! Eigenvalue estimate value integer(psb_ipk_) :: csize ! minimum size of coarsest matrix ! AMG smoother or pre-smoother; also 1-lev preconditioner @@ -392,12 +389,6 @@ program mld_df_sample call prec%set('aggr_alg', p_choice%aggr_alg, info) call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - call prec%set('aggr_omega_alg', p_choice%aggr_omalg, info) - if (psb_toupper(p_choice%aggr_omalg) == 'EIG_EST') then - call prec%set('aggr_eig', p_choice%aggr_eig, info) - else if (psb_toupper(p_choice%aggr_omalg) == 'USER_CHOICE') then - call prec%set('aggr_omega_val', p_choice%omega_val, info) - end if call prec%set('coarse_solve', p_choice%csolve, info) if (psb_toupper(p_choice%csolve) == 'BJAC') & & call prec%set('coarse_subsolve', p_choice%csbsolve, info) @@ -648,9 +639,6 @@ contains read(psb_inp_unit,*) ! dummy read to skip a record end if call read_data(prec%athres,psb_inp_unit) ! smoothed aggr thresh - call read_data(prec%aggr_omalg,psb_inp_unit) ! alg for estimating omega - call read_data(prec%aggr_eig,psb_inp_unit) ! alg for estimating omega - call read_data(prec%omega_val,psb_inp_unit) ! alg for estimating omega ! AMG smoother (or pre-smoother) / 1-lev preconditioner call read_data(prec%smther,psb_inp_unit) ! smoother type call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps @@ -734,9 +722,6 @@ contains end if call psb_bcast(ictxt,prec%athres) call psb_bcast(ictxt,prec%ascale) - call psb_bcast(ictxt,prec%aggr_omalg) - call psb_bcast(ictxt,prec%aggr_eig) - call psb_bcast(ictxt,prec%omega_val) call psb_bcast(icontxt,prec%csize) call psb_bcast(icontxt,prec%cmat) diff --git a/tests/fileread/runs/dfs.inp b/tests/fileread/runs/dfs.inp index 84579e54..bb1bb32f 100644 --- a/tests/fileread/runs/dfs.inp +++ b/tests/fileread/runs/dfs.inp @@ -1,19 +1,19 @@ -mld_mat.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or -mld_rhs.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html +mld_mat.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or +mld_rhs.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html NONE ! Initial guess -mld_sol.mtx ! Reference solution +mld_sol.mtx ! Reference solution MM ! File format: MatrixMarket or Harwell-Boeing CSR ! Storage format: CSR COO JAD BLOCK ! PART (partition method): BLOCK GRAPH -FCG ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG +CG ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS FCG GCR RGMRES 2 ! ISTOPC 00500 ! ITMAX 1 ! ITRACE 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-6 ! EPS -ML-VCYCLE-FBGS-SLUD ! Longer descriptive name for preconditioner (up to 20 chars) +ML-VCYCLE-FBGS-R-UMF ! Longer descriptive name for preconditioner (up to 20 chars) ML ! Preconditioner type: NONE JACOBI BJAC AS ML -VCYCLE ! Type of multilevel correction: ADD MULT +VCYCLE ! Type of multilevel CYCLE: VCYCLE WCYCLE KCYCLE MULT ADD 1 ! Number of outer sweeps -3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default -3 ! Target coarse matrix size; if <0, lib default @@ -25,15 +25,12 @@ NOFILTER ! Filtering of matrix ? FILTER NOFILTER 2 ! Number of thresholds in vector, next line ignored if <= 0 0.05 0.025 ! Thresholds 0.0100d0 ! Smoothed aggregation threshold: >= 0.0 -EIG_EST ! Omega algorithm: EIG_EST USER_CHOICE -A_NORMI ! Estimate procedure if EIG_EST -1.0 ! Estimate value (if USER_CHOICE) -FBGS ! Smoother type JACOBI BJAC AS ignored for non-ML +FBGS ! Smoother type JACOBI GS BGS BJAC AS; ignored for non-ML 1 ! Number of sweeps for (pre) smoother 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -DSCALE ! Subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +JACOBI ! Subdomain solver: JACOBI BS BGS ILU ILUT MILU MUMPS SLU UMF 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) NONE ! Second (post) smoother, ignored if NONE @@ -41,12 +38,12 @@ NONE ! Second (post) smoother, ignored if NONE 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -DSCALE ! Subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +JACOBI ! Subdomain solver: JACOBI BS BGS ILU ILUT MILU MUMPS SLU UMF 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) -SLUDIST ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS -DIST ! Coarsest-level matrix distribution: DIST REPL -SLUDIST ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC +REPL ! Coarsest-level matrix distribution: DIST REPL +UMF ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST 1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1.d-4 ! Coarsest-level threshold T for ILU(T,P) -1 ! Number of Jacobi sweeps for BJAC/PJAC coarsest-level solver +1 ! Number of Jacobi sweeps for JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/pdegen/mld_d_pde2d.f90 b/tests/pdegen/mld_d_pde2d.f90 index d2a935b8..823ddbcc 100644 --- a/tests/pdegen/mld_d_pde2d.f90 +++ b/tests/pdegen/mld_d_pde2d.f90 @@ -177,9 +177,6 @@ program mld_d_pde2d integer(psb_ipk_) :: thrvsz ! size of threshold vector real(psb_dpk_) :: athres ! smoothed aggregation threshold real(psb_dpk_) :: ascale ! smoothed aggregation scale factor for threshold - character(len=16) :: aggr_omalg ! algorithm for estimating omega parameter - character(len=16) :: aggr_eig ! Eigenvalue estimation procedure - real(psb_dpk_) :: omega_val ! Eigenvalue estimate value integer(psb_ipk_) :: csize ! minimum size of coarsest matrix ! AMG smoother or pre-smoother; also 1-lev preconditioner @@ -298,12 +295,6 @@ program mld_d_pde2d call prec%set('aggr_alg', p_choice%aggr_alg, info) call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - call prec%set('aggr_omega_alg', p_choice%aggr_omalg, info) - if (psb_toupper(p_choice%aggr_omalg) == 'EIG_EST') then - call prec%set('aggr_eig', p_choice%aggr_eig, info) - else if (psb_toupper(p_choice%aggr_omalg) == 'USER_CHOICE') then - call prec%set('aggr_omega_val', p_choice%omega_val, info) - end if call prec%set('coarse_solve', p_choice%csolve, info) if (psb_toupper(p_choice%csolve) == 'BJAC') & & call prec%set('coarse_subsolve', p_choice%csbsolve, info) @@ -525,9 +516,6 @@ contains read(psb_inp_unit,*) ! dummy read to skip a record end if call read_data(prec%athres,psb_inp_unit) ! smoothed aggr thresh - call read_data(prec%aggr_omalg,psb_inp_unit) ! alg for estimating omega - call read_data(prec%aggr_eig,psb_inp_unit) ! alg for estimating omega - call read_data(prec%omega_val,psb_inp_unit) ! alg for estimating omega ! AMG smoother (or pre-smoother) / 1-lev preconditioner call read_data(prec%smther,psb_inp_unit) ! smoother type call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps @@ -606,9 +594,6 @@ contains end if call psb_bcast(ictxt,prec%athres) call psb_bcast(ictxt,prec%ascale) - call psb_bcast(ictxt,prec%aggr_omalg) - call psb_bcast(ictxt,prec%aggr_eig) - call psb_bcast(ictxt,prec%omega_val) call psb_bcast(icontxt,prec%csize) call psb_bcast(icontxt,prec%cmat) diff --git a/tests/pdegen/mld_d_pde3d.f90 b/tests/pdegen/mld_d_pde3d.f90 index 4fa0f40c..ad5a9aaf 100644 --- a/tests/pdegen/mld_d_pde3d.f90 +++ b/tests/pdegen/mld_d_pde3d.f90 @@ -189,9 +189,6 @@ program mld_d_pde3d integer(psb_ipk_) :: thrvsz ! size of threshold vector real(psb_dpk_) :: athres ! smoothed aggregation threshold real(psb_dpk_) :: ascale ! smoothed aggregation scale factor for threshold - character(len=16) :: aggr_omalg ! algorithm for estimating omega parameter - character(len=16) :: aggr_eig ! Eigenvalue estimation procedure - real(psb_dpk_) :: omega_val ! Eigenvalue estimate value integer(psb_ipk_) :: csize ! minimum size of coarsest matrix ! AMG smoother or pre-smoother; also 1-lev preconditioner @@ -311,12 +308,6 @@ program mld_d_pde3d call prec%set('aggr_alg', p_choice%aggr_alg, info) call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - call prec%set('aggr_omega_alg', p_choice%aggr_omalg, info) - if (psb_toupper(p_choice%aggr_omalg) == 'EIG_EST') then - call prec%set('aggr_eig', p_choice%aggr_eig, info) - else if (psb_toupper(p_choice%aggr_omalg) == 'USER_CHOICE') then - call prec%set('aggr_omega_val', p_choice%omega_val, info) - end if call prec%set('coarse_solve', p_choice%csolve, info) if (psb_toupper(p_choice%csolve) == 'BJAC') & & call prec%set('coarse_subsolve', p_choice%csbsolve, info) @@ -538,9 +529,6 @@ contains read(psb_inp_unit,*) ! dummy read to skip a record end if call read_data(prec%athres,psb_inp_unit) ! smoothed aggr thresh - call read_data(prec%aggr_omalg,psb_inp_unit) ! alg for estimating omega - call read_data(prec%aggr_eig,psb_inp_unit) ! alg for estimating omega - call read_data(prec%omega_val,psb_inp_unit) ! alg for estimating omega ! AMG smoother (or pre-smoother) / 1-lev preconditioner call read_data(prec%smther,psb_inp_unit) ! smoother type call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps @@ -619,9 +607,6 @@ contains end if call psb_bcast(ictxt,prec%athres) call psb_bcast(ictxt,prec%ascale) - call psb_bcast(ictxt,prec%aggr_omalg) - call psb_bcast(ictxt,prec%aggr_eig) - call psb_bcast(ictxt,prec%omega_val) call psb_bcast(icontxt,prec%csize) call psb_bcast(icontxt,prec%cmat) diff --git a/tests/pdegen/runs/mld_pde2d.inp b/tests/pdegen/runs/mld_pde2d.inp index a1156ac4..1bfa1df2 100644 --- a/tests/pdegen/runs/mld_pde2d.inp +++ b/tests/pdegen/runs/mld_pde2d.inp @@ -1,14 +1,14 @@ CSR ! Storage format CSR COO JAD 0080 ! IDIM; domain size is idim**3 -FCG ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG +CG ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS FCG GCR RGMRES 2 ! ISTOPC 00500 ! ITMAX 1 ! ITRACE 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-6 ! EPS -ML-VCYCLE-FBGS-SLUD ! Longer descriptive name for preconditioner (up to 20 chars) +ML-VCYCLE-FBGS-R-UMF ! Longer descriptive name for preconditioner (up to 20 chars) ML ! Preconditioner type: NONE JACOBI BJAC AS ML -VCYCLE ! Type of multilevel correction: ADD MULT +VCYCLE ! Type of multilevel CYCLE: VCYCLE WCYCLE KCYCLE MULT ADD 1 ! Number of outer sweeps -3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default -3 ! Target coarse matrix size; if <0, lib default @@ -20,15 +20,12 @@ NOFILTER ! Filtering of matrix ? FILTER NOFILTER 2 ! Number of thresholds in vector, next line ignored if <= 0 0.05 0.025 ! Thresholds 0.0100d0 ! Smoothed aggregation threshold: >= 0.0 -EIG_EST ! Omega algorithm: EIG_EST USER_CHOICE -A_NORMI ! Estimate procedure if EIG_EST -1.0 ! Estimate value (if USER_CHOICE) -FBGS ! Smoother type JACOBI BJAC AS ignored for non-ML +FBGS ! Smoother type JACOBI FBGS GS BGS BJAC AS; ignored for non-ML 1 ! Number of sweeps for (pre) smoother 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -DSCALE ! Subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +JACOBI ! Subdomain solver: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) NONE ! Second (post) smoother, ignored if NONE @@ -36,12 +33,12 @@ NONE ! Second (post) smoother, ignored if NONE 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -DSCALE ! Subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +JACOBI ! Subdomain solver: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) -SLUDIST ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS -DIST ! Coarsest-level matrix distribution: DIST REPL -SLUDIST ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC +REPL ! Coarsest-level matrix distribution: DIST REPL +UMF ! Coarsest-level subsolver: ILU ILUT MILU UMF MUMPS SLU 1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1.d-4 ! Coarsest-level threshold T for ILU(T,P) -1 ! Number of Jacobi sweeps for BJAC/PJAC coarsest-level solver +1 ! Number of Jacobi sweeps for JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/pdegen/runs/mld_pde3d.inp b/tests/pdegen/runs/mld_pde3d.inp index a1156ac4..1bfa1df2 100644 --- a/tests/pdegen/runs/mld_pde3d.inp +++ b/tests/pdegen/runs/mld_pde3d.inp @@ -1,14 +1,14 @@ CSR ! Storage format CSR COO JAD 0080 ! IDIM; domain size is idim**3 -FCG ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG +CG ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS FCG GCR RGMRES 2 ! ISTOPC 00500 ! ITMAX 1 ! ITRACE 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-6 ! EPS -ML-VCYCLE-FBGS-SLUD ! Longer descriptive name for preconditioner (up to 20 chars) +ML-VCYCLE-FBGS-R-UMF ! Longer descriptive name for preconditioner (up to 20 chars) ML ! Preconditioner type: NONE JACOBI BJAC AS ML -VCYCLE ! Type of multilevel correction: ADD MULT +VCYCLE ! Type of multilevel CYCLE: VCYCLE WCYCLE KCYCLE MULT ADD 1 ! Number of outer sweeps -3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default -3 ! Target coarse matrix size; if <0, lib default @@ -20,15 +20,12 @@ NOFILTER ! Filtering of matrix ? FILTER NOFILTER 2 ! Number of thresholds in vector, next line ignored if <= 0 0.05 0.025 ! Thresholds 0.0100d0 ! Smoothed aggregation threshold: >= 0.0 -EIG_EST ! Omega algorithm: EIG_EST USER_CHOICE -A_NORMI ! Estimate procedure if EIG_EST -1.0 ! Estimate value (if USER_CHOICE) -FBGS ! Smoother type JACOBI BJAC AS ignored for non-ML +FBGS ! Smoother type JACOBI FBGS GS BGS BJAC AS; ignored for non-ML 1 ! Number of sweeps for (pre) smoother 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -DSCALE ! Subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +JACOBI ! Subdomain solver: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) NONE ! Second (post) smoother, ignored if NONE @@ -36,12 +33,12 @@ NONE ! Second (post) smoother, ignored if NONE 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -DSCALE ! Subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +JACOBI ! Subdomain solver: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) -SLUDIST ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS -DIST ! Coarsest-level matrix distribution: DIST REPL -SLUDIST ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC +REPL ! Coarsest-level matrix distribution: DIST REPL +UMF ! Coarsest-level subsolver: ILU ILUT MILU UMF MUMPS SLU 1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1.d-4 ! Coarsest-level threshold T for ILU(T,P) -1 ! Number of Jacobi sweeps for BJAC/PJAC coarsest-level solver +1 ! Number of Jacobi sweeps for JACOBI/GS/BJAC coarsest-level solver