@@ -209,13 +209,11 @@ end
209209 du = duprev + dt * half * kduprev
210210
211211 # update position
212- tnew = t + half * dt
213- ku = f. f2 (du, uprev, p, tnew)
212+ ku = f. f2 (du, uprev, p, t + half * dt)
214213 u = uprev + dt * ku
215214
216215 # update velocity
217- tnew = tnew + half * dt
218- kdu = f. f1 (du, u, p, tnew)
216+ kdu = f. f1 (du, u, p, t + dt)
219217 du = du + dt * half * kdu
220218
221219 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 1 )
@@ -234,13 +232,11 @@ end
234232 @. . broadcast= false du= duprev + dt * half * kduprev
235233
236234 # update position
237- tnew = t + half * dt
238- f. f2 (ku, du, uprev, p, tnew)
235+ f. f2 (ku, du, uprev, p, t + half * dt)
239236 @. . broadcast= false u= uprev + dt * ku
240237
241238 # update velocity
242- tnew = tnew + half * dt
243- f. f1 (kdu, du, u, p, tnew)
239+ f. f1 (kdu, du, u, p, t + dt)
244240 @. . broadcast= false du= du + dt * half * kdu
245241
246242 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 1 )
@@ -263,16 +259,13 @@ end
263259 kdu = f. f1 (duprev, uprev, p, t)
264260 du = duprev + dt * half * kdu
265261
266- # full step
267- tnew = t + half * dt
268-
269262 # update velocity (add to previous full step velocity)
270263 # note that this extra step is only necessary if f1 depends on v/du (or t)
271- kdu = f. f1 (du, u, p, tnew )
264+ kdu = f. f1 (du, u, p, t + half * dt )
272265 du = duprev + dt * kdu
273266
274267 # update position (add to half step position)
275- ku = f. f2 (du, u, p, tnew )
268+ ku = f. f2 (du, u, p, t + dt )
276269 u = u + dt * half * ku
277270
278271 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 2 )
@@ -296,16 +289,13 @@ end
296289 f. f1 (kdu, duprev, uprev, p, t)
297290 @. . broadcast= false du= duprev + dt * half * kdu
298291
299- # full step
300- tnew = t + half * dt
301-
302292 # update velocity (add to previous full step velocity)
303293 # note that this extra step is only necessary if f1 depends on v/du (or t)
304- f. f1 (kdu, du, u, p, tnew )
294+ f. f1 (kdu, du, u, p, t + half * dt )
305295 @. . broadcast= false du= duprev + dt * kdu
306296
307297 # update position (add to half step position)
308- f. f2 (ku, du, u, p, tnew )
298+ f. f2 (ku, du, u, p, t + dt )
309299 @. . broadcast= false u= u + dt * half * ku
310300
311301 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 2 )
0 commit comments