I have issues using the librairie DiffEqUncertainty.jl or at least understanding the results. I have a DAE made of 4 differential equations and 1 algebric equations. I defined it using a mass matrix and I am solving it with an ODE solver like this
solve(prob_MM, Rodas5(), reltol = 1e-8, abstol=1e-12, callback=cbs, maxiters = 1e7)
The solver manage to solve it without issue :
9.159245 seconds (21.20 M allocations: 1.964 GiB, 9.29% gc time, 0.10% compilation time)
and I can plot the solution. It looks like that
which is what I was expecting. So far so good. Now I tried to see how sensitive my solutions was, so I used the librairie DiffEqUncertainty.jl with the lines
cb_uncert = AdaptiveProbIntsUncertainty(5)
ensemble_prob = EnsembleProblem(prob_MM)
sim = solve(ensemble_prob, Rodas5(), reltol = 1e-10, abstol=1e-12, trajectories=5, callback=cbs)
(cb_uncert is added to cbs using cbs = CallbackSet(others_cb, cb_uncert ))
Then the simulation takes a really long time with A LOT of allocation
6588.658787 seconds (21.72 G allocations: 3.086 TiB, 52.83% gc time, 0.00% compilation time)
and the solution is really not smooth, like this :
I was expecting results similar in smoothness as those ones https://diffeq.sciml.ai/stable/analysis/uncertainty_quantification/
What could be the cause of this behaviour ? Is my system extremely unstable or is it something else ? Why does it take so many allocations ? I would say the specificity of my system is that I interpolate many thermodynamical properties, so the code is quite heavy and not very practical to post here.