Schema Version: 0.0.23 Rule ID: 4-3
Rule Description: Schedules for HVAC fans that provide outdoor air for ventilation shall run continuously whenever spaces are occupied.
Rule Assertion: P-RMD = expected value
Appendix G Section: Section G3.1-4 Schedules for the proposed building excluding exception #1.
Appendix G Section Reference: None
Data Lookup: None
Evaluation Context: Evaluate each HeatingVentilatingAirConditioningSystem
Applicability Checks:
- This rule does not apply when no heating and/or cooling system is to be installed, and a heating or cooling system is being simulated only to meet the requirements described in Section G3.1-10 HVAC Systems proposed column c and d.
Function Call:
- get_proposed_hvac_modeled_with_virtual_heating()
- get_proposed_hvac_modeled_with_virtual_cooling()
Manual Check: None
Rule Logic: Applicability Check 1:
- Call function to get list of inapplicable HVAC systems due to virtual cooling being modeled in the proposed per G3.1-10 d :
inapplicable_HVAC_systems_cooling_list_p = get_proposed_hvac_modeled_with_virtual_cooling(U_RMD,P_RMD)
- Call function to get list of inapplicable HVAC systems due to virtual heating being modeled in the proposed per G3.1-10 c:
inapplicable_HVAC_systems_heating_list_p = get_proposed_hvac_modeled_with_virtual_heating(U_RMD,P_RMD)
There may be duplicates in the following list of inapplicable hvac systems but it is not impactful - Combine list of inapplicable hvac systems:
inapplicable_HVAC_systems_list_p = inapplicable_HVAC_systems_cooling_list_p + inapplicable_HVAC_systems_heating_list_p
- For each HeatingVentilationAirconditioningSystem in the P_RMD check if this check is applicable:
for each hvac_p in P_RMD..HeatingVentilatingAirConditioningSystem:
-
Check if hvac_p is not in the list of inapplicable systems, if it is not found then set applicability flag to true:
if hvac_p not in inapplicable_HVAC_systems_list_p: rule_applicability_flag = TRUE
-
If rule_applicability_flag = TRUE for hvac_p:
if rule_applicability_flag == TRUE:
- Get fan operation during occupied periods:
operation_during_occupied_p = hvac_p.fan_systems[0].operation_during_occupied
- Get minimum_outdoor_airflow:
minimum_outdoor_airflow_p = hvac_p.fan_systems[0].minimum_outdoor_airflow
Rule Assertion:
- Case 1: For each applicable hvac system, if fan system operation during occupied periods is continuous and the minimum OA is greater than 0 in the P_RMD:
if operation_during_occupied_p == “CONTINUOUS” and minimum_outdoor_airflow_p >0 : PASS
- Case 2: else if, fan system operation during occupied periods is cycling and the minimum OA equals 0 in the P_RMD:
else if operation_during_occupied_p == “CYCLING” and minimum_outdoor_airflow_p == 0 : PASS
- Case 3: Else:
Else: FAIL
- Get fan operation during occupied periods:
-