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.
@@ -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