: updated example and test programs and their input files; updated README

stopcriterion
Daniela di Serafino 7 years ago
parent b468335b4a
commit c6991a7507

@ -56,18 +56,19 @@ In version 1.1:
- Note that we now need version 2.3.1 of PSBLAS. - 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 0. Unpack the tar file in a directory of your choice (preferrably
outside the main PSBLAS directory). outside the main PSBLAS directory).
1. run configure --with-psblas=<ABSOLUTE path of the PSBLAS install directory> 1. run configure --with-psblas=<ABSOLUTE path of the PSBLAS install directory>
adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired. 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. 2. Tweak Make.inc if you are not satisfied.
3. make; 3. make;
4. Go into the test subdirectory and build the examples of your choice. 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 - The single precision version is supported only by SuperLU; thus, even
if you specify at configure to use UMFPACK or SuperLU_Dist, the if you specify at configure to use UMFPACK or SuperLU_Dist, the

@ -53,8 +53,8 @@
! sweeps (with ILU(0) on the blocks) as coarsest-level solver(Sec. 5.1, Fig. 3) ! 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 ! - choice = 3, build a W-cycle preconditioner with 2 hybrid forward/backward
! GS sweeps as pre/post-smoother, a distributed coarsest ! GS sweeps as pre/post-smoother, a distributed coarsest matrix,
! matrix, and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4) ! 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 ! The matrix and the rhs are read from files (if an rhs is not available, the
! unit rhs is set). ! unit rhs is set).
@ -237,7 +237,6 @@ program mld_dexample_ml
call P%init('ML',info) call P%init('ML',info)
call P%set('ML_CYCLE','WCYCLE',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('SMOOTHER_SWEEPS',2,info)
call P%set('COARSE_SOLVE','MUMPS',info) call P%set('COARSE_SOLVE','MUMPS',info)
call P%set('COARSE_MAT','DIST',info) call P%set('COARSE_MAT','DIST',info)

@ -1,6 +1,6 @@
mld_mat.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or 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_rhs.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html
MM ! File format: MM (Matrix Market) HB (Harwell-Boeing). MM ! File format: MM (Matrix Market) HB (Harwell-Boeing).
3 ! Preconditioner choice 1 ! Preconditioner choice
0100 ! ITMAX 0100 ! ITMAX
1.d-6 ! EPS 1.d-6 ! EPS

@ -54,8 +54,8 @@
! sweeps (with ILU(0) on the blocks) as coarsest-level solver(Sec. 5.1, Fig. 3) ! 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 ! - choice = 3, build a W-cycle preconditioner with 2 hybrid forward/backward
! GS sweeps as pre/post-smoother, a distributed coarsest ! GS sweeps as pre/post-smoother, a distributed coarsest matrix,
! matrix, and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4) ! and MUMPS as coarsest-level solver (Sec. 5.1, Fig. 4)
! !
! The PDE is a general second order equation in 3d ! 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%init('ML',info)
call P%set('ML_CYCLE','WCYCLE',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('SMOOTHER_SWEEPS',2,info)
call P%set('COARSE_SOLVE','MUMPS',info) call P%set('COARSE_SOLVE','MUMPS',info)
call P%set('COARSE_MAT','DIST',info) call P%set('COARSE_MAT','DIST',info)

@ -1,4 +1,4 @@
3 ! Preconditioner choice 1 ! Preconditioner choice
10 ! IDIM; domain size is idim**3 10 ! IDIM; domain size is idim**3
500 ! ITMAX 500 ! ITMAX
1.d-6 ! EPS 1.d-6 ! EPS

@ -84,9 +84,6 @@ program mld_df_sample
integer(psb_ipk_) :: thrvsz ! size of threshold vector integer(psb_ipk_) :: thrvsz ! size of threshold vector
real(psb_dpk_) :: athres ! smoothed aggregation threshold real(psb_dpk_) :: athres ! smoothed aggregation threshold
real(psb_dpk_) :: ascale ! smoothed aggregation scale factor for 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 integer(psb_ipk_) :: csize ! minimum size of coarsest matrix
! AMG smoother or pre-smoother; also 1-lev preconditioner ! 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_alg', p_choice%aggr_alg, info)
call prec%set('aggr_ord', p_choice%aggr_ord, 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_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) call prec%set('coarse_solve', p_choice%csolve, info)
if (psb_toupper(p_choice%csolve) == 'BJAC') & if (psb_toupper(p_choice%csolve) == 'BJAC') &
& call prec%set('coarse_subsolve', p_choice%csbsolve, info) & call prec%set('coarse_subsolve', p_choice%csbsolve, info)
@ -648,9 +639,6 @@ contains
read(psb_inp_unit,*) ! dummy read to skip a record read(psb_inp_unit,*) ! dummy read to skip a record
end if end if
call read_data(prec%athres,psb_inp_unit) ! smoothed aggr thresh 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 ! AMG smoother (or pre-smoother) / 1-lev preconditioner
call read_data(prec%smther,psb_inp_unit) ! smoother type call read_data(prec%smther,psb_inp_unit) ! smoother type
call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps
@ -734,9 +722,6 @@ contains
end if end if
call psb_bcast(ictxt,prec%athres) call psb_bcast(ictxt,prec%athres)
call psb_bcast(ictxt,prec%ascale) 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%csize)
call psb_bcast(icontxt,prec%cmat) call psb_bcast(icontxt,prec%cmat)

@ -5,15 +5,15 @@ mld_sol.mtx ! Reference solution
MM ! File format: MatrixMarket or Harwell-Boeing MM ! File format: MatrixMarket or Harwell-Boeing
CSR ! Storage format: CSR COO JAD CSR ! Storage format: CSR COO JAD
BLOCK ! PART (partition method): BLOCK GRAPH 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 2 ! ISTOPC
00500 ! ITMAX 00500 ! ITMAX
1 ! ITRACE 1 ! ITRACE
30 ! IRST (restart for RGMRES and BiCGSTABL) 30 ! IRST (restart for RGMRES and BiCGSTABL)
1.d-6 ! EPS 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 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 1 ! Number of outer sweeps
-3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default -3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default
-3 ! Target coarse matrix size; 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 2 ! Number of thresholds in vector, next line ignored if <= 0
0.05 0.025 ! Thresholds 0.05 0.025 ! Thresholds
0.0100d0 ! Smoothed aggregation threshold: >= 0.0 0.0100d0 ! Smoothed aggregation threshold: >= 0.0
EIG_EST ! Omega algorithm: EIG_EST USER_CHOICE FBGS ! Smoother type JACOBI GS BGS BJAC AS; ignored for non-ML
A_NORMI ! Estimate procedure if EIG_EST
1.0 ! Estimate value (if USER_CHOICE)
FBGS ! Smoother type JACOBI BJAC AS ignored for non-ML
1 ! Number of sweeps for (pre) smoother 1 ! Number of sweeps for (pre) smoother
0 ! Number of overlap layers for AS preconditioner 0 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG 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) 0 ! Fill level P for ILU(P) and ILU(T,P)
1.d-4 ! Threshold T for ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P)
NONE ! Second (post) smoother, ignored if NONE 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 0 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG 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) 0 ! Fill level P for ILU(P) and ILU(T,P)
1.d-4 ! Threshold T for ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P)
SLUDIST ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC
DIST ! Coarsest-level matrix distribution: DIST REPL REPL ! Coarsest-level matrix distribution: DIST REPL
SLUDIST ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST UMF ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST
1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P)
1.d-4 ! Coarsest-level threshold T for 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

@ -177,9 +177,6 @@ program mld_d_pde2d
integer(psb_ipk_) :: thrvsz ! size of threshold vector integer(psb_ipk_) :: thrvsz ! size of threshold vector
real(psb_dpk_) :: athres ! smoothed aggregation threshold real(psb_dpk_) :: athres ! smoothed aggregation threshold
real(psb_dpk_) :: ascale ! smoothed aggregation scale factor for 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 integer(psb_ipk_) :: csize ! minimum size of coarsest matrix
! AMG smoother or pre-smoother; also 1-lev preconditioner ! 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_alg', p_choice%aggr_alg, info)
call prec%set('aggr_ord', p_choice%aggr_ord, 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_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) call prec%set('coarse_solve', p_choice%csolve, info)
if (psb_toupper(p_choice%csolve) == 'BJAC') & if (psb_toupper(p_choice%csolve) == 'BJAC') &
& call prec%set('coarse_subsolve', p_choice%csbsolve, info) & call prec%set('coarse_subsolve', p_choice%csbsolve, info)
@ -525,9 +516,6 @@ contains
read(psb_inp_unit,*) ! dummy read to skip a record read(psb_inp_unit,*) ! dummy read to skip a record
end if end if
call read_data(prec%athres,psb_inp_unit) ! smoothed aggr thresh 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 ! AMG smoother (or pre-smoother) / 1-lev preconditioner
call read_data(prec%smther,psb_inp_unit) ! smoother type call read_data(prec%smther,psb_inp_unit) ! smoother type
call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps
@ -606,9 +594,6 @@ contains
end if end if
call psb_bcast(ictxt,prec%athres) call psb_bcast(ictxt,prec%athres)
call psb_bcast(ictxt,prec%ascale) 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%csize)
call psb_bcast(icontxt,prec%cmat) call psb_bcast(icontxt,prec%cmat)

@ -189,9 +189,6 @@ program mld_d_pde3d
integer(psb_ipk_) :: thrvsz ! size of threshold vector integer(psb_ipk_) :: thrvsz ! size of threshold vector
real(psb_dpk_) :: athres ! smoothed aggregation threshold real(psb_dpk_) :: athres ! smoothed aggregation threshold
real(psb_dpk_) :: ascale ! smoothed aggregation scale factor for 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 integer(psb_ipk_) :: csize ! minimum size of coarsest matrix
! AMG smoother or pre-smoother; also 1-lev preconditioner ! 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_alg', p_choice%aggr_alg, info)
call prec%set('aggr_ord', p_choice%aggr_ord, 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_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) call prec%set('coarse_solve', p_choice%csolve, info)
if (psb_toupper(p_choice%csolve) == 'BJAC') & if (psb_toupper(p_choice%csolve) == 'BJAC') &
& call prec%set('coarse_subsolve', p_choice%csbsolve, info) & call prec%set('coarse_subsolve', p_choice%csbsolve, info)
@ -538,9 +529,6 @@ contains
read(psb_inp_unit,*) ! dummy read to skip a record read(psb_inp_unit,*) ! dummy read to skip a record
end if end if
call read_data(prec%athres,psb_inp_unit) ! smoothed aggr thresh 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 ! AMG smoother (or pre-smoother) / 1-lev preconditioner
call read_data(prec%smther,psb_inp_unit) ! smoother type call read_data(prec%smther,psb_inp_unit) ! smoother type
call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps call read_data(prec%jsweeps,psb_inp_unit) ! (pre-)smoother / 1-lev prec sweeps
@ -619,9 +607,6 @@ contains
end if end if
call psb_bcast(ictxt,prec%athres) call psb_bcast(ictxt,prec%athres)
call psb_bcast(ictxt,prec%ascale) 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%csize)
call psb_bcast(icontxt,prec%cmat) call psb_bcast(icontxt,prec%cmat)

@ -1,14 +1,14 @@
CSR ! Storage format CSR COO JAD CSR ! Storage format CSR COO JAD
0080 ! IDIM; domain size is idim**3 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 2 ! ISTOPC
00500 ! ITMAX 00500 ! ITMAX
1 ! ITRACE 1 ! ITRACE
30 ! IRST (restart for RGMRES and BiCGSTABL) 30 ! IRST (restart for RGMRES and BiCGSTABL)
1.d-6 ! EPS 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 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 1 ! Number of outer sweeps
-3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default -3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default
-3 ! Target coarse matrix size; 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 2 ! Number of thresholds in vector, next line ignored if <= 0
0.05 0.025 ! Thresholds 0.05 0.025 ! Thresholds
0.0100d0 ! Smoothed aggregation threshold: >= 0.0 0.0100d0 ! Smoothed aggregation threshold: >= 0.0
EIG_EST ! Omega algorithm: EIG_EST USER_CHOICE FBGS ! Smoother type JACOBI FBGS GS BGS BJAC AS; ignored for non-ML
A_NORMI ! Estimate procedure if EIG_EST
1.0 ! Estimate value (if USER_CHOICE)
FBGS ! Smoother type JACOBI BJAC AS ignored for non-ML
1 ! Number of sweeps for (pre) smoother 1 ! Number of sweeps for (pre) smoother
0 ! Number of overlap layers for AS preconditioner 0 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG 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) 0 ! Fill level P for ILU(P) and ILU(T,P)
1.d-4 ! Threshold T for ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P)
NONE ! Second (post) smoother, ignored if NONE 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 0 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG 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) 0 ! Fill level P for ILU(P) and ILU(T,P)
1.d-4 ! Threshold T for ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P)
SLUDIST ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC
DIST ! Coarsest-level matrix distribution: DIST REPL REPL ! Coarsest-level matrix distribution: DIST REPL
SLUDIST ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST UMF ! Coarsest-level subsolver: ILU ILUT MILU UMF MUMPS SLU
1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P)
1.d-4 ! Coarsest-level threshold T for 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

@ -1,14 +1,14 @@
CSR ! Storage format CSR COO JAD CSR ! Storage format CSR COO JAD
0080 ! IDIM; domain size is idim**3 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 2 ! ISTOPC
00500 ! ITMAX 00500 ! ITMAX
1 ! ITRACE 1 ! ITRACE
30 ! IRST (restart for RGMRES and BiCGSTABL) 30 ! IRST (restart for RGMRES and BiCGSTABL)
1.d-6 ! EPS 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 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 1 ! Number of outer sweeps
-3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default -3 ! Max Number of levels in a multilevel preconditioner; if <0, lib default
-3 ! Target coarse matrix size; 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 2 ! Number of thresholds in vector, next line ignored if <= 0
0.05 0.025 ! Thresholds 0.05 0.025 ! Thresholds
0.0100d0 ! Smoothed aggregation threshold: >= 0.0 0.0100d0 ! Smoothed aggregation threshold: >= 0.0
EIG_EST ! Omega algorithm: EIG_EST USER_CHOICE FBGS ! Smoother type JACOBI FBGS GS BGS BJAC AS; ignored for non-ML
A_NORMI ! Estimate procedure if EIG_EST
1.0 ! Estimate value (if USER_CHOICE)
FBGS ! Smoother type JACOBI BJAC AS ignored for non-ML
1 ! Number of sweeps for (pre) smoother 1 ! Number of sweeps for (pre) smoother
0 ! Number of overlap layers for AS preconditioner 0 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG 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) 0 ! Fill level P for ILU(P) and ILU(T,P)
1.d-4 ! Threshold T for ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P)
NONE ! Second (post) smoother, ignored if NONE 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 0 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG 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) 0 ! Fill level P for ILU(P) and ILU(T,P)
1.d-4 ! Threshold T for ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P)
SLUDIST ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC
DIST ! Coarsest-level matrix distribution: DIST REPL REPL ! Coarsest-level matrix distribution: DIST REPL
SLUDIST ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST UMF ! Coarsest-level subsolver: ILU ILUT MILU UMF MUMPS SLU
1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1 ! Coarsest-level fillin P for ILU(P) and ILU(T,P)
1.d-4 ! Coarsest-level threshold T for 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

Loading…
Cancel
Save