-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Labels
Description
fan_constant_volume_apply_prototype_fan_pressure_rise
is checking whether the fan is inside a ZoneHVACComponent, or an airloophvac, or uses 0 otherwise.
A Fan inside a PIU is NEITHER. It nevertheless responds positively to containingHVACComponent
Lines 31 to 52 in 4c2b381
pressure_rise_in_h2o = 0.0 | |
# If the fan lives inside of a zone hvac equipment | |
if fan_constant_volume.containingZoneHVACComponent.is_initialized | |
zone_hvac = fan_constant_volume.containingZoneHVACComponent.get | |
if zone_hvac.to_ZoneHVACPackagedTerminalAirConditioner.is_initialized || zone_hvac.to_ZoneHVACFourPipeFanCoil.is_initialized | |
pressure_rise_in_h2o = 1.33 | |
elsif zone_hvac.to_ZoneHVACUnitHeater.is_initialized | |
pressure_rise_in_h2o = 0.2 | |
else # This type of fan should not exist in the prototype models | |
return false | |
end | |
# If the fan lives on an airloop | |
elsif fan_constant_volume.airLoopHVAC.is_initialized | |
pressure_rise_in_h2o = fan_constant_volume_airloop_fan_pressure_rise(fan_constant_volume) | |
end | |
# Set the fan pressure rise | |
pressure_rise_pa = OpenStudio.convert(pressure_rise_in_h2o, 'inH_{2}O', 'Pa').get | |
fan_constant_volume.setPressureRise(pressure_rise_pa) | |
OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.FanConstantVolume', "For Prototype: #{fan_constant_volume.name}: #{maximum_flow_rate_cfm.round}cfm; Pressure Rise = #{pressure_rise_in_h2o}in w.c.") |
m = Model.new
fan = FanConstantVolume.new(m)
c = CoilHeatingElectric.new(m)
piu = AirTerminalSingleDuctParallelPIUReheat.new(m, m.alwaysOnDiscreteSchedule, fan, c)
raise if fan.containingZoneHVACComponent.is_initialized
raise unless fan.containingHVACComponent.is_initialized
Context:
- Found using create_typical_building_from_model measure from ComStock.