Skip to content

Hawaii 37-bus case simulation#340

Open
nkoukpaizan wants to merge 7 commits intodevelopfrom
nicholson/hawaii
Open

Hawaii 37-bus case simulation#340
nkoukpaizan wants to merge 7 commits intodevelopfrom
nicholson/hawaii

Conversation

@nkoukpaizan
Copy link
Collaborator

@nkoukpaizan nkoukpaizan commented Feb 16, 2026

Description

This is a functional implementation of the Hawaii case
Closes #336

Proposed changes

  • Added a workaround to add Jacobian contributions from components to support parallel branches.
  • Implemented a different formulation of limits (see Question: behavior of sigmoid and Indicators #320), which removes nan values. Updated the documentation accordingly. Both documentation and implementation could change later if another solution comes up.
  • Added monitors to hawaii.json to generate a mon.csv file.
  • Updated PhasorDynamics monitoring to remove default stdout outputs in csv format. This add a lot to the outputs on larger systems.

Checklist

  • All tests pass.
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra.
  • The new code follows GridKit™ style guidelines.
  • [N/A] There are unit tests for the new code.
  • The new code is documented.
  • The feature branch is rebased with respect to the target branch.
  • [N/A] I have updated CHANGELOG.md to reflect the changes in this PR. If this is a minor PR that is part of a larger fix already included in the file, state so.

Further comments

@nkoukpaizan nkoukpaizan self-assigned this Feb 16, 2026
@nkoukpaizan nkoukpaizan added bug Something isn't working enhancement New feature or request examples labels Feb 16, 2026
@nkoukpaizan nkoukpaizan marked this pull request as ready for review February 16, 2026 19:10
@nkoukpaizan nkoukpaizan requested review from PhilipFackler, abirchfield, lukelowry and pelesh and removed request for pelesh February 16, 2026 19:10
Copy link
Collaborator

@pelesh pelesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me and tests pass.

@abirchfield and @lukelowry: Please review smoothing functions docs and implementation. I would appreciate your approval before we merge this.

Copy link
Collaborator

@lukelowry lukelowry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work this is great step forward for cases

* @return Scalar value indicating limit activation
*/
template <class ScalarT, typename RealT>
__attribute__((always_inline)) inline ScalarT indicator(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The indicator_low and indicator_high functions make sense, but I am confused by indicator_zero. Can this be brought into indicator? If Enzyme needs it this way, then that is okay by me.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not needed by Enzyme, and it could be brought into indicator, I'm not sure what difference that would make. It made sense to me to write it this way, but I'm not particularly attached to the implementation.

\phi(V_R,f) &= \left[1-\phi_L\right]\left[1-\phi_U\right]\\
\phi_L(V_R)&= \sigma(V_R-V_{rmin}) \\
\phi_U(V_R)&= \sigma(V_{rmax}-V_R) \\
\phi_0(V_R)&= \phi_L + \phi_U - 1 \\
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is cleaner than my original approach! Can you explain why it is called $\phi_0$?

Copy link
Collaborator Author

@nkoukpaizan nkoukpaizan Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It turns out that it corresponds to f=0, so I called it $\phi_0$. The way I derived it was drawing the full function for each of the f=0, f<0 and f>0 cases. I'm not particularly attached to that notation, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request examples

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Hawaii 37-bus case

4 participants

Comments