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
stopcriterion
Salvatore Filippone 17 years ago
parent fc0b2cfbbe
commit 7c0cdfe809

@ -201,7 +201,7 @@ subroutine mld_cilu_bld(a,p,upd,info,blck)
case(0:) case(0:)
! Fill-in >= 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) & a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
end select end select
if(info/=0) then if(info/=0) then

@ -106,7 +106,7 @@ subroutine mld_cmlprec_bld(a,desc_a,p,info)
case(mld_ilu_n_,mld_milu_n_) case(mld_ilu_n_,mld_milu_n_)
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev) call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
case(mld_ilu_t_) 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 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_damp_),'Omega',szero,is_legal_s_omega)
call mld_check_def(p%rprcparm(mld_aggr_thresh_),'Aggr_Thresh',szero,is_legal_s_aggr_thrs) 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. ! Rules for fine level are slightly different.
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -467,7 +467,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
else if (ilev_ > 1) then else if (ilev_ > 1) then
select case(what) 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 p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -481,7 +481,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
do ilev_=1,nlev_ do ilev_=1,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
@ -490,14 +490,14 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
endif endif
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
end do end do
case(mld_coarse_fthrs_) case(mld_coarse_iluthrs_)
ilev_=nlev_ ilev_=nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
info = -1 info = -1
return return
endif endif
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
case(mld_aggr_damp_) case(mld_aggr_damp_)
do ilev_=2,nlev_ do ilev_=2,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then

@ -201,7 +201,7 @@ subroutine mld_dilu_bld(a,p,upd,info,blck)
case(0:) case(0:)
! Fill-in >= 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) & a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
end select end select
if(info/=0) then if(info/=0) then

@ -106,7 +106,7 @@ subroutine mld_dmlprec_bld(a,desc_a,p,info)
case(mld_ilu_n_,mld_milu_n_) case(mld_ilu_n_,mld_milu_n_)
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev) call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
case(mld_ilu_t_) 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 end select
call mld_check_def(p%rprcparm(mld_aggr_damp_),'Omega',dzero,is_legal_omega) 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) 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. ! Rules for fine level are slightly different.
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -466,7 +466,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
else if (ilev_ > 1) then else if (ilev_ > 1) then
select case(what) 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 p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -480,7 +480,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
do ilev_=1,nlev_ do ilev_=1,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
@ -489,14 +489,14 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
endif endif
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
end do end do
case(mld_coarse_fthrs_) case(mld_coarse_iluthrs_)
ilev_=nlev_ ilev_=nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
info = -1 info = -1
return return
endif endif
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
case(mld_aggr_damp_) case(mld_aggr_damp_)
do ilev_=2,nlev_ do ilev_=2,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then

@ -318,10 +318,10 @@ module mld_prec_type
! !
! Entries in rprcparm: ILU(k,t) threshold, smoothed aggregation omega ! 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_damp_ = 2
integer, parameter :: mld_aggr_thresh_ = 3 integer, parameter :: mld_aggr_thresh_ = 3
integer, parameter :: mld_coarse_fthrs_ = 4 integer, parameter :: mld_coarse_iluthrs_ = 4
integer, parameter :: mld_rfpsz_ = 8 integer, parameter :: mld_rfpsz_ = 8
! !
@ -784,7 +784,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -797,7 +797,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -903,7 +903,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -989,7 +989,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1002,7 +1002,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1108,7 +1108,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1215,7 +1215,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1228,7 +1228,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1334,7 +1334,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1420,7 +1420,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1433,7 +1433,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'
@ -1539,7 +1539,7 @@ contains
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_)
case(mld_ilu_t_) case(mld_ilu_t_)
write(iout_,*) ' Fill level:',p%baseprecv(ilev)%iprcparm(mld_sub_fillin_) 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(mld_slu_,mld_umf_,mld_sludist_)
case default case default
write(iout_,*) ' Should never get here!' write(iout_,*) ' Should never get here!'

@ -201,7 +201,7 @@ subroutine mld_silu_bld(a,p,upd,info,blck)
case(0:) case(0:)
! Fill-in >= 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) & a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
end select end select
if(info/=0) then if(info/=0) then

@ -106,7 +106,7 @@ subroutine mld_smlprec_bld(a,desc_a,p,info)
case(mld_ilu_n_,mld_milu_n_) case(mld_ilu_n_,mld_milu_n_)
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev) call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
case(mld_ilu_t_) 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 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_damp_),'Omega',szero,is_legal_s_omega)
call mld_check_def(p%rprcparm(mld_aggr_thresh_),'Aggr_Thresh',szero,is_legal_s_aggr_thrs) 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. ! Rules for fine level are slightly different.
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -466,7 +466,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
else if (ilev_ > 1) then else if (ilev_ > 1) then
select case(what) 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 p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -480,7 +480,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
do ilev_=1,nlev_ do ilev_=1,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
@ -489,14 +489,14 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
endif endif
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
end do end do
case(mld_coarse_fthrs_) case(mld_coarse_iluthrs_)
ilev_=nlev_ ilev_=nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
info = -1 info = -1
return return
endif endif
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
case(mld_aggr_damp_) case(mld_aggr_damp_)
do ilev_=2,nlev_ do ilev_=2,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then

@ -201,7 +201,7 @@ subroutine mld_zilu_bld(a,p,upd,info,blck)
case(0:) case(0:)
! Fill-in >= 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) & a, p%av(mld_l_pr_),p%av(mld_u_pr_),p%d,info,blck=blck)
end select end select
if(info/=0) then if(info/=0) then

@ -106,7 +106,7 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info)
case(mld_ilu_n_,mld_milu_n_) case(mld_ilu_n_,mld_milu_n_)
call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev) call mld_check_def(p%iprcparm(mld_sub_fillin_),'Level',0,is_legal_ml_lev)
case(mld_ilu_t_) 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 end select
call mld_check_def(p%rprcparm(mld_aggr_damp_),'Omega',dzero,is_legal_omega) 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) 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. ! Rules for fine level are slightly different.
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -467,7 +467,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
else if (ilev_ > 1) then else if (ilev_ > 1) then
select case(what) 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 p%baseprecv(ilev_)%rprcparm(what) = val
case default case default
write(0,*) name,': Error: invalid WHAT' write(0,*) name,': Error: invalid WHAT'
@ -481,7 +481,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
! !
select case(what) select case(what)
case(mld_fact_thrs_) case(mld_sub_iluthrs_)
do ilev_=1,nlev_ do ilev_=1,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
@ -490,14 +490,14 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
endif endif
p%baseprecv(ilev_)%rprcparm(what) = val p%baseprecv(ilev_)%rprcparm(what) = val
end do end do
case(mld_coarse_fthrs_) case(mld_coarse_iluthrs_)
ilev_=nlev_ ilev_=nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then
write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT' write(0,*) name,': Error: uninitialized preconditioner component, should call MLD_PRECINIT'
info = -1 info = -1
return return
endif endif
p%baseprecv(ilev_)%rprcparm(mld_fact_thrs_) = val p%baseprecv(ilev_)%rprcparm(mld_sub_iluthrs_) = val
case(mld_aggr_damp_) case(mld_aggr_damp_)
do ilev_=2,nlev_ do ilev_=2,nlev_
if (.not.allocated(p%baseprecv(ilev_)%rprcparm)) then 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_prol_, prec_choice%prol, info)
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,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_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 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_kind_, prec_choice%aggrkind,info)
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,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_subsolve_, prec_choice%csbsolve,info)
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, 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_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) call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
if (prec_choice%omega>=0.0) then if (prec_choice%omega>=0.0) then
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) 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_prol_, prec_choice%prol, info)
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,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_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 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_kind_, prec_choice%aggrkind,info)
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,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_subsolve_, prec_choice%csbsolve,info)
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, 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_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) call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
if (prec_choice%omega>=0.0) then if (prec_choice%omega>=0.0) then
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) 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_prol_, prec_choice%prol, info)
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,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_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 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_kind_, prec_choice%aggrkind,info)
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,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_subsolve_, prec_choice%csbsolve,info)
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, 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_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) call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
if (prec_choice%omega>=0.0) then if (prec_choice%omega>=0.0) then
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) 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_prol_, prec_choice%prol, info)
call mld_precset(prec,mld_sub_solve_, prec_choice%solve,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_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 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_kind_, prec_choice%aggrkind,info)
call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,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_subsolve_, prec_choice%csbsolve,info)
call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, 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_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) call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info)
if (prec_choice%omega>=0.0) then if (prec_choice%omega>=0.0) then
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) 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_prol_,prectype%prol,info)
call mld_precset(prec,mld_sub_solve_,prectype%solve,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_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 if (psb_toupper(prectype%prec) =='ML') then
call mld_precset(prec,mld_aggr_kind_, prectype%aggrkind,info) call mld_precset(prec,mld_aggr_kind_, prectype%aggrkind,info)
call mld_precset(prec,mld_aggr_alg_, prectype%aggr_alg,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_subsolve_, prectype%csbsolve,info)
call mld_precset(prec,mld_coarse_mat_, prectype%cmat, 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_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) call mld_precset(prec,mld_coarse_sweeps_, prectype%cjswp, info)
if (prectype%omega>=0.0) then if (prectype%omega>=0.0) then
call mld_precset(prec,mld_aggr_damp_,prectype%omega,info) 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_prol_,prectype%prol,info)
call mld_precset(prec,mld_sub_solve_,prectype%solve,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_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 if (psb_toupper(prectype%prec) =='ML') then
call mld_precset(prec,mld_aggr_kind_, prectype%aggrkind,info) call mld_precset(prec,mld_aggr_kind_, prectype%aggrkind,info)
call mld_precset(prec,mld_aggr_alg_, prectype%aggr_alg,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_subsolve_, prectype%csbsolve,info)
call mld_precset(prec,mld_coarse_mat_, prectype%cmat, 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_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) call mld_precset(prec,mld_coarse_sweeps_, prectype%cjswp, info)
if (prectype%omega>=0.0) then if (prectype%omega>=0.0) then
call mld_precset(prec,mld_aggr_damp_,prectype%omega,info) call mld_precset(prec,mld_aggr_damp_,prectype%omega,info)

Loading…
Cancel
Save