16 include
'compol_add.inc'
18 common /comwrc/ rsp,
p,ip
20 real*8 zw(neqp),rsp(nspp),wdm(nrp,ntp)
22 integer p(neqp),ip(neqp),isp(nspp),ipath,flag,esp
24 equivalence(rsp(1),isp(1))
30 if( itin/nitdel*nitdel+nitbeg .eq. itin
31 * .OR. itin.lt.nitbeg )
then
36 if(isol.ne.0) go to 20
38 call
odrvd(neq,ia,ja,a,
p,ip,nspp,isp,1,flag)
53 call
sdrvd(neq,
p,ip,ia,ja,a,right,zw,nspp,
54 * isp,rsp,esp,ipath,flag)
57 c
write(6,*)
'zw(i) i',i,zw(i)
101 include
'compol_add.inc'
103 common /comwrc/ rsp,
p,ip
105 real*8 zw(neqp),zyy(neqp),rsp(nspp),wpp(neqp),wzz(neqp),
106 * wrr(neqp),zuu(neqp)
108 integer p(neqp),ip(neqp),isp(nspp),ipath,flag,esp
110 equivalence(rsp(1),isp(1))
134 elseif(isol.eq.1)
then
158 znes=znes+daop(im)*zw(ic)
166 call
sdrvd(neq,
p,ip,ia,ja,aop0,zyy,zw,nspp,
167 * isp,rsp,esp,3,flag)
175 77 call
dpcgrc(ido,neq,zw,wpp,wrr,wzz,relerr,itmax)
193 znes=znes+a(im)*wpp(ic)
203 elseif(ido.eq.2)
then
205 call
sdrvd(neq,
p,ip,ia,ja,aop0,wrr,wzz,nspp,
206 * isp,rsp,esp,3,flag)
209 if(itk.eq.1) go to 1054
222 znes=znes+daop(im)*wzz(ic)
230 call
sdrvd(neq,
p,ip,ia,ja,aop0,zyy,zuu,nspp,
231 * isp,rsp,esp,3,flag)
236 wzz(il)=wzz(il)-zuu(il)
282 include
'compol_add.inc'
298 znev=znev+a(im)*zw(ic)
311 c
write(6,*)
'***right znev ***',il,right(il),znev
312 znmx=dmax1(znmx,znab)
330 include
'compol_add.inc'
332 common /comwrp/ rsp1,p1,ip1
334 real*8 zw(neqp),rsp1(nspp)
336 integer p1(neqp),ip1(neqp),isp1(nspp),ipath,flag,esp
338 equivalence(rsp1(1),isp1(1))
344 if( itin/nitdel*nitdel+nitbeg .eq. itin
345 * .OR. itin.lt.nitbeg )
then
347 call
odrvd(neqpla,ia,ja,a,p1,ip1,nspp,isp1,1,flag)
360 call
sdrvd(neqpla,p1,ip1,ia,ja,a,right,zw,nspp,
361 * isp1,rsp1,esp,ipath,flag)
364 c
write(6,*)
'zw(i) i',i,zw(i)
374 c raspakovka reshenia
382 delpsi=dabs(psi(i,j)-zw(ieq))
383 errpss=dmax1(errpss,delpsi)
398 write(*,*)
'solint:errpss',errpss
417 include
'compol_add.inc'
419 common /comwrp/ rsp1,p1,ip1
421 real*8 zw(neqp),rsp1(nspp)
423 integer p1(neqp),ip1(neqp),isp1(nspp),ipath,flag,esp
425 equivalence(rsp1(1),isp1(1))
427 write(*,*)
'solext:enter'
429 if( itin/nitdel*nitdel+nitbeg .eq. itin
430 * .OR. itin.lt.nitbeg )
then
432 call
odrvd(neqpla,ia,ja,a,p1,ip1,nspp,isp1,1,flag)
445 call
sdrvd(neqpla,p1,ip1,ia,ja,a,right,zw,nspp,
446 * isp1,rsp1,esp,ipath,flag)
449 c
write(6,*)
'zw(i) i',i,zw(i)
452 write(*,*)
'sdrv: flag,esp',flag,esp
459 c raspakovka reshenia
472 psie(i,1)=psie(i,nt1)
490 include
'compol_add.inc'
492 common /comwrp/ rsp1,p1,ip1
494 real*8 zw(neqp),zyy(neqp),rsp1(nspp),wpp(neqp),wzz(neqp),
495 * wrr(neqp),zuu(neqp)
497 integer p1(neqp),ip1(neqp),isp1(nspp),ipath,flag,esp
499 equivalence(rsp1(1),isp1(1))
533 znes=znes+dapp(im)*zw(ic)
541 call
sdrvd(neqpla,p1,ip1,ia,ja,app0,zyy,zw,nspp,
542 * isp1,rsp1,esp,3,flag)
550 77 call
dpcgrc(ido,neqpla,zw,wpp,wrr,wzz,relerr,itmax)
568 znes=znes+a(im)*wpp(ic)
578 elseif(ido.eq.2)
then
580 call
sdrvd(neqpla,p1,ip1,ia,ja,app0,wrr,wzz,nspp,
581 * isp1,rsp1,esp,3,flag)
584 if(itk.eq.1) go to 1056
597 znes=znes+dapp(im)*wzz(ic)
605 call
sdrvd(neqpla,p1,ip1,ia,ja,app0,zyy,zuu,nspp,
606 * isp1,rsp1,esp,3,flag)
611 wzz(il)=wzz(il)-zuu(il)
682 include
'compol_add.inc'
685 real*8 zw(neqp),ssw(neqp)
686 c equivalence(a(1),vol1(1,1))
691 sqcen=sqcen+sq1(1,j)+sq4(1,j)
699 sqk=sq1(i,j)+sq2(i-1,j)+sq3(i-1,j-1)+sq4(i,j-1)
732 znev=znev+a(im)*zw(ic)
745 znmx=dmax1(znmx,znab)
761 include
'compol_add.inc'
763 common/comaaa/ a12(nrp,ntp),a23(nrp,ntp),a34(nrp,ntp),
764 + a14(nrp,ntp),a13(nrp,ntp),a24(nrp,ntp)
768 c equivalence(a(1),vol1(1,1))
773 zw(i,j)=psie(i,j)+clr*r(i,j)**2+clz*z(i,j)
790 aj=a12(1,j)+a24(1,j)+a34(1,j-1)+a13(1,j-1)
805 a2=a34(i-1,j-1)+a12(i-1,j)
807 a4=a23(i-1,j-1)+a14(i,j-1)
808 a6=a14(i,j)+a23(i-1,j)
810 a8=a34(i,j-1)+a12(i,j)
813 a5=-(a1+a2+a3+a4+a6+a7+a8+a9)
827 zpro(il)=a1*u1+a2*u2+a3*u3+a4*u4+a5*u5+a6*u6+a7*u7+a8*u8+a9*u9
861 include
'compol_add.inc'
865 c equivalence(a(1),vol1(1,1))
873 zw(il)=psie(i,j)+clr*r(i,j)**2+clz*z(i,j)
890 asum=asum+a(im)*zw(ic)
function numlin(i, j, nr, nt)
real(r8) function p(a, x, xr, xs, yr, ys, psi, psir, F_dia)
subroutine dpcgrc(IDO, N, X, P, R, Z, RELERR, ITMAX)
subroutine solvit(isol, zw)
subroutine f_solve(isol, wdm)