Skip to content

Commit 679aeee

Browse files
committed
updated info, attribution, citation, etc for rksuite
1 parent f5dbc68 commit 679aeee

3 files changed

Lines changed: 146 additions & 21 deletions

File tree

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,8 @@ make
1717
```
1818

1919
To build the fortran only run `make ptm`, to build/install the Python module only run `make python`, and to convert the Markdown documents to PDF use `make docs`.
20-
The documentation conversion uses the Node.js `mdpdf` module, which can be installed using `npm install mdpdf -g`. PDF documentation is placed in the `docs` directory.
20+
The documentation conversion uses the Node.js `mdpdf` module, which can be installed using `npm install mdpdf -g`. PDF documentation is placed in the `docs` directory.
21+
22+
### RKSUITE
23+
In addition to the basic RK4 integrator, SHIELDS-PTM provides an interface to the RKSUITE library allowing users to select higher-order, adaptive integrators.
24+
If these integrators are used, RKSUITE and its originators should be credited. For details, please see [rksuite_readme](src/rksuite_readme).

src/rksuite.f90

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module rksuite_90_prec
55
!
66
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
77
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
8-
! see main doc for contact details
8+
! see rksuite_readme for contact details
99
!
1010
integer, parameter :: wp = kind(1.d0)
1111

@@ -18,7 +18,7 @@ module rksuite_90
1818
!
1919
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
2020
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
21-
! see main doc for contact details
21+
! see rksuite_readme for contact details
2222
!
2323
use rksuite_90_prec, only:wp
2424

@@ -132,7 +132,7 @@ subroutine machine_const(round_off,sqrrmc,cubrmc,sqtiny,outch)
132132
!
133133
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
134134
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
135-
! see main doc for contact details
135+
! see rksuite_readme for contact details
136136
!
137137
real(kind=wp), intent(out) :: round_off, sqrrmc, cubrmc, sqtiny
138138
integer, intent(out) :: outch
@@ -160,7 +160,7 @@ subroutine method_const(rk_method, a, b, c, bhat, r, e, ptr, no_of_stages, &
160160
!
161161
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
162162
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
163-
! see main doc for contact details
163+
! see rksuite_readme for contact details
164164
!
165165
integer, intent(in) :: rk_method
166166
real(kind=wp), intent(out) :: a(13,13), b(13), c(13), bhat(13), r(11,6), e(7)
@@ -594,7 +594,7 @@ subroutine setup_r1(comm,t_start,y_start,t_end,tolerance,thresholds, &
594594
!
595595
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
596596
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
597-
! see main doc for contact details
597+
! see rksuite_readme for contact details
598598
!
599599
real(kind=wp), intent(in) :: t_end, t_start !indep!
600600
real(kind=wp), intent(in) :: tolerance
@@ -857,7 +857,7 @@ subroutine collect_garbage_r1(comm)
857857
!
858858
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
859859
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
860-
! see main doc for contact details
860+
! see rksuite_readme for contact details
861861
!
862862
type(rk_comm_real_1d) :: comm
863863
!
@@ -934,7 +934,7 @@ recursive subroutine range_integrate_r1(comm,f,t_want,t_got,y_got,yderiv_got, &
934934
!
935935
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
936936
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
937-
! see main doc for contact details
937+
! see rksuite_readme for contact details
938938
!
939939
real(kind=wp), intent(in) :: t_want !indep!
940940
real(kind=wp), intent(out) :: t_got !indep!
@@ -1171,7 +1171,7 @@ recursive subroutine step_integrate_r1(comm,f,t_now,y_now,yderiv_now,flag)
11711171
!
11721172
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
11731173
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
1174-
! see main doc for contact details
1174+
! see rksuite_readme for contact details
11751175
!
11761176
real(kind=wp), intent(out) :: t_now !indep!
11771177
integer, intent(out), optional :: flag
@@ -1565,7 +1565,7 @@ subroutine truerr_r1(comm,f,ier)
15651565
!
15661566
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
15671567
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
1568-
! see main doc for contact details
1568+
! see rksuite_readme for contact details
15691569
!
15701570
type(rk_comm_real_1d), intent(inout) :: comm
15711571
integer, intent(inout) :: ier
@@ -1697,7 +1697,7 @@ subroutine step_r1(comm,f,tnow,y,yp,stages,tol,htry,y_new, &
16971697
!
16981698
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
16991699
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
1700-
! see main doc for contact details
1700+
! see rksuite_readme for contact details
17011701
!
17021702
type(rk_comm_real_1d), intent(inout), target :: comm
17031703
real(kind=wp), intent(out) :: err
@@ -1947,7 +1947,7 @@ subroutine stiff_r1(comm,f,toomch,sure_stiff)
19471947
!
19481948
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
19491949
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
1950-
! see main doc for contact details
1950+
! see rksuite_readme for contact details
19511951
!
19521952
type(rk_comm_real_1d), intent(inout), target :: comm
19531953
logical, intent(in) :: toomch
@@ -2330,7 +2330,7 @@ subroutine statistics_r1(comm,total_f_calls,step_cost,waste,num_succ_steps,&
23302330
!
23312331
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
23322332
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
2333-
! see main doc for contact details
2333+
! see rksuite_readme for contact details
23342334
!
23352335
type(rk_comm_real_1d), intent(inout) :: comm
23362336
real(kind=wp), optional, intent(out) :: h_next !indep!
@@ -2421,7 +2421,7 @@ subroutine global_error_r1(comm,rms_error,max_error,t_max_error)
24212421
!
24222422
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
24232423
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
2424-
! see main doc for contact details
2424+
! see rksuite_readme for contact details
24252425
!
24262426
type(rk_comm_real_1d), intent(inout) :: comm
24272427
real(kind=wp), optional, intent(out) :: max_error
@@ -2524,7 +2524,7 @@ subroutine reset_t_end_r1(comm,t_end_new)
25242524
!
25252525
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
25262526
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
2527-
! see main doc for contact details
2527+
! see rksuite_readme for contact details
25282528
!
25292529
real(kind=wp), intent(in) :: t_end_new !indep!
25302530
type(rk_comm_real_1d), intent(inout) :: comm
@@ -2615,7 +2615,7 @@ subroutine interpolate_r1(comm,f,t_want,y_want,yderiv_want)
26152615
!
26162616
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
26172617
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
2618-
! see main doc for contact details
2618+
! see rksuite_readme for contact details
26192619
!
26202620
real(kind=wp), intent(in) :: t_want !indep!
26212621
type(rk_comm_real_1d), intent(inout), target :: comm
@@ -2947,7 +2947,7 @@ subroutine rkmsg_r1(ier,srname,nrec,comm,flag)
29472947
!
29482948
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
29492949
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
2950-
! see main doc for contact details
2950+
! see rksuite_readme for contact details
29512951
!
29522952
integer, intent(in) :: ier, nrec
29532953
integer, intent(out), optional :: flag
@@ -3033,7 +3033,7 @@ subroutine set_saved_state_r1(srname,state,comm)
30333033
!
30343034
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
30353035
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
3036-
! see main doc for contact details
3036+
! see rksuite_readme for contact details
30373037
!
30383038
integer, intent(in) :: state
30393039
type(rk_comm_real_1d), intent(inout) :: comm
@@ -3066,7 +3066,7 @@ function get_saved_state_r1(srname,save_states)
30663066
!
30673067
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
30683068
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
3069-
! see main doc for contact details
3069+
! see rksuite_readme for contact details
30703070
!
30713071
integer, dimension(7), intent(inout) :: save_states
30723072
character(len=*), intent(in) :: srname
@@ -3104,7 +3104,7 @@ function get_saved_fatal_r1(comm)
31043104
!
31053105
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
31063106
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
3107-
! see main doc for contact details
3107+
! see rksuite_readme for contact details
31083108
!
31093109
type(rk_comm_real_1d), intent(in) :: comm
31103110
logical :: get_saved_fatal_r1
@@ -3136,7 +3136,7 @@ function get_stop_on_fatal_r1(comm)
31363136
!
31373137
! Authors: R.W. Brankin (NAG Ltd., Oxford, England)
31383138
! I. Gladwell (Math Dept., SMU, Dallas, TX, USA)
3139-
! see main doc for contact details
3139+
! see rksuite_readme for contact details
31403140
!
31413141
type(rk_comm_real_1d), intent(in) :: comm
31423142
logical get_stop_on_fatal_r1

src/rksuite_readme

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
The file 'rksuite.f90' includes routines from the RKSUITE software made available
2+
at www.netlib.org/ode/rkuite. The netlib-provided README file is duplicated below.
3+
The full RKSUITE library, including the templates, documentation, and F90 and C++
4+
implementations, can be found at the specified URL.
5+
6+
7+
**********************RKSUITE read.me file *************************
8+
****************************************
9+
10+
11+
RKSUITE Release 1.0 November 1991
12+
13+
written by
14+
15+
R.W. Brankin (*), I. Gladwell(**), and L.F. Shampine (**)
16+
17+
(*) Numerical Algorithms Group Ltd.
18+
Wilkinson House
19+
Jordan Hill Road
20+
Oxford OX2 8DR
21+
U.K.
22+
email: richard@nag.co.uk
23+
na.brankin@na-net.ornl.gov
24+
International phone: + 44 865 511245
25+
International fax: + 44 865 310139
26+
27+
(**) Department of Mathematics
28+
Southern Methodist University
29+
Dallas, Texas 75275
30+
U.S.A.
31+
email: h5nr1001@vm.cis.smu.edu
32+
U.S. phone: (214) 692-2542
33+
U.S. fax: (214) 692-4138
34+
35+
36+
RKSUITE is a suite of codes based on Runge-Kutta methods for the numerical
37+
solution of the initial value problem for a first order system of ordinary
38+
differential equations. It is the result of decades of research and
39+
development of such methods and software by the authors. It supersedes
40+
some very widely used codes written by the authors and their coauthors,
41+
namely, the RKF45 code that is available in several books and its descendant
42+
DDERKF in the SLATEC library, and D02PAF and the associated codes in the NAG
43+
Fortran library.
44+
45+
RKSUITE is being made available free of charge to the scientific community as
46+
a public service. It is expected that anyone making substantial use of the
47+
software will acknowledge this use, and in particular, give a proper citation
48+
in any publications resulting from this use. A suitable reference is:
49+
50+
R.W. Brankin, I. Gladwell, and L.F. Shampine, RKSUITE: a suite
51+
of Runge-Kutta codes for the initial value problem for ODEs,
52+
Softreport 92-S1, Department of Mathematics, Southern Methodist
53+
University, Dallas, Texas, U.S.A, 1992.
54+
55+
The authors have tested the codes on a variety of problems, computers, and
56+
compilers. The codes are believed to perform correctly on problems for
57+
which they were designed. Of course, errors are possible in a software
58+
project of this size. The authors assume no responsibility for the
59+
consequences of errors resulting from the use of this free software. They
60+
would greatly appreciate notification of unsatisfactory performance that
61+
might indicate the presence of a bug. Constructive criticism would also be
62+
much appreciated.
63+
64+
Future releases are planned that will add capabilities to the suite and
65+
correct any errors that might be discovered.
66+
67+
============================================
68+
============================================
69+
YOU SHOULD READ THE DOCUMENTATION CAREFULLY.
70+
============================================
71+
============================================
72+
73+
74+
===================================================
75+
===================================================
76+
THE EASIEST WAY TO SOLVE A PROBLEM IS OFTEN TO EDIT
77+
ONE OF THE TEMPLATES PROVIDED IN THIS DIRECTORY.
78+
===================================================
79+
===================================================
80+
81+
82+
Installation Details
83+
84+
All machine-dependent aspects of the suite have been isolated in the
85+
subroutine ENVIRN found in the rksuite.for file. Some environmental
86+
parameters must be specified in this subroutine. The values in the
87+
distribution version are those appropriate to the IEEE arithmetic
88+
standard. They must be altered, if necessary, to values appropriate to
89+
the computing system you are using before calling the codes of the suite.
90+
If the IEEE arithmetic standard values are not appropriate for your
91+
system, appropriate values can be often be obtained by calling routines
92+
named in the Comments of ENVIRN.
93+
94+
================================================================
95+
================================================================
96+
TO MAKE SURE THAT YOU SPECIFY THESE MACHINE AND INSTALLATION
97+
DEPENDENT QUANTITIES PROPERLY, WHEN THE DISTRIBUTION VERSION IS
98+
CALLED IT WRITES A MESSAGE ABOUT THE QUANTITIES TO THE STANDARD
99+
OUTPUT CHANNEL THEN TERMINATES THE RUN. THE VALUES PROVIDED IN
100+
THE DISTRIBUTION VERSION SHOULD BE ALTERED, IF NECESSARY, THEN
101+
THE "WRITE" AND "STOP" STATEMENTS MUST BE COMMENTED OUT.
102+
================================================================
103+
================================================================
104+
105+
The distribution version of rksuite.for is in DOUBLE PRECISION. A REAL
106+
version is also available. When solving ordinary differential equations
107+
on many popular computers, it is advisable to use DOUBLE PRECISION. However,
108+
if DOUBLE PRECISION provides more than about 20 significant figures, the
109+
REAL version will usually be satisfactory, provided that the accuracy
110+
required of the solution is meaningful in the REAL machine precision.
111+
112+
The values of the coefficients of the Runge-Kutta methods are supplied in
113+
the subroutine CONST as DOUBLE PRECISION constants. Some of the coefficients
114+
are given to 30 significant figures. It is likely that your compiler will
115+
round these constants correctly to the nearest representable machine number.
116+
If possible, you should request your compiler to round the constants rather
117+
than truncate them. Your compiler might warn you that it has shortened
118+
the representation of the constants. The warning does not imply anything is
119+
wrong, but you might wish to take action to avoid receiving such messages
120+
every time you compile RKSUITE.
121+

0 commit comments

Comments
 (0)