@@ -3240,7 +3240,7 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
32403240 jacobian2W! (W[1 ], integrator. f. mass_matrix, dt_int, J, true )
32413241 integrator. stats. nw += 1
32423242 @. . broadcast= false u_temp2= uprev
3243- @. . broadcast= false linsolve_tmps[1 ]= dt_int * fsalfirst
3243+ @. . broadcast= false linsolve_tmps[1 ]= fsalfirst
32443244
32453245 linsolve = cache. linsolve[1 ]
32463246
@@ -3254,8 +3254,7 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
32543254 cache. linsolve[1 ] = linres. cache
32553255
32563256 integrator. stats. nsolve += 1
3257- @. . broadcast= false k= - k
3258- @. . broadcast= false u_temp1= u_temp2 + k # Euler starting step
3257+ @. . broadcast= false u_temp1= u_temp2 - k # Euler starting step
32593258 @. . broadcast= false diff1[1 ]= u_temp1 - u_temp2
32603259 for j in 2 : (j_int + 1 )
32613260 f (k, cache. u_temp1, p, t + (j - 1 ) * dt_int)
@@ -3314,8 +3313,7 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
33143313 jacobian2W! (W[Threads. threadid ()], integrator. f. mass_matrix,
33153314 dt_int_temp, J, true )
33163315 @. . broadcast= false u_temp4[Threads. threadid ()]= uprev
3317- @. . broadcast= false linsolve_tmps[Threads. threadid ()]= dt_int_temp *
3318- fsalfirst
3316+ @. . broadcast= false linsolve_tmps[Threads. threadid ()]= fsalfirst
33193317
33203318 linsolve = cache. linsolve[Threads. threadid ()]
33213319
@@ -3332,16 +3330,15 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
33323330 cache. linsolve[Threads. threadid ()] = linres. cache
33333331
33343332 @. . broadcast= false k_tmps[Threads. threadid ()]= - k_tmps[Threads. threadid ()]
3335- @. . broadcast= false u_temp3[Threads. threadid ()]= u_temp4[Threads. threadid ()] +
3333+ @. . broadcast= false u_temp3[Threads. threadid ()]= u_temp4[Threads. threadid ()] -
33363334 k_tmps[Threads. threadid ()] # Euler starting step
33373335 @. . broadcast= false diff1[Threads. threadid ()]= u_temp3[Threads. threadid ()] -
33383336 u_temp4[Threads. threadid ()]
33393337 for j in 2 : (j_int_temp + 1 )
33403338 f (k_tmps[Threads. threadid ()],
33413339 cache. u_temp3[Threads. threadid ()],
33423340 p, t + (j - 1 ) * dt_int_temp)
3343- @. . broadcast= false linsolve_tmps[Threads. threadid ()]= dt_int_temp *
3344- k_tmps[Threads. threadid ()]
3341+ @. . broadcast= false linsolve_tmps[Threads. threadid ()]= k_tmps[Threads. threadid ()]
33453342
33463343 linsolve = cache. linsolve[Threads. threadid ()]
33473344
@@ -3357,8 +3354,7 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
33573354 end
33583355 cache. linsolve[Threads. threadid ()] = linres. cache
33593356
3360- @. . broadcast= false k_tmps[Threads. threadid ()]= - k_tmps[Threads. threadid ()]
3361- @. . broadcast= false T[index + 1 ]= u_temp3[Threads. threadid ()] +
3357+ @. . broadcast= false T[index + 1 ]= u_temp3[Threads. threadid ()] -
33623358 k_tmps[Threads. threadid ()] # Explicit Midpoint rule
33633359 if (j == j_int_temp + 1 )
33643360 @. . broadcast= false T[index + 1 ]= 0.25 (T[index + 1 ] +
@@ -3405,8 +3401,7 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
34053401 jacobian2W! (W[Threads. threadid ()], integrator. f. mass_matrix,
34063402 dt_int_temp, J, true )
34073403 @. . broadcast= false u_temp4[Threads. threadid ()]= uprev
3408- @. . broadcast= false linsolve_tmps[Threads. threadid ()]= dt_int_temp *
3409- fsalfirst
3404+ @. . broadcast= false linsolve_tmps[Threads. threadid ()]= fsalfirst
34103405
34113406 linsolve = cache. linsolve[Threads. threadid ()]
34123407
@@ -3422,17 +3417,15 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
34223417 end
34233418 cache. linsolve[Threads. threadid ()] = linres. cache
34243419
3425- @. . broadcast= false k_tmps[Threads. threadid ()]= - k_tmps[Threads. threadid ()]
3426- @. . broadcast= false u_temp3[Threads. threadid ()]= u_temp4[Threads. threadid ()] +
3420+ @. . broadcast= false u_temp3[Threads. threadid ()]= u_temp4[Threads. threadid ()] -
34273421 k_tmps[Threads. threadid ()] # Euler starting step
34283422 @. . broadcast= false diff1[Threads. threadid ()]= u_temp3[Threads. threadid ()] -
34293423 u_temp4[Threads. threadid ()]
34303424 for j in 2 : (j_int_temp + 1 )
34313425 f (k_tmps[Threads. threadid ()],
34323426 cache. u_temp3[Threads. threadid ()],
34333427 p, t + (j - 1 ) * dt_int_temp)
3434- @. . broadcast= false linsolve_tmps[Threads. threadid ()]= dt_int_temp *
3435- k_tmps[Threads. threadid ()]
3428+ @. . broadcast= false linsolve_tmps[Threads. threadid ()]= k_tmps[Threads. threadid ()]
34363429
34373430 linsolve = cache. linsolve[Threads. threadid ()]
34383431
@@ -3448,8 +3441,7 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
34483441 end
34493442 cache. linsolve[Threads. threadid ()] = linres. cache
34503443
3451- @. . broadcast= false k_tmps[Threads. threadid ()]= - k_tmps[Threads. threadid ()]
3452- @. . broadcast= false T[index + 1 ]= u_temp3[Threads. threadid ()] +
3444+ @. . broadcast= false T[index + 1 ]= u_temp3[Threads. threadid ()] -
34533445 k_tmps[Threads. threadid ()] # Explicit Midpoint rule
34543446 if (j == j_int_temp + 1 )
34553447 @. . broadcast= false T[index + 1 ]= 0.25 (T[index + 1 ] +
@@ -3559,16 +3551,15 @@ function perform_step!(integrator, cache::ImplicitEulerBarycentricExtrapolationC
35593551 for j in 2 : (j_int + 1 )
35603552 f (k, cache. u_temp1, p, t + (j - 1 ) * dt_int)
35613553 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 1 )
3562- @. . broadcast= false linsolve_tmps[1 ]= dt_int * k
3554+ @. . broadcast= false linsolve_tmps[1 ]= k
35633555
35643556 linsolve = cache. linsolve[1 ]
35653557 linres = dolinsolve (integrator, linsolve; b = _vec (linsolve_tmps[1 ]),
35663558 linu = _vec (k))
35673559 cache. linsolve[1 ] = linres. cache
35683560
35693561 integrator. stats. nsolve += 1
3570- @. . broadcast= false k= - k
3571- @. . broadcast= false T[n_curr + 1 ]= u_temp1 + k # Explicit Midpoint rule
3562+ @. . broadcast= false T[n_curr + 1 ]= u_temp1 - k # Explicit Midpoint rule
35723563 if (j == j_int + 1 )
35733564 @. . broadcast= false T[n_curr + 1 ]= 0.25 (T[n_curr + 1 ] + 2 * u_temp1 +
35743565 u_temp2)
0 commit comments