Skip to content

Commit b795a60

Browse files
authored
fix stats.nf for SHLDDRK methods
1 parent 13258f5 commit b795a60

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lib/OrdinaryDiffEqLowStorageRK/src/low_storage_rk_perform_step.jl

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,6 +966,7 @@ end
966966
integrator.fsallast = f(u, p, t + dt) # For interpolation, then FSAL'd
967967
integrator.k[1] = integrator.fsalfirst
968968
integrator.k[2] = integrator.fsallast
969+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 5)
969970
integrator.u = u
970971
end
971972

@@ -1012,6 +1013,7 @@ end
10121013
step_limiter!(u, integrator, p, t + dt)
10131014

10141015
f(k, u, p, t + dt)
1016+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 5)
10151017
end
10161018

10171019
function initialize!(integrator, cache::SHLDDRK_2NConstantCache)
@@ -1053,7 +1055,7 @@ end
10531055
# u5 = u
10541056
tmp = α51 * tmp + dt * f(u, p, t + c51 * dt)
10551057
u = u + β51 * tmp
1056-
1058+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 4)
10571059
else
10581060
cache.step += 1
10591061
# u1
@@ -1073,11 +1075,13 @@ end
10731075
u = u + β52 * tmp
10741076
tmp = α62 * tmp + dt * f(u, p, t + c62 * dt)
10751077
u = u + β62 * tmp
1078+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 5)
10761079
end
10771080

10781081
integrator.fsallast = f(u, p, t + dt) # For interpolation, then FSAL'd
10791082
integrator.k[1] = integrator.fsalfirst
10801083
integrator.k[2] = integrator.fsallast
1084+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 1)
10811085
integrator.u = u
10821086
end
10831087

@@ -1089,6 +1093,7 @@ function initialize!(integrator, cache::SHLDDRK_2NCache)
10891093
integrator.k[1] = integrator.fsalfirst
10901094
integrator.k[2] = integrator.fsallast
10911095
integrator.f(integrator.fsalfirst, integrator.uprev, integrator.p, integrator.t) # FSAL for interpolation
1096+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 1)
10921097
end
10931098

10941099
@muladd function perform_step!(integrator, cache::SHLDDRK_2NCache, repeat_step = false)
@@ -1128,6 +1133,7 @@ end
11281133
step_limiter!(u, integrator, p, t + dt)
11291134

11301135
f(k, u, p, t + dt)
1136+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 5)
11311137
else
11321138
# u1
11331139
@.. thread=thread tmp=dt * fsalfirst
@@ -1161,5 +1167,6 @@ end
11611167
step_limiter!(u, integrator, p, t + dt)
11621168

11631169
f(k, u, p, t + dt)
1170+
OrdinaryDiffEqCore.increment_nf!(integrator.stats, 6)
11641171
end
11651172
end

0 commit comments

Comments
 (0)