Initial Implementation of Subsystem Model for Partition Simulation - #492
Open
abdourahmanbarry wants to merge 53 commits into
Open
Initial Implementation of Subsystem Model for Partition Simulation#492abdourahmanbarry wants to merge 53 commits into
abdourahmanbarry wants to merge 53 commits into
Conversation
abdourahmanbarry
force-pushed
the
abdou/partitioning_microgrid
branch
from
July 19, 2026 08:27
85a516d to
01a410b
Compare
abdourahmanbarry
force-pushed
the
abdou/partitioning_microgrid
branch
from
July 24, 2026 02:46
66c58ad to
b48a401
Compare
abdourahmanbarry
force-pushed
the
abdou/partitioning_microgrid
branch
from
August 3, 2026 05:16
a375b1f to
f65baeb
Compare
abdourahmanbarry
marked this pull request as ready for review
August 6, 2026 05:57
Collaborator
Author
|
This pull request is ready for review. |
alexander-novo
requested changes
Aug 11, 2026
abdourahmanbarry
force-pushed
the
abdou/partitioning_microgrid
branch
from
August 11, 2026 18:28
e96184a to
98be2e0
Compare
…es. During partitioning: - BusPartitionInterface connects to the bus partition - ComponentPartitionInterface connects to the component partition
…ample more rebust
- Improved subsystem residual and Jacobian validation against the full-system model. - Updated BusPartitionInterface to support arbitrary ordering of internal and external component variables. - Added ownership and cleanup of copied components used by partition interfaces. - Improved comments and documentation for partitioning, Jacobian verification, and interface behavior.
abdourahmanbarry
force-pushed
the
abdou/partitioning_microgrid
branch
from
August 11, 2026 18:52
98be2e0 to
f082543
Compare
nkoukpaizan
reviewed
Aug 13, 2026
nkoukpaizan
left a comment
Collaborator
There was a problem hiding this comment.
I few initial comments on the Hires example. I'll take a closer look at the partition interface after comments by @alexander-novo have been addressed.
- add documentation for hires problem and partitioning - test subsystem jacobian and residuals - Update CMake file
- Add comments to methods and lambda functions - added check to ensure only allocated components can be added to model - Change parameter type in addInterface method to PartitionInterface
- Partition interface can be applied to all bus types, not just MicrogridBus - New clone functionality allows users to pass components directly without explicitly copying it - Update CMake file with dense vector dependency - Add more documentation - Move suitable code from constructor to allocate
- move microgrid network builder section to separate file to facilitate code reuse as more examples dependent on it - Add partition utility code to minimize code duplication in partition examples. - Added all helper header files in one location - Remove remaining Hires example files from Partition folder
- Refactored common code in the Microgrid, ScaleMicrogrid, and ScaleMicrogridArbitrary examples into reusable helper functions - Improved documentation across the PowerElectronics examples - Updated CMake files
- Minor format changes - Updated tests and added documentation for partition interface and SubsystemModel - Used size_t for some loops in CircuitComponent
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
In this PR, we introduce the initial implementation of the
SubsystemModelfor partitioned Power Electronics simulation. The implementation provides the infrastructure required to partition Power Electronic networks, and to evaluate subsystem residuals and Jacobians independently. This lays the foundation for implementing co-simulation methods in future pull requests.Proposed changes
SubsystemModelclass to represent an individual partition and aBusPartitionInterfacecomponent to mark partition boundaries.Checklist
-Wall -Wpedantic -Wconversion -Wextra.