Compensation Voltage on Exciters
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 27
- Forks
- 11
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 23
Description
Summary
Raised in #424
- The 'Compensation voltage', $E_C$, typically comes from the machine model instead of the terminal Bus. This is because there is a parameter specified by the machine model (e.g.
GENROU) that we do not currently support: $R_{comp}$ and $X_{comp}$. When these are both zero-valued, $E_C=|V_{bus}|$. Sometimes, the compensation reactance is configured to be nonzero specifically to decouple $E_C$ from $|V_{bus}|$ and improve numerical stability. I think there is a broader conversation to be had about how we can model sensed terminal voltage. - This exciter as well as
IEEET1, locally compute $E_C=\sqrt{V_r^2+V_i^2}$, despite $E_C$ being documented as an external variable. This was a temporary design choice before we had signals. - For more advanced grid cases and models, the terminal voltage magnitude is consumed more than once. Therefore, I encourage us to introduce $V_{m}$ as a third internal algebraic variable of
Bus, conditionally included based on consumption (otherwise we could introduce unused nonlinear algebraic equations incessantly!). Same for $\theta_{bus}$. I will soon need models that need the bus frequency (i.e., time derivative of $\theta_{bus}$).
Rationale
Will clean this up in a bit
Description
No response
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
Start by reading the exciter and bus modeling code for the affected exciter, IEEET1, and GENROU models, then trace how E_C is currently computed and passed. The issue does not name files or tests and leaves the desired design unresolved; done criteria would need to be established for compensation parameters and conditional Bus variables before implementation.
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
- 25/100