From 304e125801825e5581c6e4c86526572b987a088c Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 19 Sep 2017 12:10:35 +0100 Subject: [PATCH] Fixed reading inputs Added DEFLT choice. --- tests/fileread/mld_cf_sample.f90 | 22 ++++++++++++---------- tests/fileread/mld_df_sample.f90 | 22 ++++++++++++---------- tests/fileread/mld_sf_sample.f90 | 22 ++++++++++++---------- tests/fileread/mld_zf_sample.f90 | 22 ++++++++++++---------- tests/fileread/runs/cfs.inp | 4 ++-- tests/fileread/runs/dfs.inp | 4 ++-- tests/fileread/runs/sfs.inp | 4 ++-- tests/fileread/runs/zfs.inp | 4 ++-- tests/pdegen/mld_d_pde2d.f90 | 21 ++++++++++++--------- tests/pdegen/mld_d_pde3d.f90 | 21 ++++++++++++--------- tests/pdegen/mld_s_pde2d.f90 | 21 ++++++++++++--------- tests/pdegen/mld_s_pde3d.f90 | 21 ++++++++++++--------- tests/pdegen/runs/mld_pde2d.inp | 4 ++-- tests/pdegen/runs/mld_pde3d.inp | 4 ++-- 14 files changed, 108 insertions(+), 88 deletions(-) diff --git a/tests/fileread/mld_cf_sample.f90 b/tests/fileread/mld_cf_sample.f90 index 2750d3ae..ecf8df62 100644 --- a/tests/fileread/mld_cf_sample.f90 +++ b/tests/fileread/mld_cf_sample.f90 @@ -404,15 +404,6 @@ program mld_cf_sample call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) call prec%set('sub_ovr', p_choice%novr, info) @@ -432,6 +423,17 @@ program mld_cf_sample call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -650,8 +652,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/fileread/mld_df_sample.f90 b/tests/fileread/mld_df_sample.f90 index 0e65d078..190b20b1 100644 --- a/tests/fileread/mld_df_sample.f90 +++ b/tests/fileread/mld_df_sample.f90 @@ -404,15 +404,6 @@ program mld_df_sample call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) call prec%set('sub_ovr', p_choice%novr, info) @@ -432,6 +423,17 @@ program mld_df_sample call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -650,8 +652,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/fileread/mld_sf_sample.f90 b/tests/fileread/mld_sf_sample.f90 index 7aad9375..a935cacd 100644 --- a/tests/fileread/mld_sf_sample.f90 +++ b/tests/fileread/mld_sf_sample.f90 @@ -404,15 +404,6 @@ program mld_sf_sample call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) call prec%set('sub_ovr', p_choice%novr, info) @@ -432,6 +423,17 @@ program mld_sf_sample call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -650,8 +652,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/fileread/mld_zf_sample.f90 b/tests/fileread/mld_zf_sample.f90 index 8fb2f605..e853574a 100644 --- a/tests/fileread/mld_zf_sample.f90 +++ b/tests/fileread/mld_zf_sample.f90 @@ -404,15 +404,6 @@ program mld_zf_sample call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) call prec%set('sub_ovr', p_choice%novr, info) @@ -432,6 +423,17 @@ program mld_zf_sample call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -650,8 +652,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/fileread/runs/cfs.inp b/tests/fileread/runs/cfs.inp index 3f98663e..15db4540 100644 --- a/tests/fileread/runs/cfs.inp +++ b/tests/fileread/runs/cfs.inp @@ -41,9 +41,9 @@ NONE ! AS prolongation operator: NONE SUM AVG 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) -UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC -REPL ! Coarsest-level matrix distribution: DIST REPL +DEFLT ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC UMF ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +REPL ! Coarsest-level matrix distribution: DIST REPL 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 JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/fileread/runs/dfs.inp b/tests/fileread/runs/dfs.inp index 7708e7d2..40112477 100644 --- a/tests/fileread/runs/dfs.inp +++ b/tests/fileread/runs/dfs.inp @@ -41,9 +41,9 @@ NONE ! AS prolongation operator: NONE SUM AVG 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) -BJAC ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC -DIST ! Coarsest-level matrix distribution: DIST REPL +DEFLT ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC ILU ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +DIST ! Coarsest-level matrix distribution: DIST REPL 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 JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/fileread/runs/sfs.inp b/tests/fileread/runs/sfs.inp index bb1bb32f..a2624d30 100644 --- a/tests/fileread/runs/sfs.inp +++ b/tests/fileread/runs/sfs.inp @@ -41,9 +41,9 @@ NONE ! AS prolongation operator: NONE SUM AVG 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) -UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC -REPL ! Coarsest-level matrix distribution: DIST REPL +DEFLT ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC UMF ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +REPL ! Coarsest-level matrix distribution: DIST REPL 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 JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/fileread/runs/zfs.inp b/tests/fileread/runs/zfs.inp index 3f98663e..43567422 100644 --- a/tests/fileread/runs/zfs.inp +++ b/tests/fileread/runs/zfs.inp @@ -41,9 +41,9 @@ NONE ! AS prolongation operator: NONE SUM AVG 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) -UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC -REPL ! Coarsest-level matrix distribution: DIST REPL +DEFLT ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC UMF ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +REPL ! Coarsest-level matrix distribution: DIST REPL 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 JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/pdegen/mld_d_pde2d.f90 b/tests/pdegen/mld_d_pde2d.f90 index dd4f18b2..18d0a532 100644 --- a/tests/pdegen/mld_d_pde2d.f90 +++ b/tests/pdegen/mld_d_pde2d.f90 @@ -310,14 +310,6 @@ program mld_d_pde2d call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) @@ -338,6 +330,17 @@ program mld_d_pde2d call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -525,8 +528,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/pdegen/mld_d_pde3d.f90 b/tests/pdegen/mld_d_pde3d.f90 index 4fa787fd..06d0b22c 100644 --- a/tests/pdegen/mld_d_pde3d.f90 +++ b/tests/pdegen/mld_d_pde3d.f90 @@ -323,14 +323,6 @@ program mld_d_pde3d call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) @@ -351,6 +343,17 @@ program mld_d_pde3d call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -538,8 +541,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/pdegen/mld_s_pde2d.f90 b/tests/pdegen/mld_s_pde2d.f90 index ac8bd6d0..d0bade35 100644 --- a/tests/pdegen/mld_s_pde2d.f90 +++ b/tests/pdegen/mld_s_pde2d.f90 @@ -310,14 +310,6 @@ program mld_s_pde2d call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) @@ -338,6 +330,17 @@ program mld_s_pde2d call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -525,8 +528,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/pdegen/mld_s_pde3d.f90 b/tests/pdegen/mld_s_pde3d.f90 index e4f66f14..24061045 100644 --- a/tests/pdegen/mld_s_pde3d.f90 +++ b/tests/pdegen/mld_s_pde3d.f90 @@ -323,14 +323,6 @@ program mld_s_pde3d call prec%set('aggr_ord', p_choice%aggr_ord, info) call prec%set('aggr_filter', p_choice%aggr_filter,info) - 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) - call prec%set('coarse_mat', p_choice%cmat, info) - call prec%set('coarse_fillin', p_choice%cfill, info) - call prec%set('coarse_iluthrs', p_choice%cthres, info) - call prec%set('coarse_sweeps', p_choice%cjswp, info) - call prec%set('smoother_type', p_choice%smther, info) call prec%set('smoother_sweeps', p_choice%jsweeps, info) @@ -351,6 +343,17 @@ program mld_s_pde3d call prec%set('sub_fillin', p_choice%fill2, info,pos='post') call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post') end if + + if (psb_toupper(p_choice%csolve) /= 'DEFLT') then + 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) + call prec%set('coarse_mat', p_choice%cmat, info) + call prec%set('coarse_fillin', p_choice%cfill, info) + call prec%set('coarse_iluthrs', p_choice%cthres, info) + call prec%set('coarse_sweeps', p_choice%cjswp, info) + end if + end select ! build the preconditioner @@ -538,8 +541,8 @@ contains call read_data(prec%thr2,psb_inp_unit) ! threshold for ILUT ! coasest-level solver call read_data(prec%csolve,psb_inp_unit) ! coarsest-lev solver - call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%csbsolve,psb_inp_unit) ! coarsest-lev subsolver + call read_data(prec%cmat,psb_inp_unit) ! coarsest mat layout call read_data(prec%cfill,psb_inp_unit) ! fill-in for incompl LU call read_data(prec%cthres,psb_inp_unit) ! Threshold for ILUT call read_data(prec%cjswp,psb_inp_unit) ! sweeps for GS/JAC subsolver diff --git a/tests/pdegen/runs/mld_pde2d.inp b/tests/pdegen/runs/mld_pde2d.inp index 5a521a05..7d291fb1 100644 --- a/tests/pdegen/runs/mld_pde2d.inp +++ b/tests/pdegen/runs/mld_pde2d.inp @@ -36,9 +36,9 @@ NONE ! AS prolongation operator: NONE SUM AVG 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) -UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC -REPL ! Coarsest-level matrix distribution: DIST REPL +DEFLT ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC DEFLT UMF ! Coarsest-level subsolver: ILU ILUT MILU UMF MUMPS SLU +REPL ! Coarsest-level matrix distribution: DIST REPL 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 JACOBI/GS/BJAC coarsest-level solver diff --git a/tests/pdegen/runs/mld_pde3d.inp b/tests/pdegen/runs/mld_pde3d.inp index a3aa323f..fcda079b 100644 --- a/tests/pdegen/runs/mld_pde3d.inp +++ b/tests/pdegen/runs/mld_pde3d.inp @@ -36,9 +36,9 @@ NONE ! AS prolongation operator: NONE SUM AVG 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) -UMF ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC -REPL ! Coarsest-level matrix distribution: DIST REPL +DEFLT ! Coarsest-level solver: MUMPS UMF SLU SLUDIST JACOBI GS BJAC DEFLT UMF ! Coarsest-level subsolver: ILU ILUT MILU UMF MUMPS SLU +REPL ! Coarsest-level matrix distribution: DIST REPL 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 JACOBI/GS/BJAC coarsest-level solver