feat: start integrate-and-fire model #30
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements a simple implicit L1 method for integrate-and-fire methods with a condition that's state dependent, i.e.$\text{if } c(t, y) > 0 \text{ then } y \gets g(t, y)$ .
In general, it's meant for some sort of discontinuous functions where we don't have to guess the discontinuity. Still needs a bit of work to nail down the interface
t += dt
, which is obviously not enough. We need to see when the condition is set and save that time instead.[tnext, ynext] = advance(tnext, ynext)
in case the advance function wants to change the time step?