Skip to content

Enable Branch to receive voltage and send current over signals #546

Description

@PhilipFackler

Summary

We need a way to communicate voltage and current between a branch and something other than a bus.

Rationale

For co-simulation we want to communicate voltage and current between two instances of GridKit over a "network". Presently, the Branch class reads/writes these directly as owned by a BusBase, so we need to devise an alternate means of access.

Description

The "best" way to do this is somewhat open-ended. Here are my ideas (in no particular order):

  • A new type (inherits from BusBase) that would substitute for one of the buses on the branch
    • implementation of Branch does not change
    • new class enables external access through signal nodes
  • A new branch type (inherits from Component) that uses signals instead of buses
    • "true" bus would be connected through BusToSignalAdapter
    • duplicates Branch behavior
  • Modify existing Branch type to be able to use signals
    • Add some logic to prioritize using signals if they are connected. If not, use the bus pointer as before.

In all of these cases the external communication is happening (from the system's perspective) through signal nodes. This is reflecting my expectation of the design the co-simulation will develop into...in which *.case.json files will remain useful as they are now (declaring signals that can be used externally) and adding (either in the case file or a new co-simulation configuration file) the ability to specify which signals are used for network communication.

Additional information

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions