-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRK23.SIF
255 lines (213 loc) · 6.57 KB
/
RK23.SIF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
***************************
* SET UP THE INITIAL DATA *
***************************
NAME RK23
* Problem :
* *********
* Find coefficients for an embedded pair of explicit 2nd
* and 3rd order Runge Kutta Method such that the leading
* term in the local truncation error is minimized.
* Source:
* Similar ideas for 4th and 5th order pairs are discussed in:
* Hairer, Norsett and Wanner, Solving Ordinary Differential
* Equations I, Springer 1980, page 158 ff.
* SIF input: S. Leyffer, January 1997.
* classification LOR2-RN-17-11
* ... COMPUTED PARAMETERS
RE ONE 1.0
RE THREE 3.0
RE FOUR 4.0
RE SIX 6.0
R/ ONETHIRD ONE THREE
R/ ONESIXTH ONE SIX
R/ FOURSIXTH FOUR SIX
VARIABLES
* ... the Butcher array of the embedded pair
C2
A21
C3
A31
A32
B1
B2
B3
* ... the next 3 variables are the b-values of the 3rd order methods
BB1
BB2
BB3
* ... artificial variables that model |ti| = TPi + TMi, ti = TPi - TMi
TP1
TM1
TP2
TM2
TP3
TM3
GROUPS
* ... objective is linear
N OBJ TP1 1.0 TM1 1.0
N OBJ TP2 1.0 TM2 1.0
N OBJ TP3 1.0 TM3 1.0
* ... row sum condition (LINEAR)
E ROWS1 A21 1.0 C2 -1.0
E ROWS2 A31 1.0 A32 1.0
E ROWS2 C3 -1.0
* ... first order conditions (LINEAR)
E FIRST2 B1 1.0 B2 1.0
E FIRST2 B3 1.0
E FIRST3 BB1 1.0 BB2 1.0
E FIRST3 BB3 1.0
* ... second order conditions (NONLINEAR)
E SECND2
E SECND3
* ... third order conditions (NONLINEAR)
E THIRD31
E THIRD32
* ... artificial constraints (NONLINEAR)
E ART1 TP1 1.0 TM2 -1.0
E ART2 TP2 1.0 TM2 -1.0
E ART3 TP3 1.0 TM3 -1.0
CONSTANTS
RK23 ROWS1 0.0
RK23 ROWS2 0.0
RK23 FIRST2 1.0
RK23 FIRST3 1.0
RK23 SECND2 0.5
RK23 SECND3 0.5
Z RK23 THIRD31 ONETHIRD
Z RK23 THIRD32 ONESIXTH
RK23 ART1 1.0
RK23 ART2 1.0
RK23 ART3 1.0
BOUNDS
FR RK23 'DEFAULT'
LO RK23 TP1 0.0
LO RK23 TM1 0.0
LO RK23 TP2 0.0
LO RK23 TM2 0.0
LO RK23 TP3 0.0
LO RK23 TM3 0.0
START POINT
* ... uncomment following card to start with variables = 0
* RK23 'DEFAULT'
* ... uncomment following cards to start at classical RK23 (feasible)
RK23 C2 1.0
RK23 A21 1.0
RK23 C3 0.5
RK23 A31 0.25
RK23 A32 0.25
RK23 B1 0.5
RK23 B2 0.5
RK23 B3 0.0
ZV RK23 BB1 ONESIXTH
ZV RK23 BB2 ONESIXTH
ZV RK23 BB3 FOURSIXTH
ELEMENT TYPE
EV PROD V1 V2
EV PRODS W1 W2
EV PRODQ X1 X2
EV TPROD Y1 Y2
EV TPROD Y3
EV QPROD Z1 Z2
EV QPROD Z3 Z4
EV TPRODS U1 U2
EV TPRODS U3
ELEMENT USES
T E1 PROD
V E1 V1 B2
V E1 V2 C2
T E2 PROD
V E2 V1 B3
V E2 V2 C3
T E3 PROD
V E3 V1 BB2
V E3 V2 C2
T E4 PROD
V E4 V1 BB3
V E4 V2 C3
T E5 PRODS
V E5 W1 BB2
V E5 W2 C2
T E6 PRODS
V E6 W1 BB3
V E6 W2 C3
T E7 TPROD
V E7 Y1 BB3
V E7 Y2 A32
V E7 Y3 C2
T E8 PRODQ
V E8 X1 BB2
V E8 X2 C2
T E9 PRODQ
V E9 X1 BB3
V E9 X2 C3
T E10 QPROD
V E10 Z1 BB3
V E10 Z2 C3
V E10 Z3 A32
V E10 Z4 C2
T E11 TPRODS
V E11 U1 BB3
V E11 U2 A32
V E11 U3 C2
GROUP USES
E SECND2 E1 E2
E SECND3 E3 E4
E THIRD31 E5 E6
E THIRD32 E7
E ART1 E8 4.0 E9 4.0
E ART2 E10 8.0
E ART3 E11 12.0
ENDATA
***********************
* SET UP THE FUNCTION *
* AND RANGE ROUTINES *
***********************
ELEMENTS RK23
INDIVIDUALS
T PROD
F V1*V2
G V1 V2
G V2 V1
H V1 V2 1.0
T PRODS
F W1*(W2**2.0)
G W1 W2**2
G W2 W1*2.0*W2
H W1 W2 2.0*W2
H W2 W2 2.0*W1
T PRODQ
F X1*(X2**3.0)
G X1 X2**3.0
G X2 X1*3.0*(X2**2.0)
H X1 X2 3.0*(X2**2.0)
H X2 X2 X1*6.0*X2
T TPROD
F Y1*Y2*Y3
G Y1 Y2*Y3
G Y2 Y1*Y3
G Y3 Y1*Y2
H Y1 Y2 Y3
H Y1 Y3 Y2
H Y2 Y3 Y1
T QPROD
F Z1*Z2*Z3*Z4
G Z1 Z2*Z3*Z4
G Z2 Z1*Z3*Z4
G Z3 Z1*Z2*Z4
G Z4 Z1*Z2*Z3
H Z1 Z2 Z3*Z4
H Z1 Z3 Z2*Z4
H Z1 Z4 Z2*Z3
H Z2 Z3 Z1*Z4
H Z2 Z4 Z1*Z3
H Z3 Z4 Z1*Z2
T TPRODS
F U1*U2*(U3**2.0)
G U1 U2*(U3**2.0)
G U2 U1*(U3**2.0)
G U3 U1*U2*2.0*U3
H U1 U2 U3**2.0
H U1 U3 U2*2.0*U3
H U2 U3 U1*2.0*U3
H U3 U3 U1*U2*2.0
ENDATA