|
|
@ -115,6 +115,7 @@ contains
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n_row = psb_cd_get_local_rows(sm%desc_data)
|
|
|
|
n_row = psb_cd_get_local_rows(sm%desc_data)
|
|
|
|
n_col = psb_cd_get_local_cols(sm%desc_data)
|
|
|
|
n_col = psb_cd_get_local_cols(sm%desc_data)
|
|
|
|
nrow_d = psb_cd_get_local_rows(desc_data)
|
|
|
|
nrow_d = psb_cd_get_local_rows(desc_data)
|
|
|
@ -153,6 +154,21 @@ contains
|
|
|
|
|
|
|
|
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((sm%novr == 0).and.(sm%sweeps == 1)) then
|
|
|
|
|
|
|
|
!
|
|
|
|
|
|
|
|
! Shortcut: in this case it's just the same
|
|
|
|
|
|
|
|
! as Block Jacobi.
|
|
|
|
|
|
|
|
!
|
|
|
|
|
|
|
|
call sm%sv%apply(alpha,x,beta,y,desc_data,trans_,aux,info)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (info /= 0) then
|
|
|
|
|
|
|
|
call psb_errpush(4001,name,a_err='Error in sub_aply Jacobi Sweeps = 1')
|
|
|
|
|
|
|
|
goto 9999
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tx(1:nrow_d) = x(1:nrow_d)
|
|
|
|
tx(1:nrow_d) = x(1:nrow_d)
|
|
|
|
tx(nrow_d+1:isz) = dzero
|
|
|
|
tx(nrow_d+1:isz) = dzero
|
|
|
|
|
|
|
|
|
|
|
@ -468,6 +484,8 @@ contains
|
|
|
|
!
|
|
|
|
!
|
|
|
|
call psb_geaxpby(alpha,ty,beta,y,desc_data,info)
|
|
|
|
call psb_geaxpby(alpha,ty,beta,y,desc_data,info)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((6*isz) <= size(work)) then
|
|
|
|
if ((6*isz) <= size(work)) then
|
|
|
|
else if ((4*isz) <= size(work)) then
|
|
|
|
else if ((4*isz) <= size(work)) then
|
|
|
|