mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-20 12:52:16 +00:00
Renamed tent_prol to smooth_prol_.
This commit is contained in:
@@ -72,7 +72,7 @@ subroutine mld_daggrmat_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
end if
|
||||
if (aggr_dump) call psb_csprt(90+me,ac,head='% Raw aggregate.')
|
||||
|
||||
case(tent_prol_,biz_prol_)
|
||||
case(smooth_prol_,biz_prol_)
|
||||
if (aggr_dump) call psb_csprt(70+me,a,head='% Input matrix')
|
||||
call mld_aggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
naggrm1 = sum(p%nlaggr(1:me))
|
||||
naggrp1 = sum(p%nlaggr(1:me+1))
|
||||
|
||||
ml_global_nmb = ( (p%iprcparm(aggr_kind_) == tent_prol_).or.&
|
||||
ml_global_nmb = ( (p%iprcparm(aggr_kind_) == smooth_prol_).or.&
|
||||
& ( (p%iprcparm(aggr_kind_) == biz_prol_).and.&
|
||||
& (p%iprcparm(coarse_mat_) == repl_mat_)) )
|
||||
|
||||
@@ -369,7 +369,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
call psb_numbmm(a,am1,am3)
|
||||
if (debug) write(0,*) me,'Done NUMBMM 2'
|
||||
|
||||
if (p%iprcparm(aggr_kind_) == tent_prol_) then
|
||||
if (p%iprcparm(aggr_kind_) == smooth_prol_) then
|
||||
call psb_transp(am1,am2,fmt='COO')
|
||||
nzl = am2%infoa(psb_nnz_)
|
||||
i=0
|
||||
@@ -397,7 +397,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
endif
|
||||
if (debug) write(0,*) me,'starting sphalo/ rwxtd'
|
||||
|
||||
if (p%iprcparm(aggr_kind_) == tent_prol_) then
|
||||
if (p%iprcparm(aggr_kind_) == smooth_prol_) then
|
||||
! am2 = ((i-wDA)Ptilde)^T
|
||||
call psb_sphalo(am3,desc_a,am4,info,clcnv=.false.)
|
||||
|
||||
@@ -454,7 +454,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
|
||||
select case(p%iprcparm(aggr_kind_))
|
||||
|
||||
case(tent_prol_)
|
||||
case(smooth_prol_)
|
||||
|
||||
select case(p%iprcparm(coarse_mat_))
|
||||
|
||||
|
||||
@@ -393,7 +393,7 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
n_row = psb_cd_get_local_rows(baseprecv(ilev)%base_desc)
|
||||
|
||||
if (ismth /= no_smooth_) then
|
||||
if (ismth == tent_prol_) &
|
||||
if (ismth == smooth_prol_) &
|
||||
& call psb_halo(mlprec_wrk(ilev+1)%y2l,baseprecv(ilev+1)%desc_data,&
|
||||
& info,work=work)
|
||||
call psb_csmm(done,baseprecv(ilev+1)%av(sm_pr_),mlprec_wrk(ilev+1)%y2l,&
|
||||
@@ -548,7 +548,7 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
|
||||
if (ismth /= no_smooth_) then
|
||||
|
||||
if (ismth == tent_prol_) &
|
||||
if (ismth == smooth_prol_) &
|
||||
& call psb_halo(mlprec_wrk(ilev+1)%y2l,&
|
||||
& baseprecv(ilev+1)%desc_data,info,work=work)
|
||||
call psb_csmm(done,baseprecv(ilev+1)%av(sm_pr_),mlprec_wrk(ilev+1)%y2l,&
|
||||
@@ -708,7 +708,7 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
n_row = psb_cd_get_local_rows(baseprecv(ilev)%base_desc)
|
||||
|
||||
if (ismth /= no_smooth_) then
|
||||
if (ismth == tent_prol_) &
|
||||
if (ismth == smooth_prol_) &
|
||||
& call psb_halo(mlprec_wrk(ilev+1)%y2l,baseprecv(ilev+1)%desc_data,&
|
||||
& info,work=work)
|
||||
call psb_csmm(done,baseprecv(ilev+1)%av(sm_pr_),mlprec_wrk(ilev+1)%y2l,&
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ subroutine mld_dmlprec_bld(a,desc_a,p,info)
|
||||
call mld_check_def(p%iprcparm(aggr_alg_),'aggregation',&
|
||||
& dec_aggr_,is_legal_ml_aggr_kind)
|
||||
call mld_check_def(p%iprcparm(aggr_kind_),'Smoother kind',&
|
||||
& tent_prol_,is_legal_ml_smth_kind)
|
||||
& smooth_prol_,is_legal_ml_smth_kind)
|
||||
call mld_check_def(p%iprcparm(coarse_mat_),'Coarse matrix',&
|
||||
& distr_mat_,is_legal_ml_coarse_mat)
|
||||
call mld_check_def(p%iprcparm(smooth_pos_),'smooth_pos',&
|
||||
|
||||
+2
-2
@@ -162,7 +162,7 @@ subroutine mld_dprecinit(p,ptype,info,nlev)
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(ml_type_) = mult_ml
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_alg_) = dec_aggr_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = tent_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = smooth_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(coarse_mat_) = distr_mat_
|
||||
p%baseprecv(ilev_)%iprcparm(smooth_pos_) = post_smooth_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_eig_) = max_norm_
|
||||
@@ -183,7 +183,7 @@ subroutine mld_dprecinit(p,ptype,info,nlev)
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(ml_type_) = mult_ml
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_alg_) = dec_aggr_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = tent_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = smooth_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(coarse_mat_) = distr_mat_
|
||||
p%baseprecv(ilev_)%iprcparm(smooth_pos_) = post_smooth_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_eig_) = max_norm_
|
||||
|
||||
+1
-1
@@ -174,7 +174,7 @@ module mld_prec_type
|
||||
integer, parameter :: glb_aggr_=2, new_dec_aggr_=3
|
||||
integer, parameter :: new_glb_aggr_=4, max_aggr_=new_glb_aggr_
|
||||
! Legal values for entry: aggr_kind_
|
||||
integer, parameter :: no_smooth_=0, tent_prol_=1, biz_prol_=2
|
||||
integer, parameter :: no_smooth_=0, smooth_prol_=1, biz_prol_=2
|
||||
! Legal values for entry: aggr_eig_
|
||||
integer, parameter :: max_norm_=0, user_choice_=999
|
||||
! Legal values for entry: coarse_mat_
|
||||
|
||||
@@ -72,7 +72,7 @@ subroutine mld_zaggrmat_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
end if
|
||||
if (aggr_dump) call psb_csprt(90+me,ac,head='% Raw aggregate.')
|
||||
|
||||
case(tent_prol_,biz_prol_)
|
||||
case(smooth_prol_,biz_prol_)
|
||||
if (aggr_dump) call psb_csprt(70+me,a,head='% Input matrix')
|
||||
call mld_aggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
naggrm1 = sum(p%nlaggr(1:me))
|
||||
naggrp1 = sum(p%nlaggr(1:me+1))
|
||||
|
||||
ml_global_nmb = ( (p%iprcparm(aggr_kind_) == tent_prol_).or.&
|
||||
ml_global_nmb = ( (p%iprcparm(aggr_kind_) == smooth_prol_).or.&
|
||||
& ( (p%iprcparm(aggr_kind_) == biz_prol_).and.&
|
||||
& (p%iprcparm(coarse_mat_) == repl_mat_)) )
|
||||
|
||||
@@ -369,7 +369,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
call psb_numbmm(a,am1,am3)
|
||||
if (debug) write(0,*) me,'Done NUMBMM 2'
|
||||
|
||||
if (p%iprcparm(aggr_kind_) == tent_prol_) then
|
||||
if (p%iprcparm(aggr_kind_) == smooth_prol_) then
|
||||
call psb_transp(am1,am2,fmt='COO')
|
||||
nzl = am2%infoa(psb_nnz_)
|
||||
i=0
|
||||
@@ -397,7 +397,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
endif
|
||||
if (debug) write(0,*) me,'starting sphalo/ rwxtd'
|
||||
|
||||
if (p%iprcparm(aggr_kind_) == tent_prol_) then
|
||||
if (p%iprcparm(aggr_kind_) == smooth_prol_) then
|
||||
! am2 = ((i-wDA)Ptilde)^T
|
||||
call psb_sphalo(am3,desc_a,am4,info,clcnv=.false.)
|
||||
|
||||
@@ -454,7 +454,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ac,desc_ac,p,info)
|
||||
|
||||
select case(p%iprcparm(aggr_kind_))
|
||||
|
||||
case(tent_prol_)
|
||||
case(smooth_prol_)
|
||||
|
||||
select case(p%iprcparm(coarse_mat_))
|
||||
|
||||
|
||||
@@ -387,7 +387,7 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
n_row = psb_cd_get_local_rows(baseprecv(ilev)%base_desc)
|
||||
|
||||
if (ismth /= no_smooth_) then
|
||||
if (ismth == tent_prol_) &
|
||||
if (ismth == smooth_prol_) &
|
||||
& call psb_halo(mlprec_wrk(ilev+1)%y2l,baseprecv(ilev+1)%desc_data,&
|
||||
& info,work=work)
|
||||
call psb_csmm(zone,baseprecv(ilev+1)%av(sm_pr_),mlprec_wrk(ilev+1)%y2l,&
|
||||
@@ -542,7 +542,7 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
|
||||
if (ismth /= no_smooth_) then
|
||||
|
||||
if (ismth == tent_prol_) &
|
||||
if (ismth == smooth_prol_) &
|
||||
& call psb_halo(mlprec_wrk(ilev+1)%y2l,&
|
||||
& baseprecv(ilev+1)%desc_data,info,work=work)
|
||||
call psb_csmm(zone,baseprecv(ilev+1)%av(sm_pr_),mlprec_wrk(ilev+1)%y2l,&
|
||||
@@ -702,7 +702,7 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
n_row = psb_cd_get_local_rows(baseprecv(ilev)%base_desc)
|
||||
|
||||
if (ismth /= no_smooth_) then
|
||||
if (ismth == tent_prol_) &
|
||||
if (ismth == smooth_prol_) &
|
||||
& call psb_halo(mlprec_wrk(ilev+1)%y2l,baseprecv(ilev+1)%desc_data,&
|
||||
& info,work=work)
|
||||
call psb_csmm(zone,baseprecv(ilev+1)%av(sm_pr_),mlprec_wrk(ilev+1)%y2l,&
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info)
|
||||
call mld_check_def(p%iprcparm(aggr_alg_),'aggregation',&
|
||||
& dec_aggr_,is_legal_ml_aggr_kind)
|
||||
call mld_check_def(p%iprcparm(aggr_kind_),'Smoother kind',&
|
||||
& tent_prol_,is_legal_ml_smth_kind)
|
||||
& smooth_prol_,is_legal_ml_smth_kind)
|
||||
call mld_check_def(p%iprcparm(coarse_mat_),'Coarse matrix',&
|
||||
& distr_mat_,is_legal_ml_coarse_mat)
|
||||
call mld_check_def(p%iprcparm(smooth_pos_),'smooth_pos',&
|
||||
|
||||
+2
-2
@@ -158,7 +158,7 @@ subroutine mld_zprecinit(p,ptype,info,nlev)
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(ml_type_) = mult_ml
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_alg_) = dec_aggr_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = tent_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = smooth_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(coarse_mat_) = distr_mat_
|
||||
p%baseprecv(ilev_)%iprcparm(smooth_pos_) = post_smooth_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_eig_) = max_norm_
|
||||
@@ -178,7 +178,7 @@ subroutine mld_zprecinit(p,ptype,info,nlev)
|
||||
p%baseprecv(ilev_)%iprcparm(n_ovr_) = 0
|
||||
p%baseprecv(ilev_)%iprcparm(ml_type_) = mult_ml
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_alg_) = dec_aggr_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = tent_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_kind_) = smooth_prol_
|
||||
p%baseprecv(ilev_)%iprcparm(coarse_mat_) = distr_mat_
|
||||
p%baseprecv(ilev_)%iprcparm(smooth_pos_) = post_smooth_
|
||||
p%baseprecv(ilev_)%iprcparm(aggr_eig_) = max_norm_
|
||||
|
||||
Reference in New Issue
Block a user