5 SUBROUTINE dnsid(X,Y,YPRIME,NEQ,ICOPT,ID,RES,WT,RPAR,IPAR,
6 * DELTA,R,YIC,YPIC,WM,IWM,CJ,EPCON,RATEMX,MAXIT,STPTOL,
7 * ICNFLG,ICNSTR,IERNEW)
77 IMPLICIT DOUBLE PRECISION(a-h,o-z)
78 dimension y(*),yprime(*),wt(*),r(*)
79 dimension id(*),delta(*), yic(*), ypic(*)
80 dimension wm(*),iwm(*), rpar(*),ipar(*)
84 parameter(lnni=19, llsoff=35)
96 CALL dslvd (neq, delta, wm, iwm)
100 delnrm =
ddwnrm(neq,delta,wt,rpar,ipar)
102 IF (fnrm .LE. epcon)
RETURN
107 iwm(lnni) = iwm(lnni) + 1
113 CALL dlinsd (neq, y, x, yprime, cj, delta, delnrm, wt, lsoff,
114 * stptol, iret, res, ires, wm, iwm, fnrm, icopt, id,
115 * r, yic, ypic, icnflg, icnstr, rlx, rpar, ipar)
120 IF (iret .NE. 0)
GO TO 390
124 IF (fnrm .LE. epcon)
RETURN
130 IF (m .GE. maxit)
GO TO 380
135 CALL dcopy (neq, r, 1, delta, 1)
141 380
IF (rate .LE. ratemx)
THEN
148 390
IF (ires .LE. -2)
THEN
double precision function ddwnrm(NEQ, V, RWT, RPAR, IPAR)
subroutine dlinsd(NEQ, Y, T, YPRIME, CJ, P, PNRM, WT, LSOFF, STPTOL, IRET, RES, IRES, WM, IWM, FNRM, ICOPT, ID, R, YNEW, YPNEW, ICNFLG, ICNSTR, RLX, RPAR, IPAR)
subroutine dnsid(X, Y, YPRIME, NEQ, ICOPT, ID, RES, WT, RPAR, IPAR, DELTA, R, YIC, YPIC, WM, IWM, CJ, EPCON, RATEMX, MAXIT, STPTOL, ICNFLG, ICNSTR, IERNEW)
subroutine dslvd(NEQ, DELTA, WM, IWM)