prec/psb_d_bjacprec.f03

Fixed new preconditioner interface, seems to be working.
psblas3-type-indexed
Salvatore Filippone 15 years ago
parent 390cbda059
commit f3fd67a2ee

@ -115,23 +115,22 @@ contains
select case(trans_) select case(trans_)
case('N') case('N')
call psb_spsm(done,prec%av(psb_l_pr_),x,dzero,ww,desc_data,info,& call psb_spsm(done,prec%av(psb_l_pr_),x,dzero,ww,desc_data,info,&
& trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux) & trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux)
if(info /=0) goto 9999 if(info ==0) call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,&
call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,&
& trans=trans_,scale='U',choice=psb_none_, work=aux) & trans=trans_,scale='U',choice=psb_none_, work=aux)
if(info /=0) goto 9999
case('T','C') case('T','C')
call psb_spsm(done,prec%av(psb_u_pr_),x,dzero,ww,desc_data,info,& call psb_spsm(done,prec%av(psb_u_pr_),x,dzero,ww,desc_data,info,&
& trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux) & trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux)
if(info /=0) goto 9999 if(info ==0) call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,&
call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,&
& trans=trans_,scale='U',choice=psb_none_,work=aux) & trans=trans_,scale='U',choice=psb_none_,work=aux)
if(info /=0) goto 9999
end select end select
if (info /=0) then
ch_err="psb_spsm"
goto 9999
end if
case default case default
@ -318,6 +317,12 @@ contains
goto 9999 goto 9999
end if end if
!!$ call prec%av(psb_l_pr_)%print(30+me)
!!$ call prec%av(psb_u_pr_)%print(40+me)
!!$ do i=1,n_row
!!$ write(50+me,*) i,prec%d(i)
!!$ end do
case(psb_f_none_) case(psb_f_none_)
info=4010 info=4010
ch_err='Inconsistent prec psb_f_none_' ch_err='Inconsistent prec psb_f_none_'

Loading…
Cancel
Save