|
|
|
@ -501,6 +501,10 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (debug_level >= psb_debug_outer_) &
|
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
|
|
& ' coarse matrix construction'
|
|
|
|
|
|
|
|
|
|
select case(p%iprcparm(mld_aggr_kind_))
|
|
|
|
|
|
|
|
|
|
case(mld_smooth_prol_)
|
|
|
|
@ -509,6 +513,9 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
|
|
|
|
|
|
case(mld_distr_mat_)
|
|
|
|
|
|
|
|
|
|
if (debug_level >= psb_debug_outer_) &
|
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
|
|
& ' distributed coarse matrix'
|
|
|
|
|
nzac = b%get_nzeros()
|
|
|
|
|
nzl = nzac
|
|
|
|
|
call b%mv_to(bcoo)
|
|
|
|
@ -570,9 +577,13 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
|
|
|
|
|
|
|
|
|
|
case(mld_repl_mat_)
|
|
|
|
|
!
|
|
|
|
|
if (debug_level >= psb_debug_outer_) &
|
|
|
|
|
& write(debug_unit,*) me,' ',trim(name),&
|
|
|
|
|
& ' replicated coarse matrix'
|
|
|
|
|
!
|
|
|
|
|
call psb_cdall(ictxt,p%desc_ac,info,mg=ntaggr,repl=.true.)
|
|
|
|
|
if (info == psb_success_) call psb_cdasb(p%desc_ac,info)
|
|
|
|
|
|
|
|
|
|
if (info == psb_success_) &
|
|
|
|
|
& call psb_gather(p%ac,b,p%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.)
|
|
|
|
|
|
|
|
|
|