honeybee-openstudio 2.30.0 → 2.30.1

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: e61c104adc3d8f346115f29cfdc29e268a8668ba11d5bf3e44fdd054f75f95ba
4
- data.tar.gz: 1d9b02e466124bbf3c72bb15e54308146ad0076d7e98339929fddac8d3018200
3
+ metadata.gz: 2d19cafbb87891ad69e1401b0d354038204694d31ea87e8883c9bc68648b07e8
4
+ data.tar.gz: '09bf5f735d28a95dc4bff708d2334357cffae66674143e147628e1fef53458c5'
5
5
  SHA512:
6
- metadata.gz: cdf371172756c14205799e1a476517c64587a261e4331828ddce046082d256e70511ab00cb50275f35ee080deb44f1ce4a7f35bb8a04e21bf8fe94a805c21888
7
- data.tar.gz: a76dff993fb5fc51ea9d11d1999553d2f8a43fd107cb17864a6c8dc8ceac9999ca00d64b68d0f51261a70e91991952b5fda794d168f98f4f0470a6767dc680e2
6
+ metadata.gz: 0ed3ecfab3391d7cd09a46c21acc63669c3c1284ba6f41a3e1cf4775ed368c2046f18673331dddfc09c6864d97050767a8b6cb3068f2f7254e268e1941ca3173
7
+ data.tar.gz: 4428ccaae94c5321085fd1c61b58fa9e784f769ea3e67ee1fac5f41a1be9c18e8e42a377ea7f180cc8212d7dba04f8d68a0ee7c644f750c596706f87c1c7a4cf
@@ -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.30.0'
7
+ spec.version = '2.30.1'
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
 
@@ -86,25 +86,38 @@ module Honeybee
86
86
  eq_type = shw_hash[:equipment_type]
87
87
  if eq_type == 'Default_District_SHW'
88
88
  # add a district heating system to supply the heat for the loop
89
- district_hw = OpenStudio::Model::DistrictHeating.new(openstudio_model)
90
- district_hw.setName('Service Hot Water District Heat')
91
- district_hw.setNominalCapacity(1000000)
89
+ district_hw = OpenStudio::Model::WaterHeaterMixed.new(openstudio_model)
90
+ district_hw.setName('Ideal Service Hot Water Heater')
91
+ district_hw.setHeaterFuelType('DistrictHeating')
92
+ district_hw.setOffCycleParasiticFuelType('DistrictHeating')
93
+ district_hw.setOnCycleParasiticFuelType('DistrictHeating')
94
+ district_hw.setHeaterThermalEfficiency(1.0)
95
+ district_hw.setHeaterMaximumCapacity(1000000)
96
+ district_hw.setTankVolume(0)
97
+ district_hw.setHeaterControlType('Modulate')
98
+ target_sch_name = '22C Ambient Condition'
99
+ target_sch = create_constant_schedule(openstudio_model, target_sch_name, 22)
100
+ district_hw.setAmbientTemperatureSchedule(target_sch)
101
+ district_hw.setOffCycleLossCoefficienttoAmbientTemperature(0)
102
+ district_hw.setOnCycleLossCoefficienttoAmbientTemperature(0)
92
103
  hot_water_plant.addSupplyBranchForComponent(district_hw)
93
- elsif eq_type == 'Gas_WaterHeater' || eq_type == 'Electric_WaterHeater' || eq_type == 'HeatPump_WaterHeater'
104
+ # try to minimize the impact of the pump as much as possible
105
+ hot_water_pump.setEndUseSubcategory('Water Systems')
106
+ hot_water_pump.setMotorEfficiency(0.9)
107
+ else
94
108
  # add a water heater to supply the heat for the loop
95
109
  heater = OpenStudio::Model::WaterHeaterMixed.new(openstudio_model)
96
- if eq_type == 'Electric_WaterHeater' || eq_type == 'HeatPump_WaterHeater'
110
+ if eq_type == 'Electric_WaterHeater' || eq_type == 'HeatPump_WaterHeater' || eq_type == 'Electric_TanklessHeater'
97
111
  heater.setHeaterFuelType('Electricity')
98
112
  heater.setOffCycleParasiticFuelType('Electricity')
99
113
  heater.setOnCycleParasiticFuelType('Electricity')
100
114
  end
101
- heater.setName('SHW WaterHeater' + @@sys_count.to_s)
102
115
 
103
116
  # set the water heater efficiency
104
117
  if eq_type == 'HeatPump_WaterHeater'
105
118
  heater.setHeaterThermalEfficiency(1.0)
106
119
  elsif shw_hash[:heater_efficiency].nil?
107
- if eq_type == 'Electric_WaterHeater'
120
+ if eq_type == 'Electric_WaterHeater' || eq_type == 'Electric_TanklessHeater'
108
121
  heater.setHeaterThermalEfficiency(1.0)
109
122
  else
110
123
  heater.setHeaterThermalEfficiency(0.8)
@@ -159,9 +172,20 @@ module Honeybee
159
172
  end
160
173
  end
161
174
 
162
- # ensure that the tank is sized appropriately and add it to the loop
175
+ # set the capactiy and and controls of the water heater
163
176
  heater.setHeaterMaximumCapacity(1000000)
164
- heater.setTankVolume(@@shw_rates[shw_hash[:identifier]])
177
+ if eq_type == 'Gas_TanklessHeater' || eq_type == 'Electric_TanklessHeater'
178
+ heater.setName('SHW Tankless WaterHeater' + @@sys_count.to_s)
179
+ heater.setTankVolume(0)
180
+ heater.setHeaterControlType('Modulate')
181
+ heater.setOffCycleLossCoefficienttoAmbientTemperature(0)
182
+ heater.setOnCycleLossCoefficienttoAmbientTemperature(0)
183
+ else
184
+ heater.setName('SHW WaterHeater' + @@sys_count.to_s)
185
+ heater.setTankVolume(@@shw_rates[shw_hash[:identifier]])
186
+ end
187
+
188
+ # add it to the loop
165
189
  hot_water_plant.addSupplyBranchForComponent(heater)
166
190
 
167
191
  # if it's a heat pump system, then add the pump
@@ -196,30 +220,6 @@ module Honeybee
196
220
  end
197
221
  heat_sys.setName('SHW WaterHeater HeatPump' + @@sys_count.to_s)
198
222
  end
199
-
200
- elsif eq_type == 'Gas_TanklessHeater' || eq_type == 'Electric_TanklessHeater'
201
- # add a boiler to supply the heat for the loop
202
- heater = OpenStudio::Model::BoilerHotWater.new(openstudio_model)
203
- if eq_type == 'Electric_TanklessHeater'
204
- heater.setFuelType('Electricity')
205
- end
206
- heater.setName('SHW Tankless WaterHeater' + @@sys_count.to_s)
207
- heater.setEndUseSubcategory('Water Systems')
208
-
209
- # set the water heater efficiency
210
- unless shw_hash[:heater_efficiency].nil?
211
- heater.setNominalThermalEfficiency(shw_hash[:heater_efficiency])
212
- else
213
- if eq_type == 'Electric_TanklessHeater'
214
- heater.setNominalThermalEfficiency(1.0)
215
- else
216
- heater.setNominalThermalEfficiency(0.8)
217
- end
218
- end
219
-
220
- # ensure that the boiler is sized appropriately and add it to the loop
221
- heater.setNominalCapacity(1000000)
222
- hot_water_plant.addSupplyBranchForComponent(heater)
223
223
  end
224
224
 
225
225
  # add all of the water use connections to the loop and total the capacity
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.30.0
4
+ version: 2.30.1
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-02-05 00:00:00.000000000 Z
14
+ date: 2022-02-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler