You are on page 1of 5

PROGRAM PROG19

THIS PROGRAM SOLVES A SYSTEM OF N FIRST ORDER DIFFENTIAL


EQUATIONS BY THE RUNGE-KU'VI'A FOURTH ORDER HETHOD.
THE EQUATIONS ARE OF THE FORM DXI/DT -
ETC.
c
c
c
c
c
c
c
c
100
110
120
140
5
XEND
TF
A SUBROUTINE THAT CALCULATES VALUES OF THE
N DERIVATIVES. IT IS INVOKED BY THE STATEMENT
CALL DERIVS (X, T, F, N)
INITIAL VALUE OF THE INDEPENDENT VARIABLE.
THE STEP SIZE, THE INCREMENT TO '1'0.
THE ARRA" THAT HOLDS THE INITIAL VALUES OF THE
FUNCTIONS .
AN ARRAY THAT RETURNS THE FINAL VALUES OF THE
FUNCTIONS .
AN ARRAY USED TO HOLD INTERMEDIATE VALUES DURING
CALCULATION. IT MUST BE DIMENSIONED OF SIZE
4 X N IN THE MAIN PROGRAM.
THE NUMBER OF EQUATIONS IN THE PROGRAM.
AN ARRAY THAT HOLDS VALUES OF THE DERIVATIVES.
FINAL VALUE OF THE INDEPENDENT VARIABLE.
EXTERNAL DERIVS
DIMENSION , FC 1:4)
REAL Kl, K2, K3, K4, K5
COMMON/DATAI/XO
COFOfON/DATA2/K1 , K2 , K3 , K4 , K5
COMHON/DATA3/TF
DATA N,TF/4, 10.0/
OPEN (CJNITI, FILE='PRN')
WRITE (1, 100)
FORMAT (15X, 'RUNGE-KUTTA FOURTH ORDER METHOD FOR A SYSTEM OF')
WRITE (1, 110)
FORMAT (25X, 'ORDINARY DIFFERENTIAL EQUATIONS' , / ,5X, 74
WRITE (1, 120)
FORMAT (18X, 'CONC. CA' ,3X, 'CONC. CC'
3X, 'CONC. CD' ,/5X, 74(1H) , / )
TOZ 0.0
H = 0.5
WRITE (1, 140) TO, (XO(I), 1 -
FORMAT (14X, F8.2, 5X, 4(F6.2, 5X))
CALL RKSYST (DERIVS, TO, H, XO, XEND,
XO(I) XEND(I)
END DO
100
F,
N)
150

160

WRITE (1, 150) TO, (XO(I), 1, N)

FORMAT (14X, F8.2, 5X, 4(F6.2, 5X))

IF (TO .LT. TF) THEN

ELSE

ENDIF

WRvrE (1, 160)

FORMAT (5X, 74(1H-))

FORM FEED THE PRINTING PAPER TO TOP OF THE NEXT PACE.

WRITE (1, CHAR(12)

CLOSE (UNIT = 1)

STOP

END

THIS PROGRAM SOLVES A SYSTEM OF N FIRST ORDER DIFFERENTIA&

EQUATIONS BY THE RUNGE-KUTTA FOURTH ORDER METHOD.

SUBROUTINE RKSYST (DERIVS, 'ro, H, XO, XEND, XWRK, F, N)

DIMENSION XO(I:N),

COMMON / DATA3 /TF

CALCULATE THE FIRST ESTIMATE OF THE DATA X' s

CALL DERIVS ( XO, TO, F, N)


DO I

= H * F(l)

= XO(I) +

XEND(I)

END DO

CALCULATE THE SECOND ESTIMATE , THE XEND VECTOR

HOLDS THE X-VALUES

CALL DERIVS (XEND, TO+H/2.O, F, N)

DO r

XO(I) +

END DO

CALCULATE THE THIRD ESTIMATE

CALL DERIVS (XEND, TO+H/2.O, F, N)

DO

XEND(I) = XO(I) +

END DO

CALCULATE THE FOURTH ESTIMATE

101

CALL DERIVS (XEND, TO+H,

DO 1

= F(l)

END DO

COMPUTE THE X VALUES AT THE END OF THE INTERVAL FROM A


WEIGHTED AVERAGE OF THE FOURTH ESTIMATES.

DO 1=1, N

XEND(

END DO

END

THIS PROGRAM DEFINES THE FUNCTIONS OF THE ORDINARY DIFFERENTIAL

EQUATIONS IN TERMS OF THE F' s AND THE X' s.

SUBROUTINE DERIVS (X, T, F, N)

DIMENSION

COMMON/DATA2/K1 , K2 , K3 , K4 , K5

REAL

RETURN

END

THIS STORES THE DATA FOR THE RATE CONSTANTS AND THE INITIAL

STARTING VALUES OF THE CONCENTRATIONS.

BLOCK DATA

DIMENSION XO(4)

COMMON/DATAI/XO

COMMON/DATA2/K1 , K2 , K4 , K5

REAL

DATA

DATA Kl/O. 4/,K2/O .16/,K3/O.13/ ,K4/O .08/ ,K5/O.10/

END

You might also like