Include solver_sweeps in test program

maint-1.1
sfilippone 1 year ago
parent 84ea60c94c
commit 1dcb542e4a

@ -148,6 +148,7 @@ program amg_d_pde2d
character(len=16) :: prol ! prolongation over application of AS
character(len=16) :: solve ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps ! inner solver sweeps
character(len=16) :: variant ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill ! Inverse fill-in for INVK
@ -161,6 +162,7 @@ program amg_d_pde2d
character(len=16) :: prol2 ! prolongation over application of AS
character(len=16) :: solve2 ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps2 ! inner solver sweeps
character(len=16) :: variant2 ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill2 ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill2 ! Inverse fill-in for INVK
@ -282,6 +284,7 @@ program amg_d_pde2d
case ('BJAC')
call prec%set('smoother_sweeps', p_choice%jsweeps, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -293,6 +296,7 @@ program amg_d_pde2d
call prec%set('sub_restr', p_choice%restr, info)
call prec%set('sub_prol', p_choice%prol, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -349,7 +353,7 @@ program amg_d_pde2d
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps, info)
call prec%set('sub_fillin', p_choice%fill, info)
call prec%set('inv_fillin', p_choice%invfill, info)
call prec%set('sub_iluthrs', p_choice%thr, info)
@ -378,7 +382,7 @@ program amg_d_pde2d
if (psb_toupper(p_choice%solve2)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps2, info,pos='post')
call prec%set('sub_fillin', p_choice%fill2, info,pos='post')
call prec%set('inv_fillin', p_choice%invfill2, info,pos='post')
call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post')
@ -577,6 +581,7 @@ contains
call read_data(prec%restr,inp_unit) ! restriction over application of AS
call read_data(prec%prol,inp_unit) ! prolongation over application of AS
call read_data(prec%solve,inp_unit) ! local subsolver
call read_data(prec%ssweeps,inp_unit) ! inner solver sweeps
call read_data(prec%variant,inp_unit) ! AINV variant
call read_data(prec%fill,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill,inp_unit) !Inverse fill-in for INVK
@ -588,6 +593,7 @@ contains
call read_data(prec%restr2,inp_unit) ! restriction over application of AS
call read_data(prec%prol2,inp_unit) ! prolongation over application of AS
call read_data(prec%solve2,inp_unit) ! local subsolver
call read_data(prec%ssweeps2,inp_unit) ! inner solver sweeps
call read_data(prec%variant2,inp_unit) ! AINV variant
call read_data(prec%fill2,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill2,inp_unit) !Inverse fill-in for INVK
@ -657,6 +663,7 @@ contains
call psb_bcast(ctxt,prec%restr)
call psb_bcast(ctxt,prec%prol)
call psb_bcast(ctxt,prec%solve)
call psb_bcast(ctxt,prec%ssweeps)
call psb_bcast(ctxt,prec%variant)
call psb_bcast(ctxt,prec%fill)
call psb_bcast(ctxt,prec%invfill)
@ -668,6 +675,7 @@ contains
call psb_bcast(ctxt,prec%restr2)
call psb_bcast(ctxt,prec%prol2)
call psb_bcast(ctxt,prec%solve2)
call psb_bcast(ctxt,prec%ssweeps2)
call psb_bcast(ctxt,prec%variant2)
call psb_bcast(ctxt,prec%fill2)
call psb_bcast(ctxt,prec%invfill2)

@ -149,6 +149,7 @@ program amg_d_pde3d
character(len=16) :: prol ! prolongation over application of AS
character(len=16) :: solve ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps ! inner solver sweeps
character(len=16) :: variant ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill ! Inverse fill-in for INVK
@ -162,6 +163,7 @@ program amg_d_pde3d
character(len=16) :: prol2 ! prolongation over application of AS
character(len=16) :: solve2 ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps2 ! inner solver sweeps
character(len=16) :: variant2 ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill2 ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill2 ! Inverse fill-in for INVK
@ -286,10 +288,9 @@ program amg_d_pde3d
case ('BJAC')
call prec%set('smoother_sweeps', p_choice%jsweeps, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
if ((psb_toupper(p_choice%solve)=='JACOBI').or.(psb_toupper(p_choice%solve)=='L1-JACOBI')) &
& call prec%set('solver_sweeps',8,info)
call prec%set('sub_fillin', p_choice%fill, info)
call prec%set('sub_iluthrs', p_choice%thr, info)
@ -299,6 +300,7 @@ program amg_d_pde3d
call prec%set('sub_restr', p_choice%restr, info)
call prec%set('sub_prol', p_choice%prol, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -355,7 +357,7 @@ program amg_d_pde3d
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps, info)
call prec%set('sub_fillin', p_choice%fill, info)
call prec%set('inv_fillin', p_choice%invfill, info)
call prec%set('sub_iluthrs', p_choice%thr, info)
@ -384,7 +386,7 @@ program amg_d_pde3d
if (psb_toupper(p_choice%solve2)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps2, info,pos='post')
call prec%set('sub_fillin', p_choice%fill2, info,pos='post')
call prec%set('inv_fillin', p_choice%invfill2, info,pos='post')
call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post')
@ -583,6 +585,7 @@ contains
call read_data(prec%restr,inp_unit) ! restriction over application of AS
call read_data(prec%prol,inp_unit) ! prolongation over application of AS
call read_data(prec%solve,inp_unit) ! local subsolver
call read_data(prec%ssweeps,inp_unit) ! inner solver sweeps
call read_data(prec%variant,inp_unit) ! AINV variant
call read_data(prec%fill,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill,inp_unit) !Inverse fill-in for INVK
@ -594,6 +597,7 @@ contains
call read_data(prec%restr2,inp_unit) ! restriction over application of AS
call read_data(prec%prol2,inp_unit) ! prolongation over application of AS
call read_data(prec%solve2,inp_unit) ! local subsolver
call read_data(prec%ssweeps2,inp_unit) ! inner solver sweeps
call read_data(prec%variant2,inp_unit) ! AINV variant
call read_data(prec%fill2,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill2,inp_unit) !Inverse fill-in for INVK
@ -663,6 +667,7 @@ contains
call psb_bcast(ctxt,prec%restr)
call psb_bcast(ctxt,prec%prol)
call psb_bcast(ctxt,prec%solve)
call psb_bcast(ctxt,prec%ssweeps)
call psb_bcast(ctxt,prec%variant)
call psb_bcast(ctxt,prec%fill)
call psb_bcast(ctxt,prec%invfill)
@ -674,6 +679,7 @@ contains
call psb_bcast(ctxt,prec%restr2)
call psb_bcast(ctxt,prec%prol2)
call psb_bcast(ctxt,prec%solve2)
call psb_bcast(ctxt,prec%ssweeps2)
call psb_bcast(ctxt,prec%variant2)
call psb_bcast(ctxt,prec%fill2)
call psb_bcast(ctxt,prec%invfill2)

@ -148,6 +148,7 @@ program amg_s_pde2d
character(len=16) :: prol ! prolongation over application of AS
character(len=16) :: solve ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps ! inner solver sweeps
character(len=16) :: variant ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill ! Inverse fill-in for INVK
@ -161,6 +162,7 @@ program amg_s_pde2d
character(len=16) :: prol2 ! prolongation over application of AS
character(len=16) :: solve2 ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps2 ! inner solver sweeps
character(len=16) :: variant2 ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill2 ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill2 ! Inverse fill-in for INVK
@ -282,6 +284,7 @@ program amg_s_pde2d
case ('BJAC')
call prec%set('smoother_sweeps', p_choice%jsweeps, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -293,6 +296,7 @@ program amg_s_pde2d
call prec%set('sub_restr', p_choice%restr, info)
call prec%set('sub_prol', p_choice%prol, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -349,7 +353,7 @@ program amg_s_pde2d
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps, info)
call prec%set('sub_fillin', p_choice%fill, info)
call prec%set('inv_fillin', p_choice%invfill, info)
call prec%set('sub_iluthrs', p_choice%thr, info)
@ -378,7 +382,7 @@ program amg_s_pde2d
if (psb_toupper(p_choice%solve2)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps2, info,pos='post')
call prec%set('sub_fillin', p_choice%fill2, info,pos='post')
call prec%set('inv_fillin', p_choice%invfill2, info,pos='post')
call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post')
@ -577,6 +581,7 @@ contains
call read_data(prec%restr,inp_unit) ! restriction over application of AS
call read_data(prec%prol,inp_unit) ! prolongation over application of AS
call read_data(prec%solve,inp_unit) ! local subsolver
call read_data(prec%ssweeps,inp_unit) ! inner solver sweeps
call read_data(prec%variant,inp_unit) ! AINV variant
call read_data(prec%fill,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill,inp_unit) !Inverse fill-in for INVK
@ -588,6 +593,7 @@ contains
call read_data(prec%restr2,inp_unit) ! restriction over application of AS
call read_data(prec%prol2,inp_unit) ! prolongation over application of AS
call read_data(prec%solve2,inp_unit) ! local subsolver
call read_data(prec%ssweeps2,inp_unit) ! inner solver sweeps
call read_data(prec%variant2,inp_unit) ! AINV variant
call read_data(prec%fill2,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill2,inp_unit) !Inverse fill-in for INVK
@ -657,6 +663,7 @@ contains
call psb_bcast(ctxt,prec%restr)
call psb_bcast(ctxt,prec%prol)
call psb_bcast(ctxt,prec%solve)
call psb_bcast(ctxt,prec%ssweeps)
call psb_bcast(ctxt,prec%variant)
call psb_bcast(ctxt,prec%fill)
call psb_bcast(ctxt,prec%invfill)
@ -668,6 +675,7 @@ contains
call psb_bcast(ctxt,prec%restr2)
call psb_bcast(ctxt,prec%prol2)
call psb_bcast(ctxt,prec%solve2)
call psb_bcast(ctxt,prec%ssweeps2)
call psb_bcast(ctxt,prec%variant2)
call psb_bcast(ctxt,prec%fill2)
call psb_bcast(ctxt,prec%invfill2)

@ -149,6 +149,7 @@ program amg_s_pde3d
character(len=16) :: prol ! prolongation over application of AS
character(len=16) :: solve ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps ! inner solver sweeps
character(len=16) :: variant ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill ! Inverse fill-in for INVK
@ -162,6 +163,7 @@ program amg_s_pde3d
character(len=16) :: prol2 ! prolongation over application of AS
character(len=16) :: solve2 ! local subsolver type: ILU, MILU, ILUT,
! UMF, MUMPS, SLU, FWGS, BWGS, JAC
integer(psb_ipk_) :: ssweeps2 ! inner solver sweeps
character(len=16) :: variant2 ! AINV variant: LLK, etc
integer(psb_ipk_) :: fill2 ! fill-in for incomplete LU factorization
integer(psb_ipk_) :: invfill2 ! Inverse fill-in for INVK
@ -286,6 +288,7 @@ program amg_s_pde3d
case ('BJAC')
call prec%set('smoother_sweeps', p_choice%jsweeps, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -297,6 +300,7 @@ program amg_s_pde3d
call prec%set('sub_restr', p_choice%restr, info)
call prec%set('sub_prol', p_choice%prol, info)
call prec%set('sub_solve', p_choice%solve, info)
call prec%set('solver_sweeps', p_choice%ssweeps, info)
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
call prec%set('sub_fillin', p_choice%fill, info)
@ -353,7 +357,7 @@ program amg_s_pde3d
if (psb_toupper(p_choice%solve)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps, info)
call prec%set('sub_fillin', p_choice%fill, info)
call prec%set('inv_fillin', p_choice%invfill, info)
call prec%set('sub_iluthrs', p_choice%thr, info)
@ -382,7 +386,7 @@ program amg_s_pde3d
if (psb_toupper(p_choice%solve2)=='MUMPS') &
& call prec%set('mumps_loc_glob','local_solver',info)
end select
call prec%set('solver_sweeps', p_choice%ssweeps2, info,pos='post')
call prec%set('sub_fillin', p_choice%fill2, info,pos='post')
call prec%set('inv_fillin', p_choice%invfill2, info,pos='post')
call prec%set('sub_iluthrs', p_choice%thr2, info,pos='post')
@ -581,6 +585,7 @@ contains
call read_data(prec%restr,inp_unit) ! restriction over application of AS
call read_data(prec%prol,inp_unit) ! prolongation over application of AS
call read_data(prec%solve,inp_unit) ! local subsolver
call read_data(prec%ssweeps,inp_unit) ! inner solver sweeps
call read_data(prec%variant,inp_unit) ! AINV variant
call read_data(prec%fill,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill,inp_unit) !Inverse fill-in for INVK
@ -592,6 +597,7 @@ contains
call read_data(prec%restr2,inp_unit) ! restriction over application of AS
call read_data(prec%prol2,inp_unit) ! prolongation over application of AS
call read_data(prec%solve2,inp_unit) ! local subsolver
call read_data(prec%ssweeps2,inp_unit) ! inner solver sweeps
call read_data(prec%variant2,inp_unit) ! AINV variant
call read_data(prec%fill2,inp_unit) ! fill-in for incomplete LU
call read_data(prec%invfill2,inp_unit) !Inverse fill-in for INVK
@ -661,6 +667,7 @@ contains
call psb_bcast(ctxt,prec%restr)
call psb_bcast(ctxt,prec%prol)
call psb_bcast(ctxt,prec%solve)
call psb_bcast(ctxt,prec%ssweeps)
call psb_bcast(ctxt,prec%variant)
call psb_bcast(ctxt,prec%fill)
call psb_bcast(ctxt,prec%invfill)
@ -672,6 +679,7 @@ contains
call psb_bcast(ctxt,prec%restr2)
call psb_bcast(ctxt,prec%prol2)
call psb_bcast(ctxt,prec%solve2)
call psb_bcast(ctxt,prec%ssweeps2)
call psb_bcast(ctxt,prec%variant2)
call psb_bcast(ctxt,prec%fill2)
call psb_bcast(ctxt,prec%invfill2)

@ -18,6 +18,7 @@ BJAC ! Smoother type JACOBI FBGS GS BWGS BJAC AS. For 1-l
HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG
ILU ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF
8 ! Inner solver sweeps (GS and JACOBI)
LLK ! AINV variant, ignored otherwise
0 ! Fill level P for ILU(P) and ILU(T,P)
1 ! Inverse Fill level P for INVK
@ -29,6 +30,7 @@ NONE ! Second (post) smoother, ignored if NONE
HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG
ILU ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF
8 ! Inner solver sweeps (GS and JACOBI)
LLK ! AINV variant, ignored otherwise
0 ! Fill level P for ILU(P) and ILU(T,P)
8 ! Inverse Fill level P for INVK

@ -18,6 +18,7 @@ BJAC ! Smoother type JACOBI FBGS GS BWGS BJAC AS. For 1-l
HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG
JACOBI ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF
8 ! Inner solver sweeps (GS and JACOBI)
LLK ! AINV variant
0 ! Fill level P for ILU(P) and ILU(T,P)
1 ! Inverse Fill level P for INVK
@ -29,6 +30,7 @@ NONE ! Second (post) smoother, ignored if NONE
HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG
ILU ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF
8 ! Inner solver sweeps (GS and JACOBI)
LLK ! AINV variant
0 ! Fill level P for ILU(P) and ILU(T,P)
8 ! Inverse Fill level P for INVK

Loading…
Cancel
Save