Modeling Time Delays (Stabilizer + Other)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 27
- Forks
- 11
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 23
Description
Summary
GridKit does not have a way to model time-delayed, causal signals in PhasorDynamics, or in any other module, as far as I know. At any given time $t$, a model should receive or read the 'history' of an external state at $t-\tau$ via a signal (perhaps consider in signal redesign #354). I'm not sure whether this would cause issues with Enzyme or IDA.
Rationale
Models such as IEEEST have a parameter that sets the (causal) delay of the input $u_{d}(t)= u(t-\tau)$. Without a way to read historical external states, we cannot faithfully model some cases. This is a reletively common stabilizer model.
Additionally, more advanced EMT models require time delays for propagation.
Description
I am not sure how this would interfere with the solver, and I think that is where the tension will sit. Since the feature is for causal, historical states, perhaps there is a way to 'route' data back into a model through a signal port?
Additional information
No response
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
No files or tests are named. Start by reviewing the signal redesign in issue #354 and the PhasorDynamics solver path, then investigate how Enzyme and IDA interact with historical state access. Done means an agreed design for causal delayed signals that supports the cited stabilizer and EMT use cases without unresolved solver conflicts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100