honeybee-openstudio 2.33.1 → 2.33.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f3e60caafc9b181751046ffbaa62ce46efabff34565876e6e1855cefd17c389
4
- data.tar.gz: 00b5e7315dd40de10e24edb0f1bd937d27d06c6e318ed9c5dd4f442d5b6d842b
3
+ metadata.gz: 9f0ab9bc81366ae4f3cecd686b7b84f27116f85d279f19b70debffcbfea19be4
4
+ data.tar.gz: e3a6188aba6202306fee8a740469a1c0c2420bce2404f899df8371a8c7c2469f
5
5
  SHA512:
6
- metadata.gz: b27bfe18694f5f5c403fb2bb77d610037bf547e3e7f65e0248d740b6eacc51a7d4741a9e9b342566f12936937ee6633c4ef912ae5f457e291d6c99c24e919a45
7
- data.tar.gz: d31cb278a20a646c270de1390ce2efd0aa42d0aac61ce26a1cb965b5e5752f8a7453a7e764aab262d449e717a997f2e1890e940b5c2c8a192606539f31bd9dfa
6
+ metadata.gz: ee8d75b9ac45f6de8187d1945988f880050faf2c762d643a36adf2e513a50931451e52e05b604ff19a476d9bfb43a3b50872d4cd2037f05471307bf617385fb3
7
+ data.tar.gz: 54a8536d0fd02be9f1829776adc0b8eefc45dfaef920fed8cfc46feabac79777218a257fbdba3a88d195d77f137ec6fc6c22be5d2bef8ad197b3ca9e8ec67c15
@@ -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.33.1'
7
+ spec.version = '2.33.2'
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
 
@@ -58,10 +58,11 @@ module Honeybee
58
58
 
59
59
  # make the standard applier
60
60
  if @hash[:vintage]
61
- standard = Standard.build(@@vintage_mapper[@hash[:vintage].to_sym])
61
+ standard_id = @@vintage_mapper[@hash[:vintage].to_sym]
62
62
  else
63
- standard = Standard.build(@@vintage_mapper[hvac_defaults[:vintage][:default].to_sym])
63
+ standard_id = @@vintage_mapper[hvac_defaults[:vintage][:default].to_sym]
64
64
  end
65
+ standard = Standard.build(standard_id)
65
66
 
66
67
  # get the default equipment type
67
68
  if @hash[:equipment_type]
@@ -114,6 +115,79 @@ module Honeybee
114
115
  end
115
116
  end
116
117
 
118
+ # set the efficiencies of supply components in the air loop
119
+ if !os_air_loops.empty?
120
+ os_air_loops.each do |os_air_loop|
121
+ # set the supply fan efficiency
122
+ unless os_air_loop.supplyFan.empty?
123
+ s_fan = os_air_loop.supplyFan.get
124
+ s_fan = fan_from_component(s_fan)
125
+ unless s_fan.nil?
126
+ s_fan.setMaximumFlowRate(1)
127
+ standard.fan_apply_standard_minimum_motor_efficiency(
128
+ s_fan, standard.fan_brake_horsepower(s_fan))
129
+ s_fan.autosizeMaximumFlowRate()
130
+ end
131
+ end
132
+ # set the return fan efficiency
133
+ unless os_air_loop.returnFan.empty?
134
+ ex_fan = os_air_loop.returnFan.get
135
+ ex_fan = fan_from_component(ex_fan)
136
+ unless ex_fan.nil?
137
+ ex_fan.setMaximumFlowRate(1)
138
+ standard.fan_apply_standard_minimum_motor_efficiency(
139
+ ex_fan, standard.fan_brake_horsepower(ex_fan))
140
+ ex_fan.autosizeMaximumFlowRate()
141
+ end
142
+ end
143
+ end
144
+ end
145
+
146
+ # get the boilers and assign the correct efficiency
147
+ if equipment_type.to_s.include? 'Boiler'
148
+ openstudio_model.getBoilerHotWaters.sort.each do |obj|
149
+ obj.setNominalCapacity(40000) # set to a dummy value for the method
150
+ standard.boiler_hot_water_apply_efficiency_and_curves(obj)
151
+ obj.autosizeNominalCapacity() # set it back to autosize
152
+ obj.setName(standard_id + ' Boiler')
153
+ end
154
+ end
155
+
156
+ # get the chillers and assign a reasonable COP from the standard
157
+ if equipment_type.to_s.include? 'Chiller'
158
+ # set the chiller efficiency
159
+ clg_tower_objs = openstudio_model.getCoolingTowerSingleSpeeds
160
+ openstudio_model.getChillerElectricEIRs.sort.each do |obj|
161
+ obj.setReferenceCapacity(2000000) # set to a dummy value for method
162
+ if obj.name.empty?
163
+ obj_name = standard_id + ' Chiller'
164
+ else
165
+ obj_name = obj.name.get
166
+ end
167
+ standard.chiller_electric_eir_apply_efficiency_and_curves(obj, clg_tower_objs)
168
+ obj.autosizeReferenceCapacity() # set it back to autosize
169
+ obj.setName(obj_name)
170
+ end
171
+ end
172
+
173
+ # set the efficiency of any gas heaters
174
+ if equipment_type.to_s.include? 'GasHeaters'
175
+ zones.each do |zon|
176
+ zon.equipment.each do |equp|
177
+ if !equp.to_ZoneHVACUnitHeater.empty?
178
+ unit_heater = equp.to_ZoneHVACUnitHeater.get
179
+ coil = unit_heater.heatingCoil
180
+ unless coil.to_CoilHeatingGas.empty?
181
+ coil = coil.to_CoilHeatingGas.get
182
+ coil.setNominalCapacity(10000) # set to a dummy value for method
183
+ standard.coil_heating_gas_apply_efficiency_and_curves(coil)
184
+ coil.autosizeNominalCapacity() # set it back to autosize
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
190
+
117
191
  # assign the economizer type if there's an air loop and the economizer is specified
118
192
  if @hash[:economizer_type] && !os_air_loops.empty?
119
193
  os_air_loops.each do |os_air_loop|
@@ -277,6 +351,18 @@ module Honeybee
277
351
 
278
352
  private
279
353
 
354
+ def fan_from_component(fan_component)
355
+ # get a detailed fan object from a generic fan HVAC component; will be nil if it's not a fan
356
+ if !fan_component.to_FanVariableVolume.empty?
357
+ return fan_component.to_FanVariableVolume.get
358
+ elsif !fan_component.to_FanConstantVolume.empty?
359
+ return fan_component.to_FanConstantVolume.get
360
+ elsif !fan_component.to_FanOnOff.empty?
361
+ return fan_component.to_FanOnOff.get
362
+ end
363
+ nil
364
+ end
365
+
280
366
  def get_existing_erv(os_air_loop)
281
367
  # get an existing heat ecovery unit from an air loop; will be nil if there is none
282
368
  os_air_loop.oaComponents.each do |supply_component|
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.33.1
4
+ version: 2.33.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2022-09-19 00:00:00.000000000 Z
14
+ date: 2022-10-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler