|
|
|
@ -757,8 +757,22 @@ program psb_d_pde2d
|
|
|
|
|
call psb_barrier(ctxt)
|
|
|
|
|
t1 = psb_wtime()
|
|
|
|
|
eps = 1.d-6
|
|
|
|
|
call psb_krylov(kmethd,a,prec,bv,xxv,eps,desc_a,info,&
|
|
|
|
|
& itmax=itmax,iter=iter,err=err,itrace=itrace,istop=istopc,irst=irst)
|
|
|
|
|
select case(psb_toupper(trim(kmethd)))
|
|
|
|
|
case('RICHARDSON')
|
|
|
|
|
call psb_richardson(a,prec,bv,xxv,eps,&
|
|
|
|
|
& desc_a,info,itmax=itmax,iter=iter,&
|
|
|
|
|
& err=err,itrace=itrace,&
|
|
|
|
|
& istop=istopc)
|
|
|
|
|
case('BICGSTAB','BICGSTABL','BICG','CG','CGS','FCG','GCR','RGMRES')
|
|
|
|
|
call psb_krylov(kmethd,a,prec,bv,xxv,eps,&
|
|
|
|
|
& desc_a,info,itmax=itmax,iter=iter,err=err,itrace=itrace,&
|
|
|
|
|
& istop=istopc,irst=irst)
|
|
|
|
|
case default
|
|
|
|
|
write(psb_err_unit,*) 'Unknown method :"',trim(kmethd),'"'
|
|
|
|
|
info=psb_err_invalid_input_
|
|
|
|
|
call psb_errpush(info,name)
|
|
|
|
|
goto 9999
|
|
|
|
|
end select
|
|
|
|
|
|
|
|
|
|
if(info /= psb_success_) then
|
|
|
|
|
info=psb_err_from_subroutine_
|
|
|
|
|