honeybee-openstudio 2.31.12 → 2.32.0

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: ee8eec97c23c887d5b2dd7b58552f50263b297d8e742026ed6d1fc570ba62877
4
- data.tar.gz: 0d308433a4b52972492f5ad5681fd255244b029481eee40eafa219f9c1cf4402
3
+ metadata.gz: 1927df270811214605f2db5ed8f390dfff4213b4b8e749c6049ddf074a8be94d
4
+ data.tar.gz: 0b01e83fac83f8e9950627ce130fbfbb194288230fd2c36c11f6d3b988fb2e34
5
5
  SHA512:
6
- metadata.gz: b0cef0873f51d1f92b7c0051721552a0439581e266c2b2c11a7908effea697957136c1860a04d80e8d7a314d41757fae1ca490a20bfcc83f63b22b75c3af0efc
7
- data.tar.gz: 201801ee7a4ce00794c9358e879f5fdc0116e97d33181587e9f3e1bb1940d336ace21ef5253731e4caecf611f749a055aafdbb4433803cfdf3d9505252b8ff72
6
+ metadata.gz: 672dc0bca8b45b6cf45f0af19225d86ee828ecc27c62c65d8231627ef6c0ddb677cc32a8d2c4b3364fbe51eacbbc4bdcfa84b7d3dc129b6941e8fec0416f1c0c
7
+ data.tar.gz: 20c019e91bbf78bd27c009d48db0305b5bfc0cf97f7e80868c54172e0d8409a83b892ed41b806c6225fcd77a2a8376b5a01f0cd08958d27c3bcbf96fd9c3851e
@@ -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.12'
7
+ spec.version = '2.32.0'
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
 
@@ -9,7 +9,7 @@ if allow_local && File.exist?('../openstudio-common-measures-gem')
9
9
  elsif allow_local
10
10
  gem 'openstudio-common-measures', github: 'NREL/openstudio-common-measures-gem', branch: 'develop'
11
11
  else
12
- gem 'openstudio-common-measures', '~> 0.6.0'
12
+ gem 'openstudio-common-measures', '~> 0.6.1'
13
13
  end
14
14
 
15
15
  if allow_local && File.exist?('../openstudio-model-articulation-gem')
@@ -25,7 +25,7 @@ if allow_local && File.exist?('../urbanopt-geojson-gem')
25
25
  elsif allow_local
26
26
  gem 'urbanopt-geojson', github: 'URBANopt/urbanopt-geojson-gem', branch: 'develop'
27
27
  else
28
- gem 'urbanopt-geojson', '~> 0.8.0'
28
+ gem 'urbanopt-geojson', '~> 0.8.1'
29
29
  end
30
30
 
31
31
  if allow_local && File.exist?('../urbanopt-reporting-gem')
@@ -33,7 +33,7 @@ if allow_local && File.exist?('../urbanopt-reporting-gem')
33
33
  elsif allow_local
34
34
  gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
35
35
  else
36
- gem 'urbanopt-reporting', '~> 0.6.0'
36
+ gem 'urbanopt-reporting', '~> 0.6.1'
37
37
  end
38
38
 
39
39
  # include the honeybee-openstudio-gem
@@ -125,6 +125,17 @@ module Honeybee
125
125
  result = {type: 'Ground'}
126
126
  elsif surface_bc == 'Adiabatic'
127
127
  result = {type: 'Adiabatic'}
128
+ elsif surface_bc == 'OtherSideCoefficients'
129
+ result = {type: 'OtherSideTemperature'}
130
+ unless surface.surfacePropertyOtherSideCoefficients.empty?
131
+ srf_prop = surface.surfacePropertyOtherSideCoefficients.get
132
+ if !srf_prop.isConstantTemperatureDefaulted
133
+ result[:temperature] = srf_prop.constantTemperature
134
+ end
135
+ unless srf_prop.combinedConvectiveRadiativeFilmCoefficient.empty?
136
+ result[:heat_transfer_coefficient] = srf_prop.combinedConvectiveRadiativeFilmCoefficient.get
137
+ end
138
+ end
128
139
  else
129
140
  sun_exposure = (surface.sunExposure == 'SunExposed')
130
141
  wind_exposure = (surface.windExposure == 'WindExposed')
@@ -103,7 +103,7 @@ module Honeybee
103
103
  end
104
104
 
105
105
  # assign the boundary condition
106
- boundary_condition = (@hash[:boundary_condition][:type])
106
+ boundary_condition = @hash[:boundary_condition][:type]
107
107
  case boundary_condition
108
108
  when 'Outdoors'
109
109
  if @hash[:boundary_condition][:sun_exposure] == false
@@ -129,9 +129,28 @@ module Honeybee
129
129
  surface = surface_object.get
130
130
  os_surface.setAdjacentSurface(surface)
131
131
  end
132
+ when 'OtherSideTemperature'
133
+ srf_prop = OpenStudio::Model::SurfacePropertyOtherSideCoefficients.new(openstudio_model)
134
+ srf_prop.setName(@hash[:identifier] + '_OtherTemp')
135
+ if @hash[:boundary_condition][:heat_transfer_coefficient].is_a? Numeric
136
+ srf_prop.setCombinedConvectiveRadiativeFilmCoefficient(
137
+ @hash[:boundary_condition][:heat_transfer_coefficient])
138
+ else
139
+ srf_prop.setCombinedConvectiveRadiativeFilmCoefficient(0)
140
+ end
141
+ if @hash[:boundary_condition][:temperature].is_a? Numeric
142
+ srf_prop.setConstantTemperature(@hash[:boundary_condition][:temperature])
143
+ srf_prop.setConstantTemperatureCoefficient(1)
144
+ srf_prop.setExternalDryBulbTemperatureCoefficient(0)
145
+ else
146
+ srf_prop.setConstantTemperatureCoefficient(0)
147
+ srf_prop.setExternalDryBulbTemperatureCoefficient(1)
148
+ end
149
+ os_surface.setSurfacePropertyOtherSideCoefficients(srf_prop)
132
150
  end
133
- unless @hash[:boundary_condition][:type] == 'Surface'
134
- os_surface.setOutsideBoundaryCondition(@hash[:boundary_condition][:type])
151
+
152
+ unless boundary_condition == 'Surface' || boundary_condition == 'OtherSideTemperature'
153
+ os_surface.setOutsideBoundaryCondition(boundary_condition)
135
154
  end
136
155
 
137
156
  # assign apertures if they exist
@@ -211,6 +211,11 @@ module Honeybee
211
211
  os_surface.setConstruction(interior_construction)
212
212
  end
213
213
  end
214
+ elsif face[:boundary_condition][:type] == 'OtherSideTemperature'
215
+ interior_construction = closest_interior_construction(openstudio_model, os_space, face[:face_type])
216
+ unless interior_construction.nil?
217
+ os_surface.setConstruction(interior_construction)
218
+ end
214
219
  end
215
220
  end
216
221
 
@@ -312,10 +317,12 @@ module Honeybee
312
317
 
313
318
  # assign service hot water if it exists
314
319
  if @hash[:properties][:energy][:service_hot_water]
315
- shw_space = ServiceHotWaterAbridged.new(@hash[:properties][:energy][:service_hot_water])
316
- os_shw_space = shw_space.to_openstudio(
317
- openstudio_model, os_space, @hash[:properties][:energy][:shw])
318
- $shw_for_plant = shw_space
320
+ if @hash[:properties][:energy][:service_hot_water][:flow_per_area].to_f != 0
321
+ shw_space = ServiceHotWaterAbridged.new(@hash[:properties][:energy][:service_hot_water])
322
+ os_shw_space = shw_space.to_openstudio(
323
+ openstudio_model, os_space, @hash[:properties][:energy][:shw])
324
+ $shw_for_plant = shw_space
325
+ end
319
326
  end
320
327
 
321
328
  # assign infiltration if it exists
@@ -454,10 +454,12 @@ module Honeybee
454
454
  program_type_id = room[:properties][:energy][:program_type]
455
455
  shw_hash = $programtype_shw_hash[program_type_id]
456
456
  unless shw_hash.nil?
457
- shw_object = ServiceHotWaterAbridged.new(shw_hash)
458
- openstudio_shw = shw_object.to_openstudio(
459
- @openstudio_model, openstudio_room, room[:properties][:energy][:shw])
460
- $shw_for_plant = shw_object
457
+ if shw_hash[:flow_per_area].to_f != 0
458
+ shw_object = ServiceHotWaterAbridged.new(shw_hash)
459
+ openstudio_shw = shw_object.to_openstudio(
460
+ @openstudio_model, openstudio_room, room[:properties][:energy][:shw])
461
+ $shw_for_plant = shw_object
462
+ end
461
463
  end
462
464
  end
463
465
 
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.12
4
+ version: 2.32.0
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-07-25 00:00:00.000000000 Z
14
+ date: 2022-09-02 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler