5 SUBROUTINE dnsik(X,Y,YPRIME,NEQ,ICOPT,ID,RES,PSOL,WT,RPAR,IPAR,
6 * savr,delta,r,yic,ypic,pwk,wm,iwm,cj,sqrtn,rsqrtn,eplin,epcon,
7 * ratemx,maxit,stptol,icnflg,icnstr,iernew)
85 IMPLICIT DOUBLE PRECISION(a-h,o-z)
86 dimension y(*),yprime(*),wt(*),id(*),delta(*),r(*),savr(*)
87 dimension yic(*),ypic(*),pwk(*),wm(*),iwm(*), rpar(*),ipar(*)
91 parameter(lnni=19, lnps=21, llocwp=29, llciwp=30)
92 parameter(llsoff=35, lstol=14)
106 CALL dcopy(neq, delta, 1, savr, 1)
110 CALL
dfnrmk(neq, y, x, yprime, savr, r, cj, wt, sqrtn, rsqrtn,
111 * res, ires, psol, 1, ier, fnrm, eplin, wm(lwp), iwm(liwp),
113 iwm(lnps) = iwm(lnps) + 1
121 IF (fnrm .LE. epcon)
RETURN
126 iwm(lnni) = iwm(lnni) + 1
130 CALL
dslvk(neq, y, x, yprime, savr, delta, wt, wm, iwm,
131 * res, ires, psol, iersl, cj, eplin, sqrtn, rsqrtn, rhok,
133 IF (ires .NE. 0 .OR. iersl .NE. 0) go to 390
137 delnrm =
ddwnrm(neq,delta,wt,rpar,ipar)
138 IF (delnrm .EQ. 0.0d0)
RETURN
144 CALL
dlinsk(neq, y, x, yprime, savr, cj, delta, delnrm, wt,
145 * sqrtn, rsqrtn, lsoff, stptol, iret, res, ires, psol, wm, iwm,
146 * rhok, fnrm, icopt, id, wm(lwp), iwm(liwp), r, eplin, yic, ypic,
147 * pwk, icnflg, icnstr, rlx, rpar, ipar)
152 IF (iret .NE. 0) go to 390
156 IF (fnrm .LE. epcon)
RETURN
162 IF(m .GE. maxit) go to 380
166 CALL dcopy(neq, savr, 1, delta, 1)
171 380
IF (rate .LE. ratemx)
THEN
178 390
IF (ires .LE. -2 .OR. iersl .LT. 0)
THEN
182 IF (ires .EQ. 0 .AND. iersl .EQ. 1 .AND. m .GE. 2
183 1 .AND. rate .LT. 1.0d0) iernew = 1
subroutine dslvk(NEQ, Y, TN, YPRIME, SAVR, X, EWT, WM, IWM, RES, IRES, PSOL, IERSL, CJ, EPLIN, SQRTN, RSQRTN, RHOK, RPAR, IPAR)
std::string dimension(void) const
subroutine dlinsk(NEQ, Y, T, YPRIME, SAVR, CJ, P, PNRM, WT, SQRTN, RSQRTN, LSOFF, STPTOL, IRET, RES, IRES, PSOL, WM, IWM, RHOK, FNRM, ICOPT, ID, WP, IWP, R, EPLIN, YNEW, YPNEW, PWK, ICNFLG, ICNSTR, RLX, RPAR, IPAR)
subroutine dfnrmk(NEQ, Y, T, YPRIME, SAVR, R, CJ, WT, SQRTN, RSQRTN, RES, IRES, PSOL, IRIN, IER, FNORM, EPLIN, WP, IWP, PWK, RPAR, IPAR)
subroutine dnsik(X, Y, YPRIME, NEQ, ICOPT, ID, RES, PSOL, WT, RPAR, IPAR, SAVR, DELTA, R, YIC, YPIC, PWK, WM, IWM, CJ, SQRTN, RSQRTN, EPLIN, EPCON, RATEMX, MAXIT, STPTOL, ICNFLG, ICNSTR, IERNEW)
double precision function ddwnrm(NEQ, V, RWT, RPAR, IPAR)