Skip to content

Commit 31cce65

Browse files
ChrisRackauckas-ClaudeChrisRackauckasclaude
authored
Fix v7: second eachindex(sol2) in dense_tests, EEst access in TSRKC3 (#3457)
- test/regression/ode_dense_tests.jl line 69: second `eachindex(sol2)` instance (1D linear problem loop) that was missed by #3446. Same RAT v4 issue — `eachindex(sol)` now returns CartesianIndices, use `eachindex(sol2.u)` for the per-timestep iteration. - lib/OrdinaryDiffEqStabilizedRK/src/rkc_perform_step.jl lines 1191 and 1323: `integrator.EEst = ...` throws `FieldError` since #3422 moved EEst from the integrator struct to the controller cache. Replace with `OrdinaryDiffEqCore.set_EEst!(integrator, ...)` matching every other sublibrary. Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 428db4a commit 31cce65

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

lib/OrdinaryDiffEqStabilizedRK/src/rkc_perform_step.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,7 +1188,7 @@ end
11881188
tmp, uprev, u, integrator.opts.abstol,
11891189
integrator.opts.reltol, integrator.opts.internalnorm, t
11901190
)
1191-
integrator.EEst = integrator.opts.internalnorm(atmp, t)
1191+
OrdinaryDiffEqCore.set_EEst!(integrator, integrator.opts.internalnorm(atmp, t))
11921192
end
11931193
integrator.k[1] = integrator.fsalfirst
11941194
integrator.k[2] = integrator.fsallast
@@ -1320,7 +1320,7 @@ end
13201320
atmp, tmp, uprev, u, integrator.opts.abstol,
13211321
integrator.opts.reltol, integrator.opts.internalnorm, t
13221322
)
1323-
integrator.EEst = integrator.opts.internalnorm(atmp, t)
1323+
OrdinaryDiffEqCore.set_EEst!(integrator, integrator.opts.internalnorm(atmp, t))
13241324
end
13251325
integrator.k[1] = integrator.fsalfirst
13261326
integrator.k[2] = integrator.fsallast

test/regression/ode_dense_tests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function regression_test(
6666
@inferred sol(interpolation_results_1d, interpolation_points)
6767
@inferred sol(interpolation_points[1])
6868
sol2 = solve(prob_ode_linear, alg, dt = 1 // 2^(4), dense = true, adaptive = false)
69-
for i in eachindex(sol2)
69+
for i in eachindex(sol2.u)
7070
print_results(
7171
@test maximum(abs.(sol2.u[i] - interpolation_results_1d[i])) <
7272
tol_ode_linear

0 commit comments

Comments
 (0)