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

Availability Manager Night Cycle Zone list Name

asked 2018-10-31 16:29:22 -0600

updated 2018-10-31 16:30:15 -0600

I have an airloop system connected to 3 zones. I am implementing a Night Cycle, but I want to specify CycleOnControlZone.

When you set the Use Night Cycle option to Cycle on Full System if Heating or Cooling Required, Openstudio will create a 4 OS:ModelObjectList. I think they are created as placeholders as they need to be populated for the forward translator (I have tried leaving all of them blank when using the CycleOnAny option).

How can I specify a single zone for CycleOnControlZone inside Openstudio? The dropdown only refers to the OS:ModelObjectList and all of the OS:ModelObjectList do not refer to anything or are referred by anything else in the .OSM file.

I went to the SDK documentation to find more info about the class. From my understanding, the ModelObjectList object can contain Model class objects. However, it does not look like I can access the vector from the GUI or modify it.

When you export as an .idf you get the list of all of the zones connected to the system. I want to be able to modify this list from the Openstudio GUI.

image description

edit retag flag offensive close merge delete


yes i am having similar problems. Did you ever figure this out?

TheEnergyTutor's avatar TheEnergyTutor  ( 2020-07-20 10:17:20 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2020-08-04 06:17:48 -0600

updated 2020-08-04 06:22:19 -0600

Quoting the SDK doc for 3.0.1 (but this was the same since 2.3.1)

You can set these by passing a vector of zones:

bool    setControlThermalZones (const std::vector< ThermalZone > &thermalZones)
bool    setCoolingControlThermalZones (const std::vector< ThermalZone > &thermalZones)
bool    setHeatingControlThermalZones (const std::vector< ThermalZone > &thermalZones)
bool    setHeatingZoneFansOnlyThermalZones (const std::vector< ThermalZone > &thermalZones)

and you can reset/clear them:

void    resetControlThermalZones ()    
void    resetCoolingControlThermalZones ()
void    resetHeatingControlThermalZones ()
void    resetHeatingZoneFansOnlyThermalZones ()

These are NOT exposed to the openstudiocoalition/OpenStudioApplication though, you must use the bindings to populate them, or they will be defaulted to ALL zones served by the AirLoopHVAC during ForwardTranslation: You can follow the (quite extensive) logic implemented in ForwardTranslateAvailabilityManagerNightCycle.cpp#L128-L450

edit flag offensive delete link more



Oh, this is from long before I understood the SDK, thanks for replying to this! For me, it is a great feeling to look back and see how much I've learned and a lot of it with your help.

Luis Lara's avatar Luis Lara  ( 2020-08-20 10:20:15 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops


Question Tools



Asked: 2018-10-31 16:29:22 -0600

Seen: 308 times

Last updated: Aug 04 '20