SciML / SciML/JumpProcesses.jl
CHV / True Jump method implementation discussion
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 150
- Forks
- 41
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 28
Description
I've started working on an implementation of Romain's true jump method / CHV method, but some issues have cropped up. @ChrisRackauckas any thoughts about the following:
There is a design decision for how to handle constant rate type jumps. We can either
- Treat them via CHV (i.e. in the generated ODEs).
- Treat them via an existing aggregator, but then have to add a continuous time callback to rootfind where the physical time (which is now an ODE variable) equals the next jump time.
I am leaning towards the former, but we then give up all the optimizations we have for selecting the next jump via the different constant rate aggregators.
Another issue is I'm not sure how to handle the user interface. Since the method uses a rescaled "simulation" time, s, it seems like we need to return some kind of custom solution object to users so they can get the solution / index the solution at physical times, t(s) (t(s) is itself solved for in the ODE). Likewise, we need to intercept calls to solve to add continuous callbacks for hitting physical stopping times and such. Wrapping the user provided f(du,u,p,t) function to take t(s) is no problem, but the input/output boundaries seem more challenging.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests. Start by reviewing the proposed CHV/True Jump implementation discussion, focusing on constant-rate jump handling and the rescaled simulation time s. Done requires settled behavior for physical-time solution indexing, stopping-time callbacks, and the choice between aggregators and generated ODEs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100