lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb in openstudio-standards-0.1.14 vs lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb in openstudio-standards-0.1.15
- old
+ new
@@ -3465,27 +3465,26 @@
end
# Shut off the system during unoccupied periods.
# During these times, systems will cycle on briefly
# if temperature drifts below setpoint. For systems
- # with fan-powered terminals, only the terminal fans will
- # cycle on. If the system already has a schedule other than
+ # with fan-powered terminals, the whole system
+ # (not just the terminal fans) will cycle on.
+ # Terminal-only night cycling is not used because the terminals cannot
+ # provide cooling, so terminal-only night cycling leads to excessive
+ # unmet cooling hours during unoccupied periods.
+ # If the system already has a schedule other than
# Always-On, no change will be made. If the system has
# an Always-On schedule assigned, a new schedule will be created.
# In this case, occupied is defined as the total percent
# occupancy for the loop for all zones served.
#
# @param min_occ_pct [Double] the fractional value below which
# the system will be considered unoccupied.
# @return [Bool] true if successful, false if not
def enable_unoccupied_fan_shutoff(min_occ_pct = 0.15)
# Set the system to night cycle
- night_cycle_type = 'CycleOnAny'
- # For VAV with PFP boxes, cycle zone fans only
- unless demandComponents('OS:AirTerminal:SingleDuct:ParallelPIU:Reheat'.to_IddObjectType).empty?
- night_cycle_type = 'CycleOnAnyZoneFansOnly'
- end
- setNightCycleControlType(night_cycle_type)
+ setNightCycleControlType('CycleOnAny')
# Check if already using a schedule other than always on
avail_sch = availabilitySchedule
unless avail_sch == model.alwaysOnDiscreteSchedule
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{name}: Availability schedule is already set to #{avail_sch.name}. Will assume this includes unoccupied shut down; no changes will be made.")