honeybee-openstudio 2.31.2 → 2.31.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddf8c7c7b9acf4094ea3a7702932246a6423fab131d5a2586b02421a81d24c16
4
- data.tar.gz: a92d03dc75bd2c562ef5bf63cf6c4f69ecf515cbe36ca3df8f4ac36abf31b92a
3
+ metadata.gz: c847b160e1187c597ff518d513e30b259c15b069d5023e34cf7167aecdad270f
4
+ data.tar.gz: 8776b858a13b15deff5ceabc6738ab851915d28875fd539fc081b035fe4a9c46
5
5
  SHA512:
6
- metadata.gz: d0fe77822120f793df5d5ed31c6d91a8ba601a9af26f6a84f21e1a618a4ef97b78b2477fc26ae99bc46894e3df708725c1c2d76497df3601f9e7c01e1920f6c1
7
- data.tar.gz: a1853e96f594d0329126e5529f87fc3694b1d8a044bb995e38831ddbd72d89af94e81a065f0dc7909be5b5b764e998dcdebfd3bcf3db4ae7da394bdd3a8ee5c6
6
+ metadata.gz: c13aaea4ba8a471519a7ef3971ac07dbe16a24c07420af232e68ba6f0845557bc48b726aad9ef2e2bdba5e55fe8713aaf14516af1a82f1e24edf9ee75e5d58b8
7
+ data.tar.gz: d0b1b82283d64f41247b4cac1263f98ef74e909b556534779b2cff42d014c86ec3587a9bbafbbce0d5e09673858d593e1a90c9ede3da79d44bfe1e18c355b8da
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'honeybee-openstudio'
7
- spec.version = '2.31.2'
7
+ spec.version = '2.31.4'
8
8
  spec.authors = ['Tanushree Charan', 'Dan Macumber', 'Chris Mackey', 'Mostapha Sadeghipour Roudsari']
9
9
  spec.email = ['tanushree.charan@nrel.gov', 'chris@ladybug.tools']
10
10
 
@@ -85,7 +85,8 @@ module Honeybee
85
85
  space_type = space.spaceType.get
86
86
  hash[:program_type] = space_type.nameString
87
87
  end
88
- # TODO: These are loads assigned to the space directly. How should duplicates created in programtype, if any, be handled?
88
+ # TODO: These are only loads assigned to the space directly.
89
+ # Duplicates and other definitions created in programtype should be summed
89
90
  unless space.people.empty?
90
91
  space.people.each do |people|
91
92
  people_def = people.peopleDefinition
@@ -100,6 +101,7 @@ module Honeybee
100
101
  end
101
102
  end
102
103
  end
104
+
103
105
  unless space.lights.empty?
104
106
  space.lights.each do |light|
105
107
  light_def = light.lightsDefinition
@@ -114,6 +116,7 @@ module Honeybee
114
116
  end
115
117
  end
116
118
  end
119
+
117
120
  unless space.electricEquipment.empty?
118
121
  space.electricEquipment.each do |electric_eq|
119
122
  electric_eq_def = electric_eq.electricEquipmentDefinition
@@ -128,6 +131,7 @@ module Honeybee
128
131
  end
129
132
  end
130
133
  end
134
+
131
135
  unless space.gasEquipment.empty?
132
136
  space.gasEquipment.each do |gas_eq|
133
137
  gas_eq_def = gas_eq.gasEquipmentDefinition
@@ -142,18 +146,7 @@ module Honeybee
142
146
  end
143
147
  end
144
148
  end
145
- unless space.otherEquipment.empty?
146
- hash[:process_loads] = []
147
- space.otherEquipment.each do |other_eq|
148
- other_eq_def = other_eq.otherEquipmentDefinition
149
- if !other_eq_def.designLevel.empty? && !other_eq.schedule.empty?
150
- sch = other_eq.schedule.get
151
- if sch.to_ScheduleRuleset.is_initialized or sch.to_ScheduleFixedInterval.is_initialized
152
- hash[:process_loads] << Honeybee::ProcessAbridged.from_load(other_eq)
153
- end
154
- end
155
- end
156
- end
149
+
157
150
  unless space.spaceInfiltrationDesignFlowRates.empty?
158
151
  space.spaceInfiltrationDesignFlowRates.each do |infiltration|
159
152
  # Only translate if flow per exterior area is specified
@@ -167,17 +160,41 @@ module Honeybee
167
160
  end
168
161
  end
169
162
  end
163
+
164
+ unless space.waterUseEquipment.empty?
165
+ space.waterUseEquipment.each do |shw_equipment|
166
+ # Check if schedule exists and is of the correct type
167
+ unless shw_equipment.flowRateFractionSchedule.empty?
168
+ sch = shw_equipment.flowRateFractionSchedule.get
169
+ if sch.to_ScheduleRuleset.is_initialized or sch.to_ScheduleFixedInterval.is_initialized
170
+ floor_area = space.floorArea # Get floor area
171
+ hash[:service_hot_water] = Honeybee::ServiceHotWaterAbridged.from_load(shw_equipment, floor_area)
172
+ end
173
+ end
174
+ end
175
+ end
176
+
170
177
  unless space.designSpecificationOutdoorAir.empty?
171
178
  hash[:ventilation] = Honeybee::VentilationAbridged.from_load(space.designSpecificationOutdoorAir.get)
172
179
  end
180
+
181
+ unless space.otherEquipment.empty?
182
+ hash[:process_loads] = []
183
+ space.otherEquipment.each do |other_eq|
184
+ other_eq_def = other_eq.otherEquipmentDefinition
185
+ if !other_eq_def.designLevel.empty? && !other_eq.schedule.empty?
186
+ sch = other_eq.schedule.get
187
+ if sch.to_ScheduleRuleset.is_initialized or sch.to_ScheduleFixedInterval.is_initialized
188
+ hash[:process_loads] << Honeybee::ProcessAbridged.from_load(other_eq)
189
+ end
190
+ end
191
+ end
192
+ end
193
+
173
194
  unless space.daylightingControls.empty?
174
195
  hash[:daylighting_control] = Honeybee::DaylightingControl.from_load(space.daylightingControls[0])
175
196
  end
176
- unless space.waterUseEquipment.empty?
177
- # Get floor area
178
- floor_area = space.floorArea
179
- hash[:service_hot_water] = Honeybee::ServiceHotWaterAbridged.from_load(space.waterUseEquipment[0], floor_area)
180
- end
197
+
181
198
  thermal_zone = space.thermalZone
182
199
  unless thermal_zone.empty?
183
200
  thermal_zone = space.thermalZone.get
@@ -41,17 +41,14 @@ module Honeybee
41
41
  hash[:type] = 'ServiceHotWaterAbridged'
42
42
  # set hash values from OpenStudio Object
43
43
  hash[:identifier] = clean_name(load.nameString)
44
- load_def = load.WaterUseEquipmentDefinition
44
+ load_def = load.waterUseEquipmentDefinition
45
45
  # units of peak flow rate are m3/s
46
46
  peak_flow = load_def.peakFlowRate
47
47
  # unit for flow per area is L/h-m2 (m3/s = 3600000 L/h)
48
- hash[:flow_per_area] = (peak_flow * 3600000)/floor_area
49
- unless load_def.flowRateFractionSchedule.empty?
50
- sch = load_def.flowRateFractionSchedule
51
- # Translate only Scheudle Ruleset and Schedule Fixed Interval
52
- if sch.to_ScheduleRuleset.is_initialized or sch.to_ScheduleFixedInterval.is_initialized
53
- hash[:schedule] = load_def.flowRateFractionSchedule.get.nameString
54
- end
48
+ hash[:flow_per_area] = (peak_flow * 3600000) / floor_area
49
+ unless load.flowRateFractionSchedule.empty?
50
+ schedule = load.flowRateFractionSchedule.get
51
+ hash[:schedule] = schedule.nameString
55
52
  end
56
53
 
57
54
  hash
@@ -52,6 +52,7 @@ module Honeybee
52
52
  @@extension ||= Extension.new
53
53
  @@schema ||= @@extension.schema
54
54
  @@standards ||= @@extension.standards
55
+ $triangulate_sub_faces = false
55
56
  $simple_window_cons = false
56
57
 
57
58
  @hash = hash
@@ -54,7 +54,7 @@ module Honeybee
54
54
  final_vertices_list = []
55
55
  matching_os_subsurfaces = []
56
56
  matching_os_subsurface_indices = []
57
- if os_vertices.size > 4
57
+ if $triangulate_sub_faces && os_vertices.size > 4
58
58
 
59
59
  # if this apeture has a matched apeture, see if the other one has already been created
60
60
  # the matched apeture should have been converted to multiple subsurfaces
@@ -54,7 +54,7 @@ module Honeybee
54
54
  final_vertices_list = []
55
55
  matching_os_subsurfaces = []
56
56
  matching_os_subsurface_indices = []
57
- if os_vertices.size > 4
57
+ if $triangulate_sub_faces && os_vertices.size > 4
58
58
 
59
59
  # if this door has a matched door, see if the other one has already been created
60
60
  # the matched door should have been converted to multiple subsurfaces
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybee-openstudio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.31.2
4
+ version: 2.31.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan