openstudio-standards 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|