Many solvers in `OrdinaryDiffEq.jl`

for solving stiff ODEs use automatic time-stepping. From what I understand, if I specify `saveat`

, then `sol.t`

is the time steps I specify in `saveat`

, and if I leave `saveat`

untouched, then `sol.t`

is the time steps taken by the solver. Is there a way save the automatic time steps chosen by the solver, and output the solutions for only the specified time (given through `saveat`

)? A slightly question is what’s the way to do solution handling (e.g. computing the maximum and minimum) during the computation at the automatic time steps chosen by the solver.

For example, suppose the solver automatically chooses some time steps (let’s call them `t_auto`

). I want to know `t_auto`

, and preferably `maximum(u)`

, `minimum(u)`

, `f(t,u,par)`

(for some user-defined function `f`

) at `t_auto`

, but I don’t need the full solution `u`

at `t_auto`

(because of memory issue for instance). However, I do want to know the full solution `u`

at the user-specified times given through `saveat`

. What’s the appropriate way to handle this?