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 +4 -4
- data/honeybee-openstudio.gemspec +1 -1
- data/lib/from_openstudio/geometry/room.rb +35 -18
- data/lib/from_openstudio/load/service_hot_water.rb +5 -8
- data/lib/honeybee/model.rb +1 -0
- data/lib/to_openstudio/geometry/aperture.rb +1 -1
- data/lib/to_openstudio/geometry/door.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c847b160e1187c597ff518d513e30b259c15b069d5023e34cf7167aecdad270f
|
4
|
+
data.tar.gz: 8776b858a13b15deff5ceabc6738ab851915d28875fd539fc081b035fe4a9c46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c13aaea4ba8a471519a7ef3971ac07dbe16a24c07420af232e68ba6f0845557bc48b726aad9ef2e2bdba5e55fe8713aaf14516af1a82f1e24edf9ee75e5d58b8
|
7
|
+
data.tar.gz: d0b1b82283d64f41247b4cac1263f98ef74e909b556534779b2cff42d014c86ec3587a9bbafbbce0d5e09673858d593e1a90c9ede3da79d44bfe1e18c355b8da
|
data/honeybee-openstudio.gemspec
CHANGED
@@ -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.
|
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.
|
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
|
-
|
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
|
-
|
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.
|
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
|
50
|
-
|
51
|
-
|
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
|
data/lib/honeybee/model.rb
CHANGED
@@ -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
|