mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 14:44:55 +00:00
mld2p4:
mlprec/mld_cilu_bld.f90 mlprec/mld_cmlprec_bld.f90 mlprec/mld_cprecset.f90 mlprec/mld_dilu_bld.f90 mlprec/mld_dmlprec_bld.f90 mlprec/mld_dprecset.f90 mlprec/mld_prec_type.f90 mlprec/mld_silu_bld.f90 mlprec/mld_smlprec_bld.f90 mlprec/mld_sprecset.f90 mlprec/mld_zilu_bld.f90 mlprec/mld_zmlprec_bld.f90 mlprec/mld_zprecset.f90 test/fileread/cf_sample.f90 test/fileread/df_sample.f90 test/fileread/sf_sample.f90 test/fileread/zf_sample.f90 test/pargen/ppde.f90 test/pargen/spde.f90 Changed constant names: s/mld_fact_thrs_/mld_sub_iluthrs_/gi s/mld_coarse_fthrs_/mld_coarse_iluthrs_/gi
This commit is contained in:
@@ -201,7 +201,7 @@ subroutine mld_cilu_bld(a,p,upd,info,blck)
|
||||
|
||||
case(0:)
|
||||
! Fill-in >= 0
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_fact_thrs_),&
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_sub_iluthrs_),&
|
||||
& a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
|
||||
end select
|
||||
if(info/=0) then
|
||||
|
||||
@@ -106,7 +106,7 @@ subroutine mld_cmlprec_bld(a,desc_a,p,info)
|
||||
case(mld_ilu_n_,mld_milu_n_)
|
||||
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
|
||||
case(mld_ilu_t_)
|
||||
call mld_check_def(p%rprcparm(mld_fact_thrs_),'Eps',szero,is_legal_s_fact_thrs)
|
||||
call mld_check_def(p%rprcparm(mld_sub_iluthrs_),'Eps',szero,is_legal_s_fact_thrs)
|
||||
end select
|
||||
call mld_check_def(p%rprcparm(mld_aggr_damp_),'Omega',szero,is_legal_s_omega)
|
||||
call mld_check_def(p%rprcparm(mld_aggr_thresh_),'Aggr_Thresh',szero,is_legal_s_aggr_thrs)
|
||||
|
||||
@@ -458,7 +458,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
|
||||
! Rules for fine level are slightly different.
|
||||
!
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -467,7 +467,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
|
||||
|
||||
else if (ilev_ > 1) then
|
||||
select case(what)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_fact_thrs_)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -481,7 +481,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
|
||||
!
|
||||
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
do ilev_=1,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
@@ -490,14 +490,14 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
end do
|
||||
case(mld_coarse_fthrs_)
|
||||
case(mld_coarse_iluthrs_)
|
||||
ilev_=nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
info = -1
|
||||
return
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val
|
||||
p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
|
||||
case(mld_aggr_damp_)
|
||||
do ilev_=2,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
|
||||
@@ -201,7 +201,7 @@ subroutine mld_dilu_bld(a,p,upd,info,blck)
|
||||
|
||||
case(0:)
|
||||
! Fill-in >= 0
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_fact_thrs_),&
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_sub_iluthrs_),&
|
||||
& a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
|
||||
end select
|
||||
if(info/=0) then
|
||||
|
||||
@@ -106,7 +106,7 @@ subroutine mld_dmlprec_bld(a,desc_a,p,info)
|
||||
case(mld_ilu_n_,mld_milu_n_)
|
||||
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
|
||||
case(mld_ilu_t_)
|
||||
call mld_check_def(p%rprcparm(mld_fact_thrs_),'Eps',dzero,is_legal_fact_thrs)
|
||||
call mld_check_def(p%rprcparm(mld_sub_iluthrs_),'Eps',dzero,is_legal_fact_thrs)
|
||||
end select
|
||||
call mld_check_def(p%rprcparm(mld_aggr_damp_),'Omega',dzero,is_legal_omega)
|
||||
call mld_check_def(p%rprcparm(mld_aggr_thresh_),'Aggr_Thresh',dzero,is_legal_aggr_thrs)
|
||||
|
||||
@@ -457,7 +457,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
|
||||
! Rules for fine level are slightly different.
|
||||
!
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -466,7 +466,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
|
||||
|
||||
else if (ilev_ > 1) then
|
||||
select case(what)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_fact_thrs_)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -480,7 +480,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
|
||||
!
|
||||
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
do ilev_=1,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
@@ -489,14 +489,14 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
end do
|
||||
case(mld_coarse_fthrs_)
|
||||
case(mld_coarse_iluthrs_)
|
||||
ilev_=nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
info = -1
|
||||
return
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val
|
||||
p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
|
||||
case(mld_aggr_damp_)
|
||||
do ilev_=2,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
|
||||
+14
-14
@@ -318,10 +318,10 @@ module mld_prec_type
|
||||
!
|
||||
! Entries in rprcparm: ILU(k,t) threshold, smoothed aggregation omega
|
||||
!
|
||||
integer, parameter :: mld_fact_thrs_ = 1
|
||||
integer, parameter :: mld_sub_iluthrs_ = 1
|
||||
integer, parameter :: mld_aggr_damp_ = 2
|
||||
integer, parameter :: mld_aggr_thresh_ = 3
|
||||
integer, parameter :: mld_coarse_fthrs_ = 4
|
||||
integer, parameter :: mld_coarse_iluthrs_ = 4
|
||||
integer, parameter :: mld_rfpsz_ = 8
|
||||
|
||||
!
|
||||
@@ -784,7 +784,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -797,7 +797,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -903,7 +903,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -989,7 +989,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1002,7 +1002,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1108,7 +1108,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1215,7 +1215,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1228,7 +1228,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1334,7 +1334,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1420,7 +1420,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1433,7 +1433,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
@@ -1539,7 +1539,7 @@ contains
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
case(mld_ilu_t_)
|
||||
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_fact_thrs_)
|
||||
write(iout_,*) ' Fill threshold :',p%baseprecv(ilev)%rprcparm(mld_sub_iluthrs_)
|
||||
case(mld_slu_,mld_umf_,mld_sludist_)
|
||||
case default
|
||||
write(iout_,*) ' Should never get here!'
|
||||
|
||||
@@ -201,7 +201,7 @@ subroutine mld_silu_bld(a,p,upd,info,blck)
|
||||
|
||||
case(0:)
|
||||
! Fill-in >= 0
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_fact_thrs_),&
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_sub_iluthrs_),&
|
||||
& a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
|
||||
end select
|
||||
if(info/=0) then
|
||||
|
||||
@@ -106,7 +106,7 @@ subroutine mld_smlprec_bld(a,desc_a,p,info)
|
||||
case(mld_ilu_n_,mld_milu_n_)
|
||||
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
|
||||
case(mld_ilu_t_)
|
||||
call mld_check_def(p%rprcparm(mld_fact_thrs_),'Eps',szero,is_legal_s_fact_thrs)
|
||||
call mld_check_def(p%rprcparm(mld_sub_iluthrs_),'Eps',szero,is_legal_s_fact_thrs)
|
||||
end select
|
||||
call mld_check_def(p%rprcparm(mld_aggr_damp_),'Omega',szero,is_legal_s_omega)
|
||||
call mld_check_def(p%rprcparm(mld_aggr_thresh_),'Aggr_Thresh',szero,is_legal_s_aggr_thrs)
|
||||
|
||||
@@ -457,7 +457,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
|
||||
! Rules for fine level are slightly different.
|
||||
!
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -466,7 +466,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
|
||||
|
||||
else if (ilev_ > 1) then
|
||||
select case(what)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_fact_thrs_)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -480,7 +480,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
|
||||
!
|
||||
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
do ilev_=1,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
@@ -489,14 +489,14 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
end do
|
||||
case(mld_coarse_fthrs_)
|
||||
case(mld_coarse_iluthrs_)
|
||||
ilev_=nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
info = -1
|
||||
return
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val
|
||||
p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
|
||||
case(mld_aggr_damp_)
|
||||
do ilev_=2,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
|
||||
@@ -201,7 +201,7 @@ subroutine mld_zilu_bld(a,p,upd,info,blck)
|
||||
|
||||
case(0:)
|
||||
! Fill-in >= 0
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_fact_thrs_),&
|
||||
call mld_ilut_fact(p%iprcparm(mld_sub_fillin_),p%rprcparm(mld_sub_iluthrs_),&
|
||||
& a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
|
||||
end select
|
||||
if(info/=0) then
|
||||
|
||||
@@ -106,7 +106,7 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info)
|
||||
case(mld_ilu_n_,mld_milu_n_)
|
||||
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
|
||||
case(mld_ilu_t_)
|
||||
call mld_check_def(p%rprcparm(mld_fact_thrs_),'Eps',dzero,is_legal_fact_thrs)
|
||||
call mld_check_def(p%rprcparm(mld_sub_iluthrs_),'Eps',dzero,is_legal_fact_thrs)
|
||||
end select
|
||||
call mld_check_def(p%rprcparm(mld_aggr_damp_),'Omega',dzero,is_legal_omega)
|
||||
call mld_check_def(p%rprcparm(mld_aggr_thresh_),'Aggr_Thresh',dzero,is_legal_aggr_thrs)
|
||||
|
||||
@@ -458,7 +458,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
|
||||
! Rules for fine level are slightly different.
|
||||
!
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -467,7 +467,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
|
||||
|
||||
else if (ilev_ > 1) then
|
||||
select case(what)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_fact_thrs_)
|
||||
case(mld_aggr_damp_,mld_aggr_thresh_,mld_sub_iluthrs_)
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
case default
|
||||
write(0,*) name,': Error: invalid WHAT'
|
||||
@@ -481,7 +481,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
|
||||
!
|
||||
|
||||
select case(what)
|
||||
case(mld_fact_thrs_)
|
||||
case(mld_sub_iluthrs_)
|
||||
do ilev_=1,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
@@ -490,14 +490,14 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(what) = val
|
||||
end do
|
||||
case(mld_coarse_fthrs_)
|
||||
case(mld_coarse_iluthrs_)
|
||||
ilev_=nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
|
||||
info = -1
|
||||
return
|
||||
endif
|
||||
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val
|
||||
p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
|
||||
case(mld_aggr_damp_)
|
||||
do ilev_=2,nlev_
|
||||
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
|
||||
|
||||
@@ -233,7 +233,7 @@ program cf_sample
|
||||
call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info)
|
||||
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info)
|
||||
call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info)
|
||||
call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info)
|
||||
call mld_precset(prec,mld_sub_iluthrs_, prec_choice%thr1, info)
|
||||
if (psb_toupper(prec_choice%prec) =='ML') then
|
||||
call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info)
|
||||
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info)
|
||||
@@ -244,7 +244,7 @@ program cf_sample
|
||||
call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info)
|
||||
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info)
|
||||
call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info)
|
||||
call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_iluthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info)
|
||||
|
||||
@@ -233,7 +233,7 @@ program df_sample
|
||||
call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info)
|
||||
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info)
|
||||
call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info)
|
||||
call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info)
|
||||
call mld_precset(prec,mld_sub_iluthrs_, prec_choice%thr1, info)
|
||||
if (psb_toupper(prec_choice%prec) =='ML') then
|
||||
call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info)
|
||||
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info)
|
||||
@@ -244,7 +244,7 @@ program df_sample
|
||||
call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info)
|
||||
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info)
|
||||
call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info)
|
||||
call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_iluthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info)
|
||||
|
||||
@@ -233,7 +233,7 @@ program sf_sample
|
||||
call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info)
|
||||
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info)
|
||||
call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info)
|
||||
call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info)
|
||||
call mld_precset(prec,mld_sub_iluthrs_, prec_choice%thr1, info)
|
||||
if (psb_toupper(prec_choice%prec) =='ML') then
|
||||
call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info)
|
||||
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info)
|
||||
@@ -244,7 +244,7 @@ program sf_sample
|
||||
call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info)
|
||||
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info)
|
||||
call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info)
|
||||
call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_iluthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info)
|
||||
|
||||
@@ -233,7 +233,7 @@ program zf_sample
|
||||
call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info)
|
||||
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info)
|
||||
call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info)
|
||||
call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info)
|
||||
call mld_precset(prec,mld_sub_iluthrs_, prec_choice%thr1, info)
|
||||
if (psb_toupper(prec_choice%prec) =='ML') then
|
||||
call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info)
|
||||
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info)
|
||||
@@ -244,7 +244,7 @@ program zf_sample
|
||||
call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info)
|
||||
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info)
|
||||
call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info)
|
||||
call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_iluthrs_, prec_choice%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info)
|
||||
|
||||
@@ -189,7 +189,7 @@ program ppde
|
||||
call mld_precset(prec,mld_sub_prol_,prectype%prol,info)
|
||||
call mld_precset(prec,mld_sub_solve_,prectype%solve,info)
|
||||
call mld_precset(prec,mld_sub_fillin_,prectype%fill1,info)
|
||||
call mld_precset(prec,mld_fact_thrs_,prectype%thr1,info)
|
||||
call mld_precset(prec,mld_sub_iluthrs_,prectype%thr1,info)
|
||||
if (psb_toupper(prectype%prec) =='ML') then
|
||||
call mld_precset(prec,mld_aggr_kind_, prectype%aggrkind,info)
|
||||
call mld_precset(prec,mld_aggr_alg_, prectype%aggr_alg,info)
|
||||
@@ -200,7 +200,7 @@ program ppde
|
||||
call mld_precset(prec,mld_coarse_subsolve_, prectype%csbsolve,info)
|
||||
call mld_precset(prec,mld_coarse_mat_, prectype%cmat, info)
|
||||
call mld_precset(prec,mld_coarse_fillin_, prectype%cfill, info)
|
||||
call mld_precset(prec,mld_coarse_fthrs_, prectype%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_iluthrs_, prectype%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_sweeps_, prectype%cjswp, info)
|
||||
if (prectype%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prectype%omega,info)
|
||||
|
||||
@@ -189,7 +189,7 @@ program spde
|
||||
call mld_precset(prec,mld_sub_prol_,prectype%prol,info)
|
||||
call mld_precset(prec,mld_sub_solve_,prectype%solve,info)
|
||||
call mld_precset(prec,mld_sub_fillin_,prectype%fill1,info)
|
||||
call mld_precset(prec,mld_fact_thrs_,prectype%thr1,info)
|
||||
call mld_precset(prec,mld_sub_iluthrs_,prectype%thr1,info)
|
||||
if (psb_toupper(prectype%prec) =='ML') then
|
||||
call mld_precset(prec,mld_aggr_kind_, prectype%aggrkind,info)
|
||||
call mld_precset(prec,mld_aggr_alg_, prectype%aggr_alg,info)
|
||||
@@ -200,7 +200,7 @@ program spde
|
||||
call mld_precset(prec,mld_coarse_subsolve_, prectype%csbsolve,info)
|
||||
call mld_precset(prec,mld_coarse_mat_, prectype%cmat, info)
|
||||
call mld_precset(prec,mld_coarse_fillin_, prectype%cfill, info)
|
||||
call mld_precset(prec,mld_coarse_fthrs_, prectype%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_iluthrs_, prectype%cthres, info)
|
||||
call mld_precset(prec,mld_coarse_sweeps_, prectype%cjswp, info)
|
||||
if (prectype%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prectype%omega,info)
|
||||
|
||||
Reference in New Issue
Block a user