mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-20 04:42:10 +00:00
mld2p4:
mlprec/mld_caggrmat_raw_asb.F90 mlprec/mld_caggrmat_smth_asb.F90 mlprec/mld_cmlprec_aply.f90 mlprec/mld_cprecbld.f90 mlprec/mld_daggrmat_raw_asb.F90 mlprec/mld_daggrmat_smth_asb.F90 mlprec/mld_dmlprec_aply.f90 mlprec/mld_dprecbld.f90 mlprec/mld_prec_type.f90 mlprec/mld_saggrmat_raw_asb.F90 mlprec/mld_saggrmat_smth_asb.F90 mlprec/mld_smlprec_aply.f90 mlprec/mld_sprecbld.f90 mlprec/mld_transfer_mod.F90 mlprec/mld_zaggrmat_raw_asb.F90 mlprec/mld_zaggrmat_smth_asb.F90 mlprec/mld_zmlprec_aply.f90 mlprec/mld_zprecbld.f90 Changed name from map_Desc to map in the internals.
This commit is contained in:
@@ -266,7 +266,7 @@ subroutine mld_caggrmat_raw_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -653,7 +653,7 @@ subroutine mld_caggrmat_smth_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
! precv(ilev)%desc_ac - type(psb_desc_type).
|
||||
! The communication descriptor associated to the sparse
|
||||
! matrix A(ilev)
|
||||
! precv(ilev)%map_desc - type(psb_inter_desc_type)
|
||||
! precv(ilev)%map - type(psb_inter_desc_type)
|
||||
! Stores the linear operators mapping between levels
|
||||
! (ilev-1) and (ilev). These are the restriction and
|
||||
! prolongation operators described in the sequel.
|
||||
@@ -422,7 +422,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(cone,mlprec_wrk(ilev-1)%x2l,&
|
||||
& czero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -453,7 +453,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(cone,mlprec_wrk(ilev)%y2l,&
|
||||
& cone,mlprec_wrk(ilev-1)%y2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -683,7 +683,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(cone,mlprec_wrk(ilev-1)%tx,&
|
||||
& czero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -722,7 +722,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(cone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& cone,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -929,7 +929,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(cone,mlprec_wrk(ilev-1)%x2l,&
|
||||
& czero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -983,7 +983,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(cone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& czero,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -1240,7 +1240,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(cone,mlprec_wrk(ilev-1)%ty,&
|
||||
& czero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -1283,7 +1283,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(cone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& cone,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0 ) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
|
||||
@@ -268,8 +268,8 @@ subroutine mld_cprecbld(a,desc_a,p,info)
|
||||
do i=2, iszv - 1
|
||||
p%precv(i)%base_a => p%precv(i)%ac
|
||||
p%precv(i)%base_desc => p%precv(i)%desc_ac
|
||||
p%precv(i)%map_desc%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map_desc%p_desc_Y => p%precv(i)%base_desc
|
||||
p%precv(i)%map%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map%p_desc_Y => p%precv(i)%base_desc
|
||||
end do
|
||||
|
||||
|
||||
|
||||
@@ -266,7 +266,7 @@ subroutine mld_daggrmat_raw_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -653,7 +653,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
! precv(ilev)%desc_ac - type(psb_desc_type).
|
||||
! The communication descriptor associated to the sparse
|
||||
! matrix A(ilev)
|
||||
! precv(ilev)%map_desc - type(psb_inter_desc_type)
|
||||
! precv(ilev)%map - type(psb_inter_desc_type)
|
||||
! Stores the linear operators mapping between levels
|
||||
! (ilev-1) and (ilev). These are the restriction and
|
||||
! prolongation operators described in the sequel.
|
||||
@@ -421,7 +421,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(done,mlprec_wrk(ilev-1)%x2l,&
|
||||
& dzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -452,7 +452,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(done,mlprec_wrk(ilev)%y2l,&
|
||||
& done,mlprec_wrk(ilev-1)%y2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -681,7 +681,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(done,mlprec_wrk(ilev-1)%tx,&
|
||||
& dzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -720,7 +720,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(done,mlprec_wrk(ilev+1)%y2l,&
|
||||
& done,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -926,7 +926,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(done,mlprec_wrk(ilev-1)%x2l,&
|
||||
& dzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -980,7 +980,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(done,mlprec_wrk(ilev+1)%y2l,&
|
||||
& dzero,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -1236,7 +1236,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(done,mlprec_wrk(ilev-1)%ty,&
|
||||
& dzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -1279,7 +1279,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(done,mlprec_wrk(ilev+1)%y2l,&
|
||||
& done,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0 ) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
|
||||
@@ -268,8 +268,8 @@ subroutine mld_dprecbld(a,desc_a,p,info)
|
||||
do i=2, iszv - 1
|
||||
p%precv(i)%base_a => p%precv(i)%ac
|
||||
p%precv(i)%base_desc => p%precv(i)%desc_ac
|
||||
p%precv(i)%map_desc%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map_desc%p_desc_Y => p%precv(i)%base_desc
|
||||
p%precv(i)%map%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map%p_desc_Y => p%precv(i)%base_desc
|
||||
end do
|
||||
|
||||
|
||||
|
||||
+13
-13
@@ -118,7 +118,7 @@ module mld_prec_type
|
||||
! nlaggr - integer, dimension(:), allocatable.
|
||||
! The number of aggregates (rows of A(ilev)) on the
|
||||
! various processes.
|
||||
! map_desc - Stores the mapping between indices from level(ilev-1) to (ilev).
|
||||
! map - Stores the mapping between indices from level(ilev-1) to (ilev).
|
||||
! Unused at level 1 (finest).
|
||||
! base_a - type(psb_zspmat_type), pointer.
|
||||
! Pointer (really a pointer!) to the local part of the base matrix
|
||||
@@ -184,7 +184,7 @@ module mld_prec_type
|
||||
integer, allocatable :: mlia(:), nlaggr(:)
|
||||
type(psb_sspmat_type), pointer :: base_a => null()
|
||||
type(psb_desc_type), pointer :: base_desc => null()
|
||||
type(psb_linear_map_type) :: map_desc
|
||||
type(psb_linear_map_type) :: map
|
||||
end type mld_s_interlev_prec_type
|
||||
|
||||
type mld_sprec_type
|
||||
@@ -209,7 +209,7 @@ module mld_prec_type
|
||||
integer, allocatable :: mlia(:), nlaggr(:)
|
||||
type(psb_dspmat_type), pointer :: base_a => null()
|
||||
type(psb_desc_type), pointer :: base_desc => null()
|
||||
type(psb_linear_map_type) :: map_desc
|
||||
type(psb_linear_map_type) :: map
|
||||
end type mld_d_interlev_prec_type
|
||||
|
||||
type mld_dprec_type
|
||||
@@ -235,7 +235,7 @@ module mld_prec_type
|
||||
integer, allocatable :: mlia(:), nlaggr(:)
|
||||
type(psb_cspmat_type), pointer :: base_a => null()
|
||||
type(psb_desc_type), pointer :: base_desc => null()
|
||||
type(psb_linear_map_type) :: map_desc
|
||||
type(psb_linear_map_type) :: map
|
||||
end type mld_c_interlev_prec_type
|
||||
|
||||
type mld_cprec_type
|
||||
@@ -260,7 +260,7 @@ module mld_prec_type
|
||||
integer, allocatable :: mlia(:), nlaggr(:)
|
||||
type(psb_zspmat_type), pointer :: base_a => null()
|
||||
type(psb_desc_type), pointer :: base_desc => null()
|
||||
type(psb_linear_map_type) :: map_desc
|
||||
type(psb_linear_map_type) :: map
|
||||
end type mld_z_interlev_prec_type
|
||||
|
||||
type mld_zprec_type
|
||||
@@ -765,7 +765,7 @@ contains
|
||||
if (allocated(prec%rprcparm)) val = val + psb_sizeof_sp * size(prec%rprcparm)
|
||||
val = val + psb_sizeof(prec%desc_ac)
|
||||
val = val + psb_sizeof(prec%ac)
|
||||
val = val + psb_sizeof(prec%map_desc)
|
||||
val = val + psb_sizeof(prec%map)
|
||||
|
||||
end function mld_s_onelev_prec_sizeof
|
||||
|
||||
@@ -782,7 +782,7 @@ contains
|
||||
if (allocated(prec%rprcparm)) val = val + psb_sizeof_dp * size(prec%rprcparm)
|
||||
val = val + psb_sizeof(prec%desc_ac)
|
||||
val = val + psb_sizeof(prec%ac)
|
||||
val = val + psb_sizeof(prec%map_desc)
|
||||
val = val + psb_sizeof(prec%map)
|
||||
|
||||
end function mld_d_onelev_prec_sizeof
|
||||
|
||||
@@ -799,7 +799,7 @@ contains
|
||||
if (allocated(prec%rprcparm)) val = val + psb_sizeof_sp * size(prec%rprcparm)
|
||||
val = val + psb_sizeof(prec%desc_ac)
|
||||
val = val + psb_sizeof(prec%ac)
|
||||
val = val + psb_sizeof(prec%map_desc)
|
||||
val = val + psb_sizeof(prec%map)
|
||||
|
||||
end function mld_c_onelev_prec_sizeof
|
||||
|
||||
@@ -816,7 +816,7 @@ contains
|
||||
if (allocated(prec%rprcparm)) val = val + psb_sizeof_dp * size(prec%rprcparm)
|
||||
val = val + psb_sizeof(prec%desc_ac)
|
||||
val = val + psb_sizeof(prec%ac)
|
||||
val = val + psb_sizeof(prec%map_desc)
|
||||
val = val + psb_sizeof(prec%map)
|
||||
|
||||
end function mld_z_onelev_prec_sizeof
|
||||
|
||||
@@ -1903,7 +1903,7 @@ contains
|
||||
endif
|
||||
|
||||
!
|
||||
! free explicitly map_desc???
|
||||
! free explicitly map???
|
||||
! For now thanks to allocatable semantics
|
||||
! works anyway.
|
||||
!
|
||||
@@ -2028,7 +2028,7 @@ contains
|
||||
endif
|
||||
|
||||
!
|
||||
! free explicitly map_desc???
|
||||
! free explicitly map???
|
||||
! For now thanks to allocatable semantics
|
||||
! works anyway.
|
||||
!
|
||||
@@ -2140,7 +2140,7 @@ contains
|
||||
endif
|
||||
|
||||
!
|
||||
! free explicitly map_desc???
|
||||
! free explicitly map???
|
||||
! For now thanks to allocatable semantics
|
||||
! works anyway.
|
||||
!
|
||||
@@ -2256,7 +2256,7 @@ contains
|
||||
endif
|
||||
|
||||
!
|
||||
! free explicitly map_desc???
|
||||
! free explicitly map???
|
||||
! For now thanks to allocatable semantics
|
||||
! works anyway.
|
||||
!
|
||||
|
||||
@@ -266,7 +266,7 @@ subroutine mld_saggrmat_raw_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -653,7 +653,7 @@ subroutine mld_saggrmat_smth_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
! precv(ilev)%desc_ac - type(psb_desc_type).
|
||||
! The communication descriptor associated to the sparse
|
||||
! matrix A(ilev)
|
||||
! precv(ilev)%map_desc - type(psb_inter_desc_type)
|
||||
! precv(ilev)%map - type(psb_inter_desc_type)
|
||||
! Stores the linear operators mapping between levels
|
||||
! (ilev-1) and (ilev). These are the restriction and
|
||||
! prolongation operators described in the sequel.
|
||||
@@ -421,7 +421,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(sone,mlprec_wrk(ilev-1)%x2l,&
|
||||
& szero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -452,7 +452,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(sone,mlprec_wrk(ilev)%y2l,&
|
||||
& sone,mlprec_wrk(ilev-1)%y2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -681,7 +681,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(sone,mlprec_wrk(ilev-1)%tx,&
|
||||
& szero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -720,7 +720,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(sone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& sone,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -926,7 +926,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(sone,mlprec_wrk(ilev-1)%x2l,&
|
||||
& szero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -980,7 +980,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(sone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& szero,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -1236,7 +1236,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(sone,mlprec_wrk(ilev-1)%ty,&
|
||||
& szero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -1279,7 +1279,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(sone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& sone,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0 ) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
|
||||
@@ -268,8 +268,8 @@ subroutine mld_sprecbld(a,desc_a,p,info)
|
||||
do i=2, iszv - 1
|
||||
p%precv(i)%base_a => p%precv(i)%ac
|
||||
p%precv(i)%base_desc => p%precv(i)%desc_ac
|
||||
p%precv(i)%map_desc%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map_desc%p_desc_Y => p%precv(i)%base_desc
|
||||
p%precv(i)%map%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map%p_desc_Y => p%precv(i)%base_desc
|
||||
end do
|
||||
|
||||
|
||||
|
||||
+12
-12
@@ -121,7 +121,7 @@ contains
|
||||
if (info == 0) call psb_transfer(a%desc_ac,b%desc_ac,info)
|
||||
if (info == 0) call psb_transfer(a%mlia,b%mlia,info)
|
||||
if (info == 0) call psb_transfer(a%nlaggr,b%nlaggr,info)
|
||||
if (info == 0) call psb_transfer(a%map_desc,b%map_desc,info)
|
||||
if (info == 0) call psb_transfer(a%map,b%map,info)
|
||||
b%base_a => a%base_a
|
||||
b%base_desc => a%base_desc
|
||||
|
||||
@@ -163,8 +163,8 @@ contains
|
||||
do i=2, isz
|
||||
b%precv(i)%base_a => b%precv(i)%ac
|
||||
b%precv(i)%base_desc => b%precv(i)%desc_ac
|
||||
b%precv(i)%map_desc%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map_desc%p_desc_Y => b%precv(i)%base_desc
|
||||
b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc
|
||||
end do
|
||||
end subroutine mld_sprec_transfer
|
||||
|
||||
@@ -216,7 +216,7 @@ contains
|
||||
if (info == 0) call psb_transfer(a%desc_ac,b%desc_ac,info)
|
||||
if (info == 0) call psb_transfer(a%mlia,b%mlia,info)
|
||||
if (info == 0) call psb_transfer(a%nlaggr,b%nlaggr,info)
|
||||
if (info == 0) call psb_transfer(a%map_desc,b%map_desc,info)
|
||||
if (info == 0) call psb_transfer(a%map,b%map,info)
|
||||
b%base_a => a%base_a
|
||||
b%base_desc => a%base_desc
|
||||
|
||||
@@ -258,8 +258,8 @@ contains
|
||||
do i=2, isz
|
||||
b%precv(i)%base_a => b%precv(i)%ac
|
||||
b%precv(i)%base_desc => b%precv(i)%desc_ac
|
||||
b%precv(i)%map_desc%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map_desc%p_desc_Y => b%precv(i)%base_desc
|
||||
b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc
|
||||
end do
|
||||
end subroutine mld_dprec_transfer
|
||||
|
||||
@@ -311,7 +311,7 @@ contains
|
||||
if (info == 0) call psb_transfer(a%desc_ac,b%desc_ac,info)
|
||||
if (info == 0) call psb_transfer(a%mlia,b%mlia,info)
|
||||
if (info == 0) call psb_transfer(a%nlaggr,b%nlaggr,info)
|
||||
if (info == 0) call psb_transfer(a%map_desc,b%map_desc,info)
|
||||
if (info == 0) call psb_transfer(a%map,b%map,info)
|
||||
b%base_a => a%base_a
|
||||
b%base_desc => a%base_desc
|
||||
|
||||
@@ -353,8 +353,8 @@ contains
|
||||
do i=2, isz
|
||||
b%precv(i)%base_a => b%precv(i)%ac
|
||||
b%precv(i)%base_desc => b%precv(i)%desc_ac
|
||||
b%precv(i)%map_desc%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map_desc%p_desc_Y => b%precv(i)%base_desc
|
||||
b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc
|
||||
end do
|
||||
end subroutine mld_cprec_transfer
|
||||
|
||||
@@ -406,7 +406,7 @@ contains
|
||||
if (info == 0) call psb_transfer(a%desc_ac,b%desc_ac,info)
|
||||
if (info == 0) call psb_transfer(a%mlia,b%mlia,info)
|
||||
if (info == 0) call psb_transfer(a%nlaggr,b%nlaggr,info)
|
||||
if (info == 0) call psb_transfer(a%map_desc,b%map_desc,info)
|
||||
if (info == 0) call psb_transfer(a%map,b%map,info)
|
||||
b%base_a => a%base_a
|
||||
b%base_desc => a%base_desc
|
||||
|
||||
@@ -448,8 +448,8 @@ contains
|
||||
do i=2, isz
|
||||
b%precv(i)%base_a => b%precv(i)%ac
|
||||
b%precv(i)%base_desc => b%precv(i)%desc_ac
|
||||
b%precv(i)%map_desc%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map_desc%p_desc_Y => b%precv(i)%base_desc
|
||||
b%precv(i)%map%p_desc_X => b%precv(i-1)%base_desc
|
||||
b%precv(i)%map%p_desc_Y => b%precv(i)%base_desc
|
||||
end do
|
||||
end subroutine mld_zprec_transfer
|
||||
|
||||
|
||||
@@ -266,7 +266,7 @@ subroutine mld_zaggrmat_raw_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -653,7 +653,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,p,info)
|
||||
! am2 => PR^T i.e. restriction operator
|
||||
! am1 => PR i.e. prolongation operator
|
||||
!
|
||||
p%map_desc = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
p%map = psb_linear_map(psb_map_aggr_,desc_a,&
|
||||
& p%desc_ac,am2,am1)
|
||||
if (info == 0) call psb_sp_free(am1,info)
|
||||
if (info == 0) call psb_sp_free(am2,info)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
! precv(ilev)%desc_ac - type(psb_desc_type).
|
||||
! The communication descriptor associated to the sparse
|
||||
! matrix A(ilev)
|
||||
! precv(ilev)%map_desc - type(psb_inter_desc_type)
|
||||
! precv(ilev)%map - type(psb_inter_desc_type)
|
||||
! Stores the linear operators mapping between levels
|
||||
! (ilev-1) and (ilev). These are the restriction and
|
||||
! prolongation operators described in the sequel.
|
||||
@@ -422,7 +422,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(zone,mlprec_wrk(ilev-1)%x2l,&
|
||||
& zzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -453,7 +453,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(zone,mlprec_wrk(ilev)%y2l,&
|
||||
& zone,mlprec_wrk(ilev-1)%y2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -683,7 +683,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(zone,mlprec_wrk(ilev-1)%tx,&
|
||||
& zzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -722,7 +722,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(zone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& zone,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -929,7 +929,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(zone,mlprec_wrk(ilev-1)%x2l,&
|
||||
& zzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -983,7 +983,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(zone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& zzero,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during prolongation')
|
||||
@@ -1240,7 +1240,7 @@ contains
|
||||
! Apply prolongator transpose, i.e. restriction
|
||||
call psb_map_X2Y(zone,mlprec_wrk(ilev-1)%ty,&
|
||||
& zzero,mlprec_wrk(ilev)%x2l,&
|
||||
& precv(ilev)%map_desc,info,work=work)
|
||||
& precv(ilev)%map,info,work=work)
|
||||
|
||||
if (info /=0) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
@@ -1283,7 +1283,7 @@ contains
|
||||
!
|
||||
call psb_map_Y2X(zone,mlprec_wrk(ilev+1)%y2l,&
|
||||
& zone,mlprec_wrk(ilev)%y2l,&
|
||||
& precv(ilev+1)%map_desc,info,work=work)
|
||||
& precv(ilev+1)%map,info,work=work)
|
||||
|
||||
if (info /=0 ) then
|
||||
call psb_errpush(4001,name,a_err='Error during restriction')
|
||||
|
||||
@@ -268,8 +268,8 @@ subroutine mld_zprecbld(a,desc_a,p,info)
|
||||
do i=2, iszv - 1
|
||||
p%precv(i)%base_a => p%precv(i)%ac
|
||||
p%precv(i)%base_desc => p%precv(i)%desc_ac
|
||||
p%precv(i)%map_desc%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map_desc%p_desc_Y => p%precv(i)%base_desc
|
||||
p%precv(i)%map%p_desc_X => p%precv(i-1)%base_desc
|
||||
p%precv(i)%map%p_desc_Y => p%precv(i)%base_desc
|
||||
end do
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user