Pass a minimum time step argument to `tagDifferentiable`
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 27
- Forks
- 11
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 23
Description
Summary
Pass a minimum time step argument to tagDifferentiable so models can conditionally set algebraic or differential based on their parameters and minimum promised time step
Rationale
If we ever allow a minimum time step to be set for IDA or use a fixed-time-step mode, we could run into stability issues with some models.
Description
If we ever allow the user to set a minimum or fixed time step, we want to be able to change a variable from differential to algebraic as Power World does for many models.
Related to #332
See #439 for the model that Power world conditionally sets algebraic based on the parameter and min time step
Additional information
PowerWorld does this, and it's common for many models with time constants
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
Start by locating the C++ declaration and call sites for tagDifferentiable. Read related issues #332 and #439 for the expected minimum-time-step behavior and model context. Done means the API can receive the minimum time step needed for models to choose between algebraic and differential behavior, with relevant tests or model examples updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100