@@ -381,7 +381,7 @@ return
381
381
end
382
382
383
383
function _ode_addsteps! (integrator, cache:: RadauIIA5Cache , repeat_step = false )
384
- @unpack t, dt, uprev, u, f, p, fsallast, fsalfirst = integrator
384
+ @unpack t, dt, uprev, u, f, p, fsallast, fsalfirst, k = integrator
385
385
@unpack T11, T12, T13, T21, T22, T23, T31, TI11, TI12, TI13, TI21, TI22, TI23, TI31, TI32, TI33 = cache. tab
386
386
@unpack c1, c2, γ, α, β, e1, e2, e3 = cache. tab
387
387
@unpack κ, cont1, cont2, cont3 = cache
@@ -396,8 +396,8 @@ alg = unwrap_alg(integrator, true)
396
396
mass_matrix = integrator. f. mass_matrix
397
397
398
398
# precalculations
399
- c1m1 = c1 - 1
400
- c2m1 = c2 - 1
399
+ c1m1 = ( c1 - 1 ) * dt
400
+ c2m1 = ( c2 - 1 ) * dt
401
401
c1mc2 = c1 - c2
402
402
γdt, αdt, βdt = γ / dt, α / dt, β / dt
403
403
if (new_W = do_newW (integrator, alg, new_jac, cache. W_γdt))
@@ -418,16 +418,16 @@ if integrator.iter == 1 || integrator.u_modified || alg.extrapolant == :constant
418
418
@. . broadcast= false w1= uzero
419
419
@. . broadcast= false w2= uzero
420
420
@. . broadcast= false w3= uzero
421
- @. . broadcast= false cache . cont1 = uzero
422
- @. . broadcast= false cache . cont2 = uzero
423
- @. . broadcast= false cache . cont3 = uzero
421
+ @. . broadcast= false integrator . k[ 3 ] = uzero
422
+ @. . broadcast= false integrator . k[ 4 ] = uzero
423
+ @. . broadcast= false integrator . k[ 5 ] = uzero
424
424
else
425
- c3′ = dt / cache . dtprev
425
+ c3′ = dt
426
426
c1′ = c1 * c3′
427
427
c2′ = c2 * c3′
428
- @. . broadcast= false z1= c1′ * (cont1 + (c1′ - c2m1) * (cont2 + (c1′ - c1m1) * cont3 ))
429
- @. . broadcast= false z2= c2′ * (cont1 + (c2′ - c2m1) * (cont2 + (c2′ - c1m1) * cont3 ))
430
- @. . broadcast= false z3= c3′ * (cont1 + (c3′ - c2m1) * (cont2 + (c3′ - c1m1) * cont3 ))
428
+ @. . broadcast= false z1= c1′ * (k[ 3 ] + (c1′ - c2m1) * (k[ 4 ] + (c1′ - c1m1) * k[ 5 ] ))
429
+ @. . broadcast= false z2= c2′ * (k[ 3 ] + (c2′ - c2m1) * (k[ 4 ] + (c2′ - c1m1) * k[ 5 ] ))
430
+ @. . broadcast= false z3= c3′ * (k[ 3 ] + (c3′ - c2m1) * (k[ 4 ] + (c3′ - c1m1) * k[ 5 ] ))
431
431
@. . broadcast= false w1= TI11 * z1 + TI12 * z2 + TI13 * z3
432
432
@. . broadcast= false w2= TI21 * z1 + TI22 * z2 + TI23 * z3
433
433
@. . broadcast= false w3= TI31 * z1 + TI32 * z2 + TI33 * z3
@@ -565,10 +565,10 @@ step_limiter!(u, integrator, p, t + dt)
565
565
if integrator. EEst <= oneunit (integrator. EEst)
566
566
cache. dtprev = dt
567
567
if alg. extrapolant != :constant
568
- @. . broadcast = false cache . cont1 = (z2 - z3) / c2m1
569
- @. . broadcast = false tmp= (z1 - z2) / c1mc2
570
- @. . broadcast = false cache . cont2 = (tmp - cache . cont1 ) / c1m1
571
- @. . broadcast = false cache . cont3 = cache . cont2 - (tmp - z1 / c1) / c2
568
+ integrator . k[ 3 ] = (z2 - z3) / (dt * c2m1)
569
+ @. . tmp= (z1 - z2) / (dt * c1mc2)
570
+ integrator . k[ 4 ] = (tmp - integrator . k[ 3 ] ) / c1m1
571
+ integrator . k[ 5 ] = integrator . k[ 4 ] - (tmp - z1 / c1) / c2
572
572
end
573
573
end
574
574
@@ -579,11 +579,11 @@ end
579
579
580
580
function _ode_addsteps! (integrator, cache:: RadauIIA9ConstantCache ,
581
581
repeat_step = false )
582
- @unpack t, dt, uprev, u, f, p = integrator
582
+ @unpack t, dt, uprev, u, f, p, k = integrator
583
583
@unpack T11, T12, T13, T14, T15, T21, T22, T23, T24, T25, T31, T32, T33, T34, T35, T41, T42, T43, T44, T45, T51 = cache. tab #= T52 = 1, T53 = 0, T54 = 1, T55 = 0=#
584
584
@unpack TI11, TI12, TI13, TI14, TI15, TI21, TI22, TI23, TI24, TI25, TI31, TI32, TI33, TI34, TI35, TI41, TI42, TI43, TI44, TI45, TI51, TI52, TI53, TI54, TI55 = cache. tab
585
585
@unpack c1, c2, c3, c4, γ, α1, β1, α2, β2, e1, e2, e3, e4, e5 = cache. tab
586
- @unpack κ, cont1, cont2, cont3, cont4, cont5 = cache
586
+ @unpack κ= cache
587
587
@unpack internalnorm, abstol, reltol, adaptive = integrator. opts
588
588
alg = unwrap_alg (integrator, true )
589
589
@unpack maxiters = alg
@@ -618,41 +618,46 @@ integrator.stats.nw += 1
618
618
# TODO better initial guess
619
619
if integrator. iter == 1 || integrator. u_modified || alg. extrapolant == :constant
620
620
cache. dtprev = one (cache. dtprev)
621
- z1 = w1 = map (zero, u)
622
- z2 = w2 = map (zero, u)
623
- z3 = w3 = map (zero, u)
624
- z4 = w4 = map (zero, u)
625
- z5 = w5 = map (zero, u)
626
- cache. cont1 = map (zero, u)
627
- cache. cont2 = map (zero, u)
628
- cache. cont3 = map (zero, u)
629
- cache. cont4 = map (zero, u)
630
- cache. cont5 = map (zero, u)
621
+ z1 = map (zero, u)
622
+ z2 = map (zero, u)
623
+ z3 = map (zero, u)
624
+ z4 = map (zero, u)
625
+ z5 = map (zero, u)
626
+ w1 = map (zero, u)
627
+ w2 = map (zero, u)
628
+ w3 = map (zero, u)
629
+ w4 = map (zero, u)
630
+ w5 = map (zero, u)
631
+ integrator. k[3 ] = map (zero, u)
632
+ integrator. k[4 ] = map (zero, u)
633
+ integrator. k[5 ] = map (zero, u)
634
+ integrator. k[6 ] = map (zero, u)
635
+ integrator. k[7 ] = map (zero, u)
631
636
else
632
637
c5′ = dt / cache. dtprev
633
638
c1′ = c1 * c5′
634
639
c2′ = c2 * c5′
635
640
c3′ = c3 * c5′
636
641
c4′ = c4 * c5′
637
- z1 = @. . c1′ * (cont1 +
638
- (c1′- c4m1) * (cont2 +
639
- (c1′ - c3m1) * (cont3 +
640
- (c1′ - c2m1) * (cont4 + (c1′ - c1m1) * cont5 ))))
641
- z2 = @. . c2′ * (cont1 +
642
- (c2′- c4m1) * (cont2 +
643
- (c2′ - c3m1) * (cont3 +
644
- (c2′ - c2m1) * (cont4 + (c2′ - c1m1) * cont5 ))))
645
- z3 = @. . c3′ * (cont1 +
646
- (c3′- c4m1) * (cont2 +
647
- (c3′ - c3m1) * (cont3 +
648
- (c3′ - c2m1) * (cont4 + (c3′ - c1m1) * cont5 ))))
649
- z4 = @. . c4′ * (cont1 +
650
- (c4′- c4m1) * (cont2 +
651
- (c4′ - c3m1) * (cont3 +
652
- (c4′ - c2m1) * (cont4 + (c4′ - c1m1) * cont5 ))))
653
- z5 = @. . c5′ * (cont1 +
654
- (c5′- c4m1) * (cont2 +
655
- (c5′ - c3m1) * (cont3 + (c5′ - c2m1) * (cont4 + (c5′ - c1m1) * cont5 ))))
642
+ z1 = @. . c1′ * (k[ 3 ] +
643
+ (c1′- c4m1) * (k[ 4 ] +
644
+ (c1′ - c3m1) * (k[ 5 ] +
645
+ (c1′ - c2m1) * (k[ 6 ] + (c1′ - c1m1) * k[ 7 ] ))))
646
+ z2 = @. . c2′ * (k[ 3 ] +
647
+ (c2′- c4m1) * (k[ 4 ] +
648
+ (c2′ - c3m1) * (k[ 5 ] +
649
+ (c2′ - c2m1) * (k[ 6 ] + (c2′ - c1m1) * k[ 7 ] ))))
650
+ z3 = @. . c3′ * (k[ 3 ] +
651
+ (c3′- c4m1) * (k[ 4 ] +
652
+ (c3′ - c3m1) * (k[ 5 ] +
653
+ (c3′ - c2m1) * (k[ 6 ] + (c3′ - c1m1) * k[ 7 ] ))))
654
+ z4 = @. . c4′ * (k[ 3 ] +
655
+ (c4′- c4m1) * (k[ 4 ] +
656
+ (c4′ - c3m1) * (k[ 5 ] +
657
+ (c4′ - c2m1) * (k[ 6 ] + (c4′ - c1m1) * k[ 7 ] ))))
658
+ z5 = @. . c5′ * (k[ 3 ] +
659
+ (c5′- c4m1) * (k[ 4 ] +
660
+ (c5′ - c3m1) * (k[ 5 ] + (c5′ - c2m1) * (k[ 6 ] + (c5′ - c1m1) * k[ 7 ] ))))
656
661
w1 = @. . broadcast= false TI11* z1+ TI12* z2+ TI13* z3+ TI14* z4+ TI15* z5
657
662
w2 = @. . broadcast= false TI21* z1+ TI22* z2+ TI23* z3+ TI24* z4+ TI25* z5
658
663
w3 = @. . broadcast= false TI31* z1+ TI32* z2+ TI33* z3+ TI34* z4+ TI35* z5
@@ -762,30 +767,30 @@ if fail_convergence
762
767
integrator. stats. nnonlinconvfail += 1
763
768
return
764
769
end
765
- cache. ηold = η
766
- cache. iter = iter
770
+ # cache.ηold = η
771
+ # cache.iter = iter
767
772
768
773
u = @. . broadcast= false uprev+ z5
769
774
770
775
771
776
if integrator. EEst <= oneunit (integrator. EEst)
772
- cache. dtprev = dt
777
+ # cache.dtprev = dt
773
778
if alg. extrapolant != :constant
774
- cache . cont1 = @. . (z4 - z5) / c4m1 # first derivative on [c4, 1]
779
+ integrator . k[ 3 ] = (z4 - z5) / c4m1 # first derivative on [c4, 1]
775
780
tmp1 = @. . (z3 - z4) / c3mc4 # first derivative on [c3, c4]
776
- cache . cont2 = @. . (tmp1 - cache . cont1 ) / c3m1 # second derivative on [c3, 1]
781
+ integrator . k[ 4 ] = (tmp1 - integrator . k[ 3 ] ) / c3m1 # second derivative on [c3, 1]
777
782
tmp2 = @. . (z2 - z3) / c2mc3 # first derivative on [c2, c3]
778
783
tmp3 = @. . (tmp2 - tmp1) / c2mc4 # second derivative on [c2, c4]
779
- cache . cont3 = @. . (tmp3 - cache . cont2 ) / c2m1 # third derivative on [c2, 1]
784
+ integrator . k[ 5 ] = (tmp3 - integrator . k[ 4 ] ) / c2m1 # third derivative on [c2, 1]
780
785
tmp4 = @. . (z1 - z2) / c1mc2 # first derivative on [c1, c2]
781
786
tmp5 = @. . (tmp4 - tmp2) / c1mc3 # second derivative on [c1, c3]
782
787
tmp6 = @. . (tmp5 - tmp3) / c1mc4 # third derivative on [c1, c4]
783
- cache . cont4 = @. . (tmp6 - cache . cont3 ) / c1m1 # fourth derivative on [c1, 1]
788
+ integrator . k[ 6 ] = (tmp6 - integrator . k[ 5 ] ) / c1m1 # fourth derivative on [c1, 1]
784
789
tmp7 = @. . z1 / c1 # first derivative on [0, c1]
785
790
tmp8 = @. . (tmp4 - tmp7) / c2 # second derivative on [0, c2]
786
791
tmp9 = @. . (tmp5 - tmp8) / c3 # third derivative on [0, c3]
787
792
tmp10 = @. . (tmp6 - tmp9) / c4 # fourth derivative on [0,c4]
788
- cache . cont5 = @. . cache . cont4 - tmp10 # fifth derivative on [0,1]
793
+ integrator . k[ 7 ] = integrator . k[ 6 ] - tmp10 # fifth derivative on [0,1]
789
794
end
790
795
end
791
796
@@ -798,11 +803,11 @@ return
798
803
end
799
804
800
805
function _ode_addsteps! (integrator, cache:: RadauIIA9Cache , repeat_step = false )
801
- @unpack t, dt, uprev, u, f, p, fsallast, fsalfirst = integrator
806
+ @unpack t, dt, uprev, u, f, p, fsallast, fslafirst, k = integrator
802
807
@unpack T11, T12, T13, T14, T15, T21, T22, T23, T24, T25, T31, T32, T33, T34, T35, T41, T42, T43, T44, T45, T51 = cache. tab #= T52 = 1, T53 = 0, T54 = 1, T55 = 0=#
803
808
@unpack TI11, TI12, TI13, TI14, TI15, TI21, TI22, TI23, TI24, TI25, TI31, TI32, TI33, TI34, TI35, TI41, TI42, TI43, TI44, TI45, TI51, TI52, TI53, TI54, TI55 = cache. tab
804
809
@unpack c1, c2, c3, c4, γ, α1, β1, α2, β2, e1, e2, e3, e4, e5 = cache. tab
805
- @unpack κ, cont1, cont2, cont3, cont4, cont5 = cache
810
+ @unpack κ= cache
806
811
@unpack z1, z2, z3, z4, z5, w1, w2, w3, w4, w5 = cache
807
812
@unpack dw1, ubuff, dw23, dw45, cubuff1, cubuff2 = cache
808
813
@unpack k, k2, k3, k4, k5, fw1, fw2, fw3, fw4, fw5 = cache
@@ -849,36 +854,36 @@ if integrator.iter == 1 || integrator.u_modified || alg.extrapolant == :constant
849
854
@. . broadcast= false w3= uzero
850
855
@. . broadcast= false w4= uzero
851
856
@. . broadcast= false w5= uzero
852
- @. . broadcast= false cache . cont1 = uzero
853
- @. . broadcast= false cache . cont2 = uzero
854
- @. . broadcast= false cache . cont3 = uzero
855
- @. . broadcast= false cache . cont4 = uzero
856
- @. . broadcast= false cache . cont5 = uzero
857
+ @. . broadcast= false integrator . k[ 3 ] = uzero
858
+ @. . broadcast= false integrator . k[ 4 ] = uzero
859
+ @. . broadcast= false integrator . k[ 5 ] = uzero
860
+ @. . broadcast= false integrator . k[ 6 ] = uzero
861
+ @. . broadcast= false integrator . k[ 7 ] = uzero
857
862
else
858
863
c5′ = dt / cache. dtprev
859
864
c1′ = c1 * c5′
860
865
c2′ = c2 * c5′
861
866
c3′ = c3 * c5′
862
867
c4′ = c4 * c5′
863
- @. . z1 = c1′ * (cont1 +
864
- (c1′- c4m1) * (cont2 +
865
- (c1′ - c3m1) * (cont3 +
866
- (c1′ - c2m1) * (cont4 + (c1′ - c1m1) * cont5 ))))
867
- @. . z2 = c2′ * (cont1 +
868
- (c2′- c4m1) * (cont2 +
869
- (c2′ - c3m1) * (cont3 +
870
- (c2′ - c2m1) * (cont4 + (c2′ - c1m1) * cont5 ))))
871
- @. . z3 = c3′ * (cont1 +
872
- (c3′- c4m1) * (cont2 +
873
- (c3′ - c3m1) * (cont3 +
874
- (c3′ - c2m1) * (cont4 + (c3′ - c1m1) * cont5 ))))
875
- @. . z4 = c4′ * (cont1 +
876
- (c4′- c4m1) * (cont2 +
877
- (c4′ - c3m1) * (cont3 +
878
- (c4′ - c2m1) * (cont4 + (c4′ - c1m1) * cont5 ))))
879
- @. . z5 = c5′ * (cont1 +
880
- (c5′- c4m1) * (cont2 +
881
- (c5′ - c3m1) * (cont3 + (c5′ - c2m1) * (cont4 + (c5′ - c1m1) * cont5 ))))
868
+ @. . z1 = c1′ * (k[ 3 ] +
869
+ (c1′- c4m1) * (k[ 4 ] +
870
+ (c1′ - c3m1) * (k[ 5 ] +
871
+ (c1′ - c2m1) * (k[ 6 ] + (c1′ - c1m1) * k[ 7 ] ))))
872
+ @. . z2 = c2′ * (k[ 3 ] +
873
+ (c2′- c4m1) * (k[ 4 ] +
874
+ (c2′ - c3m1) * (k[ 5 ] +
875
+ (c2′ - c2m1) * (k[ 6 ] + (c2′ - c1m1) * k[ 7 ] ))))
876
+ @. . z3 = c3′ * (k[ 3 ] +
877
+ (c3′- c4m1) * (k[ 4 ] +
878
+ (c3′ - c3m1) * (k[ 5 ] +
879
+ (c3′ - c2m1) * (k[ 6 ] + (c3′ - c1m1) * k[ 7 ] ))))
880
+ @. . z4 = c4′ * (k[ 3 ] +
881
+ (c4′- c4m1) * (k[ 4 ] +
882
+ (c4′ - c3m1) * (k[ 5 ] +
883
+ (c4′ - c2m1) * (k[ 6 ] + (c4′ - c1m1) * k[ 7 ] ))))
884
+ @. . z5 = c5′ * (k[ 3 ] +
885
+ (c5′- c4m1) * (k[ 4 ] +
886
+ (c5′ - c3m1) * (k[ 5 ] + (c5′ - c2m1) * (k[ 6 ] + (c5′ - c1m1) * k[ 7 ] ))))
882
887
@. . w1 = TI11* z1+ TI12* z2+ TI13* z3+ TI14* z4+ TI15* z5
883
888
@. . w2 = TI21* z1+ TI22* z2+ TI23* z3+ TI24* z4+ TI25* z5
884
889
@. . w3 = TI31* z1+ TI32* z2+ TI33* z3+ TI34* z4+ TI35* z5
@@ -1060,25 +1065,22 @@ cache.iter = iter
1060
1065
1061
1066
step_limiter! (u, integrator, p, t + dt)
1062
1067
1063
- if integrator. EEst <= oneunit (integrator. EEst)
1064
- cache. dtprev = dt
1065
- if alg. extrapolant != :constant
1066
- @. . cache. cont1 = (z4 - z5) / c4m1 # first derivative on [c4, 1]
1067
- @. . tmp = (z3 - z4) / c3mc4 # first derivative on [c3, c4]
1068
- @. . cache. cont2 = (tmp - cache. cont1) / c3m1 # second derivative on [c3, 1]
1069
- @. . tmp2 = (z2 - z3) / c2mc3 # first derivative on [c2, c3]
1070
- @. . tmp3 = (tmp2 - tmp) / c2mc4 # second derivative on [c2, c4]
1071
- @. . cache. cont3 = (tmp3 - cache. cont2) / c2m1 # third derivative on [c2, 1]
1072
- @. . tmp4 = (z1 - z2) / c1mc2 # first derivative on [c1, c2]
1073
- @. . tmp5 = (tmp4 - tmp2) / c1mc3 # second derivative on [c1, c3]
1074
- @. . tmp6 = (tmp5 - tmp3) / c1mc4 # third derivative on [c1, c4]
1075
- @. . cache. cont4 = (tmp6 - cache. cont3) / c1m1 # fourth derivative on [c1, 1]
1076
- @. . tmp7 = z1 / c1 # first derivative on [0, c1]
1077
- @. . tmp8 = (tmp4 - tmp7) / c2 # second derivative on [0, c2]
1078
- @. . tmp9 = (tmp5 - tmp8) / c3 # third derivative on [0, c3]
1079
- @. . tmp10 = (tmp6 - tmp9) / c4 # fourth derivative on [0,c4]
1080
- @. . cache. cont5 = cache. cont4 - tmp10 # fifth derivative on [0,1]
1081
- end
1068
+ if alg. extrapolant != :constant
1069
+ integrator. k[3 ] = (z4 - z5) / c4m1 # first derivative on [c4, 1]
1070
+ @. . tmp = (z3 - z4) / c3mc4 # first derivative on [c3, c4]
1071
+ integrator. k[4 ] = (tmp - integrator. k[3 ]) / c3m1 # second derivative on [c3, 1]
1072
+ @. . tmp2 = (z2 - z3) / c2mc3 # first derivative on [c2, c3]
1073
+ @. . tmp3 = (tmp2 - tmp) / c2mc4 # second derivative on [c2, c4]
1074
+ integrator. k[5 ] = (tmp3 - integrator. k[4 ]) / c2m1 # third derivative on [c2, 1]
1075
+ @. . tmp4 = (z1 - z2) / c1mc2 # first derivative on [c1, c2]
1076
+ @. . tmp5 = (tmp4 - tmp2) / c1mc3 # second derivative on [c1, c3]
1077
+ @. . tmp6 = (tmp5 - tmp3) / c1mc4 # third derivative on [c1, c4]
1078
+ integrator. k[6 ] = (tmp6 - integrator. k[5 ]) / c1m1 # fourth derivative on [c1, 1]
1079
+ @. . tmp7 = z1 / c1 # first derivative on [0, c1]
1080
+ @. . tmp8 = (tmp4 - tmp7) / c2 # second derivative on [0, c2]
1081
+ @. . tmp9 = (tmp5 - tmp8) / c3 # third derivative on [0, c3]
1082
+ @. . tmp10 = (tmp6 - tmp9) / c4 # fourth derivative on [0,c4]
1083
+ integrator. k[7 ] = integrator. k[6 ] - tmp10 # fifth derivative on [0,1]
1082
1084
end
1083
1085
1084
1086
f (fsallast, u, p, t + dt)
@@ -1297,11 +1299,11 @@ function _ode_addstep!(integrator, cache::AdaptiveRadauConstantCache, repeat_ste
1297
1299
end
1298
1300
1299
1301
function _ode_addsteps! (integrator, cache:: AdaptiveRadauCache , repeat_step = false )
1300
- @unpack t, dt, uprev, u, f, p, fsallast, fsalfirst = integrator
1302
+ @unpack t, dt, uprev, u, f, p, fsallast, fsalfirst, k = integrator
1301
1303
@unpack num_stages, tabs, index = cache
1302
1304
tab = tabs[index]
1303
1305
@unpack T, TI, γ, α, β, c, e = tab
1304
- @unpack κ, cont, derivatives, z, w, c_prime, αdt, βdt= cache
1306
+ @unpack κ, derivatives, z, w, c_prime, αdt, βdt= cache
1305
1307
@unpack dw1, ubuff, dw2, cubuff, dw = cache
1306
1308
@unpack ks, k, fw, J, W1, W2 = cache
1307
1309
@unpack tmp, atmp, jac_config, linsolve1, linsolve2, rtol, atol, step_limiter! = cache
@@ -1358,19 +1360,19 @@ function _ode_addsteps!(integrator, cache::AdaptiveRadauCache, repeat_step = fal
1358
1360
for i in 1 : num_stages
1359
1361
@. . z[i] = map (zero, u)
1360
1362
@. . w[i] = map (zero, u)
1361
- @. . cache . cont[i ] = map (zero, u)
1363
+ integrator . k[i + 2 ] = map (zero, u)
1362
1364
end
1363
1365
else
1364
- c_prime[num_stages] = dt / cache . dtprev
1366
+ c_prime[num_stages] = dt
1365
1367
for i in 1 : num_stages - 1
1366
1368
c_prime[i] = c[i] * c_prime[num_stages]
1367
1369
end
1368
1370
for i in 1 : num_stages # collocation polynomial
1369
- @. . z[i] = cont [num_stages] * (c_prime[i] - c[1 ] + 1 ) + cont [num_stages - 1 ]
1371
+ @. . z[i] = k [num_stages + 2 ] * (c_prime[i] - c[1 ] + 1 ) + k [num_stages + 1 ]
1370
1372
j = num_stages - 2
1371
1373
while j > 0
1372
1374
@. . z[i] *= (c_prime[i] - c[num_stages - j] + 1 )
1373
- @. . z[i] += cont[j ]
1375
+ @. . z[i] += k[j + 2 ]
1374
1376
j = j - 1
1375
1377
end
1376
1378
@. . z[i] *= c_prime[i]
@@ -1541,7 +1543,7 @@ function _ode_addsteps!(integrator, cache::AdaptiveRadauCache, repeat_step = fal
1541
1543
end
1542
1544
end
1543
1545
for i in 1 : num_stages
1544
- @. . cache . cont[i ] = derivatives[i, num_stages]
1546
+ integrator . k[i + 2 ] = derivatives[i, num_stages]
1545
1547
end
1546
1548
end
1547
1549
end
0 commit comments