Skip to content

Commit 7649e4c

Browse files
Merge pull request #387 from jfeist/fix_verner_interpolation
fix interpolation for GPUVern7 and GPUVern9
2 parents 8277510 + e750982 commit 7649e4c

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/ensemblegpukernel/integrators/nonstiff/interpolants.jl

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,48 +54,48 @@ end
5454
a1512, a1513, c16, a1601, a1604, a1605, a1606, a1607, a1608, a1609,
5555
a1611, a1612, a1613 = integ.tab.extra
5656

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
5858

5959
k11 = f(
6060
uprev +
6161
dt * (a1101 * k1 + a1104 * k4 + a1105 * k5 + a1106 * k6 +
6262
a1107 * k7 + a1108 * k8 + a1109 * k9),
6363
p,
64-
t + c11 * dt)
64+
tprev + c11 * dt)
6565
k12 = f(
6666
uprev +
6767
dt * (a1201 * k1 + a1204 * k4 + a1205 * k5 + a1206 * k6 +
6868
a1207 * k7 + a1208 * k8 + a1209 * k9 + a1211 * k11),
6969
p,
70-
t + c12 * dt)
70+
tprev + c12 * dt)
7171
k13 = f(
7272
uprev +
7373
dt * (a1301 * k1 + a1304 * k4 + a1305 * k5 + a1306 * k6 +
7474
a1307 * k7 + a1308 * k8 + a1309 * k9 + a1311 * k11 +
7575
a1312 * k12),
7676
p,
77-
t + c13 * dt)
77+
tprev + c13 * dt)
7878
k14 = f(
7979
uprev +
8080
dt * (a1401 * k1 + a1404 * k4 + a1405 * k5 + a1406 * k6 +
8181
a1407 * k7 + a1408 * k8 + a1409 * k9 + a1411 * k11 +
8282
a1412 * k12 + a1413 * k13),
8383
p,
84-
t + c14 * dt)
84+
tprev + c14 * dt)
8585
k15 = f(
8686
uprev +
8787
dt * (a1501 * k1 + a1504 * k4 + a1505 * k5 + a1506 * k6 +
8888
a1507 * k7 + a1508 * k8 + a1509 * k9 + a1511 * k11 +
8989
a1512 * k12 + a1513 * k13),
9090
p,
91-
t + c15 * dt)
91+
tprev + c15 * dt)
9292
k16 = f(
9393
uprev +
9494
dt * (a1601 * k1 + a1604 * k4 + a1605 * k5 + a1606 * k6 +
9595
a1607 * k7 + a1608 * k8 + a1609 * k9 + a1611 * k11 +
9696
a1612 * k12 + a1613 * k13),
9797
p,
98-
t + c16 * dt)
98+
tprev + c16 * dt)
9999

100100
return y₀ +
101101
dt * (integ.k1 * b1Θ
@@ -161,82 +161,82 @@ end
161161
a2514, a2515, a2517, a2518, a2519, a2520, a2521, c26, a2601, a2608, a2609, a2610,
162162
a2611, a2612, a2613, a2614, a2615, a2617, a2618, a2619, a2620, a2621 = integ.tab.extra
163163

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
165165

166166
k11 = f(
167167
uprev +
168168
dt * (a1701 * k1 + a1708 * k2 + a1709 * k3 + a1710 * k4 +
169169
a1711 * k5 + a1712 * k6 + a1713 * k7 + a1714 * k8 + a1715 * k9),
170-
p, t + c17 * dt)
170+
p, tprev + c17 * dt)
171171
k12 = f(
172172
uprev +
173173
dt * (a1801 * k1 + a1808 * k2 + a1809 * k3 + a1810 * k4 +
174174
a1811 * k5 + a1812 * k6 + a1813 * k7 + a1814 * k8 +
175175
a1815 * k9 + a1817 * k11),
176176
p,
177-
t + c18 * dt)
177+
tprev + c18 * dt)
178178
k13 = f(
179179
uprev +
180180
dt * (a1901 * k1 + a1908 * k2 + a1909 * k3 + a1910 * k4 +
181181
a1911 * k5 + a1912 * k6 + a1913 * k7 + a1914 * k8 +
182182
a1915 * k9 + a1917 * k11 + a1918 * k12),
183183
p,
184-
t + c19 * dt)
184+
tprev + c19 * dt)
185185
k14 = f(
186186
uprev +
187187
dt * (a2001 * k1 + a2008 * k2 + a2009 * k3 + a2010 * k4 +
188188
a2011 * k5 + a2012 * k6 + a2013 * k7 + a2014 * k8 +
189189
a2015 * k9 + a2017 * k11 + a2018 * k12 + a2019 * k13),
190190
p,
191-
t + c20 * dt)
191+
tprev + c20 * dt)
192192
k15 = f(
193193
uprev +
194194
dt * (a2101 * k1 + a2108 * k2 + a2109 * k3 + a2110 * k4 +
195195
a2111 * k5 + a2112 * k6 + a2113 * k7 + a2114 * k8 +
196196
a2115 * k9 + a2117 * k11 + a2118 * k12 + a2119 * k13 +
197197
a2120 * k14),
198198
p,
199-
t + c21 * dt)
199+
tprev + c21 * dt)
200200
k16 = f(
201201
uprev +
202202
dt * (a2201 * k1 + a2208 * k2 + a2209 * k3 + a2210 * k4 +
203203
a2211 * k5 + a2212 * k6 + a2213 * k7 + a2214 * k8 +
204204
a2215 * k9 + a2217 * k11 + a2218 * k12 + a2219 * k13 +
205205
a2220 * k14 + a2221 * k15),
206206
p,
207-
t + c22 * dt)
207+
tprev + c22 * dt)
208208
k17 = f(
209209
uprev +
210210
dt * (a2301 * k1 + a2308 * k2 + a2309 * k3 + a2310 * k4 +
211211
a2311 * k5 + a2312 * k6 + a2313 * k7 + a2314 * k8 +
212212
a2315 * k9 + a2317 * k11 + a2318 * k12 + a2319 * k13 +
213213
a2320 * k14 + a2321 * k15),
214214
p,
215-
t + c23 * dt)
215+
tprev + c23 * dt)
216216
k18 = f(
217217
uprev +
218218
dt * (a2401 * k1 + a2408 * k2 + a2409 * k3 + a2410 * k4 +
219219
a2411 * k5 + a2412 * k6 + a2413 * k7 + a2414 * k8 +
220220
a2415 * k9 + a2417 * k11 + a2418 * k12 + a2419 * k13 +
221221
a2420 * k14 + a2421 * k15),
222222
p,
223-
t + c24 * dt)
223+
tprev + c24 * dt)
224224
k19 = f(
225225
uprev +
226226
dt * (a2501 * k1 + a2508 * k2 + a2509 * k3 + a2510 * k4 +
227227
a2511 * k5 + a2512 * k6 + a2513 * k7 + a2514 * k8 +
228228
a2515 * k9 + a2517 * k11 + a2518 * k12 + a2519 * k13 +
229229
a2520 * k14 + a2521 * k15),
230230
p,
231-
t + c25 * dt)
231+
tprev + c25 * dt)
232232
k20 = f(
233233
uprev +
234234
dt * (a2601 * k1 + a2608 * k2 + a2609 * k3 + a2610 * k4 +
235235
a2611 * k5 + a2612 * k6 + a2613 * k7 + a2614 * k8 +
236236
a2615 * k9 + a2617 * k11 + a2618 * k12 + a2619 * k13 +
237237
a2620 * k14 + a2621 * k15),
238238
p,
239-
t + c26 * dt)
239+
tprev + c26 * dt)
240240

241241
return y₀ +
242242
dt *

0 commit comments

Comments
 (0)