Skip to content

Initial implementation of generic phasor dynamics app#359

Draft
PhilipFackler wants to merge 2 commits intodevelopfrom
PhilipFackler/generic_pdsim
Draft

Initial implementation of generic phasor dynamics app#359
PhilipFackler wants to merge 2 commits intodevelopfrom
PhilipFackler/generic_pdsim

Conversation

@PhilipFackler
Copy link
Copy Markdown
Collaborator

Description

Please describe the issue that is addressed (bug, new feature,
documentation, enhancement, etc.). Please also include relevant motivation and
context. List any dependencies that are required for this change.

See #349

Proposed changes

Describe how your changes here address the issue and why the proposed changes
should be accepted.

Checklist

Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you're unsure about any of them, don't hesitate to ask. We're here
to help! This is simply a reminder of what we are going to look for before
merging your code.

  • 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.
  • 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

If this is a relatively large or complex change, kick off the discussion by explaining
why you chose the solution you did and what alternatives you considered, etc...

Copy link
Copy Markdown
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 as is. A couple of things to address before we merge:

  • Please add a README file explaining solver configuration input. A skeletal document is sufficient as I expect @abirchfield will want to add more features to that.
  • Please make sure CI tests pass (see comment below).

@@ -0,0 +1 @@
add_subdirectory(PhasorDynamics)
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.

The GridKit code should build without SUNDIALS. Consider adding this guard to prevent failing CI tests:

Suggested change
add_subdirectory(PhasorDynamics)
if(TARGET SUNDIALS::idas)
add_subdirectory(PhasorDynamics)
endif()

WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})

add_test(NAME ThreeBusBasic_using_app
COMMAND PDSim ${CMAKE_CURRENT_SOURCE_DIR}/ThreeBusBasic.study.json
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.

Perhaps call it solver or config?

Suggested change
COMMAND PDSim ${CMAKE_CURRENT_SOURCE_DIR}/ThreeBusBasic.study.json
COMMAND PDSim ${CMAKE_CURRENT_SOURCE_DIR}/ThreeBusBasic.solver.json

Similarly, we could rename ThreeBusBasic.json --> ThreeBusBasic.case.json to be more self-explanatory to the domain folk.

@pelesh pelesh added the enhancement New feature or request label Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants