diff options
Diffstat (limited to 'libs/numeric/odeint/performance/rk4_lorenz.f')
-rw-r--r-- | libs/numeric/odeint/performance/rk4_lorenz.f | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/libs/numeric/odeint/performance/rk4_lorenz.f b/libs/numeric/odeint/performance/rk4_lorenz.f deleted file mode 100644 index d47e53298..000000000 --- a/libs/numeric/odeint/performance/rk4_lorenz.f +++ /dev/null @@ -1,53 +0,0 @@ -C -C NUMERICAL MATHEMATICS AND COMPUTING, CHENEY/KINCAID, (c) 1985 -C -C FILE: rk4sys.f -C -C RUNGE-KUTTA METHOD OF ORDER 4 FOR A SYSTEM OF ODE'S (RK4SYS,XPSYS) -C - DOUBLE PRECISION X,T,H - DIMENSION X(3) - DATA N/3/, T/0.0/, X/8.5,3.1,1.2/ - DATA H/1E-10/, NSTEP/20000000/ - CALL RK4SYS(N,T,X,H,NSTEP) - STOP - END - - SUBROUTINE XPSYS(X,F) - DOUBLE PRECISION X,F - DIMENSION X(3),F(3) - F(1) = 10.0 * ( X(2) - X(1) ) - F(2) = 28.0 * X(1) - X(2) - X(1) * X(3) - F(3) = X(1)*X(2) - (8.0/3.0) * X(3) - RETURN - END - - SUBROUTINE RK4SYS(N,T,X,H,NSTEP) - DOUBLE PRECISION X,Y,T,H,F1,F2,F3,F4 - DIMENSION X(N),Y(N),F1(N),F2(N),F3(N),F4(N) - PRINT 7,T,(X(I),I=1,N) - H2 = 0.5*H - START = T - DO 6 K = 1,NSTEP - CALL XPSYS(X,F1) - DO 2 I = 1,N - Y(I) = X(I) + H2*F1(I) - 2 CONTINUE - CALL XPSYS(Y,F2) - DO 3 I = 1,N - Y(I) = X(I) + H2*F2(I) - 3 CONTINUE - CALL XPSYS(Y,F3) - DO 4 I = 1,N - Y(I) = X(I) + H*F3(I) - 4 CONTINUE - CALL XPSYS(Y,F4) - DO 5 I = 1,N - X(I) = X(I) + H*(F1(I) + 2.0*(F2(I) + F3(I)) + F4(I))/6.0 - 5 CONTINUE - 6 CONTINUE - PRINT 7,T,(X(I),I = 1,N) - 7 FORMAT(2X,'T,X:',E10.3,5(2X,E22.14)) - RETURN - END - |