honeybee-openstudio 2.34.2 → 2.34.3

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: 6947078e38b09ec6c7ee9a64b5d530a3fd7eb3b86137c02471e60d9d7422c08a
4
- data.tar.gz: 2b9c9771fc008175bef01a951ec104e4df61173ad305da5606e0703e933a43e6
3
+ metadata.gz: d4c9a3f73cadaedf8f1e13e0b20b1392952936a24c1b89d4ffd7532275fcb603
4
+ data.tar.gz: db9b5fbbecb023ff4465d5d88ab3fda0ab36dd1e6d5835bdb3f072a7ef9d7f64
5
5
  SHA512:
6
- metadata.gz: 45fb3ea19af186fbb5a1dda5946714e80c9c8347839d33b00376f86658e5f9d7329d8a3c2bb96c8c68d5fcd2b6ff2699c47cc9259c102a8103da9fda824b9ccd
7
- data.tar.gz: 52cbe21e52ceb223c5cb333e1332b5a18db6e2a00859485946813bd65c27bb18483219a0bf4e09f9f977d9a3ed212d287ac49ff724401a7fec151dbcc76ba80e
6
+ metadata.gz: 135307618dc282c797521be37b65b7494eead11ed66e11409fe0459afbeb7e9cc1a6d07bfb6b11ae73410eb3fc9639c7d386905fff0a8adf0ec775d46a18f874
7
+ data.tar.gz: 2e54d8e090017dd82d63388ed8a44f03c5439631f23bb56d9af68c13ad2ede5f4b8c6dfd1c2d9ab44c7329fff8708bb6593fb399d8768a690bcb00d3af3c0115
@@ -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.34.2'
7
+ spec.version = '2.34.3'
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
 
@@ -490,36 +490,15 @@ class OpenStudio::Model::Model
490
490
  OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', "Thermal zone '#{zone.name}' has a restricted character ':' in the name and will not work with some EMS and output reporting objects. Please rename the zone.")
491
491
  end
492
492
 
493
- # create radiant coils
494
- if hot_water_loop
495
- radiant_loop_htg_coil = OpenStudio::Model::CoilHeatingLowTempRadiantVarFlow.new(self, htg_control_temp_sch)
496
- radiant_loop_htg_coil.setName("#{zone.name} Radiant Loop Heating Coil")
497
- radiant_loop_htg_coil.setHeatingControlThrottlingRange(throttling_range_c)
498
- hot_water_loop.addDemandBranchForComponent(radiant_loop_htg_coil)
499
- else
500
- OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Radiant loops require a hot water loop, but none was provided.')
501
- end
502
-
503
- if chilled_water_loop
504
- radiant_loop_clg_coil = OpenStudio::Model::CoilCoolingLowTempRadiantVarFlow.new(self, clg_control_temp_sch)
505
- radiant_loop_clg_coil.setName("#{zone.name} Radiant Loop Cooling Coil")
506
- radiant_loop_clg_coil.setCoolingControlThrottlingRange(throttling_range_c)
507
- chilled_water_loop.addDemandBranchForComponent(radiant_loop_clg_coil)
508
- else
509
- OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Radiant loops require a chilled water loop, but none was provided.')
510
- end
511
-
512
- radiant_avail_sch = self.alwaysOnDiscreteSchedule
513
- radiant_loop = OpenStudio::Model::ZoneHVACLowTempRadiantVarFlow.new(self,
514
- radiant_avail_sch,
515
- radiant_loop_htg_coil,
516
- radiant_loop_clg_coil)
517
-
518
493
  # assign internal source construction to floors in zone
494
+ srf_count = 0
519
495
  zone.spaces.each do |space|
520
496
  space.surfaces.each do |surface|
521
- if radiant_type == 'floor'
497
+ if surface.isAirWall
498
+ OpenStudio.logFree(OpenStudio::Info, 'openstudio.Model.Model', "Surface #{surface.name} cannot be set to a Radiant Construction as it is an AirBoundary.")
499
+ elsif radiant_type == 'floor'
522
500
  if surface.surfaceType == 'Floor'
501
+ srf_count += 1
523
502
  if surface.outsideBoundaryCondition == 'Ground'
524
503
  surface.setConstruction(radiant_ground_slab_construction)
525
504
  elsif surface.outsideBoundaryCondition == 'Outdoors'
@@ -530,6 +509,7 @@ class OpenStudio::Model::Model
530
509
  end
531
510
  elsif radiant_type == 'ceiling'
532
511
  if surface.surfaceType == 'RoofCeiling'
512
+ srf_count += 1
533
513
  if surface.outsideBoundaryCondition == 'Outdoors'
534
514
  surface.setConstruction(radiant_ceiling_slab_construction)
535
515
  else # interior ceiling
@@ -538,6 +518,7 @@ class OpenStudio::Model::Model
538
518
  end
539
519
  elsif radiant_type == 'ceilingmetalpanel'
540
520
  if surface.surfaceType == 'RoofCeiling'
521
+ srf_count += 1
541
522
  if surface.outsideBoundaryCondition == 'Outdoors'
542
523
  surface.setConstruction(radiant_ceiling_metal_construction)
543
524
  else # interior ceiling
@@ -546,6 +527,7 @@ class OpenStudio::Model::Model
546
527
  end
547
528
  elsif radiant_type == 'floorwithhardwood'
548
529
  if surface.surfaceType == 'Floor'
530
+ srf_count += 1
549
531
  if surface.outsideBoundaryCondition == 'Ground'
550
532
  surface.setConstruction(radiant_ground_wood_construction)
551
533
  elsif surface.outsideBoundaryCondition == 'Outdoors'
@@ -558,6 +540,36 @@ class OpenStudio::Model::Model
558
540
  end
559
541
  end
560
542
 
543
+ # ignore the Zone if it has not thermally active Faces
544
+ if srf_count == 0
545
+ next
546
+ end
547
+
548
+ # create radiant coils
549
+ if hot_water_loop
550
+ radiant_loop_htg_coil = OpenStudio::Model::CoilHeatingLowTempRadiantVarFlow.new(self, htg_control_temp_sch)
551
+ radiant_loop_htg_coil.setName("#{zone.name} Radiant Loop Heating Coil")
552
+ radiant_loop_htg_coil.setHeatingControlThrottlingRange(throttling_range_c)
553
+ hot_water_loop.addDemandBranchForComponent(radiant_loop_htg_coil)
554
+ else
555
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Radiant loops require a hot water loop, but none was provided.')
556
+ end
557
+
558
+ if chilled_water_loop
559
+ radiant_loop_clg_coil = OpenStudio::Model::CoilCoolingLowTempRadiantVarFlow.new(self, clg_control_temp_sch)
560
+ radiant_loop_clg_coil.setName("#{zone.name} Radiant Loop Cooling Coil")
561
+ radiant_loop_clg_coil.setCoolingControlThrottlingRange(throttling_range_c)
562
+ chilled_water_loop.addDemandBranchForComponent(radiant_loop_clg_coil)
563
+ else
564
+ OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Radiant loops require a chilled water loop, but none was provided.')
565
+ end
566
+
567
+ radiant_avail_sch = self.alwaysOnDiscreteSchedule
568
+ radiant_loop = OpenStudio::Model::ZoneHVACLowTempRadiantVarFlow.new(self,
569
+ radiant_avail_sch,
570
+ radiant_loop_htg_coil,
571
+ radiant_loop_clg_coil)
572
+
561
573
  # radiant loop surfaces
562
574
  radiant_loop.setName("#{zone.name} Radiant Loop")
563
575
  if radiant_type == 'floor'
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.34.2
4
+ version: 2.34.3
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: 2023-04-10 00:00:00.000000000 Z
14
+ date: 2023-04-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json_pure