-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
create API for tstop aliasing system #1077
Comments
My plan is to create a keyword argument |
@jClugstor does this specification make sense? |
You'll find:
in DiffEq
in LinearSolve. Etc. All of that should get folded into just these more general structs, and the old way should get deprecated to just setting values of the struct. |
I think I get it. |
Yes exactly. |
Should the types |
yes |
I'm thinking that the problem types will need a new field to hold the |
I don't think so, they will just be a new common kwarg to solve. |
These four PRs should add everything that's needed to use this for ODEs and Linear Problems. Basically just like you said, I added an Oh and I'm not sure I got all of the version bumps right, but I think it's just that LinearSolve and OrdinaryDiffEqCore need to be using #1099 |
The interface needs a few more things. We should define the interface in
|
There is also a kwarg |
I think we have to take this one step further - if users just use the old API, everything has to work as documented. See, e.g., https://github.com/SciML/OrdinaryDiffEq.jl/pull/2503/files#r1818084222 |
Having an alias option around the |
Yes, that's what I meant by the deprecation path. It shouldn't change, just be extended with a deprecation warning.
Yes, and these two are examples of kwargs to specific instances of |
So the full list for struct ODEAliases <: AbstractAliasSpecifier
alias::Union{Bool,Nothing}
alias_p::Union{Bool,Nothing}
alias_f::Union{Bool,Nothing}
alias_u0::Union{Bool,Nothing}
alias_du0::Union{Bool,Nothing}
alias_tstops::Union{Bool,Nothing}
end
``` ? |
struct ODEAliases <: AbstractAliasSpecifier
alias_p::Union{Bool,Nothing}
alias_f::Union{Bool,Nothing}
alias_u0::Union{Bool,Nothing}
alias_du0::Union{Bool,Nothing}
alias_tstops::Union{Bool,Nothing}
end
|
A couple of questions: So far the only other variable I can find that explicitly mentions any aliasing is |
No, those are ones to add.
Yes, and f is for whether it should double |
Got it. I should be able to implement these by changing things in |
Yes exactly. You'll find that there's places in the |
@ChrisRackauckas I think the SciMLBase piece is done: SciML/SciMLBase.jl#830. Once it's ready and merged I'll just need to go through and make sure that the solvers for every problem type use the |
Per discussions @ChrisRackauckas and I had around SciML/JumpProcesses.jl#442 it would be nice to be able to have users tell us we can alias their
tstops
vector in JumpProcesses so we don't need to allocate a new vector for each call tosolve
.The text was updated successfully, but these errors were encountered: