Go to the documentation of this file. 1 SUBROUTINE rk78(DER,T,TOUT,N,X,H,RELERR,ABSERR,SP)
43 IMPLICIT DOUBLE PRECISION (a-h,o-z)
44 common/felcon/ch(13),alph(13),beta(13,12),ordrcp,norder,ntimes
45 dimension xdum(6),
f(6,13),x(*)
47 DATA zero,one/0.d0,1.d0/
53 DATA fact,small/0.7d0,1.d-8/
82 IF (dabs(dt).GT.dabs(tout-t)) dt=tout-t
86 IF (dabs(t-tout).LT.small)
GO TO 900
96 320 temp=temp+beta(k,j)*
f(i,j)
97 310 x(i)=xdum(i)+dt*temp
107 410 temp=temp+ch(l)*
f(i,l)
108 400 x(i)=xdum(i)+dt*temp
114 ter=dabs((
f(i,1)+
f(i,11)-
f(i,12)-
f(i,13))*ch(12)*dt)
115 tol=dabs(x(i))*relerr+abserr
122 dt=
fact*dt*(one/err)**ordrcp
134 IF (err.GT.one.OR.istart.EQ.1)
THEN
146 IF (sdt.GT.zero.AND.t.GE.tpr)
GO TO 200
147 IF (sdt.LT.zero.AND.t.LE.tpr)
GO TO 200
151 IF (istart.EQ.1)
GO TO 220
subroutine const(NGAUSS, NMAX, MMAX, P, X, W, AN, ANN, S, SS, NP, EPS)
subroutine rk78(DER, T, TOUT, N, X, H, RELERR, ABSERR, SP)