openstudio-standards 0.1.6 → 0.1.7
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 +4 -4
- data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +24 -8
- data/lib/openstudio-standards/hvac_sizing/Siz.ThermalZone.rb +4 -0
- data/lib/openstudio-standards/prototypes/Prototype.Model.rb +10 -0
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +38 -56
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +22 -61
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +3 -7
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +103 -271
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +62 -187
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +150 -0
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +6 -4
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +139 -208
- data/lib/openstudio-standards/standards/Standards.Model.rb +37 -12
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +3 -3
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +110 -0
- data/lib/openstudio-standards/version.rb +1 -1
- metadata +3 -2
@@ -731,6 +731,65 @@ class OpenStudio::Model::ThermalZone
|
|
731
731
|
return htd
|
732
732
|
end
|
733
733
|
|
734
|
+
# Check if the zone has radiant heating,
|
735
|
+
# and if it does, get heating setpoint schedule
|
736
|
+
# directly from the radiant system to check.
|
737
|
+
equipment.each do |equip|
|
738
|
+
htg_sch = nil
|
739
|
+
if equip.to_ZoneHVACHighTemperatureRadiant.is_initialized
|
740
|
+
equip = equip.to_ZoneHVACHighTemperatureRadiant.get
|
741
|
+
if equip.heatingSetpointTemperatureSchedule.is_initialized
|
742
|
+
htg_sch = equip.heatingSetpointTemperatureSchedule.get
|
743
|
+
end
|
744
|
+
elsif equip.to_ZoneHVACLowTemperatureRadiantElectric.is_initialized
|
745
|
+
equip = equip.to_ZoneHVACLowTemperatureRadiantElectric.get
|
746
|
+
htg_sch = equip.heatingSetpointTemperatureSchedule.get
|
747
|
+
elsif equip.to_ZoneHVACLowTempRadiantConstFlow.is_initialized
|
748
|
+
equip = equip.to_ZoneHVACLowTempRadiantConstFlow.get
|
749
|
+
htg_coil = equip.heatingCoil
|
750
|
+
if htg_coil.to_CoilHeatingLowTempRadiantConstFlow.is_initialized
|
751
|
+
htg_coil = htg_coil.to_CoilHeatingLowTempRadiantConstFlow.get
|
752
|
+
if htg_coil.heatingHighControlTemperatureSchedule.is_initialized
|
753
|
+
htg_sch = htg_coil.heatingHighControlTemperatureSchedule.get
|
754
|
+
end
|
755
|
+
end
|
756
|
+
elsif equip.to_ZoneHVACLowTempRadiantVarFlow.is_initialized
|
757
|
+
equip = equip.to_ZoneHVACLowTempRadiantVarFlow.get
|
758
|
+
htg_coil = equip.heatingCoil
|
759
|
+
if htg_coil.to_CoilHeatingLowTempRadiantVarFlow.is_initialized
|
760
|
+
htg_coil = htg_coil.to_CoilHeatingLowTempRadiantVarFlow.get
|
761
|
+
if htg_coil.heatingControlTemperatureSchedule.is_initialized
|
762
|
+
htg_sch = htg_coil.heatingControlTemperatureSchedule.get
|
763
|
+
end
|
764
|
+
end
|
765
|
+
end
|
766
|
+
# Move on if no heating schedule was found
|
767
|
+
next if htg_sch.nil?
|
768
|
+
# Get the setpoint from the schedule
|
769
|
+
if htg_sch.to_ScheduleRuleset.is_initialized
|
770
|
+
htg_sch = htg_sch.to_ScheduleRuleset.get
|
771
|
+
max_c = htg_sch.annual_min_max_value['max']
|
772
|
+
if max_c > temp_c
|
773
|
+
htd = true
|
774
|
+
end
|
775
|
+
elsif htg_sch.to_ScheduleConstant.is_initialized
|
776
|
+
htg_sch = htg_sch.to_ScheduleConstant.get
|
777
|
+
max_c = htg_sch.annual_min_max_value['max']
|
778
|
+
if max_c > temp_c
|
779
|
+
htd = true
|
780
|
+
end
|
781
|
+
elsif htg_sch.to_ScheduleCompact.is_initialized
|
782
|
+
htg_sch = htg_sch.to_ScheduleCompact.get
|
783
|
+
max_c = htg_sch.annual_min_max_value['max']
|
784
|
+
if max_c > temp_c
|
785
|
+
htd = true
|
786
|
+
end
|
787
|
+
else
|
788
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "Zone #{name} used an unknown schedule type for the heating setpoint; assuming heated.")
|
789
|
+
htd = true
|
790
|
+
end
|
791
|
+
end
|
792
|
+
|
734
793
|
# Unheated if no thermostat present
|
735
794
|
if thermostat.empty?
|
736
795
|
return htd
|
@@ -813,6 +872,57 @@ class OpenStudio::Model::ThermalZone
|
|
813
872
|
return cld
|
814
873
|
end
|
815
874
|
|
875
|
+
# Check if the zone has radiant cooling,
|
876
|
+
# and if it does, get cooling setpoint schedule
|
877
|
+
# directly from the radiant system to check.
|
878
|
+
equipment.each do |equip|
|
879
|
+
clg_sch = nil
|
880
|
+
if equip.to_ZoneHVACLowTempRadiantConstFlow.is_initialized
|
881
|
+
equip = equip.to_ZoneHVACLowTempRadiantConstFlow.get
|
882
|
+
clg_coil = equip.heatingCoil
|
883
|
+
if clg_coil.to_CoilCoolingLowTempRadiantConstFlow.is_initialized
|
884
|
+
clg_coil = clg_coil.to_CoilCoolingLowTempRadiantConstFlow.get
|
885
|
+
if clg_coil.coolingLowControlTemperatureSchedule.is_initialized
|
886
|
+
clg_sch = clg_coil.coolingLowControlTemperatureSchedule.get
|
887
|
+
end
|
888
|
+
end
|
889
|
+
elsif equip.to_ZoneHVACLowTempRadiantVarFlow.is_initialized
|
890
|
+
equip = equip.to_ZoneHVACLowTempRadiantVarFlow.get
|
891
|
+
clg_coil = equip.heatingCoil
|
892
|
+
if clg_coil.to_CoilCoolingLowTempRadiantVarFlow.is_initialized
|
893
|
+
clg_coil = clg_coil.to_CoilCoolingLowTempRadiantVarFlow.get
|
894
|
+
if clg_coil.coolingControlTemperatureSchedule.is_initialized
|
895
|
+
clg_sch = clg_coil.coolingControlTemperatureSchedule.get
|
896
|
+
end
|
897
|
+
end
|
898
|
+
end
|
899
|
+
# Move on if no cooling schedule was found
|
900
|
+
next if clg_sch.nil?
|
901
|
+
# Get the setpoint from the schedule
|
902
|
+
if clg_sch.to_ScheduleRuleset.is_initialized
|
903
|
+
clg_sch = clg_sch.to_ScheduleRuleset.get
|
904
|
+
min_c = clg_sch.annual_min_max_value['min']
|
905
|
+
if min_c < temp_c
|
906
|
+
cld = true
|
907
|
+
end
|
908
|
+
elsif clg_sch.to_ScheduleConstant.is_initialized
|
909
|
+
clg_sch = clg_sch.to_ScheduleConstant.get
|
910
|
+
min_c = clg_sch.annual_min_max_value['min']
|
911
|
+
if min_c < temp_c
|
912
|
+
cld = true
|
913
|
+
end
|
914
|
+
elsif clg_sch.to_ScheduleCompact.is_initialized
|
915
|
+
clg_sch = clg_sch.to_ScheduleCompact.get
|
916
|
+
min_c = clg_sch.annual_min_max_value['min']
|
917
|
+
if min_c < temp_c
|
918
|
+
cld = true
|
919
|
+
end
|
920
|
+
else
|
921
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "Zone #{name} used an unknown schedule type for the cooling setpoint; assuming cooled.")
|
922
|
+
cld = true
|
923
|
+
end
|
924
|
+
end
|
925
|
+
|
816
926
|
# Unheated if no thermostat present
|
817
927
|
if thermostat.empty?
|
818
928
|
return cld
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstudio-standards
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Parker
|
@@ -21,7 +21,7 @@ authors:
|
|
21
21
|
autorequire:
|
22
22
|
bindir: bin
|
23
23
|
cert_chain: []
|
24
|
-
date: 2016-
|
24
|
+
date: 2016-10-14 00:00:00.000000000 Z
|
25
25
|
dependencies:
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bundler
|
@@ -305,6 +305,7 @@ files:
|
|
305
305
|
- lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb
|
306
306
|
- lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb
|
307
307
|
- lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb
|
308
|
+
- lib/openstudio-standards/standards/Standards.CoilDX.rb
|
308
309
|
- lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb
|
309
310
|
- lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb
|
310
311
|
- lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb
|