-
-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please allow changing VectorContinuousCallback during affect! calls #1052
Comments
I've started looking at this. I'm happy to have a go at it (it is important for me). Should I open an issue in OrdinaryDiffEq.jl? @ChrisRackauckas suggested an approach here: https://discourse.julialang.org/t/changing-the-size-of-vectorcontinuouscallback/119534/7?u=evan-wehi. Perhaps I didn't understand but I'm not sure this will work. It seems to assume the size of the Would it be enough to provide a couple of functions: function resize!(cb::VectorContiniousCallback, i::Int)
function deleteat!(cb::VectorContiniousCallback, i::Int) where |
Of course it's not the same size as the state vector, that's not a requirement and it's generally false. It just needs a resize overload as I said. |
There is no |
There is a If it isn't updated there is either a bounds error if the vector is shortened or elements will be missed if the size is increased. |
Okay yeah then we should update that as well. |
Is your feature request related to a problem? Please describe.
I’m modelling cell population dynamics. Cells die and divide so the size of system is always changing. Most of my state variables can trigger events (i.e. death or division) so it seems that
VectorContinuousCallback
is the way to go. Unfortunately, the constructor forVectorContinuousCallback
requires the length of the returned vector which in my case will change frequently. I could specify a very large length and pad the return vector with non-zero values but that seems inelegant and inefficient.Describe the solution you’d like
To able to change the length of the returned vector. Changing during a
affect!
call is adequate for my use case.Describe alternatives you’ve considered
As suggested on the julialang forum: "a single ContinuousCallback that is the multiplication of conditions and then calculate which one had the crossing." I haven't tried this yet but seems like it should work.
Additional context
The text was updated successfully, but these errors were encountered: