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.
@@ -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
@@ -1,3 +1,3 @@
1
1
  module OpenstudioStandards
2
- VERSION = '0.1.6'.freeze
2
+ VERSION = '0.1.7'.freeze
3
3
  end
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.6
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-09-27 00:00:00.000000000 Z
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