diff --git a/amgprec/impl/amg_c_hierarchy_bld.f90 b/amgprec/impl/amg_c_hierarchy_bld.f90 index 59976527..d6dd8f4d 100644 --- a/amgprec/impl/amg_c_hierarchy_bld.f90 +++ b/amgprec/impl/amg_c_hierarchy_bld.f90 @@ -199,8 +199,10 @@ subroutine amg_c_hierarchy_bld(a,desc_a,prec,info) ! coarse size is hit, or the gain falls below the min_cr_ratio ! threshold. ! - if ((mncszpp < 0).and.(mncsize<0)) mncszpp = 200 - + if ((mncszpp < 0).and.(mncsize<0)) then + mncszpp = 200 + prec%ag_data%min_coarse_size_per_process = mncszpp + end if if (mncszpp > 0) then casize = mncszpp*np if (casize > huge(ione)) casize = huge(ione) diff --git a/amgprec/impl/amg_d_hierarchy_bld.f90 b/amgprec/impl/amg_d_hierarchy_bld.f90 index dda327a0..243fd731 100644 --- a/amgprec/impl/amg_d_hierarchy_bld.f90 +++ b/amgprec/impl/amg_d_hierarchy_bld.f90 @@ -199,8 +199,10 @@ subroutine amg_d_hierarchy_bld(a,desc_a,prec,info) ! coarse size is hit, or the gain falls below the min_cr_ratio ! threshold. ! - if ((mncszpp < 0).and.(mncsize<0)) mncszpp = 200 - + if ((mncszpp < 0).and.(mncsize<0)) then + mncszpp = 200 + prec%ag_data%min_coarse_size_per_process = mncszpp + end if if (mncszpp > 0) then casize = mncszpp*np if (casize > huge(ione)) casize = huge(ione) diff --git a/amgprec/impl/amg_s_hierarchy_bld.f90 b/amgprec/impl/amg_s_hierarchy_bld.f90 index 0a639c62..21553f62 100644 --- a/amgprec/impl/amg_s_hierarchy_bld.f90 +++ b/amgprec/impl/amg_s_hierarchy_bld.f90 @@ -199,8 +199,10 @@ subroutine amg_s_hierarchy_bld(a,desc_a,prec,info) ! coarse size is hit, or the gain falls below the min_cr_ratio ! threshold. ! - if ((mncszpp < 0).and.(mncsize<0)) mncszpp = 200 - + if ((mncszpp < 0).and.(mncsize<0)) then + mncszpp = 200 + prec%ag_data%min_coarse_size_per_process = mncszpp + end if if (mncszpp > 0) then casize = mncszpp*np if (casize > huge(ione)) casize = huge(ione) diff --git a/amgprec/impl/amg_z_hierarchy_bld.f90 b/amgprec/impl/amg_z_hierarchy_bld.f90 index dacbc946..809e67b0 100644 --- a/amgprec/impl/amg_z_hierarchy_bld.f90 +++ b/amgprec/impl/amg_z_hierarchy_bld.f90 @@ -199,8 +199,10 @@ subroutine amg_z_hierarchy_bld(a,desc_a,prec,info) ! coarse size is hit, or the gain falls below the min_cr_ratio ! threshold. ! - if ((mncszpp < 0).and.(mncsize<0)) mncszpp = 200 - + if ((mncszpp < 0).and.(mncsize<0)) then + mncszpp = 200 + prec%ag_data%min_coarse_size_per_process = mncszpp + end if if (mncszpp > 0) then casize = mncszpp*np if (casize > huge(ione)) casize = huge(ione)