diff --git a/mlprec/Makefile b/mlprec/Makefile index f683e3e4..134d26e7 100644 --- a/mlprec/Makefile +++ b/mlprec/Makefile @@ -99,20 +99,20 @@ mld_c_onelev_mod.o: mld_c_base_smoother_mod.o mld_c_dec_aggregator_mod.o mld_z_onelev_mod.o: mld_z_base_smoother_mod.o mld_z_dec_aggregator_mod.o mld_s_base_aggregator_mod.o: mld_base_prec_type.o -mld_s_hybrid_aggregator_mod.o mld_s_dec_aggregator_mod.o: mld_s_base_aggregator_mod.o -mld_s_symdec_aggregator_mod.o: mld_s_dec_aggregator_mod.o +mld_s_dec_aggregator_mod.o: mld_s_base_aggregator_mod.o +mld_s_hybrid_aggregator_mod.o mld_s_symdec_aggregator_mod.o: mld_s_dec_aggregator_mod.o mld_d_base_aggregator_mod.o: mld_base_prec_type.o -mld_d_hybrid_aggregator_mod.o mld_d_dec_aggregator_mod.o: mld_d_base_aggregator_mod.o -mld_d_symdec_aggregator_mod.o: mld_d_dec_aggregator_mod.o +mld_d_dec_aggregator_mod.o: mld_d_base_aggregator_mod.o +mld_d_hybrid_aggregator_mod.o mld_d_symdec_aggregator_mod.o: mld_d_dec_aggregator_mod.o mld_c_base_aggregator_mod.o: mld_base_prec_type.o -mld_c_hybrid_aggregator_mod.o mld_c_dec_aggregator_mod.o: mld_c_base_aggregator_mod.o -mld_c_symdec_aggregator_mod.o: mld_c_dec_aggregator_mod.o +mld_c_dec_aggregator_mod.o: mld_c_base_aggregator_mod.o +mld_c_hybrid_aggregator_mod.o mld_c_symdec_aggregator_mod.o: mld_c_dec_aggregator_mod.o mld_z_base_aggregator_mod.o: mld_base_prec_type.o -mld_z_hybrid_aggregator_mod.o mld_z_dec_aggregator_mod.o: mld_z_base_aggregator_mod.o -mld_z_symdec_aggregator_mod.o: mld_z_dec_aggregator_mod.o +mld_z_dec_aggregator_mod.o: mld_z_base_aggregator_mod.o +mld_z_hybrid_aggregator_mod.o mld_z_symdec_aggregator_mod.o: mld_z_dec_aggregator_mod.o mld_s_base_smoother_mod.o: mld_s_base_solver_mod.o mld_d_base_smoother_mod.o: mld_d_base_solver_mod.o diff --git a/mlprec/impl/level/mld_c_base_onelev_cseti.F90 b/mlprec/impl/level/mld_c_base_onelev_cseti.F90 index 48e98d7d..a2cf8bfc 100644 --- a/mlprec/impl/level/mld_c_base_onelev_cseti.F90 +++ b/mlprec/impl/level/mld_c_base_onelev_cseti.F90 @@ -200,8 +200,8 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos) allocate(mld_c_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_c_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_c_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_c_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_c_base_onelev_setag.f90 b/mlprec/impl/level/mld_c_base_onelev_setag.f90 index 8c7af8eb..25da1459 100644 --- a/mlprec/impl/level/mld_c_base_onelev_setag.f90 +++ b/mlprec/impl/level/mld_c_base_onelev_setag.f90 @@ -35,7 +35,7 @@ ! POSSIBILITY OF SUCH DAMAGE. ! ! -subroutine mld_c_base_onelev_setag(lev,val,info,pos) +subroutine mld_c_base_onelev_setag(lv,val,info,pos) use psb_base_mod use mld_c_onelev_mod, mld_protect_name => mld_c_base_onelev_setag @@ -43,7 +43,7 @@ subroutine mld_c_base_onelev_setag(lev,val,info,pos) implicit none ! Arguments - class(mld_c_onelev_type), target, intent(inout) :: lev + class(mld_c_onelev_type), target, intent(inout) :: lv class(mld_c_base_aggregator_type), intent(in) :: val integer(psb_ipk_), intent(out) :: info character(len=*), optional, intent(in) :: pos @@ -56,10 +56,10 @@ subroutine mld_c_base_onelev_setag(lev,val,info,pos) ! Ignore pos for aggregator - if (allocated(lev%aggr)) then - if (.not.same_type_as(lev%aggr,val)) then - call lev%aggr%free(info) - deallocate(lev%aggr,stat=info) + if (allocated(lv%aggr)) then + if (.not.same_type_as(lv%aggr,val)) then + call lv%aggr%free(info) + deallocate(lv%aggr,stat=info) if (info /= 0) then info = 3111 return @@ -67,14 +67,14 @@ subroutine mld_c_base_onelev_setag(lev,val,info,pos) end if end if - if (.not.allocated(lev%aggr)) then - allocate(lev%aggr,mold=val,stat=info) + if (.not.allocated(lv%aggr)) then + allocate(lv%aggr,mold=val,stat=info) if (info /= 0) then info = 3111 return end if lv%parms%par_aggr_alg = mld_ext_aggr_ - lv%parms%aggr_type = mld_ext_noalg_ + lv%parms%aggr_type = mld_noalg_ end if end subroutine mld_c_base_onelev_setag diff --git a/mlprec/impl/level/mld_c_base_onelev_seti.F90 b/mlprec/impl/level/mld_c_base_onelev_seti.F90 index dcaa19dc..583bf2f1 100644 --- a/mlprec/impl/level/mld_c_base_onelev_seti.F90 +++ b/mlprec/impl/level/mld_c_base_onelev_seti.F90 @@ -200,8 +200,8 @@ subroutine mld_c_base_onelev_seti(lv,what,val,info,pos) allocate(mld_c_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_c_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_c_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_c_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_d_base_onelev_cseti.F90 b/mlprec/impl/level/mld_d_base_onelev_cseti.F90 index a4ca7838..ea44e7de 100644 --- a/mlprec/impl/level/mld_d_base_onelev_cseti.F90 +++ b/mlprec/impl/level/mld_d_base_onelev_cseti.F90 @@ -220,8 +220,8 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos) allocate(mld_d_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_d_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_d_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_d_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_d_base_onelev_setag.f90 b/mlprec/impl/level/mld_d_base_onelev_setag.f90 index 397ecdef..c4c26cca 100644 --- a/mlprec/impl/level/mld_d_base_onelev_setag.f90 +++ b/mlprec/impl/level/mld_d_base_onelev_setag.f90 @@ -35,7 +35,7 @@ ! POSSIBILITY OF SUCH DAMAGE. ! ! -subroutine mld_d_base_onelev_setag(lev,val,info,pos) +subroutine mld_d_base_onelev_setag(lv,val,info,pos) use psb_base_mod use mld_d_onelev_mod, mld_protect_name => mld_d_base_onelev_setag @@ -43,7 +43,7 @@ subroutine mld_d_base_onelev_setag(lev,val,info,pos) implicit none ! Arguments - class(mld_d_onelev_type), target, intent(inout) :: lev + class(mld_d_onelev_type), target, intent(inout) :: lv class(mld_d_base_aggregator_type), intent(in) :: val integer(psb_ipk_), intent(out) :: info character(len=*), optional, intent(in) :: pos @@ -56,10 +56,10 @@ subroutine mld_d_base_onelev_setag(lev,val,info,pos) ! Ignore pos for aggregator - if (allocated(lev%aggr)) then - if (.not.same_type_as(lev%aggr,val)) then - call lev%aggr%free(info) - deallocate(lev%aggr,stat=info) + if (allocated(lv%aggr)) then + if (.not.same_type_as(lv%aggr,val)) then + call lv%aggr%free(info) + deallocate(lv%aggr,stat=info) if (info /= 0) then info = 3111 return @@ -67,14 +67,14 @@ subroutine mld_d_base_onelev_setag(lev,val,info,pos) end if end if - if (.not.allocated(lev%aggr)) then - allocate(lev%aggr,mold=val,stat=info) + if (.not.allocated(lv%aggr)) then + allocate(lv%aggr,mold=val,stat=info) if (info /= 0) then info = 3111 return end if lv%parms%par_aggr_alg = mld_ext_aggr_ - lv%parms%aggr_type = mld_ext_noalg_ + lv%parms%aggr_type = mld_noalg_ end if end subroutine mld_d_base_onelev_setag diff --git a/mlprec/impl/level/mld_d_base_onelev_seti.F90 b/mlprec/impl/level/mld_d_base_onelev_seti.F90 index 38610bd1..82234b51 100644 --- a/mlprec/impl/level/mld_d_base_onelev_seti.F90 +++ b/mlprec/impl/level/mld_d_base_onelev_seti.F90 @@ -220,8 +220,8 @@ subroutine mld_d_base_onelev_seti(lv,what,val,info,pos) allocate(mld_d_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_d_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_d_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_d_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_s_base_onelev_cseti.F90 b/mlprec/impl/level/mld_s_base_onelev_cseti.F90 index 882bae1a..fc95bc22 100644 --- a/mlprec/impl/level/mld_s_base_onelev_cseti.F90 +++ b/mlprec/impl/level/mld_s_base_onelev_cseti.F90 @@ -200,8 +200,8 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos) allocate(mld_s_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_s_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_s_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_s_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_s_base_onelev_setag.f90 b/mlprec/impl/level/mld_s_base_onelev_setag.f90 index 41b7e0de..36bf2871 100644 --- a/mlprec/impl/level/mld_s_base_onelev_setag.f90 +++ b/mlprec/impl/level/mld_s_base_onelev_setag.f90 @@ -35,7 +35,7 @@ ! POSSIBILITY OF SUCH DAMAGE. ! ! -subroutine mld_s_base_onelev_setag(lev,val,info,pos) +subroutine mld_s_base_onelev_setag(lv,val,info,pos) use psb_base_mod use mld_s_onelev_mod, mld_protect_name => mld_s_base_onelev_setag @@ -43,7 +43,7 @@ subroutine mld_s_base_onelev_setag(lev,val,info,pos) implicit none ! Arguments - class(mld_s_onelev_type), target, intent(inout) :: lev + class(mld_s_onelev_type), target, intent(inout) :: lv class(mld_s_base_aggregator_type), intent(in) :: val integer(psb_ipk_), intent(out) :: info character(len=*), optional, intent(in) :: pos @@ -56,10 +56,10 @@ subroutine mld_s_base_onelev_setag(lev,val,info,pos) ! Ignore pos for aggregator - if (allocated(lev%aggr)) then - if (.not.same_type_as(lev%aggr,val)) then - call lev%aggr%free(info) - deallocate(lev%aggr,stat=info) + if (allocated(lv%aggr)) then + if (.not.same_type_as(lv%aggr,val)) then + call lv%aggr%free(info) + deallocate(lv%aggr,stat=info) if (info /= 0) then info = 3111 return @@ -67,14 +67,14 @@ subroutine mld_s_base_onelev_setag(lev,val,info,pos) end if end if - if (.not.allocated(lev%aggr)) then - allocate(lev%aggr,mold=val,stat=info) + if (.not.allocated(lv%aggr)) then + allocate(lv%aggr,mold=val,stat=info) if (info /= 0) then info = 3111 return end if lv%parms%par_aggr_alg = mld_ext_aggr_ - lv%parms%aggr_type = mld_ext_noalg_ + lv%parms%aggr_type = mld_noalg_ end if end subroutine mld_s_base_onelev_setag diff --git a/mlprec/impl/level/mld_s_base_onelev_seti.F90 b/mlprec/impl/level/mld_s_base_onelev_seti.F90 index 54ed838f..ad241194 100644 --- a/mlprec/impl/level/mld_s_base_onelev_seti.F90 +++ b/mlprec/impl/level/mld_s_base_onelev_seti.F90 @@ -200,8 +200,8 @@ subroutine mld_s_base_onelev_seti(lv,what,val,info,pos) allocate(mld_s_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_s_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_s_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_s_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_z_base_onelev_cseti.F90 b/mlprec/impl/level/mld_z_base_onelev_cseti.F90 index 1418b3ac..d519e8a6 100644 --- a/mlprec/impl/level/mld_z_base_onelev_cseti.F90 +++ b/mlprec/impl/level/mld_z_base_onelev_cseti.F90 @@ -220,8 +220,8 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos) allocate(mld_z_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_z_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_z_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_z_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/impl/level/mld_z_base_onelev_setag.f90 b/mlprec/impl/level/mld_z_base_onelev_setag.f90 index 4d7702ba..e6c7d51b 100644 --- a/mlprec/impl/level/mld_z_base_onelev_setag.f90 +++ b/mlprec/impl/level/mld_z_base_onelev_setag.f90 @@ -35,7 +35,7 @@ ! POSSIBILITY OF SUCH DAMAGE. ! ! -subroutine mld_z_base_onelev_setag(lev,val,info,pos) +subroutine mld_z_base_onelev_setag(lv,val,info,pos) use psb_base_mod use mld_z_onelev_mod, mld_protect_name => mld_z_base_onelev_setag @@ -43,7 +43,7 @@ subroutine mld_z_base_onelev_setag(lev,val,info,pos) implicit none ! Arguments - class(mld_z_onelev_type), target, intent(inout) :: lev + class(mld_z_onelev_type), target, intent(inout) :: lv class(mld_z_base_aggregator_type), intent(in) :: val integer(psb_ipk_), intent(out) :: info character(len=*), optional, intent(in) :: pos @@ -56,10 +56,10 @@ subroutine mld_z_base_onelev_setag(lev,val,info,pos) ! Ignore pos for aggregator - if (allocated(lev%aggr)) then - if (.not.same_type_as(lev%aggr,val)) then - call lev%aggr%free(info) - deallocate(lev%aggr,stat=info) + if (allocated(lv%aggr)) then + if (.not.same_type_as(lv%aggr,val)) then + call lv%aggr%free(info) + deallocate(lv%aggr,stat=info) if (info /= 0) then info = 3111 return @@ -67,14 +67,14 @@ subroutine mld_z_base_onelev_setag(lev,val,info,pos) end if end if - if (.not.allocated(lev%aggr)) then - allocate(lev%aggr,mold=val,stat=info) + if (.not.allocated(lv%aggr)) then + allocate(lv%aggr,mold=val,stat=info) if (info /= 0) then info = 3111 return end if lv%parms%par_aggr_alg = mld_ext_aggr_ - lv%parms%aggr_type = mld_ext_noalg_ + lv%parms%aggr_type = mld_noalg_ end if end subroutine mld_z_base_onelev_setag diff --git a/mlprec/impl/level/mld_z_base_onelev_seti.F90 b/mlprec/impl/level/mld_z_base_onelev_seti.F90 index 73bc2d2d..1d1505f4 100644 --- a/mlprec/impl/level/mld_z_base_onelev_seti.F90 +++ b/mlprec/impl/level/mld_z_base_onelev_seti.F90 @@ -220,8 +220,8 @@ subroutine mld_z_base_onelev_seti(lv,what,val,info,pos) allocate(mld_z_dec_aggregator_type :: lv%aggr, stat=info) case(mld_sym_dec_aggr_) allocate(mld_z_symdec_aggregator_type :: lv%aggr, stat=info) - case(mld_hybrid_aggr_) - allocate(mld_z_hybrid_aggregator_type :: lv%aggr, stat=info) +!!$ case(mld_hybrid_aggr_) +!!$ allocate(mld_z_hybrid_aggregator_type :: lv%aggr, stat=info) case default info = psb_err_internal_error_ end select diff --git a/mlprec/mld_c_dec_aggregator_mod.f90 b/mlprec/mld_c_dec_aggregator_mod.f90 index 8c6df140..4548b4b0 100644 --- a/mlprec/mld_c_dec_aggregator_mod.f90 +++ b/mlprec/mld_c_dec_aggregator_mod.f90 @@ -92,7 +92,7 @@ module mld_c_dec_aggregator_mod type, extends(mld_c_base_aggregator_type) :: mld_c_dec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_c_dec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_c_dec_aggregator_build_tprol procedure, pass(ag) :: mat_asb => mld_c_dec_aggregator_mat_asb procedure, nopass :: fmt => mld_c_dec_aggregator_fmt end type mld_c_dec_aggregator_type diff --git a/mlprec/mld_c_hybrid_aggregator_mod.F90 b/mlprec/mld_c_hybrid_aggregator_mod.F90 index f44a4f60..e616eb87 100644 --- a/mlprec/mld_c_hybrid_aggregator_mod.F90 +++ b/mlprec/mld_c_hybrid_aggregator_mod.F90 @@ -47,7 +47,7 @@ ! module mld_c_hybrid_aggregator_mod - use mld_c_base_aggregator_mod + use mld_c_dec_aggregator_mod ! ! sm - class(mld_T_base_smoother_type), allocatable ! The current level preconditioner (aka smoother). @@ -88,15 +88,10 @@ module mld_c_hybrid_aggregator_mod ! get_nzeros - Number of nonzeros ! ! - type, extends(mld_c_base_aggregator_type) :: mld_c_hybrid_aggregator_type + type, extends(mld_c_dec_aggregator_type) :: mld_c_hybrid_aggregator_type contains - procedure, pass(ag) :: bld_tprol => mld_c_hybrid_aggregator_build_tprol -!!$ procedure, pass(ag) :: mat_asb => mld_c_base_aggregator_mat_asb -!!$ procedure, pass(ag) :: update_level => mld_c_base_aggregator_update_level -!!$ procedure, pass(ag) :: clone => mld_c_base_aggregator_clone -!!$ procedure, pass(ag) :: free => mld_c_base_aggregator_free -!!$ procedure, pass(ag) :: default => mld_c_base_aggregator_default + procedure, pass(ag) :: bld_tprol => mld_c_hybrid_aggregator_build_tprol procedure, nopass :: fmt => mld_c_hybrid_aggregator_fmt end type mld_c_hybrid_aggregator_type diff --git a/mlprec/mld_c_symdec_aggregator_mod.f90 b/mlprec/mld_c_symdec_aggregator_mod.f90 index 0fffcf7a..f3df179e 100644 --- a/mlprec/mld_c_symdec_aggregator_mod.f90 +++ b/mlprec/mld_c_symdec_aggregator_mod.f90 @@ -94,7 +94,7 @@ module mld_c_symdec_aggregator_mod type, extends(mld_c_dec_aggregator_type) :: mld_c_symdec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_c_symdec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_c_symdec_aggregator_build_tprol procedure, nopass :: fmt => mld_c_symdec_aggregator_fmt end type mld_c_symdec_aggregator_type diff --git a/mlprec/mld_d_dec_aggregator_mod.f90 b/mlprec/mld_d_dec_aggregator_mod.f90 index ec25f574..4ddb8f5a 100644 --- a/mlprec/mld_d_dec_aggregator_mod.f90 +++ b/mlprec/mld_d_dec_aggregator_mod.f90 @@ -92,7 +92,7 @@ module mld_d_dec_aggregator_mod type, extends(mld_d_base_aggregator_type) :: mld_d_dec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_d_dec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_d_dec_aggregator_build_tprol procedure, pass(ag) :: mat_asb => mld_d_dec_aggregator_mat_asb procedure, nopass :: fmt => mld_d_dec_aggregator_fmt end type mld_d_dec_aggregator_type diff --git a/mlprec/mld_d_hybrid_aggregator_mod.F90 b/mlprec/mld_d_hybrid_aggregator_mod.F90 index 4cdde8bd..7acb7942 100644 --- a/mlprec/mld_d_hybrid_aggregator_mod.F90 +++ b/mlprec/mld_d_hybrid_aggregator_mod.F90 @@ -47,7 +47,7 @@ ! module mld_d_hybrid_aggregator_mod - use mld_d_base_aggregator_mod + use mld_d_dec_aggregator_mod ! ! sm - class(mld_T_base_smoother_type), allocatable ! The current level preconditioner (aka smoother). @@ -88,15 +88,10 @@ module mld_d_hybrid_aggregator_mod ! get_nzeros - Number of nonzeros ! ! - type, extends(mld_d_base_aggregator_type) :: mld_d_hybrid_aggregator_type + type, extends(mld_d_dec_aggregator_type) :: mld_d_hybrid_aggregator_type contains - procedure, pass(ag) :: bld_tprol => mld_d_hybrid_aggregator_build_tprol -!!$ procedure, pass(ag) :: mat_asb => mld_d_base_aggregator_mat_asb -!!$ procedure, pass(ag) :: update_level => mld_d_base_aggregator_update_level -!!$ procedure, pass(ag) :: clone => mld_d_base_aggregator_clone -!!$ procedure, pass(ag) :: free => mld_d_base_aggregator_free -!!$ procedure, pass(ag) :: default => mld_d_base_aggregator_default + procedure, pass(ag) :: bld_tprol => mld_d_hybrid_aggregator_build_tprol procedure, nopass :: fmt => mld_d_hybrid_aggregator_fmt end type mld_d_hybrid_aggregator_type diff --git a/mlprec/mld_d_symdec_aggregator_mod.f90 b/mlprec/mld_d_symdec_aggregator_mod.f90 index 893cfbf2..86fd4ba2 100644 --- a/mlprec/mld_d_symdec_aggregator_mod.f90 +++ b/mlprec/mld_d_symdec_aggregator_mod.f90 @@ -94,7 +94,7 @@ module mld_d_symdec_aggregator_mod type, extends(mld_d_dec_aggregator_type) :: mld_d_symdec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_d_symdec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_d_symdec_aggregator_build_tprol procedure, nopass :: fmt => mld_d_symdec_aggregator_fmt end type mld_d_symdec_aggregator_type diff --git a/mlprec/mld_s_dec_aggregator_mod.f90 b/mlprec/mld_s_dec_aggregator_mod.f90 index 63cdd6ea..76604cbf 100644 --- a/mlprec/mld_s_dec_aggregator_mod.f90 +++ b/mlprec/mld_s_dec_aggregator_mod.f90 @@ -92,7 +92,7 @@ module mld_s_dec_aggregator_mod type, extends(mld_s_base_aggregator_type) :: mld_s_dec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_s_dec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_s_dec_aggregator_build_tprol procedure, pass(ag) :: mat_asb => mld_s_dec_aggregator_mat_asb procedure, nopass :: fmt => mld_s_dec_aggregator_fmt end type mld_s_dec_aggregator_type diff --git a/mlprec/mld_s_hybrid_aggregator_mod.F90 b/mlprec/mld_s_hybrid_aggregator_mod.F90 index c7619e98..b8a1ce23 100644 --- a/mlprec/mld_s_hybrid_aggregator_mod.F90 +++ b/mlprec/mld_s_hybrid_aggregator_mod.F90 @@ -47,7 +47,7 @@ ! module mld_s_hybrid_aggregator_mod - use mld_s_base_aggregator_mod + use mld_s_dec_aggregator_mod ! ! sm - class(mld_T_base_smoother_type), allocatable ! The current level preconditioner (aka smoother). @@ -88,15 +88,10 @@ module mld_s_hybrid_aggregator_mod ! get_nzeros - Number of nonzeros ! ! - type, extends(mld_s_base_aggregator_type) :: mld_s_hybrid_aggregator_type + type, extends(mld_s_dec_aggregator_type) :: mld_s_hybrid_aggregator_type contains - procedure, pass(ag) :: bld_tprol => mld_s_hybrid_aggregator_build_tprol -!!$ procedure, pass(ag) :: mat_asb => mld_s_base_aggregator_mat_asb -!!$ procedure, pass(ag) :: update_level => mld_s_base_aggregator_update_level -!!$ procedure, pass(ag) :: clone => mld_s_base_aggregator_clone -!!$ procedure, pass(ag) :: free => mld_s_base_aggregator_free -!!$ procedure, pass(ag) :: default => mld_s_base_aggregator_default + procedure, pass(ag) :: bld_tprol => mld_s_hybrid_aggregator_build_tprol procedure, nopass :: fmt => mld_s_hybrid_aggregator_fmt end type mld_s_hybrid_aggregator_type diff --git a/mlprec/mld_s_symdec_aggregator_mod.f90 b/mlprec/mld_s_symdec_aggregator_mod.f90 index 0e980885..152ede99 100644 --- a/mlprec/mld_s_symdec_aggregator_mod.f90 +++ b/mlprec/mld_s_symdec_aggregator_mod.f90 @@ -94,7 +94,7 @@ module mld_s_symdec_aggregator_mod type, extends(mld_s_dec_aggregator_type) :: mld_s_symdec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_s_symdec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_s_symdec_aggregator_build_tprol procedure, nopass :: fmt => mld_s_symdec_aggregator_fmt end type mld_s_symdec_aggregator_type diff --git a/mlprec/mld_z_dec_aggregator_mod.f90 b/mlprec/mld_z_dec_aggregator_mod.f90 index 61f9bcbd..391ec596 100644 --- a/mlprec/mld_z_dec_aggregator_mod.f90 +++ b/mlprec/mld_z_dec_aggregator_mod.f90 @@ -92,7 +92,7 @@ module mld_z_dec_aggregator_mod type, extends(mld_z_base_aggregator_type) :: mld_z_dec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_z_dec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_z_dec_aggregator_build_tprol procedure, pass(ag) :: mat_asb => mld_z_dec_aggregator_mat_asb procedure, nopass :: fmt => mld_z_dec_aggregator_fmt end type mld_z_dec_aggregator_type diff --git a/mlprec/mld_z_hybrid_aggregator_mod.F90 b/mlprec/mld_z_hybrid_aggregator_mod.F90 index 4e74d5bb..75ff9719 100644 --- a/mlprec/mld_z_hybrid_aggregator_mod.F90 +++ b/mlprec/mld_z_hybrid_aggregator_mod.F90 @@ -47,7 +47,7 @@ ! module mld_z_hybrid_aggregator_mod - use mld_z_base_aggregator_mod + use mld_z_dec_aggregator_mod ! ! sm - class(mld_T_base_smoother_type), allocatable ! The current level preconditioner (aka smoother). @@ -88,15 +88,10 @@ module mld_z_hybrid_aggregator_mod ! get_nzeros - Number of nonzeros ! ! - type, extends(mld_z_base_aggregator_type) :: mld_z_hybrid_aggregator_type + type, extends(mld_z_dec_aggregator_type) :: mld_z_hybrid_aggregator_type contains - procedure, pass(ag) :: bld_tprol => mld_z_hybrid_aggregator_build_tprol -!!$ procedure, pass(ag) :: mat_asb => mld_z_base_aggregator_mat_asb -!!$ procedure, pass(ag) :: update_level => mld_z_base_aggregator_update_level -!!$ procedure, pass(ag) :: clone => mld_z_base_aggregator_clone -!!$ procedure, pass(ag) :: free => mld_z_base_aggregator_free -!!$ procedure, pass(ag) :: default => mld_z_base_aggregator_default + procedure, pass(ag) :: bld_tprol => mld_z_hybrid_aggregator_build_tprol procedure, nopass :: fmt => mld_z_hybrid_aggregator_fmt end type mld_z_hybrid_aggregator_type diff --git a/mlprec/mld_z_symdec_aggregator_mod.f90 b/mlprec/mld_z_symdec_aggregator_mod.f90 index ae7916b2..2044c273 100644 --- a/mlprec/mld_z_symdec_aggregator_mod.f90 +++ b/mlprec/mld_z_symdec_aggregator_mod.f90 @@ -94,7 +94,7 @@ module mld_z_symdec_aggregator_mod type, extends(mld_z_dec_aggregator_type) :: mld_z_symdec_aggregator_type contains - procedure, pass(ag) :: tprol => mld_z_symdec_aggregator_build_tprol + procedure, pass(ag) :: bld_tprol => mld_z_symdec_aggregator_build_tprol procedure, nopass :: fmt => mld_z_symdec_aggregator_fmt end type mld_z_symdec_aggregator_type