honeybee-openstudio 2.31.9 → 2.31.12

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: f9cfa9e82e9efaedde24e6ccfe30c4d7fe6cbd4259a81d36de9b8a9936b8259b
4
- data.tar.gz: 6c47a045cf0684fdc33521ca96b6bd1fe3f27a52658fe774a6f76165ab3c87b0
3
+ metadata.gz: ee8eec97c23c887d5b2dd7b58552f50263b297d8e742026ed6d1fc570ba62877
4
+ data.tar.gz: 0d308433a4b52972492f5ad5681fd255244b029481eee40eafa219f9c1cf4402
5
5
  SHA512:
6
- metadata.gz: ceefaa71ad6fe18240c21b2738ddf5741fc9620dcf63088c67511a0fedb132f1ea063879527183624f88a196826f7a58bef62ac9211e605f815264ae3add17c4
7
- data.tar.gz: 4b6e648afaa694daa0e2246f4f5f6cf6c5dadb714e4b4fa7681919447fa24a37cb9bba9e6edbbb77a216e04005a0d23b5da7c8f38df07c60ad2ed2543767ad7d
6
+ metadata.gz: b0cef0873f51d1f92b7c0051721552a0439581e266c2b2c11a7908effea697957136c1860a04d80e8d7a314d41757fae1ca490a20bfcc83f63b22b75c3af0efc
7
+ data.tar.gz: 201801ee7a4ce00794c9358e879f5fdc0116e97d33181587e9f3e1bb1940d336ace21ef5253731e4caecf611f749a055aafdbb4433803cfdf3d9505252b8ff72
@@ -15,8 +15,8 @@ jobs:
15
15
  run: |
16
16
  echo $(pwd)
17
17
  echo $(ls)
18
- docker pull nrel/openstudio:3.3.0
19
- docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.3.0
18
+ docker pull nrel/openstudio:3.4.0
19
+ docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.4.0
20
20
  docker exec -t test pwd
21
21
  docker exec -t test ls
22
22
  docker exec -t test bundle update
@@ -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.9'
7
+ spec.version = '2.31.12'
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
 
@@ -53,8 +53,8 @@ module Honeybee
53
53
  outdoor_shades = outdoor_shades_from_space(space)
54
54
  hash[:outdoor_shades] = outdoor_shades if !outdoor_shades.empty?
55
55
 
56
- multipler = multiplier_from_space(space)
57
- hash[:multipler] = multipler if multipler
56
+ multiplier = multiplier_from_space(space)
57
+ hash[:multiplier] = multiplier if multiplier
58
58
 
59
59
  exclude_floor_area = exclude_floor_area_from_space(space)
60
60
  hash[:exclude_floor_area] = exclude_floor_area
@@ -54,6 +54,7 @@ module Honeybee
54
54
  @@standards ||= @@extension.standards
55
55
  $triangulate_sub_faces = false
56
56
  $simple_window_cons = false
57
+ $orphan_groups = true
57
58
 
58
59
  @hash = hash
59
60
  @type = @hash[:type]
@@ -87,6 +87,7 @@ class FromHoneybeeModelToGbxml < OpenStudio::Measure::ModelMeasure
87
87
  end
88
88
  honeybee_model = Honeybee::Model.read_from_disk(model_json)
89
89
  $simple_window_cons = true
90
+ $orphan_groups = false
90
91
  STDOUT.flush
91
92
  os_model = honeybee_model.to_openstudio_model(model)
92
93
  STDOUT.flush
@@ -150,7 +150,7 @@ class OpenStudio::Model::Model
150
150
  if radiant_type == 'floorwithcarpet'
151
151
  radiant_type = 'floor'
152
152
  include_carpet = true
153
- elsif radiant_type == 'ceilingmetalpanel'
153
+ elsif radiant_type == 'ceilingmetalpanel' || radiant_type == 'floorwithhardwood'
154
154
  control_strategy = 'default'
155
155
  end
156
156
  else
@@ -251,6 +251,7 @@ class OpenStudio::Model::Model
251
251
  end
252
252
  end
253
253
  end
254
+
254
255
  # if no values were set, just set the system to be on all of the time
255
256
  if start_hour == 12 or start_hour == 0
256
257
  start_hour = 1
@@ -282,15 +283,30 @@ class OpenStudio::Model::Model
282
283
  OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Model.Model', "Replacing constructions with new radiant slab constructions.")
283
284
 
284
285
  # create materials
286
+ # concrete slab materials
285
287
  mat_concrete_3_5in = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'MediumRough', 0.0889, 2.31, 2322, 832)
286
288
  mat_concrete_3_5in.setName('Radiant Slab Concrete - 3.5 in.')
287
289
  mat_concrete_1_5in = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'MediumRough', 0.0381, 2.31, 2322, 832)
288
290
  mat_concrete_1_5in.setName('Radiant Slab Concrete - 1.5 in')
289
291
 
290
- metal_mat = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'MediumSmooth', 0.003175, 30, 7680, 418)
291
- metal_mat.setName('Radiant Metal Layer - 0.125 in')
292
- air_gap_map = OpenStudio::Model::MasslessOpaqueMaterial.new(self, 'Smooth', 0.004572)
293
- air_gap_map.setName('Generic Ceiling Air Gap - R 0.025')
292
+ metal_mat = nil
293
+ air_gap_mat = nil
294
+ wood_mat = nil
295
+ wood_floor_insulation = nil
296
+ gypsum_ceiling_mat = nil
297
+ if radiant_type == 'ceilingmetalpanel'
298
+ metal_mat = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'MediumSmooth', 0.003175, 30, 7680, 418)
299
+ metal_mat.setName('Radiant Metal Layer - 0.125 in')
300
+ air_gap_mat = OpenStudio::Model::MasslessOpaqueMaterial.new(self, 'Smooth', 0.004572)
301
+ air_gap_mat.setName('Generic Ceiling Air Gap - R 0.025')
302
+ elsif radiant_type == 'floorwithhardwood'
303
+ wood_mat = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'MediumSmooth', 0.01905, 0.15, 608, 1629)
304
+ wood_mat.setName('Radiant Hardwood Flooring - 0.75 in')
305
+ wood_floor_insulation = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'Rough', 0.0508, 0.02, 56.06, 1210)
306
+ wood_floor_insulation.setName('Radiant Subfloor Insulation - 4.0 in')
307
+ gypsum_ceiling_mat = OpenStudio::Model::StandardOpaqueMaterial.new(self, 'Smooth', 0.0127, 0.16, 800, 1089)
308
+ gypsum_ceiling_mat.setName('Gypsum Ceiling for Radiant Hardwood Flooring - 0.5 in')
309
+ end
294
310
 
295
311
  mat_refl_roof_membrane = self.getStandardOpaqueMaterialByName('Roof Membrane - Highly Reflective')
296
312
  if mat_refl_roof_membrane.is_initialized
@@ -331,83 +347,125 @@ class OpenStudio::Model::Model
331
347
  # create radiant internal source constructions
332
348
  OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Model.Model', 'New constructions exclude the metal deck, as high thermal diffusivity materials cause errors in EnergyPlus internal source construction calculations.')
333
349
 
334
- layers = []
335
- layers << mat_slab_insulation
336
- layers << mat_concrete_3_5in
337
- layers << mat_concrete_1_5in
338
- layers << mat_thin_carpet_tile if include_carpet
339
- radiant_ground_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
340
- radiant_ground_slab_construction.setName('Radiant Ground Slab Construction')
341
- radiant_ground_slab_construction.setSourcePresentAfterLayerNumber(2)
342
- radiant_ground_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(3)
343
- radiant_ground_slab_construction.setTubeSpacing(0.2286) # 9 inches
344
-
345
- layers = []
346
- layers << mat_ext_insulation
347
- layers << mat_concrete_3_5in
348
- layers << mat_concrete_1_5in
349
- layers << mat_thin_carpet_tile if include_carpet
350
- radiant_exterior_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
351
- radiant_exterior_slab_construction.setName('Radiant Exterior Slab Construction')
352
- radiant_exterior_slab_construction.setSourcePresentAfterLayerNumber(2)
353
- radiant_exterior_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(3)
354
- radiant_exterior_slab_construction.setTubeSpacing(0.2286) # 9 inches
355
-
356
- layers = []
357
- layers << mat_concrete_3_5in
358
- layers << mat_concrete_1_5in
359
- layers << mat_thin_carpet_tile if include_carpet
360
- radiant_interior_floor_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
361
- radiant_interior_floor_slab_construction.setName('Radiant Interior Floor Slab Construction')
362
- radiant_interior_floor_slab_construction.setSourcePresentAfterLayerNumber(1)
363
- radiant_interior_floor_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(2)
364
- radiant_interior_floor_slab_construction.setTubeSpacing(0.2286) # 9 inches
365
-
366
- layers = []
367
- layers << mat_thin_carpet_tile if include_carpet
368
- layers << mat_concrete_3_5in
369
- layers << mat_concrete_1_5in
370
- radiant_interior_ceiling_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
371
- radiant_interior_ceiling_slab_construction.setName('Radiant Interior Ceiling Slab Construction')
372
- slab_src_loc = include_carpet ? 2 : 1
373
- radiant_interior_ceiling_slab_construction.setSourcePresentAfterLayerNumber(slab_src_loc)
374
- radiant_interior_ceiling_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(slab_src_loc + 1)
375
- radiant_interior_ceiling_slab_construction.setTubeSpacing(0.2286) # 9 inches
376
-
377
- layers = []
378
- layers << mat_refl_roof_membrane
379
- layers << mat_roof_insulation
380
- layers << mat_concrete_3_5in
381
- layers << mat_concrete_1_5in
382
- radiant_ceiling_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
383
- radiant_ceiling_slab_construction.setName('Radiant Exterior Ceiling Slab Construction')
384
- radiant_ceiling_slab_construction.setSourcePresentAfterLayerNumber(3)
385
- radiant_ceiling_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(4)
386
- radiant_ceiling_slab_construction.setTubeSpacing(0.2286) # 9 inches
387
-
388
- layers = []
389
- layers << mat_concrete_3_5in
390
- layers << air_gap_map
391
- layers << metal_mat
392
- layers << metal_mat
393
- radiant_interior_ceiling_metal_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
394
- radiant_interior_ceiling_metal_construction.setName('Radiant Interior Ceiling Metal Construction')
395
- radiant_interior_ceiling_metal_construction.setSourcePresentAfterLayerNumber(3)
396
- radiant_interior_ceiling_metal_construction.setTemperatureCalculationRequestedAfterLayerNumber(4)
397
- radiant_interior_ceiling_metal_construction.setTubeSpacing(0.1524) # 6 inches
398
-
399
- layers = []
400
- layers << mat_refl_roof_membrane
401
- layers << mat_roof_insulation
402
- layers << mat_concrete_3_5in
403
- layers << air_gap_map
404
- layers << metal_mat
405
- layers << metal_mat
406
- radiant_ceiling_metal_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
407
- radiant_ceiling_metal_construction.setName('Radiant Ceiling Metal Construction')
408
- radiant_ceiling_metal_construction.setSourcePresentAfterLayerNumber(5)
409
- radiant_ceiling_metal_construction.setTemperatureCalculationRequestedAfterLayerNumber(6)
410
- radiant_ceiling_metal_construction.setTubeSpacing(0.1524) # 6 inches
350
+ radiant_ground_slab_construction = nil
351
+ radiant_exterior_slab_construction = nil
352
+ radiant_interior_floor_slab_construction = nil
353
+ radiant_interior_ceiling_slab_construction = nil
354
+ radiant_ceiling_slab_construction = nil
355
+ radiant_interior_ceiling_metal_construction = nil
356
+ radiant_ceiling_metal_construction = nil
357
+
358
+ if radiant_type == 'floor'
359
+ layers = []
360
+ layers << mat_slab_insulation
361
+ layers << mat_concrete_3_5in
362
+ layers << mat_concrete_1_5in
363
+ layers << mat_thin_carpet_tile if include_carpet
364
+ radiant_ground_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
365
+ radiant_ground_slab_construction.setName('Radiant Ground Slab Construction')
366
+ radiant_ground_slab_construction.setSourcePresentAfterLayerNumber(2)
367
+ radiant_ground_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(3)
368
+ radiant_ground_slab_construction.setTubeSpacing(0.2286) # 9 inches
369
+
370
+ layers = []
371
+ layers << mat_ext_insulation
372
+ layers << mat_concrete_3_5in
373
+ layers << mat_concrete_1_5in
374
+ layers << mat_thin_carpet_tile if include_carpet
375
+ radiant_exterior_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
376
+ radiant_exterior_slab_construction.setName('Radiant Exterior Slab Construction')
377
+ radiant_exterior_slab_construction.setSourcePresentAfterLayerNumber(2)
378
+ radiant_exterior_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(3)
379
+ radiant_exterior_slab_construction.setTubeSpacing(0.2286) # 9 inches
380
+
381
+ layers = []
382
+ layers << mat_concrete_3_5in
383
+ layers << mat_concrete_1_5in
384
+ layers << mat_thin_carpet_tile if include_carpet
385
+ radiant_interior_floor_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
386
+ radiant_interior_floor_slab_construction.setName('Radiant Interior Floor Slab Construction')
387
+ radiant_interior_floor_slab_construction.setSourcePresentAfterLayerNumber(1)
388
+ radiant_interior_floor_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(2)
389
+ radiant_interior_floor_slab_construction.setTubeSpacing(0.2286) # 9 inches
390
+ elsif radiant_type == 'ceiling'
391
+ layers = []
392
+ layers << mat_thin_carpet_tile if include_carpet
393
+ layers << mat_concrete_3_5in
394
+ layers << mat_concrete_1_5in
395
+ radiant_interior_ceiling_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
396
+ radiant_interior_ceiling_slab_construction.setName('Radiant Interior Ceiling Slab Construction')
397
+ slab_src_loc = include_carpet ? 2 : 1
398
+ radiant_interior_ceiling_slab_construction.setSourcePresentAfterLayerNumber(slab_src_loc)
399
+ radiant_interior_ceiling_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(slab_src_loc + 1)
400
+ radiant_interior_ceiling_slab_construction.setTubeSpacing(0.2286) # 9 inches
401
+
402
+ layers = []
403
+ layers << mat_refl_roof_membrane
404
+ layers << mat_roof_insulation
405
+ layers << mat_concrete_3_5in
406
+ layers << mat_concrete_1_5in
407
+ radiant_ceiling_slab_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
408
+ radiant_ceiling_slab_construction.setName('Radiant Exterior Ceiling Slab Construction')
409
+ radiant_ceiling_slab_construction.setSourcePresentAfterLayerNumber(3)
410
+ radiant_ceiling_slab_construction.setTemperatureCalculationRequestedAfterLayerNumber(4)
411
+ radiant_ceiling_slab_construction.setTubeSpacing(0.2286) # 9 inches
412
+ elsif radiant_type == 'ceilingmetalpanel'
413
+ layers = []
414
+ layers << mat_concrete_3_5in
415
+ layers << air_gap_mat
416
+ layers << metal_mat
417
+ layers << metal_mat
418
+ radiant_interior_ceiling_metal_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
419
+ radiant_interior_ceiling_metal_construction.setName('Radiant Interior Ceiling Metal Construction')
420
+ radiant_interior_ceiling_metal_construction.setSourcePresentAfterLayerNumber(3)
421
+ radiant_interior_ceiling_metal_construction.setTemperatureCalculationRequestedAfterLayerNumber(4)
422
+ radiant_interior_ceiling_metal_construction.setTubeSpacing(0.1524) # 6 inches
423
+
424
+ layers = []
425
+ layers << mat_refl_roof_membrane
426
+ layers << mat_roof_insulation
427
+ layers << mat_concrete_3_5in
428
+ layers << air_gap_mat
429
+ layers << metal_mat
430
+ layers << metal_mat
431
+ radiant_ceiling_metal_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
432
+ radiant_ceiling_metal_construction.setName('Radiant Ceiling Metal Construction')
433
+ radiant_ceiling_metal_construction.setSourcePresentAfterLayerNumber(5)
434
+ radiant_ceiling_metal_construction.setTemperatureCalculationRequestedAfterLayerNumber(6)
435
+ radiant_ceiling_metal_construction.setTubeSpacing(0.1524) # 6 inches
436
+ elsif radiant_type == 'floorwithhardwood'
437
+ layers = []
438
+ layers << mat_slab_insulation
439
+ layers << mat_concrete_3_5in
440
+ layers << wood_mat
441
+ layers << mat_thin_carpet_tile if include_carpet
442
+ radiant_ground_wood_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
443
+ radiant_ground_wood_construction.setName('Radiant Ground Slab Wood Floor Construction')
444
+ radiant_ground_wood_construction.setSourcePresentAfterLayerNumber(2)
445
+ radiant_ground_wood_construction.setTemperatureCalculationRequestedAfterLayerNumber(3)
446
+ radiant_ground_wood_construction.setTubeSpacing(0.2286) # 9 inches
447
+
448
+ layers = []
449
+ layers << mat_ext_insulation
450
+ layers << wood_mat
451
+ layers << mat_thin_carpet_tile if include_carpet
452
+ radiant_exterior_wood_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
453
+ radiant_exterior_wood_construction.setName('Radiant Exterior Wood Floor Construction')
454
+ radiant_exterior_wood_construction.setSourcePresentAfterLayerNumber(1)
455
+ radiant_exterior_wood_construction.setTemperatureCalculationRequestedAfterLayerNumber(2)
456
+ radiant_exterior_wood_construction.setTubeSpacing(0.2286) # 9 inches
457
+
458
+ layers = []
459
+ layers << gypsum_ceiling_mat
460
+ layers << wood_floor_insulation
461
+ layers << wood_mat
462
+ layers << mat_thin_carpet_tile if include_carpet
463
+ radiant_interior_wood_floor_construction = OpenStudio::Model::ConstructionWithInternalSource.new(layers)
464
+ radiant_interior_wood_floor_construction.setName('Radiant Interior Wooden Floor Construction')
465
+ radiant_interior_wood_floor_construction.setSourcePresentAfterLayerNumber(2)
466
+ radiant_interior_wood_floor_construction.setTemperatureCalculationRequestedAfterLayerNumber(3)
467
+ radiant_interior_wood_floor_construction.setTubeSpacing(0.2286) # 9 inches
468
+ end
411
469
 
412
470
  # default temperature controls for radiant system
413
471
  zn_radiant_htg_dsgn_temp_f = 68.0
@@ -488,6 +546,16 @@ class OpenStudio::Model::Model
488
546
  surface.setConstruction(radiant_interior_ceiling_metal_construction)
489
547
  end
490
548
  end
549
+ elsif radiant_type == 'floorwithhardwood'
550
+ if surface.surfaceType == 'Floor'
551
+ if surface.outsideBoundaryCondition == 'Ground'
552
+ surface.setConstruction(radiant_ground_wood_construction)
553
+ elsif surface.outsideBoundaryCondition == 'Outdoors'
554
+ surface.setConstruction(radiant_exterior_wood_construction)
555
+ else # interior floor
556
+ surface.setConstruction(radiant_interior_wood_floor_construction)
557
+ end
558
+ end
491
559
  end
492
560
  end
493
561
  end
@@ -500,6 +568,8 @@ class OpenStudio::Model::Model
500
568
  radiant_loop.setRadiantSurfaceType('Ceilings')
501
569
  elsif radiant_type == 'ceilingmetalpanel'
502
570
  radiant_loop.setRadiantSurfaceType('Ceilings')
571
+ elsif radiant_type == 'floorwithhardwood'
572
+ radiant_loop.setRadiantSurfaceType('Floors')
503
573
  end
504
574
 
505
575
  # radiant loop layout details
@@ -260,6 +260,10 @@ module Honeybee
260
260
  h_stat = zone.zoneControlHumidistat
261
261
  unless h_stat.empty?
262
262
  humidistat_exists = true
263
+ if equipment_type.to_s.include? 'DOAS'
264
+ z_sizing = zone.sizingZone
265
+ z_sizing.setDedicatedOutdoorAirSystemControlStrategy('NeutralDehumidifiedSupplyAir')
266
+ end
263
267
  end
264
268
  end
265
269
  if humidistat_exists
@@ -269,12 +273,6 @@ module Honeybee
269
273
  end
270
274
  end
271
275
 
272
- # set all plants to non-coincident sizing to avoid simualtion control issues on design days
273
- openstudio_model.getPlantLoops.each do |loop|
274
- sizing = loop.sizingPlant
275
- sizing.setSizingOption('NonCoincident')
276
- end
277
-
278
276
  end
279
277
 
280
278
  private
@@ -596,45 +596,64 @@ module Honeybee
596
596
 
597
597
  def create_orphaned_shades
598
598
  if @hash[:orphaned_shades]
599
- shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
600
- shading_surface_group.setShadingSurfaceType('Building')
599
+ if $orphan_groups
600
+ shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
601
+ shading_surface_group.setShadingSurfaceType('Building')
602
+ end
601
603
  @hash[:orphaned_shades].each do |shade|
602
604
  shade_object = Shade.new(shade)
603
605
  openstudio_shade = shade_object.to_openstudio(@openstudio_model)
604
- openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
606
+ if $orphan_groups
607
+ openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
608
+ end
605
609
  end
606
610
  end
607
611
  end
608
612
 
609
613
  def create_orphaned_faces
610
614
  if @hash[:orphaned_faces]
611
- shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
612
- shading_surface_group.setShadingSurfaceType('Building')
615
+ if $orphan_groups
616
+ shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
617
+ shading_surface_group.setShadingSurfaceType('Building')
618
+ end
613
619
  @hash[:orphaned_faces].each do |face|
614
620
  face_object = Face.new(face)
615
621
  openstudio_shade = face_object.to_openstudio_shade(@openstudio_model, shading_surface_group)
622
+ if $orphan_groups
623
+ openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
624
+ end
616
625
  end
617
626
  end
618
627
  end
619
628
 
620
629
  def create_orphaned_apertures
621
630
  if @hash[:orphaned_apertures]
622
- shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
623
- shading_surface_group.setShadingSurfaceType('Building')
624
- @hash[:orphaned_apertures].each do |ap|
631
+ if $orphan_groups
632
+ shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
633
+ shading_surface_group.setShadingSurfaceType('Building')
634
+ end
635
+ @hash[:orphaned_apertures].each do |ap|
625
636
  ap_object = Aperture.new(ap)
626
637
  openstudio_shade = ap_object.to_openstudio_shade(@openstudio_model, shading_surface_group)
638
+ if $orphan_groups
639
+ openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
640
+ end
627
641
  end
628
642
  end
629
643
  end
630
644
 
631
645
  def create_orphaned_doors
632
646
  if @hash[:orphaned_doors]
633
- shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
634
- shading_surface_group.setShadingSurfaceType('Building')
635
- @hash[:orphaned_doors].each do |dr|
647
+ if $orphan_groups
648
+ shading_surface_group = OpenStudio::Model::ShadingSurfaceGroup.new(@openstudio_model)
649
+ shading_surface_group.setShadingSurfaceType('Building')
650
+ end
651
+ @hash[:orphaned_doors].each do |dr|
636
652
  dr_object = Door.new(dr)
637
653
  openstudio_shade = dr_object.to_openstudio_shade(@openstudio_model, shading_surface_group)
654
+ if $orphan_groups
655
+ openstudio_shade.setShadingSurfaceGroup(shading_surface_group)
656
+ end
638
657
  end
639
658
  end
640
659
  end
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.9
4
+ version: 2.31.12
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-05-26 00:00:00.000000000 Z
14
+ date: 2022-07-25 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler