Metalman9
Technical User
- Dec 16, 2013
- 2
So here I am trying to solve Rayleigh's differential equation using Rungen-Kutta 4th order analytic method.
This is what the exercise gives me: X(0 to 40), Y1(0)=0.1, Y2(0)=0, H=0.1, μ=0.5
This is what I ve written and gives me this error:
Any ideas why am I exceeding array bounds?
This is what the exercise gives me: X(0 to 40), Y1(0)=0.1, Y2(0)=0, H=0.1, μ=0.5
This is what I ve written and gives me this error:
Code:
IMPLICIT REAL*8(A-K,O-Z)
DIMENSION X(401)
DIMENSION Y1(401)
DIMENSION Y2(401)
F2(X,Y1,Y2)=0.5D0*Y2-(0.5D0/3.0D0*(Y2**3))-Y1
H=0.1D0
X(0)=0
Y1(0)=0.01D0
Y2(0)=0
DO I=1,400
X(I)=X(I-1)+H
END DO
DO I=0,400
K1=H*Y2(I)
L1=H*F2(X(I),Y1(I),Y2(I))
K2=H*(Y2(I)+L1/2.0D0)
L2=H*F2(X(I)+H/2.0D0,Y1(I)+K1/2.0D0,Y2(I)+L1/2.0D0)
K3=H*(Y2(I)+L2/2.0D0)
L3=H*F2(X(I)+(H/2.0D0),Y1(I)+(K2/2.0D0),Y2(I)+(L2/2.0D0))
K4=H*(Y2(I)+L3)
L4=H*F2(X(I)+H,Y1(I)+K3,Y2(I)+L3)
Y1(I+1)=Y1(I)+(1.0D0/6.0D0)*(K1+2.0D0*K2+2.0D0*K3+K4)
Y2(I+1)=Y2(I)+(1.0D0/6.0D0)*(K1+2.0D0*K2+2.0D0*K3+K4)
END DO
WRITE(*,30)X(I),Y1(I),Y2(I)
30 FORMAT(2X,F8.6,2X,F8.6,2X,F8.6)
STOP
END
Any ideas why am I exceeding array bounds?