Our current implementation for TraceProblem only allows changing the initial conditions, and it only shows up in sol.u[1], but not sol.prob.u0. This is because
The newly generated prob_new does not replace prob
Time steps are calculated in _prepare, which is the same for all particles.
Our current implementation for
TraceProblem
only allows changing the initial conditions, and it only shows up insol.u[1]
, but notsol.prob.u0
. This is becauseprob_new
does not replaceprob
_prepare
, which is the same for all particles.Take a look here:
https://github.com/SciML/SciMLBase.jl/blob/3746cda651df79e3d9d7af9aa71e78bd9ecd8ecd/src/ensemble/basic_ensemble_solve.jl#L122-L234
Maybe this is useful too: https://julialang.org/blog/2022/08/julia-1.8-highlights/#const_on_fields_in_mutable_structs