NREL / OpenStudio

OpenStudio is a cross-platform collection of software tools to support whole building energy modeling using EnergyPlus and advanced daylight analysis using Radiance.
https://www.openstudio.net/
Other
484 stars 185 forks source link

Zone group feature #5141

Closed archeering closed 2 months ago

archeering commented 3 months ago

Enhancement Request

For the building which has a long list of thermal zones, drag & drop each zone into HVAC system is a boring job, so pls add zone group feature into Openstudio for faster HVAC system setup. ## Detailed Description

Zone group is well know features in other building simulation tool, it could facilite the management of too many thermal zones in Openstudio's list. Therefore, in the HVAC systems tab, there will be one more object: Thermal zone group. Thermal zones can be mutiple selected, then copy-paste or drag-drop into thermal zone group. User can only drag-drop thermal zone group into HVAC system instead of just one thermal zone then repeat and repeat for other zones - it makes tired with a building having more than 50 thermal zones, and system HVAC network appeared too big with super small text name.

Possible Implementation

jmarrec commented 2 months ago

Wrong repository. You're apparnetly talking about https://github.com/openstudiocoalition/OpenStudioApplication/issues

As a matter of fact, you should definitely use the Ruby/Python bindings to do such a repetitive task.

In [1]: from pathlib import Path

In [2]: import openstudio

In [3]: ori_osm_path = Path('model.osm')

In [4]: m = openstudio.model.Model.load(ori_osm_path).get()

In [5]: a = m.getAirLoopHVACs()[0]

In [6]: for z in m.getThermalZones():
            # This clones the last air terminal
   ...:     a.addBranchForZone(z)
            # Or you can instantiate one directly
   ...:     atu = openstudio.model.AirTerminalSingleDuctConstantVolumeNoReheat(m, m.alwaysOnDiscreteSchedule())
   ...:     a.addBranchForZone(z, atu)