mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-19 20:32:12 +00:00
Fixes for sundial interfacing to VECT and LINSOLVE (rgmres)
This commit is contained in:
@@ -382,8 +382,14 @@ subroutine psb_crgmres_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
inner: Do i=1,nl
|
||||
itx = itx + 1
|
||||
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
if (present(s2)) then
|
||||
call psb_gediv(v(i),s2,w,desc_a,info)
|
||||
call prec%apply(w,w1,desc_a,info)
|
||||
else
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
end if
|
||||
call psb_spmm(cone,a,w1,czero,w,desc_a,info,work=aux)
|
||||
if (present(s1)) call psb_gemlt(s1,w,desc_a,info)
|
||||
!
|
||||
|
||||
do k = 1, i
|
||||
|
||||
@@ -382,8 +382,14 @@ subroutine psb_drgmres_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
inner: Do i=1,nl
|
||||
itx = itx + 1
|
||||
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
if (present(s2)) then
|
||||
call psb_gediv(v(i),s2,w,desc_a,info)
|
||||
call prec%apply(w,w1,desc_a,info)
|
||||
else
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
end if
|
||||
call psb_spmm(done,a,w1,dzero,w,desc_a,info,work=aux)
|
||||
if (present(s1)) call psb_gemlt(s1,w,desc_a,info)
|
||||
!
|
||||
|
||||
do k = 1, i
|
||||
|
||||
@@ -382,8 +382,14 @@ subroutine psb_srgmres_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
inner: Do i=1,nl
|
||||
itx = itx + 1
|
||||
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
if (present(s2)) then
|
||||
call psb_gediv(v(i),s2,w,desc_a,info)
|
||||
call prec%apply(w,w1,desc_a,info)
|
||||
else
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
end if
|
||||
call psb_spmm(sone,a,w1,szero,w,desc_a,info,work=aux)
|
||||
if (present(s1)) call psb_gemlt(s1,w,desc_a,info)
|
||||
!
|
||||
|
||||
do k = 1, i
|
||||
|
||||
@@ -382,8 +382,14 @@ subroutine psb_zrgmres_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
inner: Do i=1,nl
|
||||
itx = itx + 1
|
||||
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
if (present(s2)) then
|
||||
call psb_gediv(v(i),s2,w,desc_a,info)
|
||||
call prec%apply(w,w1,desc_a,info)
|
||||
else
|
||||
call prec%apply(v(i),w1,desc_a,info)
|
||||
end if
|
||||
call psb_spmm(zone,a,w1,zzero,w,desc_a,info,work=aux)
|
||||
if (present(s1)) call psb_gemlt(s1,w,desc_a,info)
|
||||
!
|
||||
|
||||
do k = 1, i
|
||||
|
||||
Reference in New Issue
Block a user