Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Python Plugin Instances in User-Defined Plant Component #5264

Open
bonnema opened this issue Oct 1, 2024 · 0 comments
Open

Allow Python Plugin Instances in User-Defined Plant Component #5264

bonnema opened this issue Oct 1, 2024 · 0 comments

Comments

@bonnema
Copy link
Contributor

bonnema commented Oct 1, 2024

Enhancement Request

Modify the user-defined plant component to accept a Python Plugin Instance for the plantInitializationProgramCallingManager as well as the plantSimulationProgramCallingManager. Additionally, if a Python Plugin Instance is specified, do not construct any default Energy Management System objects.

Detailed Description

Currently, the user-defined plant component only allows an Energy Management System Program Calling Manager for the plantInitializationProgramCallingManager and the plantSimulationProgramCallingManager. It also default constructs a number of Energy Management System actuators in addition to a two Energy Management System programs.

However, this does not allow a Python Plugin to be used to model the user-defined plant component. While the importance of these defaults and generating a running model is recognized, it would be beneficial to be able to bypass this functionality.

Possible Implementation

Overload the setPlantInitializationProgramCallingManager and setPlantSimulationProgramCallingManager methods to accept a Python Plugin Instance. If the setPlantInitializationProgramCallingManager method is used with a Python Plugin Instance, do not default construct a Plant Initialization Energy Management System Program or these actuators:

  • designVolumeFlowRateActuator
  • minimumMassFlowRateActuator
  • maximumMassFlowRateActuator
  • minimumLoadingCapacityActuator
  • maximumLoadingCapacityActuator
  • optimalLoadingCapacityActuator

Similarly, if the setPlantSimulationProgramCallingManager method is used with a Python Plugin Instance, do not default construct a Plant Simulation Energy Management System Program or these actuators:

  • outletTemperatureActuator
  • massFlowRateActuator

It is important to keep these split, sometimes it is convenient to keep one program in Python and the other in ERL.

@bonnema bonnema added Enhancement Request Triage Issue needs to be assessed and labeled, further information on reported might be needed labels Oct 1, 2024
@DavidGoldwasser DavidGoldwasser removed the Triage Issue needs to be assessed and labeled, further information on reported might be needed label Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants