honeybee-energy 1.116.25__tar.gz → 1.116.27__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of honeybee-energy might be problematic. Click here for more details.
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/PKG-INFO +1 -1
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/constructionset.py +47 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/model.py +119 -96
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/room.py +2 -2
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/match.py +7 -4
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/PKG-INFO +1 -1
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/CODE_OF_CONDUCT.md +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/CONTRIBUTING.md +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/LICENSE +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/MANIFEST.in +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/README.md +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/dev-requirements.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/__main__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/_extend_honeybee.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/altnumber.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/create.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/constructions.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/fen_ratios.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/lpd_building.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/pci_2016.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/pci_2019.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/pci_2022.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/shw.csv +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/pci.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/result.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/boundarycondition.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/baseline.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/edit.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/lib.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/result.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/setconfig.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/settings.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/simulate.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/translate.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/cli/validate.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/config.json +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/config.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/air.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/dictutil.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/dynamic.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/opaque.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/shade.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/window.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/windowshade.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/dictutil.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/generator/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/generator/loadcenter.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/generator/pv.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/_template.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/furnace.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/psz.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/ptac.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/pvav.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/vav.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/detailed.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/doas/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/doas/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/doas/fcu.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/doas/radiant.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/doas/vrf.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/doas/wshp.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/baseboard.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/evapcool.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/fcu.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/gasunit.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/radiant.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/residential.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/vrf.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/windowac.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/wshp.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/idealair.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/internalmass.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadconstructions.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadconstructionsets.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadmaterials.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadprogramtypes.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadschedules.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadtypelimits.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/constructions.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/constructionsets.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/materials.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/programtypes.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/schedules.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/scheduletypelimits.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/daylight.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/dictutil.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/equipment.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/hotwater.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/infiltration.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/lighting.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/people.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/process.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/setpoint.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/load/ventilation.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/_base.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/dictutil.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/frame.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/gas.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/glazing.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/opaque.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/material/shade.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/measure.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/programtype.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/aperture.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/door.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/extension.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/face.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/shade.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/shademesh.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/reader.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/colorobj.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/emissions.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/err.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/eui.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/generation.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/loadbalance.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/osw.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/rdd.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/result/zsz.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/run.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/day.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/dictutil.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/fixedinterval.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/rule.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/ruleset.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/typelimit.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/shw.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/control.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/daylightsaving.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/dictutil.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/output.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/parameter.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/runperiod.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/shadowcalculation.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/sizing.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/__init__.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/_crack_data.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/afn.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/control.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/crack.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/fan.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/opening.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/simulation.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/writer.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/SOURCES.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/dependency_links.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/entry_points.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/requires.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/top_level.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/openstudio-requirements.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/requirements.txt +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/setup.cfg +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/setup.py +0 -0
- {honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/standards-requirements.txt +0 -0
|
@@ -59,6 +59,8 @@ class ConstructionSet(object):
|
|
|
59
59
|
* modified_constructions_unique
|
|
60
60
|
* materials_unique
|
|
61
61
|
* modified_materials_unique
|
|
62
|
+
* is_interior_defaulted
|
|
63
|
+
* is_interior_symmetric
|
|
62
64
|
* user_data
|
|
63
65
|
"""
|
|
64
66
|
__slots__ = ('_identifier', '_display_name', '_wall_set', '_floor_set',
|
|
@@ -271,6 +273,51 @@ class ConstructionSet(object):
|
|
|
271
273
|
pass # ShadeConstruction or AirBoundaryConstruction
|
|
272
274
|
return list(set(materials))
|
|
273
275
|
|
|
276
|
+
@property
|
|
277
|
+
def is_interior_defaulted(self):
|
|
278
|
+
"""Get a boolean for whether all interior constructions of the set are defaulted.
|
|
279
|
+
|
|
280
|
+
If all construction sets in a model use the same default interior constructions,
|
|
281
|
+
it meas that the construction sets won't create any conflicts between adjacent
|
|
282
|
+
interior Faces.
|
|
283
|
+
"""
|
|
284
|
+
return self.wall_set._interior_construction is None and \
|
|
285
|
+
self.aperture_set._interior_construction is None and \
|
|
286
|
+
self.door_set._interior_construction is None and \
|
|
287
|
+
self.floor_set._interior_construction is None and \
|
|
288
|
+
self.roof_ceiling_set._interior_construction is None
|
|
289
|
+
|
|
290
|
+
@property
|
|
291
|
+
def is_interior_symmetric(self):
|
|
292
|
+
"""Get a boolean for whether all interior constructions of the set are symmetric.
|
|
293
|
+
|
|
294
|
+
This will only be true if the interior wall, window and door constructions
|
|
295
|
+
are symmetric and the material layers of the interior floor construction
|
|
296
|
+
is a reversed version of the ceiling construction. When these criteria
|
|
297
|
+
are met, it meas that the construction set can be applied to all rooms
|
|
298
|
+
of a Model without concern for it creating conflicts between adjacent
|
|
299
|
+
interior Faces.
|
|
300
|
+
"""
|
|
301
|
+
# check the constructions that are supposed to be symmetric
|
|
302
|
+
wall_con = self.wall_set._interior_construction
|
|
303
|
+
if wall_con is not None and not wall_con.is_symmetric:
|
|
304
|
+
return False
|
|
305
|
+
win_con = self.aperture_set._interior_construction
|
|
306
|
+
if win_con is not None and not win_con.is_symmetric:
|
|
307
|
+
return False
|
|
308
|
+
door_con = self.door_set._interior_construction
|
|
309
|
+
if door_con is not None and not door_con.is_symmetric:
|
|
310
|
+
return False
|
|
311
|
+
glz_dr_con = self.door_set._interior_glass_construction
|
|
312
|
+
if glz_dr_con is not None and not glz_dr_con.is_symmetric:
|
|
313
|
+
return False
|
|
314
|
+
# check that the floor is the reverse of the floor
|
|
315
|
+
floor_con = self.floor_set.interior_construction
|
|
316
|
+
ceil_con = self.roof_ceiling_set.interior_construction
|
|
317
|
+
if floor_con.materials != tuple(reversed(ceil_con.materials)):
|
|
318
|
+
return False
|
|
319
|
+
return True
|
|
320
|
+
|
|
274
321
|
@property
|
|
275
322
|
def user_data(self):
|
|
276
323
|
"""Get or set an optional dictionary for additional meta data for this object.
|
|
@@ -789,7 +789,7 @@ class ModelEnergyProperties(object):
|
|
|
789
789
|
msgs.append(self.check_all_zones_have_one_hvac(False, detailed))
|
|
790
790
|
msgs.append(self.check_detailed_hvac_rooms(False, detailed))
|
|
791
791
|
msgs.append(self.check_shw_rooms_in_model(False, detailed))
|
|
792
|
-
msgs.append(self.
|
|
792
|
+
msgs.append(self.check_maximum_elevation(1000, False, detailed))
|
|
793
793
|
msgs.append(self.check_one_vegetation_material(False, detailed))
|
|
794
794
|
msgs.append(self.check_interior_constructions_reversed(False, detailed))
|
|
795
795
|
|
|
@@ -833,7 +833,7 @@ class ModelEnergyProperties(object):
|
|
|
833
833
|
msgs.append(self.check_all_zones_have_one_hvac(False, detailed))
|
|
834
834
|
msgs.append(self.check_detailed_hvac_rooms(False, detailed))
|
|
835
835
|
msgs.append(self.check_shw_rooms_in_model(False, detailed))
|
|
836
|
-
msgs.append(self.
|
|
836
|
+
msgs.append(self.check_maximum_elevation(1000, False, detailed))
|
|
837
837
|
msgs.append(self.check_one_vegetation_material(False, detailed))
|
|
838
838
|
msgs.append(self.check_interior_constructions_reversed(False, detailed))
|
|
839
839
|
# output a final report of errors or raise an exception
|
|
@@ -980,7 +980,7 @@ class ModelEnergyProperties(object):
|
|
|
980
980
|
error_type='Duplicate SHW Identifier')
|
|
981
981
|
|
|
982
982
|
def check_all_zones_have_one_hvac(self, raise_exception=True, detailed=False):
|
|
983
|
-
"""Check that all rooms within each zone have only
|
|
983
|
+
"""Check that all rooms within each zone have only one HVAC assigned to them.
|
|
984
984
|
|
|
985
985
|
Multiple HVAC systems serving one zone typically causes EnergyPlus simulation
|
|
986
986
|
failures and is often a mistake that results from changing zoning strategies
|
|
@@ -1099,99 +1099,6 @@ class ModelEnergyProperties(object):
|
|
|
1099
1099
|
return msg
|
|
1100
1100
|
return [] if detailed else ''
|
|
1101
1101
|
|
|
1102
|
-
def check_one_vegetation_material(self, raise_exception=True, detailed=False):
|
|
1103
|
-
"""Check that there no more than one EnergyMaterialVegetation in the model.
|
|
1104
|
-
|
|
1105
|
-
It is a limitation of EnergyPlus that it can only simulate a single
|
|
1106
|
-
eco roof per model. This should probably be addressed at some point
|
|
1107
|
-
so that we don't always have to check for it.
|
|
1108
|
-
|
|
1109
|
-
Args:
|
|
1110
|
-
raise_exception: Boolean for whether a ValueError should be raised if there's
|
|
1111
|
-
more than one EnergyMaterialVegetation in the Model. (Default: True).
|
|
1112
|
-
detailed: Boolean for whether the returned object is a detailed list of
|
|
1113
|
-
dicts with error info or a string with a message. (Default: False).
|
|
1114
|
-
|
|
1115
|
-
Returns:
|
|
1116
|
-
A string with the message or a list with a dictionary if detailed is True.
|
|
1117
|
-
"""
|
|
1118
|
-
# first see if there's more than one vegetation material
|
|
1119
|
-
all_constrs = self.room_constructions + self.face_constructions
|
|
1120
|
-
materials = []
|
|
1121
|
-
for constr in all_constrs:
|
|
1122
|
-
try:
|
|
1123
|
-
materials.extend(constr.materials)
|
|
1124
|
-
except AttributeError:
|
|
1125
|
-
pass # ShadeConstruction
|
|
1126
|
-
all_mats = list(set(materials))
|
|
1127
|
-
veg_mats = [m for m in all_mats if isinstance(m, EnergyMaterialVegetation)]
|
|
1128
|
-
|
|
1129
|
-
# if more than one vegetation material was found, then report the issue
|
|
1130
|
-
if len(veg_mats) > 1:
|
|
1131
|
-
if detailed:
|
|
1132
|
-
all_err = []
|
|
1133
|
-
for v_mat in veg_mats:
|
|
1134
|
-
msg = 'EnergyMaterialVegetation "{}" is one of several vegetation ' \
|
|
1135
|
-
'materials in the model.\nThis is not allowed by ' \
|
|
1136
|
-
'EnergyPlus.'.format(v_mat.identifier)
|
|
1137
|
-
error_dict = {
|
|
1138
|
-
'type': 'ValidationError',
|
|
1139
|
-
'code': '020010',
|
|
1140
|
-
'error_type': 'Multiple Vegetation Materials',
|
|
1141
|
-
'extension_type': 'Energy',
|
|
1142
|
-
'element_type': 'Material',
|
|
1143
|
-
'element_id': [v_mat.identifier],
|
|
1144
|
-
'element_name': [v_mat.display_name],
|
|
1145
|
-
'message': msg
|
|
1146
|
-
}
|
|
1147
|
-
all_err.append(error_dict)
|
|
1148
|
-
return all_err
|
|
1149
|
-
else:
|
|
1150
|
-
veg_mats_ids = [v_mat.identifier for v_mat in veg_mats]
|
|
1151
|
-
msg = 'The model has multiple vegetation materials. This is not ' \
|
|
1152
|
-
'allowed by EnergyPlus:\n{}'.format('\n'.join(veg_mats_ids))
|
|
1153
|
-
if raise_exception:
|
|
1154
|
-
raise ValueError(msg)
|
|
1155
|
-
return msg
|
|
1156
|
-
return [] if detailed else ''
|
|
1157
|
-
|
|
1158
|
-
def check_all_air_boundaries_with_window(self, raise_exception=True, detailed=False):
|
|
1159
|
-
"""Check there are no Rooms with windows and otherwise composed of AirBoundaries.
|
|
1160
|
-
|
|
1161
|
-
This is a requirement for energy simulation since EnergyPlus will throw
|
|
1162
|
-
an error if it encounters a Room composed entirely of AirBoundaries except
|
|
1163
|
-
for one Face with a window.
|
|
1164
|
-
|
|
1165
|
-
Args:
|
|
1166
|
-
raise_exception: Boolean to note whether a ValueError should be raised
|
|
1167
|
-
if a Room composed entirely of AirBoundaries is found. (Default: True).
|
|
1168
|
-
detailed: Boolean for whether the returned object is a detailed list of
|
|
1169
|
-
dicts with error info or a string with a message. (Default: False).
|
|
1170
|
-
|
|
1171
|
-
Returns:
|
|
1172
|
-
A string with the message or a list with a dictionary if detailed is True.
|
|
1173
|
-
"""
|
|
1174
|
-
detailed = False if raise_exception else detailed
|
|
1175
|
-
msgs = []
|
|
1176
|
-
for room in self.host._rooms:
|
|
1177
|
-
non_ab = [f for f in room._faces if not isinstance(f.type, AirBoundary)]
|
|
1178
|
-
if all(len(f.apertures) > 0 for f in non_ab):
|
|
1179
|
-
if len(non_ab) != 0:
|
|
1180
|
-
st_msg = 'is almost entirely composed of AirBoundary Faces with ' \
|
|
1181
|
-
'the other {} Faces having Apertures'.format(len(non_ab))
|
|
1182
|
-
msg = 'Room "{}" {}.\nIt should be merged with adjacent ' \
|
|
1183
|
-
'rooms.'.format(room.full_id, st_msg)
|
|
1184
|
-
msg = self.host._validation_message_child(
|
|
1185
|
-
msg, room, detailed, '000207',
|
|
1186
|
-
error_type='Room Composed Entirely of AirBoundaries')
|
|
1187
|
-
msgs.append(msg)
|
|
1188
|
-
if detailed:
|
|
1189
|
-
return msgs
|
|
1190
|
-
full_msg = '\n'.join(msgs)
|
|
1191
|
-
if raise_exception and len(msgs) != 0:
|
|
1192
|
-
raise ValueError(full_msg)
|
|
1193
|
-
return full_msg
|
|
1194
|
-
|
|
1195
1102
|
def check_detailed_hvac_rooms(self, raise_exception=True, detailed=False):
|
|
1196
1103
|
"""Check that any rooms referenced within a DetailedHVAC exist in the model.
|
|
1197
1104
|
|
|
@@ -1303,6 +1210,122 @@ class ModelEnergyProperties(object):
|
|
|
1303
1210
|
return all_err if detailed else '\n'.join(all_err)
|
|
1304
1211
|
return [] if detailed else ''
|
|
1305
1212
|
|
|
1213
|
+
def check_one_vegetation_material(self, raise_exception=True, detailed=False):
|
|
1214
|
+
"""Check that there no more than one EnergyMaterialVegetation in the model.
|
|
1215
|
+
|
|
1216
|
+
It is a limitation of EnergyPlus that it can only simulate a single
|
|
1217
|
+
eco roof per model. This should probably be addressed at some point
|
|
1218
|
+
so that we don't always have to check for it.
|
|
1219
|
+
|
|
1220
|
+
Args:
|
|
1221
|
+
raise_exception: Boolean for whether a ValueError should be raised if there's
|
|
1222
|
+
more than one EnergyMaterialVegetation in the Model. (Default: True).
|
|
1223
|
+
detailed: Boolean for whether the returned object is a detailed list of
|
|
1224
|
+
dicts with error info or a string with a message. (Default: False).
|
|
1225
|
+
|
|
1226
|
+
Returns:
|
|
1227
|
+
A string with the message or a list with a dictionary if detailed is True.
|
|
1228
|
+
"""
|
|
1229
|
+
# first see if there's more than one vegetation material
|
|
1230
|
+
all_constrs = self.room_constructions + self.face_constructions
|
|
1231
|
+
materials = []
|
|
1232
|
+
for constr in all_constrs:
|
|
1233
|
+
try:
|
|
1234
|
+
materials.extend(constr.materials)
|
|
1235
|
+
except AttributeError:
|
|
1236
|
+
pass # ShadeConstruction
|
|
1237
|
+
all_mats = list(set(materials))
|
|
1238
|
+
veg_mats = [m for m in all_mats if isinstance(m, EnergyMaterialVegetation)]
|
|
1239
|
+
|
|
1240
|
+
# if more than one vegetation material was found, then report the issue
|
|
1241
|
+
if len(veg_mats) > 1:
|
|
1242
|
+
if detailed:
|
|
1243
|
+
all_err = []
|
|
1244
|
+
for v_mat in veg_mats:
|
|
1245
|
+
msg = 'EnergyMaterialVegetation "{}" is one of several vegetation ' \
|
|
1246
|
+
'materials in the model.\nThis is not allowed by ' \
|
|
1247
|
+
'EnergyPlus.'.format(v_mat.identifier)
|
|
1248
|
+
error_dict = {
|
|
1249
|
+
'type': 'ValidationError',
|
|
1250
|
+
'code': '020010',
|
|
1251
|
+
'error_type': 'Multiple Vegetation Materials',
|
|
1252
|
+
'extension_type': 'Energy',
|
|
1253
|
+
'element_type': 'Material',
|
|
1254
|
+
'element_id': [v_mat.identifier],
|
|
1255
|
+
'element_name': [v_mat.display_name],
|
|
1256
|
+
'message': msg
|
|
1257
|
+
}
|
|
1258
|
+
all_err.append(error_dict)
|
|
1259
|
+
return all_err
|
|
1260
|
+
else:
|
|
1261
|
+
veg_mats_ids = [v_mat.identifier for v_mat in veg_mats]
|
|
1262
|
+
msg = 'The model has multiple vegetation materials. This is not ' \
|
|
1263
|
+
'allowed by EnergyPlus:\n{}'.format('\n'.join(veg_mats_ids))
|
|
1264
|
+
if raise_exception:
|
|
1265
|
+
raise ValueError(msg)
|
|
1266
|
+
return msg
|
|
1267
|
+
return [] if detailed else ''
|
|
1268
|
+
|
|
1269
|
+
def check_maximum_elevation(self, max_elevation=1000, raise_exception=True,
|
|
1270
|
+
detailed=False):
|
|
1271
|
+
"""Check that no Rooms of the model are above a certain elevation.
|
|
1272
|
+
|
|
1273
|
+
EnergyPlus computes wind speeds, air pressures, and adjusts outdoor
|
|
1274
|
+
temperatures to account for the height above the ground using the Z values
|
|
1275
|
+
of the geometry coordinates. This is an important consideration when modeling
|
|
1276
|
+
skyscrapers but it can be detrimental when a building has been modeled
|
|
1277
|
+
with its coordinates at the height above sea level and the location
|
|
1278
|
+
is significantly above sea level (eg. Denver, Colorado).
|
|
1279
|
+
|
|
1280
|
+
This validation check is intended to catch such cases and make the user
|
|
1281
|
+
aware of the repercussions.
|
|
1282
|
+
|
|
1283
|
+
Args:
|
|
1284
|
+
max_elevation: A number for the maximum elevation in Meters that the
|
|
1285
|
+
model's rooms are permitted to be at before a ValidationError is
|
|
1286
|
+
reported. While EnergyPlus technically still simulates with models that
|
|
1287
|
+
are 12 kilometers above the origin, better practice is to set this
|
|
1288
|
+
value at the maximum height above the ground that any human-made
|
|
1289
|
+
structure can reasonably obtain. For this reason, the default is
|
|
1290
|
+
set to 1000 meters or roughly the height of the Burj tower.
|
|
1291
|
+
raise_exception: Boolean to note whether a ValueError should be raised
|
|
1292
|
+
if a Room composed entirely of AirBoundaries is found. (Default: True).
|
|
1293
|
+
detailed: Boolean for whether the returned object is a detailed list of
|
|
1294
|
+
dicts with error info or a string with a message. (Default: False).
|
|
1295
|
+
|
|
1296
|
+
Returns:
|
|
1297
|
+
A string with the message or a list with a dictionary if detailed is True.
|
|
1298
|
+
"""
|
|
1299
|
+
# get the maximum elevation of all the rooms
|
|
1300
|
+
conv_fac = conversion_factor_to_meters(self.host.units)
|
|
1301
|
+
max_elev_model = max_elevation / conv_fac
|
|
1302
|
+
room_elevations = tuple(room.max.z for room in self.host.rooms)
|
|
1303
|
+
max_bldg_elev = max(room_elevations)
|
|
1304
|
+
|
|
1305
|
+
# if the maximum elevation was exceeded, then report the issue
|
|
1306
|
+
if max_bldg_elev > max_elev_model:
|
|
1307
|
+
msg = 'The building height is currently {} meters above the ground ' \
|
|
1308
|
+
'given the Z values of the coordinates.\nThis is above the ' \
|
|
1309
|
+
'maximum recommended height of {} meters.'.format(
|
|
1310
|
+
int(max_bldg_elev * conv_fac), max_elevation)
|
|
1311
|
+
if detailed:
|
|
1312
|
+
error_dict = {
|
|
1313
|
+
'type': 'ValidationError',
|
|
1314
|
+
'code': '020101',
|
|
1315
|
+
'error_type': 'Building Height Exceeds Max Elevation',
|
|
1316
|
+
'extension_type': 'Energy',
|
|
1317
|
+
'element_type': 'Building',
|
|
1318
|
+
'element_id': [self.host.identifier],
|
|
1319
|
+
'element_name': [self.host.display_name],
|
|
1320
|
+
'message': msg
|
|
1321
|
+
}
|
|
1322
|
+
return [error_dict]
|
|
1323
|
+
else:
|
|
1324
|
+
if raise_exception:
|
|
1325
|
+
raise ValueError(msg)
|
|
1326
|
+
return msg
|
|
1327
|
+
return [] if detailed else ''
|
|
1328
|
+
|
|
1306
1329
|
def check_interior_constructions_reversed(
|
|
1307
1330
|
self, raise_exception=True, detailed=False):
|
|
1308
1331
|
"""Check that all interior constructions are in reversed order for paired faces.
|
|
@@ -757,11 +757,11 @@ class RoomEnergyProperties(object):
|
|
|
757
757
|
def add_default_ideal_air(self):
|
|
758
758
|
"""Add a default IdealAirSystem to this Room.
|
|
759
759
|
|
|
760
|
-
The identifier of this system will be derived from the room
|
|
760
|
+
The identifier of this system will be derived from the room zone name
|
|
761
761
|
and will align with the naming convention that EnergyPlus uses for
|
|
762
762
|
templates Ideal Air systems.
|
|
763
763
|
"""
|
|
764
|
-
hvac_id = '{} Ideal Loads Air System'.format(self.host.
|
|
764
|
+
hvac_id = '{} Ideal Loads Air System'.format(self.host.zone)
|
|
765
765
|
self.hvac = IdealAirSystem(hvac_id)
|
|
766
766
|
|
|
767
767
|
def assign_ideal_air_equivalent(self):
|
|
@@ -4,6 +4,7 @@ from __future__ import division
|
|
|
4
4
|
|
|
5
5
|
import re
|
|
6
6
|
|
|
7
|
+
from honeybee.typing import clean_ep_string
|
|
7
8
|
from honeybee.door import Door
|
|
8
9
|
from honeybee.aperture import Aperture
|
|
9
10
|
from honeybee.face import Face
|
|
@@ -81,10 +82,11 @@ def match_rooms_to_data(
|
|
|
81
82
|
if not space_based and zone_correct_mult:
|
|
82
83
|
zone_counter = {}
|
|
83
84
|
for room in rooms:
|
|
85
|
+
z_id = clean_ep_string(room.zone)
|
|
84
86
|
try:
|
|
85
|
-
zone_counter[
|
|
87
|
+
zone_counter[z_id] += 1
|
|
86
88
|
except KeyError: # first room found in the zone
|
|
87
|
-
zone_counter[
|
|
89
|
+
zone_counter[z_id] = 1
|
|
88
90
|
|
|
89
91
|
# loop through the rooms and match the data to them
|
|
90
92
|
matched_tuples = [] # list of matched rooms and data collections
|
|
@@ -92,8 +94,9 @@ def match_rooms_to_data(
|
|
|
92
94
|
if space_based:
|
|
93
95
|
rm_id, zc = room.identifier.upper(), 1
|
|
94
96
|
else:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
z_id = clean_ep_string(room.zone)
|
|
98
|
+
rm_id = z_id.upper()
|
|
99
|
+
zc = zone_counter[z_id] if zone_correct_mult else 1
|
|
97
100
|
for i, data_id in enumerate(zone_ids):
|
|
98
101
|
if data_id == rm_id:
|
|
99
102
|
mult = 1 if not use_mult else room.multiplier
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/fen_ratios.csv
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/lpd_building.csv
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/pci_2016.csv
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/pci_2019.csv
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/baseline/data/pci_2022.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/dictutil.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/dynamic.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/opaque.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/window.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/construction/windowshade.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/generator/loadcenter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/allair/furnace.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/__init__.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/_base.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/baseboard.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/evapcool.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/gasunit.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/radiant.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/residential.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/hvac/heatcool/windowac.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadconstructions.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadconstructionsets.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadprogramtypes.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/_loadtypelimits.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/constructionsets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/lib/scheduletypelimits.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/__init__.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/aperture.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/extension.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/properties/shademesh.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/schedule/fixedinterval.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/daylightsaving.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/dictutil.py
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/parameter.py
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/simulation/runperiod.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/_crack_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy/ventcool/simulation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{honeybee_energy-1.116.25 → honeybee_energy-1.116.27}/honeybee_energy.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|