summaryrefslogtreecommitdiff
path: root/libs/numeric/odeint/performance/rk4_lorenz.f
diff options
context:
space:
mode:
Diffstat (limited to 'libs/numeric/odeint/performance/rk4_lorenz.f')
-rw-r--r--libs/numeric/odeint/performance/rk4_lorenz.f53
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
-