Added warning for aggregation not working any more.
stopcriterion
Salvatore Filippone 16 years ago
parent 9c2012f121
commit 6ec04ec99e

@ -250,7 +250,17 @@ subroutine mld_cprecbld(a,desc_a,p,info)
& write(debug_unit,*) me,' ',trim(name),&
& 'Return from ',i,' call to mlprcbld ',info
end do
! Check on sizes from level 2 onwards
if (me==0) then
do i=3, iszv
if (all(p%baseprecv(i)%nlaggr == p%baseprecv(i-1)%nlaggr)) then
write(debug_unit,*) me,name,&
&': Warning: aggregates at levels ',&
&i-1, ' and ',i,' coincide.'
end if
end do
end if
endif
call psb_erractionrestore(err_act)

@ -250,7 +250,17 @@ subroutine mld_dprecbld(a,desc_a,p,info)
& write(debug_unit,*) me,' ',trim(name),&
& 'Return from ',i,' call to mlprcbld ',info
end do
! Check on sizes from level 2 onwards
if (me==0) then
do i=3, iszv
if (all(p%baseprecv(i)%nlaggr == p%baseprecv(i-1)%nlaggr)) then
write(debug_unit,*) me,name,&
&': Warning: aggregates at levels ',&
&i-1, ' and ',i,' coincide.'
end if
end do
end if
endif
call psb_erractionrestore(err_act)

@ -834,13 +834,15 @@ contains
write(iout,*) ' Sizes of aggregates: ', &
& nlaggr(:)
end if
if (iprcparm(mld_aggr_kind_) /= mld_no_smooth_) then
if (iprcparm(mld_aggr_omega_alg_) == mld_eig_est_) then
if (iprcparm(mld_aggr_kind_) /= mld_no_smooth_) then
if (iprcparm(mld_aggr_omega_alg_) == mld_eig_est_) then
write(iout,*) ' Algorithm for damping omega: eigenvalue estimate'
write(iout,*) ' Eigenvalue estimate computed with:', &
write(iout,*) ' Eigenvalue estimate: ', &
& eigen_estimates(iprcparm(mld_aggr_eig_))
else
else if (iprcparm(mld_aggr_omega_alg_) == mld_user_choice_) then
write(iout,*) ' Algorithm for damping omega: user defined value.'
else
write(iout,*) ' Algorithm for damping omega: unknown value in iprcparm!!'
end if
if (present(rprcparm)) then
@ -887,8 +889,10 @@ contains
write(iout,*) ' Algorithm for damping omega: eigenvalue estimate'
write(iout,*) ' Eigenvalue estimate: ', &
& eigen_estimates(iprcparm(mld_aggr_eig_))
else
else if (iprcparm(mld_aggr_omega_alg_) == mld_user_choice_) then
write(iout,*) ' Algorithm for damping omega: user defined value.'
else
write(iout,*) ' Algorithm for damping omega: unknown value in iprcparm!!'
end if
if (present(rprcparm)) then
write(iout,*) ' Damping omega: ', &

@ -250,7 +250,17 @@ subroutine mld_sprecbld(a,desc_a,p,info)
& write(debug_unit,*) me,' ',trim(name),&
& 'Return from ',i,' call to mlprcbld ',info
end do
! Check on sizes from level 2 onwards
if (me==0) then
do i=3, iszv
if (all(p%baseprecv(i)%nlaggr == p%baseprecv(i-1)%nlaggr)) then
write(debug_unit,*) me,name,&
&': Warning: aggregates at levels ',&
&i-1, ' and ',i,' coincide.'
end if
end do
end if
endif
call psb_erractionrestore(err_act)

@ -250,7 +250,17 @@ subroutine mld_zprecbld(a,desc_a,p,info)
& write(debug_unit,*) me,' ',trim(name),&
& 'Return from ',i,' call to mlprcbld ',info
end do
! Check on sizes from level 2 onwards
if (me==0) then
do i=3, iszv
if (all(p%baseprecv(i)%nlaggr == p%baseprecv(i-1)%nlaggr)) then
write(debug_unit,*) me,name,&
&': Warning: aggregates at levels ',&
&i-1, ' and ',i,' coincide.'
end if
end do
end if
endif
call psb_erractionrestore(err_act)

Loading…
Cancel
Save