Use ISO 13790 in Honeybee

Even if Energyplus is a very compent tool I think it is a bit too complex for early stage mass studies. Therefore I am thinking of implenting a hourly version of ISO 13790. There is a Python implementation that can be found at https://github.com/architecture-building-systems/RC_BuildingSimulator

My plan is to use zoning components from Honebee and calculate solar irradiance in Daysim. Any ideas or comments would be useful.

I think that’s a good idea. I’d have to learn a bit more about the limitations/trade-offs of ISO 13790 to see if I would use it, but agree E+ is too heavy for certain use cases.

Questions/Comments (at first glance):

  • It looks like the code is using numpy, and pandas. Are you planning on running this code in Grasshopper/Dynamo’s IronPython, and if so how are you planning on dealing with these dependencies?

  • Assuming the code below captures gist of the inputs, some key omissions include: building/facade orientation, user/equipment loads and scheduling. It’s okay to simplify the thermal model (i.e. simplify envelope to just u-values + manual input for heat capacity), but I feel like orientation and scheduling have a huge impact on building energy and can be integrated into the code without too much difficulty.

 # Set Building Parameters
        Office = Building(window_area=13.5,
                          external_envelope_area=15.19,
                          room_depth=7,
                          room_width=4.9,
                          room_height=3.1,
                          lighting_load=11.7,
                          lighting_control=300,
                          lighting_utilisation_factor=0.45,
                          lighting_maintenance_factor=0.9,
                          u_walls=0.2,
                          u_windows=1.1,
                          ach_vent=1.5,
                          ach_infl=0.5,
                          ventilation_efficiency=0,
                          thermal_capacitance_per_floor_area=165000,
                          t_set_heating=20,
                          t_set_cooling=26,
                          max_cooling_energy_per_floor_area=-12,
                          max_heating_energy_per_floor_area=12,
                          heating_supply_system=supply_system.DirectHeater,
                          cooling_supply_system=supply_system.DirectCooler,
                          heating_emission_system=emission_system.AirConditioning,
                          cooling_emission_system=emission_system.AirConditioning,
                          )

The dependencies is a problem. I guess there will be quite a lot of rewriting. If anybody knows how to avoid this it would be great to know, I think input like HVAC, internal loads and control system will be rather easy to deal with and be based upon some kind of standard templets.

Honeybee[+] uses radiance an is more accurate, flexible and faster than Daysim. It has an API and you can integrate the radiation analysis to your workflow with a couple of lines of code. Here is the recipe for radiation: honeybee.radiance.recipe.radiation package — Honeybee 0.0.04 documentation

There are plugins for using CPython in Grasshopper. See this post:

@MaxTillberg I agree I think it would not be great to rewrite the existing work just to lose that dependency, especially when numpy/pandas is actually pretty useful. For example numpy is more efficient then standard python lists, and pandas is built on numpy so you would actually be rewriting it to be less efficient! Also there are complications with building parallel versions of code - i.e everytime the original authors update their code, you’d have to update your version, it would be much nicer to just use their python package as intended.

Mostapha’s suggestion is a good option to pursue. Another one that I’ve been thinking about is compiling python code to an executable and then running the .exe in Grasshopper. There are packages that do this like py2exe or pyInstaller, although I haven’t tested it out so I have no idea how reliable they’ll be and how they’ll handle numpy and pandas.

I have used Py2exe in the past. It delivers.

After 5 months the implementation is done and it looks great. Zones and solar radiation is generated by Honeybee/Ladybug, heat balace is done in seconds, technical systems and system boundries are fully flexible.The result is very similar to IDA ICE.

1 Like