Added KRM settings to stringval()

mergeparmatch
Cirdans-Home 4 years ago
parent ec52852bf5
commit 0153904ef2

@ -234,7 +234,8 @@ module amg_base_prec_type
integer(psb_ipk_), parameter :: amg_sludist_ = amg_slv_delta_+9 integer(psb_ipk_), parameter :: amg_sludist_ = amg_slv_delta_+9
integer(psb_ipk_), parameter :: amg_mumps_ = amg_slv_delta_+10 integer(psb_ipk_), parameter :: amg_mumps_ = amg_slv_delta_+10
integer(psb_ipk_), parameter :: amg_bwgs_ = amg_slv_delta_+11 integer(psb_ipk_), parameter :: amg_bwgs_ = amg_slv_delta_+11
integer(psb_ipk_), parameter :: amg_max_sub_solve_ = amg_slv_delta_+11 integer(psb_ipk_), parameter :: amg_krm_ = amg_slv_delta_+12
integer(psb_ipk_), parameter :: amg_max_sub_solve_ = amg_slv_delta_+12
integer(psb_ipk_), parameter :: amg_min_sub_solve_ = amg_diag_scale_ integer(psb_ipk_), parameter :: amg_min_sub_solve_ = amg_diag_scale_
! !
@ -392,7 +393,7 @@ module amg_base_prec_type
& 'MILU(n) ','ILU(t,n) ',& & 'MILU(n) ','ILU(t,n) ',&
& 'SuperLU ','UMFPACK LU ',& & 'SuperLU ','UMFPACK LU ',&
& 'SuperLU_Dist ','MUMPS ',& & 'SuperLU_Dist ','MUMPS ',&
& 'Backward GS '/) & 'Backward GS ','Krylov Method '/)
interface amg_check_def interface amg_check_def
module procedure amg_icheck_def, amg_scheck_def, amg_dcheck_def module procedure amg_icheck_def, amg_scheck_def, amg_dcheck_def
@ -545,6 +546,8 @@ contains
val = amg_jac_ val = amg_jac_
case('L1-JACOBI') case('L1-JACOBI')
val = amg_l1_jac_ val = amg_l1_jac_
case('KRM')
val = amg_krm_
case('AS') case('AS')
val = amg_as_ val = amg_as_
case('A_NORMI') case('A_NORMI')

@ -261,7 +261,7 @@ subroutine amg_c_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold)
& ' but the coarse matrix has been changed to replicated' & ' but the coarse matrix has been changed to replicated'
end if end if
case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_) case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_,amg_krm_)
if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then
write(psb_err_unit,*) & write(psb_err_unit,*) &
& 'AMG4PSBLAS: Warning: original coarse solver was requested as ',& & 'AMG4PSBLAS: Warning: original coarse solver was requested as ',&

@ -561,7 +561,7 @@ subroutine amg_ccprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_c_krm_solver_type) :: krm_slv type(amg_c_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)
@ -711,7 +711,7 @@ subroutine amg_ccprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_c_krm_solver_type) :: krm_slv type(amg_c_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)

@ -261,7 +261,7 @@ subroutine amg_d_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold)
& ' but the coarse matrix has been changed to replicated' & ' but the coarse matrix has been changed to replicated'
end if end if
case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_) case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_,amg_krm_)
if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then
write(psb_err_unit,*) & write(psb_err_unit,*) &
& 'AMG4PSBLAS: Warning: original coarse solver was requested as ',& & 'AMG4PSBLAS: Warning: original coarse solver was requested as ',&

@ -587,7 +587,7 @@ subroutine amg_dcprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_d_krm_solver_type) :: krm_slv type(amg_d_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)
@ -751,7 +751,7 @@ subroutine amg_dcprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_d_krm_solver_type) :: krm_slv type(amg_d_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)

@ -261,7 +261,7 @@ subroutine amg_s_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold)
& ' but the coarse matrix has been changed to replicated' & ' but the coarse matrix has been changed to replicated'
end if end if
case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_) case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_,amg_krm_)
if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then
write(psb_err_unit,*) & write(psb_err_unit,*) &
& 'AMG4PSBLAS: Warning: original coarse solver was requested as ',& & 'AMG4PSBLAS: Warning: original coarse solver was requested as ',&

@ -561,7 +561,7 @@ subroutine amg_scprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_s_krm_solver_type) :: krm_slv type(amg_s_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)
@ -711,7 +711,7 @@ subroutine amg_scprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_s_krm_solver_type) :: krm_slv type(amg_s_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)

@ -261,7 +261,7 @@ subroutine amg_z_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold)
& ' but the coarse matrix has been changed to replicated' & ' but the coarse matrix has been changed to replicated'
end if end if
case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_) case(amg_bjac_,amg_l1_bjac_,amg_jac_, amg_l1_jac_, amg_gs_, amg_fbgs_, amg_l1_gs_,amg_l1_fbgs_,amg_krm_)
if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then if (prec%precv(iszv)%parms%coarse_mat /= amg_distr_mat_) then
write(psb_err_unit,*) & write(psb_err_unit,*) &
& 'AMG4PSBLAS: Warning: original coarse solver was requested as ',& & 'AMG4PSBLAS: Warning: original coarse solver was requested as ',&

@ -587,7 +587,7 @@ subroutine amg_zcprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_z_krm_solver_type) :: krm_slv type(amg_z_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)
@ -751,7 +751,7 @@ subroutine amg_zcprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
case('KRM') case('KRM')
block block
type(amg_z_krm_solver_type) :: krm_slv type(amg_z_krm_solver_type) :: krm_slv
call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_bjac_,info,pos=pos) call p%precv(nlev_)%set('SMOOTHER_TYPE',amg_krm_,info,pos=pos)
call p%precv(nlev_)%set(krm_slv,info) call p%precv(nlev_)%set(krm_slv,info)
call p%precv(nlev_)%default() call p%precv(nlev_)%default()
call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos) call p%precv(nlev_)%set('COARSE_MAT',amg_distr_mat_,info,pos=pos)

Loading…
Cancel
Save