5 * Revision 1.9 2000/07/25 14:53:05 mclareni
6 * Version 7.51 from author
9 *#include "sys/CERNLIB_machine.h"
10 #include "isajet/pilot.h"
11 #if defined(CERNLIB_NOCERN)
12 C-----------------------------------------------------------------------
13 SUBROUTINE RKSTP(N,H,X,Y,SUB,W)
14 C-----------------------------------------------------------------------
16 C From CERN Program Library, routine D209, with error message for
17 C N.LT.1 replaced by STOP 99 to eliminate Kernlib error routine.
23 C ******************************************************************
25 C THIS SUBROUTINE REPLACES X BY X+H AND ADVANCES THE SOLUTION OF THE
26 C SYSTEM OF DIFFERENTIAL EQUATIONS DY/DX=F(X,Y) FROM Y(X) TO Y(X+H)
27 C USING A FIFTH-ORDER RUNGE-KUTTA METHOD.
29 C SUB IS THE NAME OF A SUBROUTINE SUB(X,Y,F) WHICH SETS THE VECTOR F
30 C TO THE DERIVATIVE AT X OF THE VECTOR Y.
32 C W IS A WORKING-SPACE ARRAY, TREATED AS CONSISTING OF THREE CONSEC-
33 C UTIVE WORKING VECTORS OF LENGTH N.
35 C ******************************************************************
49 CALL SUB(XH2,W(1,2),W(1,3))
51 W(J,1)=W(J,1)+2.*W(J,3)
54 CALL SUB(XH2,W(1,2),W(1,3))
56 W(J,1)=W(J,1)+2.*W(J,3)
57 W(J,2)=Y(J)+HLOCAL*W(J,3)
59 CALL SUB(XH,W(1,2),W(1,3))
61 Y(J)=Y(J)+H6*(W(J,1)+W(J,3))