|
|
|
@ -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')
|
|
|
|
|