Work vectors for X2Y/Y2X should be taken from different levels.

stopcriterion
Salvatore Filippone 7 years ago
parent 5783117209
commit 260e596c3c

@ -520,7 +520,7 @@ contains
call psb_map_X2Y(cone,vx2l,&
& czero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -540,7 +540,7 @@ contains
call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,&
& cone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -653,7 +653,7 @@ contains
call psb_map_X2Y(cone,vty,&
& czero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -664,7 +664,7 @@ contains
call psb_map_X2Y(cone,vx2l,&
& czero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -680,7 +680,7 @@ contains
call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,&
& cone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -697,7 +697,7 @@ contains
if (info == psb_success_) call psb_map_X2Y(cone,vty,&
& czero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during W-cycle restriction')
@ -709,7 +709,7 @@ contains
if (info == psb_success_) call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,&
& cone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -889,7 +889,7 @@ contains
call psb_map_X2Y(cone,vty,&
& czero,p%precv(level + 1)%wrk%vx2l,&
& p%precv(level + 1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -925,7 +925,7 @@ contains
call psb_map_Y2X(cone,p%precv(level+1)%wrk%vy2l,&
& cone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&

@ -520,7 +520,7 @@ contains
call psb_map_X2Y(done,vx2l,&
& dzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -540,7 +540,7 @@ contains
call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,&
& done,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -653,7 +653,7 @@ contains
call psb_map_X2Y(done,vty,&
& dzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -664,7 +664,7 @@ contains
call psb_map_X2Y(done,vx2l,&
& dzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -680,7 +680,7 @@ contains
call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,&
& done,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -697,7 +697,7 @@ contains
if (info == psb_success_) call psb_map_X2Y(done,vty,&
& dzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during W-cycle restriction')
@ -709,7 +709,7 @@ contains
if (info == psb_success_) call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,&
& done,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -889,7 +889,7 @@ contains
call psb_map_X2Y(done,vty,&
& dzero,p%precv(level + 1)%wrk%vx2l,&
& p%precv(level + 1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -925,7 +925,7 @@ contains
call psb_map_Y2X(done,p%precv(level+1)%wrk%vy2l,&
& done,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&

@ -520,7 +520,7 @@ contains
call psb_map_X2Y(sone,vx2l,&
& szero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -540,7 +540,7 @@ contains
call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,&
& sone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -653,7 +653,7 @@ contains
call psb_map_X2Y(sone,vty,&
& szero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -664,7 +664,7 @@ contains
call psb_map_X2Y(sone,vx2l,&
& szero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -680,7 +680,7 @@ contains
call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,&
& sone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -697,7 +697,7 @@ contains
if (info == psb_success_) call psb_map_X2Y(sone,vty,&
& szero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during W-cycle restriction')
@ -709,7 +709,7 @@ contains
if (info == psb_success_) call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,&
& sone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -889,7 +889,7 @@ contains
call psb_map_X2Y(sone,vty,&
& szero,p%precv(level + 1)%wrk%vx2l,&
& p%precv(level + 1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -925,7 +925,7 @@ contains
call psb_map_Y2X(sone,p%precv(level+1)%wrk%vy2l,&
& sone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&

@ -520,7 +520,7 @@ contains
call psb_map_X2Y(zone,vx2l,&
& zzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -540,7 +540,7 @@ contains
call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,&
& zone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -653,7 +653,7 @@ contains
call psb_map_X2Y(zone,vty,&
& zzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -664,7 +664,7 @@ contains
call psb_map_X2Y(zone,vx2l,&
& zzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during restriction')
@ -680,7 +680,7 @@ contains
call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,&
& zone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during prolongation')
@ -697,7 +697,7 @@ contains
if (info == psb_success_) call psb_map_X2Y(zone,vty,&
& zzero,p%precv(level+1)%wrk%vx2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
& a_err='Error during W-cycle restriction')
@ -709,7 +709,7 @@ contains
if (info == psb_success_) call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,&
& zone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -889,7 +889,7 @@ contains
call psb_map_X2Y(zone,vty,&
& zzero,p%precv(level + 1)%wrk%vx2l,&
& p%precv(level + 1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=wv(1),vty=p%precv(level+1)%wrk%wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&
@ -925,7 +925,7 @@ contains
call psb_map_Y2X(zone,p%precv(level+1)%wrk%vy2l,&
& zone,vy2l,&
& p%precv(level+1)%map,info,work=work,&
& vtx=wv(1),vty=wv(2))
& vtx=p%precv(level+1)%wrk%wv(1),vty=wv(1))
if (info /= psb_success_) then
call psb_errpush(psb_err_internal_error_,name,&

Loading…
Cancel
Save