Take out the backfix method.

Originally it was introduced to handle cases where the stencil was
expanded by the smoothing and multiplication process, but the
critical step is handled in AGGR%BLD_MAP, this one can be discarded.
pizdaint-runs
Salvatore Filippone 5 years ago
parent 67cff859ec
commit c0b033da57

@ -449,11 +449,6 @@ subroutine mld_c_hierarchy_bld(a,desc_a,prec,info)
end do
end if
! Does the coarsening need backfix on descriptors?
do i=2, iszv
if (info == psb_success_) call prec%precv(i)%backfix(prec%precv(i-1),info)
end do
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Internal hierarchy build' )

@ -449,11 +449,6 @@ subroutine mld_d_hierarchy_bld(a,desc_a,prec,info)
end do
end if
! Does the coarsening need backfix on descriptors?
do i=2, iszv
if (info == psb_success_) call prec%precv(i)%backfix(prec%precv(i-1),info)
end do
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Internal hierarchy build' )

@ -449,11 +449,6 @@ subroutine mld_s_hierarchy_bld(a,desc_a,prec,info)
end do
end if
! Does the coarsening need backfix on descriptors?
do i=2, iszv
if (info == psb_success_) call prec%precv(i)%backfix(prec%precv(i-1),info)
end do
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Internal hierarchy build' )

@ -449,11 +449,6 @@ subroutine mld_z_hierarchy_bld(a,desc_a,prec,info)
end do
end if
! Does the coarsening need backfix on descriptors?
do i=2, iszv
if (info == psb_success_) call prec%precv(i)%backfix(prec%precv(i-1),info)
end do
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Internal hierarchy build' )

@ -103,7 +103,6 @@ module mld_c_base_aggregator_mod
procedure, pass(ag) :: csetc => mld_c_base_aggregator_csetc
generic, public :: set => cseti, csetr, csetc
procedure, nopass :: xt_desc => mld_c_base_aggregator_xt_desc
procedure, pass(ag) :: backfix => mld_c_base_aggregator_backfix
end type mld_c_base_aggregator_type
abstract interface
@ -272,20 +271,6 @@ contains
val = .false.
end function mld_c_base_aggregator_xt_desc
subroutine mld_c_base_aggregator_backfix(ag,base_a,ac,base_desc,desc_ac,info)
implicit none
class(mld_c_base_aggregator_type), intent(inout) :: ag
type(psb_cspmat_type), pointer :: base_a
type(psb_cspmat_type), intent(inout), target :: ac
type(psb_desc_type), pointer :: base_desc
type(psb_desc_type), intent(inout), target :: desc_ac
integer(psb_ipk_), intent(out) :: info
! Base version is to do nothing.
info = psb_success_
end subroutine mld_c_base_aggregator_backfix
subroutine mld_c_base_aggregator_descr(ag,parms,iout,info)
implicit none
class(mld_c_base_aggregator_type), intent(in) :: ag

@ -171,7 +171,6 @@ module mld_c_onelev_mod
contains
procedure, pass(lv) :: bld_tprol => c_base_onelev_bld_tprol
procedure, pass(lv) :: mat_asb => mld_c_base_onelev_mat_asb
procedure, pass(lv) :: backfix => c_base_onelev_backfix
procedure, pass(lv) :: update_aggr => c_base_onelev_update_aggr
procedure, pass(lv) :: bld => mld_c_base_onelev_build
procedure, pass(lv) :: clone => c_base_onelev_clone
@ -514,20 +513,6 @@ contains
end subroutine c_base_onelev_update_aggr
subroutine c_base_onelev_backfix(lv,lvprev,info)
implicit none
class(mld_c_onelev_type), intent(inout), target :: lv, lvprev
integer(psb_ipk_), intent(out) :: info
info = psb_success_
if (lv%aggr%xt_desc()) then
call lv%aggr%backfix(lvprev%base_a,lvprev%ac,&
& lvprev%base_desc,lvprev%desc_ac,info)
end if
end subroutine c_base_onelev_backfix
subroutine c_base_onelev_clone(lv,lvout,info)
Implicit None

@ -103,7 +103,6 @@ module mld_d_base_aggregator_mod
procedure, pass(ag) :: csetc => mld_d_base_aggregator_csetc
generic, public :: set => cseti, csetr, csetc
procedure, nopass :: xt_desc => mld_d_base_aggregator_xt_desc
procedure, pass(ag) :: backfix => mld_d_base_aggregator_backfix
end type mld_d_base_aggregator_type
abstract interface
@ -272,20 +271,6 @@ contains
val = .false.
end function mld_d_base_aggregator_xt_desc
subroutine mld_d_base_aggregator_backfix(ag,base_a,ac,base_desc,desc_ac,info)
implicit none
class(mld_d_base_aggregator_type), intent(inout) :: ag
type(psb_dspmat_type), pointer :: base_a
type(psb_dspmat_type), intent(inout), target :: ac
type(psb_desc_type), pointer :: base_desc
type(psb_desc_type), intent(inout), target :: desc_ac
integer(psb_ipk_), intent(out) :: info
! Base version is to do nothing.
info = psb_success_
end subroutine mld_d_base_aggregator_backfix
subroutine mld_d_base_aggregator_descr(ag,parms,iout,info)
implicit none
class(mld_d_base_aggregator_type), intent(in) :: ag

@ -171,7 +171,6 @@ module mld_d_onelev_mod
contains
procedure, pass(lv) :: bld_tprol => d_base_onelev_bld_tprol
procedure, pass(lv) :: mat_asb => mld_d_base_onelev_mat_asb
procedure, pass(lv) :: backfix => d_base_onelev_backfix
procedure, pass(lv) :: update_aggr => d_base_onelev_update_aggr
procedure, pass(lv) :: bld => mld_d_base_onelev_build
procedure, pass(lv) :: clone => d_base_onelev_clone
@ -514,20 +513,6 @@ contains
end subroutine d_base_onelev_update_aggr
subroutine d_base_onelev_backfix(lv,lvprev,info)
implicit none
class(mld_d_onelev_type), intent(inout), target :: lv, lvprev
integer(psb_ipk_), intent(out) :: info
info = psb_success_
if (lv%aggr%xt_desc()) then
call lv%aggr%backfix(lvprev%base_a,lvprev%ac,&
& lvprev%base_desc,lvprev%desc_ac,info)
end if
end subroutine d_base_onelev_backfix
subroutine d_base_onelev_clone(lv,lvout,info)
Implicit None

@ -103,7 +103,6 @@ module mld_s_base_aggregator_mod
procedure, pass(ag) :: csetc => mld_s_base_aggregator_csetc
generic, public :: set => cseti, csetr, csetc
procedure, nopass :: xt_desc => mld_s_base_aggregator_xt_desc
procedure, pass(ag) :: backfix => mld_s_base_aggregator_backfix
end type mld_s_base_aggregator_type
abstract interface
@ -272,20 +271,6 @@ contains
val = .false.
end function mld_s_base_aggregator_xt_desc
subroutine mld_s_base_aggregator_backfix(ag,base_a,ac,base_desc,desc_ac,info)
implicit none
class(mld_s_base_aggregator_type), intent(inout) :: ag
type(psb_sspmat_type), pointer :: base_a
type(psb_sspmat_type), intent(inout), target :: ac
type(psb_desc_type), pointer :: base_desc
type(psb_desc_type), intent(inout), target :: desc_ac
integer(psb_ipk_), intent(out) :: info
! Base version is to do nothing.
info = psb_success_
end subroutine mld_s_base_aggregator_backfix
subroutine mld_s_base_aggregator_descr(ag,parms,iout,info)
implicit none
class(mld_s_base_aggregator_type), intent(in) :: ag

@ -171,7 +171,6 @@ module mld_s_onelev_mod
contains
procedure, pass(lv) :: bld_tprol => s_base_onelev_bld_tprol
procedure, pass(lv) :: mat_asb => mld_s_base_onelev_mat_asb
procedure, pass(lv) :: backfix => s_base_onelev_backfix
procedure, pass(lv) :: update_aggr => s_base_onelev_update_aggr
procedure, pass(lv) :: bld => mld_s_base_onelev_build
procedure, pass(lv) :: clone => s_base_onelev_clone
@ -514,20 +513,6 @@ contains
end subroutine s_base_onelev_update_aggr
subroutine s_base_onelev_backfix(lv,lvprev,info)
implicit none
class(mld_s_onelev_type), intent(inout), target :: lv, lvprev
integer(psb_ipk_), intent(out) :: info
info = psb_success_
if (lv%aggr%xt_desc()) then
call lv%aggr%backfix(lvprev%base_a,lvprev%ac,&
& lvprev%base_desc,lvprev%desc_ac,info)
end if
end subroutine s_base_onelev_backfix
subroutine s_base_onelev_clone(lv,lvout,info)
Implicit None

@ -103,7 +103,6 @@ module mld_z_base_aggregator_mod
procedure, pass(ag) :: csetc => mld_z_base_aggregator_csetc
generic, public :: set => cseti, csetr, csetc
procedure, nopass :: xt_desc => mld_z_base_aggregator_xt_desc
procedure, pass(ag) :: backfix => mld_z_base_aggregator_backfix
end type mld_z_base_aggregator_type
abstract interface
@ -272,20 +271,6 @@ contains
val = .false.
end function mld_z_base_aggregator_xt_desc
subroutine mld_z_base_aggregator_backfix(ag,base_a,ac,base_desc,desc_ac,info)
implicit none
class(mld_z_base_aggregator_type), intent(inout) :: ag
type(psb_zspmat_type), pointer :: base_a
type(psb_zspmat_type), intent(inout), target :: ac
type(psb_desc_type), pointer :: base_desc
type(psb_desc_type), intent(inout), target :: desc_ac
integer(psb_ipk_), intent(out) :: info
! Base version is to do nothing.
info = psb_success_
end subroutine mld_z_base_aggregator_backfix
subroutine mld_z_base_aggregator_descr(ag,parms,iout,info)
implicit none
class(mld_z_base_aggregator_type), intent(in) :: ag

@ -171,7 +171,6 @@ module mld_z_onelev_mod
contains
procedure, pass(lv) :: bld_tprol => z_base_onelev_bld_tprol
procedure, pass(lv) :: mat_asb => mld_z_base_onelev_mat_asb
procedure, pass(lv) :: backfix => z_base_onelev_backfix
procedure, pass(lv) :: update_aggr => z_base_onelev_update_aggr
procedure, pass(lv) :: bld => mld_z_base_onelev_build
procedure, pass(lv) :: clone => z_base_onelev_clone
@ -514,20 +513,6 @@ contains
end subroutine z_base_onelev_update_aggr
subroutine z_base_onelev_backfix(lv,lvprev,info)
implicit none
class(mld_z_onelev_type), intent(inout), target :: lv, lvprev
integer(psb_ipk_), intent(out) :: info
info = psb_success_
if (lv%aggr%xt_desc()) then
call lv%aggr%backfix(lvprev%base_a,lvprev%ac,&
& lvprev%base_desc,lvprev%desc_ac,info)
end if
end subroutine z_base_onelev_backfix
subroutine z_base_onelev_clone(lv,lvout,info)
Implicit None

Loading…
Cancel
Save