Due to the lapse in federal government funding, NASA is not updating this website. We sincerely regret this inconvenience.
NASA Logo
Ocean Color Science Software

ocssw V2022
rk78cn.f
Go to the documentation of this file.
1  SUBROUTINE rk78cn
2 C VERSION OF 4/1/85
3 C PURPOSE
4 C COMPUTES THE FEHLBERG COEFFICIENTS FOR A RUNGE-KUTTA 78 INTEGRATOR
5 C INPUT
6 C NONE
7 C COMMON BLOCK OUTPUT
8 C CH, ALPH, BETA, NORDER, ORDRCP, NTIMES
9 C REFERENCES
10 C JPL EM 312/85-153, 20 APRIL 1987
11 C NASA TR R-287, OCTOBER 1968
12 C ANALYSIS
13 C J. H. KWOK - JPL
14 C PROGRAMMER
15 C J. H. KWOK - JPL
16 C PROGRAM MODIFICATIONS
17 C NONE
18 C COMMENTS
19 C THIS ROUTINE MUST BE CALLED BEFORE CALLING ROUTINE RK78
20 C
21  IMPLICIT DOUBLE PRECISION (a-h,o-z)
22  common/felcon/ch(13),alph(13),beta(13,12),ordrcp,norder,ntimes
23  DATA zero,one,two,three/0.d0,1.d0,2.d0,3.d0/
24  norder=8
25  ordrcp=one/norder
26  ntimes=13
27  DO 30 i=1,13
28  DO 40 j=1,12
29  40 beta(i,j)=zero
30  alph(i)=zero
31  30 ch(i)=zero
32  ch(6)=34.d0/105.d0
33  ch(7)=9.d0/35.d0
34  ch(8)=ch(7)
35  ch(9)=9.d0/280.d0
36  ch(10)=ch(9)
37  ch(12)=41.d0/840.d0
38  ch(13)=ch(12)
39  alph(2)=two/27.d0
40  alph(3)=one/9.d0
41  alph(4)=one/6.d0
42  alph(5)=5.d0/12.d0
43  alph(6)=.5d0
44  alph(7)=5.d0/6.d0
45  alph(8)=one/6.d0
46  alph(9)=two/three
47  alph(10)=one/three
48  alph(11)=one
49  alph(13)=one
50  beta(2,1)=two/27.d0
51  beta(3,1)=one/36.d0
52  beta(4,1)=one/24.d0
53  beta(5,1)=5.d0/12.d0
54  beta(6,1)=.5d-1
55  beta(7,1)=-25.d0/108.d0
56  beta(8,1)=31.d0/300.d0
57  beta(9,1)=two
58  beta(10,1)=-91.d0/108.d0
59  beta(11,1)=2383.d0/4100.d0
60  beta(12,1)=three/205.d0
61  beta(13,1)=-1777.d0/4100.d0
62  beta(3,2)=one/12.d0
63  beta(4,3)=one/8.d0
64  beta(5,3)=-25.d0/16.d0
65  beta(5,4)=-beta(5,3)
66  beta(6,4)=.25d0
67  beta(7,4)=125.d0/108.d0
68  beta(9,4)=-53.d0/6.d0
69  beta(10,4)=23.d0/108.d0
70  beta(11,4)=-341.d0/164.d0
71  beta(13,4)=beta(11,4)
72  beta(6,5)=.2d0
73  beta(7,5)=-65.d0/27.d0
74  beta(8,5)=61.d0/225.d0
75  beta(9,5)=704.d0/45.d0
76  beta(10,5)=-976.d0/135.d0
77  beta(11,5)=4496.d0/1025.d0
78  beta(13,5)=beta(11,5)
79  beta(7,6)=125.d0/54.d0
80  beta(8,6)=-two/9.d0
81  beta(9,6)=-107.d0/9.d0
82  beta(10,6)=311.d0/54.d0
83  beta(11,6)=-301.d0/82.d0
84  beta(12,6)=-6.d0/41.d0
85  beta(13,6)=-289.d0/82.d0
86  beta(8,7)=13.d0/900.d0
87  beta(9,7)=67.d0/90.d0
88  beta(10,7)=-19.d0/60.d0
89  beta(11,7)=2133.d0/4100.d0
90  beta(12,7)=-three/205.d0
91  beta(13,7)=2193.d0/4100.d0
92  beta(9,8)=three
93  beta(10,8)=17.d0/6.d0
94  beta(11,8)=45.d0/82.d0
95  beta(12,8)=-three/41.d0
96  beta(13,8)=51.d0/82.d0
97  beta(10,9)=-one/12.d0
98  beta(11,9)=45.d0/164.d0
99  beta(12,9)=three/41.d0
100  beta(13,9)=33.d0/164.d0
101  beta(11,10)=18.d0/41.d0
102  beta(12,10)=6.d0/41.d0
103  beta(13,10)=12.d0/41.d0
104  beta(13,12)=one
105  RETURN
106  END
subroutine rk78cn
Definition: rk78cn.f:2