22 SUBROUTINE evslv( NLES, NREG, TSTEP0, TSTEP, SIGM,
23 * nj, volk, volkp1, res,
24 * pspk, pspkp1, crpk, crpkp1, crpkp,
25 * nout, nter, keypri, ereve )
27 IMPLICIT REAL*8( a-h, o-z )
38 dimension res(njlim), volk(njlim), volkp1(njlim)
39 dimension pspk(njlim), pspkp1(njlim)
40 dimension crpk(njlim), crpkp1(njlim), crpkp(njlim)
42 REAL*8 a(nnlim), rsp(nsp), b(njlim)
43 INTEGER pp(njlim),
p(njlim), ip(njlim),
44 * ia(njlim1), ja(nnlim), isp(nsp)
46 COMMON /spa_mat/ a, ia, ja
47 COMMON /sparsp/ rsp, pp,
p, ip
49 equivalence(rsp(1),isp(1))
80 IF( nreg.EQ. 1 ) a(j) = a(j) + dpsidj(i,jaj)
81 IF( i .EQ.jaj ) a(j) = a(j) + tstep*sigm*res(i)
96 IF( nreg.EQ. 1 ) a(j) = a(j) + dpsidj(i,jaj)
97 IF( i .EQ.jaj ) a(j) = a(j) + tstep*sigm*res(i)
109 IF((nles.NE.0).AND.(nles.NE.1).AND.(nles.NE.2))
THEN
110 WRITE(*,*)
'PARAMETER NLES = ', nles
111 WRITE(*,*)
'IT IS WRONG. PROGRAM INTERRUPT'
121 rs1 = rs1 + crpk(j) * ppind(i,j)
122 IF( nreg.EQ.1 ) rs2 = rs2 + crpkp(j) * dpsidj(i,j)
125 b(i) = - tstep*res(i)*(1.d0-sigm)*crpk(i)
126 * + tstep*(sigm*volkp1(i)+(1.d0-sigm)*volk(i))
128 * - (pspkp1(i) - pspk(i)) * tstep/tstep0
130 IF( nreg.EQ.1 ) b(i) = b(i) + rs2
139 call
sdrvd(nj,
p,ip,ia,ja,a,b,crpkp1,nsp,
140 * isp,rsp,nesp,npath,nflag)
165 rs1 = rs1 + (crpkp1(j) - crpk(j)) * ppind(i,j)
168 bzz = - res(i)*tstep*(1.d0 - sigm)* crpk(i)
169 * - res(i)*tstep* sigm * crpkp1(i)
170 * + tstep*(1.d0 - sigm)* volk(i)
171 * + tstep* sigm * volkp1(i)
173 * - (pspkp1(i) - pspk(i)) * tstep / tstep0
176 IF( ttt.GT.ereve ) ereve = ttt
187 WRITE(*,*)
'ATTENTION ESP(SDRVD) = ', nesp
188 WRITE(*,*)
'IT IS WRONG. PROGRAM INTERRUPT'
195 IF( nflag.NE.0 )
THEN
196 WRITE(*,*)
'ATTENTION FLAG(SDRVD) = ', nflag
197 WRITE(*,*)
'IT IS WRONG. PROGRAM INTERRUPT'
subroutine evslv(NLES, NREG, TSTEP0, TSTEP, SIGM, NJ, VOLK, VOLKP1, RES, PSPK, PSPKP1, CRPK, CRPKP1, CRPKP, NOUT, NTER, KEYPRI, EREVE)
real(r8) function p(a, x, xr, xs, yr, ys, psi, psir, F_dia)