|
54 | 54 | a1512, a1513, c16, a1601, a1604, a1605, a1606, a1607, a1608, a1609, |
55 | 55 | a1611, a1612, a1613 = integ.tab.extra |
56 | 56 |
|
57 | | - @unpack k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, uprev, f, t, p = integ |
| 57 | + @unpack k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, uprev, f, tprev, p = integ |
58 | 58 |
|
59 | 59 | k11 = f( |
60 | 60 | uprev + |
61 | 61 | dt * (a1101 * k1 + a1104 * k4 + a1105 * k5 + a1106 * k6 + |
62 | 62 | a1107 * k7 + a1108 * k8 + a1109 * k9), |
63 | 63 | p, |
64 | | - t + c11 * dt) |
| 64 | + tprev + c11 * dt) |
65 | 65 | k12 = f( |
66 | 66 | uprev + |
67 | 67 | dt * (a1201 * k1 + a1204 * k4 + a1205 * k5 + a1206 * k6 + |
68 | 68 | a1207 * k7 + a1208 * k8 + a1209 * k9 + a1211 * k11), |
69 | 69 | p, |
70 | | - t + c12 * dt) |
| 70 | + tprev + c12 * dt) |
71 | 71 | k13 = f( |
72 | 72 | uprev + |
73 | 73 | dt * (a1301 * k1 + a1304 * k4 + a1305 * k5 + a1306 * k6 + |
74 | 74 | a1307 * k7 + a1308 * k8 + a1309 * k9 + a1311 * k11 + |
75 | 75 | a1312 * k12), |
76 | 76 | p, |
77 | | - t + c13 * dt) |
| 77 | + tprev + c13 * dt) |
78 | 78 | k14 = f( |
79 | 79 | uprev + |
80 | 80 | dt * (a1401 * k1 + a1404 * k4 + a1405 * k5 + a1406 * k6 + |
81 | 81 | a1407 * k7 + a1408 * k8 + a1409 * k9 + a1411 * k11 + |
82 | 82 | a1412 * k12 + a1413 * k13), |
83 | 83 | p, |
84 | | - t + c14 * dt) |
| 84 | + tprev + c14 * dt) |
85 | 85 | k15 = f( |
86 | 86 | uprev + |
87 | 87 | dt * (a1501 * k1 + a1504 * k4 + a1505 * k5 + a1506 * k6 + |
88 | 88 | a1507 * k7 + a1508 * k8 + a1509 * k9 + a1511 * k11 + |
89 | 89 | a1512 * k12 + a1513 * k13), |
90 | 90 | p, |
91 | | - t + c15 * dt) |
| 91 | + tprev + c15 * dt) |
92 | 92 | k16 = f( |
93 | 93 | uprev + |
94 | 94 | dt * (a1601 * k1 + a1604 * k4 + a1605 * k5 + a1606 * k6 + |
95 | 95 | a1607 * k7 + a1608 * k8 + a1609 * k9 + a1611 * k11 + |
96 | 96 | a1612 * k12 + a1613 * k13), |
97 | 97 | p, |
98 | | - t + c16 * dt) |
| 98 | + tprev + c16 * dt) |
99 | 99 |
|
100 | 100 | return y₀ + |
101 | 101 | dt * (integ.k1 * b1Θ |
@@ -161,82 +161,82 @@ end |
161 | 161 | a2514, a2515, a2517, a2518, a2519, a2520, a2521, c26, a2601, a2608, a2609, a2610, |
162 | 162 | a2611, a2612, a2613, a2614, a2615, a2617, a2618, a2619, a2620, a2621 = integ.tab.extra |
163 | 163 |
|
164 | | - @unpack k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, uprev, f, t, p = integ |
| 164 | + @unpack k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, uprev, f, tprev, p = integ |
165 | 165 |
|
166 | 166 | k11 = f( |
167 | 167 | uprev + |
168 | 168 | dt * (a1701 * k1 + a1708 * k2 + a1709 * k3 + a1710 * k4 + |
169 | 169 | a1711 * k5 + a1712 * k6 + a1713 * k7 + a1714 * k8 + a1715 * k9), |
170 | | - p, t + c17 * dt) |
| 170 | + p, tprev + c17 * dt) |
171 | 171 | k12 = f( |
172 | 172 | uprev + |
173 | 173 | dt * (a1801 * k1 + a1808 * k2 + a1809 * k3 + a1810 * k4 + |
174 | 174 | a1811 * k5 + a1812 * k6 + a1813 * k7 + a1814 * k8 + |
175 | 175 | a1815 * k9 + a1817 * k11), |
176 | 176 | p, |
177 | | - t + c18 * dt) |
| 177 | + tprev + c18 * dt) |
178 | 178 | k13 = f( |
179 | 179 | uprev + |
180 | 180 | dt * (a1901 * k1 + a1908 * k2 + a1909 * k3 + a1910 * k4 + |
181 | 181 | a1911 * k5 + a1912 * k6 + a1913 * k7 + a1914 * k8 + |
182 | 182 | a1915 * k9 + a1917 * k11 + a1918 * k12), |
183 | 183 | p, |
184 | | - t + c19 * dt) |
| 184 | + tprev + c19 * dt) |
185 | 185 | k14 = f( |
186 | 186 | uprev + |
187 | 187 | dt * (a2001 * k1 + a2008 * k2 + a2009 * k3 + a2010 * k4 + |
188 | 188 | a2011 * k5 + a2012 * k6 + a2013 * k7 + a2014 * k8 + |
189 | 189 | a2015 * k9 + a2017 * k11 + a2018 * k12 + a2019 * k13), |
190 | 190 | p, |
191 | | - t + c20 * dt) |
| 191 | + tprev + c20 * dt) |
192 | 192 | k15 = f( |
193 | 193 | uprev + |
194 | 194 | dt * (a2101 * k1 + a2108 * k2 + a2109 * k3 + a2110 * k4 + |
195 | 195 | a2111 * k5 + a2112 * k6 + a2113 * k7 + a2114 * k8 + |
196 | 196 | a2115 * k9 + a2117 * k11 + a2118 * k12 + a2119 * k13 + |
197 | 197 | a2120 * k14), |
198 | 198 | p, |
199 | | - t + c21 * dt) |
| 199 | + tprev + c21 * dt) |
200 | 200 | k16 = f( |
201 | 201 | uprev + |
202 | 202 | dt * (a2201 * k1 + a2208 * k2 + a2209 * k3 + a2210 * k4 + |
203 | 203 | a2211 * k5 + a2212 * k6 + a2213 * k7 + a2214 * k8 + |
204 | 204 | a2215 * k9 + a2217 * k11 + a2218 * k12 + a2219 * k13 + |
205 | 205 | a2220 * k14 + a2221 * k15), |
206 | 206 | p, |
207 | | - t + c22 * dt) |
| 207 | + tprev + c22 * dt) |
208 | 208 | k17 = f( |
209 | 209 | uprev + |
210 | 210 | dt * (a2301 * k1 + a2308 * k2 + a2309 * k3 + a2310 * k4 + |
211 | 211 | a2311 * k5 + a2312 * k6 + a2313 * k7 + a2314 * k8 + |
212 | 212 | a2315 * k9 + a2317 * k11 + a2318 * k12 + a2319 * k13 + |
213 | 213 | a2320 * k14 + a2321 * k15), |
214 | 214 | p, |
215 | | - t + c23 * dt) |
| 215 | + tprev + c23 * dt) |
216 | 216 | k18 = f( |
217 | 217 | uprev + |
218 | 218 | dt * (a2401 * k1 + a2408 * k2 + a2409 * k3 + a2410 * k4 + |
219 | 219 | a2411 * k5 + a2412 * k6 + a2413 * k7 + a2414 * k8 + |
220 | 220 | a2415 * k9 + a2417 * k11 + a2418 * k12 + a2419 * k13 + |
221 | 221 | a2420 * k14 + a2421 * k15), |
222 | 222 | p, |
223 | | - t + c24 * dt) |
| 223 | + tprev + c24 * dt) |
224 | 224 | k19 = f( |
225 | 225 | uprev + |
226 | 226 | dt * (a2501 * k1 + a2508 * k2 + a2509 * k3 + a2510 * k4 + |
227 | 227 | a2511 * k5 + a2512 * k6 + a2513 * k7 + a2514 * k8 + |
228 | 228 | a2515 * k9 + a2517 * k11 + a2518 * k12 + a2519 * k13 + |
229 | 229 | a2520 * k14 + a2521 * k15), |
230 | 230 | p, |
231 | | - t + c25 * dt) |
| 231 | + tprev + c25 * dt) |
232 | 232 | k20 = f( |
233 | 233 | uprev + |
234 | 234 | dt * (a2601 * k1 + a2608 * k2 + a2609 * k3 + a2610 * k4 + |
235 | 235 | a2611 * k5 + a2612 * k6 + a2613 * k7 + a2614 * k8 + |
236 | 236 | a2615 * k9 + a2617 * k11 + a2618 * k12 + a2619 * k13 + |
237 | 237 | a2620 * k14 + a2621 * k15), |
238 | 238 | p, |
239 | | - t + c26 * dt) |
| 239 | + tprev + c26 * dt) |
240 | 240 |
|
241 | 241 | return y₀ + |
242 | 242 | dt * |
|
0 commit comments