diff --git a/mlprec/mld_cprecbld.f90 b/mlprec/mld_cprecbld.f90 index 65b1cf6c..295e06ec 100644 --- a/mlprec/mld_cprecbld.f90 +++ b/mlprec/mld_cprecbld.f90 @@ -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) diff --git a/mlprec/mld_dprecbld.f90 b/mlprec/mld_dprecbld.f90 index 4aec5fe9..4de2e0a8 100644 --- a/mlprec/mld_dprecbld.f90 +++ b/mlprec/mld_dprecbld.f90 @@ -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) diff --git a/mlprec/mld_prec_type.f90 b/mlprec/mld_prec_type.f90 index a9bc36e5..84fa6fe7 100644 --- a/mlprec/mld_prec_type.f90 +++ b/mlprec/mld_prec_type.f90 @@ -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: ', & diff --git a/mlprec/mld_sprecbld.f90 b/mlprec/mld_sprecbld.f90 index fc9de25e..24ca0c10 100644 --- a/mlprec/mld_sprecbld.f90 +++ b/mlprec/mld_sprecbld.f90 @@ -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) diff --git a/mlprec/mld_zprecbld.f90 b/mlprec/mld_zprecbld.f90 index 9e927836..5d4d3e50 100644 --- a/mlprec/mld_zprecbld.f90 +++ b/mlprec/mld_zprecbld.f90 @@ -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)