Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

Yes, you can now explicitly define the PlantEquipmentOperationSchemes in OpenStudio using the API. The feature is described here. If you define any operation schemes, the OpenStudio defaulting will be disabled except for the behavior around component setpoint operation.

Here is a made up example.

chiller = model.getChillerElectricEIRs.first
chilled_plant = chiller.plantLoop.get
chiller2 = OpenStudio::Model::ChillerElectricEIR.new(model)
chilled_plant.addSupplyBranchForComponent(chiller2)
# A default constructed load scheme has a single large load range
cooling_op_scheme = OpenStudio::Model::PlantEquipmentOperationCoolingLoad.new(model)
# This method adds the equipment to the existing load range
cooling_op_scheme.addEquipment(chiller)
cooling_op_scheme.addEquipment(chiller2)
# This cuts the load range into two pieces with only chiller2 operating on the lower end of the range
# See PlantEquipmentOperationRangeBasedScheme for details about this api 
lower_range_equipment = []
lower_range_equipment.push(chiller2)
cooling_op_scheme.addLoadRange(25000.0,lower_range_equipment)
chilled_plant.setPlantEquipmentOperationCoolingLoad(cooling_op_scheme)

The details about how the load range scheme API works is here.

OpenStudio will always create a component setpoint operation scheme for any components that have a setpoint manager on their immediate outlet node, but you can overrule that scheme by assigning the component to a different operation scheme that is set as the primary scheme. You might do this if for some reason you needed a SPM on a component outlet but do not want component setpoint operation.