Skip to content

Initial implementation of multi-contingency app#394

Open
PhilipFackler wants to merge 2 commits intodevelopfrom
PhilipFackler/multi-contingency
Open

Initial implementation of multi-contingency app#394
PhilipFackler wants to merge 2 commits intodevelopfrom
PhilipFackler/multi-contingency

Conversation

@PhilipFackler
Copy link
Copy Markdown
Collaborator

@PhilipFackler PhilipFackler commented May 6, 2026

Description

Refactored pdsim code as ContingencyStudy class and reused in initial implementation of concurrent contingency app.

Closes #392

Proposed changes

For the work-in-progress I implemented three different versions of the simulation for easy timing comparison.

  • serial
  • async (using std::async)
  • openmp

The easiest interesting case to try locally is "new england" (I have 22 cores in my laptop).

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

@PhilipFackler PhilipFackler requested a review from pelesh May 6, 2026 20:44
@lukelowry
Copy link
Copy Markdown
Collaborator

'ContingencyStudy' -> 'CTGStudy'

CTG is common short hand and way easier to type! One option.

@PhilipFackler
Copy link
Copy Markdown
Collaborator Author

yes, I need feedback on naming things

@pelesh
Copy link
Copy Markdown
Collaborator

pelesh commented May 7, 2026

A few comments:

  • Great to have multiple execution options to compare performance!
  • I suggest restoring PDSim as it was. It is a different app and should not be modified in this PR.
  • I would contain implementation of ContingencyStudy to a single file or a source and a header file.
  • We have development of application utilities in our roadmap, but this is beyond the scope of this PR.

@PhilipFackler PhilipFackler force-pushed the PhilipFackler/multi-contingency branch from e30ce37 to 463644f Compare May 8, 2026 13:36
@PhilipFackler PhilipFackler marked this pull request as ready for review May 8, 2026 13:37
@PhilipFackler PhilipFackler force-pushed the PhilipFackler/multi-contingency branch from 463644f to e49c57f Compare May 8, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add contingency analysis app for phasor domain dynamics

3 participants