honeybee-openstudio 2.34.2 → 2.34.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/honeybee-openstudio.gemspec +1 -1
- data/lib/to_openstudio/hvac/radiant.rb +38 -26
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4c9a3f73cadaedf8f1e13e0b20b1392952936a24c1b89d4ffd7532275fcb603
|
4
|
+
data.tar.gz: db9b5fbbecb023ff4465d5d88ab3fda0ab36dd1e6d5835bdb3f072a7ef9d7f64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 135307618dc282c797521be37b65b7494eead11ed66e11409fe0459afbeb7e9cc1a6d07bfb6b11ae73410eb3fc9639c7d386905fff0a8adf0ec775d46a18f874
|
7
|
+
data.tar.gz: 2e54d8e090017dd82d63388ed8a44f03c5439631f23bb56d9af68c13ad2ede5f4b8c6dfd1c2d9ab44c7329fff8708bb6593fb399d8768a690bcb00d3af3c0115
|
data/honeybee-openstudio.gemspec
CHANGED
@@ -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.
|
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
|
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.
|
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-
|
14
|
+
date: 2023-04-19 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: json_pure
|