Skip to content

Commit a7b8b21

Browse files
feat: integrate callback saving into integrator init and finalize
1 parent acb5052 commit a7b8b21

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/SSA_stepper.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,9 @@ function DiffEqBase.solve!(integrator::SSAIntegrator)
155155
end
156156

157157
DiffEqBase.finalize!(integrator.opts.callback, integrator.u, integrator.t, integrator)
158+
if integrator.save_end
159+
SciMLBase.save_final_discretes!(integrator, integrator.opts.callback)
160+
end
158161

159162
if integrator.sol.retcode === ReturnCode.Default
160163
integrator.sol = DiffEqBase.solution_new_retcode(integrator.sol, ReturnCode.Success)
@@ -246,6 +249,9 @@ function DiffEqBase.__init(jump_prob::JumpProblem,
246249
save_end, cur_saveat, opts, _tstops, 1, false, true, alias_tstops, false)
247250
cb.initialize(cb, integrator.u, prob.tspan[1], integrator)
248251
DiffEqBase.initialize!(opts.callback, integrator.u, prob.tspan[1], integrator)
252+
if save_start
253+
SciMLBase.save_discretes_if_enabled!(integrator, opts.callback; skip_duplicates = true)
254+
end
249255
integrator
250256
end
251257

0 commit comments

Comments
 (0)