Skip to content

Polish + Prepare IEEEST for release - #520

Closed
lukelowry wants to merge 2 commits into
developfrom
lukel/ieeest-urgent-dev
Closed

Polish + Prepare IEEEST for release#520
lukelowry wants to merge 2 commits into
developfrom
lukel/ieeest-urgent-dev

Conversation

@lukelowry

@lukelowry lukelowry commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Description

Added doxygen and made one functional correction to the model (initialization).

Proposed changes

  • Doxygen comments for model and enums
  • Initialization fixed to work on signals that are not zero-valued at steady state
  • Implicit representation resolves any parameter problems for the purpose of validation until we merge IEEEST Stabilizer Improvements/Corrections #460

Checklist

  • All tests pass.
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra.
  • The new code follows GridKit™ style guidelines.
  • 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

Half of the model is already implicit, so this jsut make it consistent and helps with the ugly parameter validation until a cleaner design is approved.

@lukelowry
lukelowry requested a review from nkoukpaizan August 4, 2026 21:47
@pelesh
pelesh self-requested a review August 4, 2026 22:13

@pelesh pelesh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think we need to consider differential variable designation as the compile-time requirement, because it will become so once we introduce Hessenberg form for DAEs.

Comment on lines +303 to 310
tag_[0] = (O1_ > 0.0);
tag_[1] = (O2_ > 0.0);
tag_[2] = (O3_ > 0.0);
tag_[3] = (a4_ > 0.0);
tag_[4] = (T2_ > 0.0);
tag_[5] = (T4_ > 0.0);
tag_[6] = (T6_ > 0.0);
tag_[7] = false;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I believe we agree that this cannot be the way to configure differential and algebraic variables. This approach will work with implicit DAE formulation but will fail for Hessenberg form.

If we are to pack models of different order in this component, we do need to add separate residual functions for each order. I don't see way around it.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I agree. I think that the template parameter approach (the other PR) is the cleanest. Think starting with this which shows all the permutations is a good starting point showing the requirements so we can design the compile time version maintainably

@lukelowry
lukelowry force-pushed the lukel/ieeest-urgent-dev branch from 119d7a5 to f5665f5 Compare August 6, 2026 14:41
@pelesh

pelesh commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Closing in favor of #460

@pelesh pelesh closed this Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants