diff --git a/Changelog.md b/Changelog.md index 5900c773c8..499070bb67 100644 --- a/Changelog.md +++ b/Changelog.md @@ -19,6 +19,7 @@ __New Features__ - Central Fan Integrated Supply (CFIS) mechanical ventilation enhancements: - CFIS systems without automatic flow control of outdoor air (`CFISControls/HasOutdoorAirControl=false`). - CFIS systems with no strategy to meet remainder of ventilation target (`CFISControls/AdditionalRuntimeOperatingMode="none"`). + - CFIS systems with supplemental fans that run simultaneously with the air handler (`CFISControls/extension/SupplementalFanRunsWithAirHandlerFan=true`). - HVAC Manual J design load and sizing calculations: - Adds optional `DistributionSystemType/AirDistribution/extension/ManualJInputs/BlowerFanHeatBtuh` input. - Adds optional `DistributionSystemType/HydronicDistribution/extension/ManualJInputs/HotWaterPipingBtuh` input. diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index 819304b94d..2f9ffeebaf 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - e7d819f6-fda2-4bf2-b6c3-cd1ff3adb569 - 2024-10-22T17:43:11Z + 6f307da4-b354-4c31-897f-de2161a9de82 + 2024-10-22T21:49:52Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -189,7 +189,7 @@ airflow.rb rb resource - D2A99996 + FFA79541 battery.rb @@ -327,7 +327,7 @@ defaults.rb rb resource - 5B6D3CB2 + E52E98C6 energyplus.rb @@ -357,7 +357,7 @@ hpxml.rb rb resource - E862E878 + 656CF61F hpxml_schema/HPXML.xsd @@ -375,7 +375,7 @@ hpxml_schematron/EPvalidator.xml xml resource - 009BEB48 + DD7BB2F9 hpxml_schematron/iso-schematron.xsd @@ -663,7 +663,7 @@ test_defaults.rb rb test - 9D489184 + 77AFEE2C test_enclosure.rb diff --git a/HPXMLtoOpenStudio/resources/airflow.rb b/HPXMLtoOpenStudio/resources/airflow.rb index f852cb20c5..d799dd5992 100644 --- a/HPXMLtoOpenStudio/resources/airflow.rb +++ b/HPXMLtoOpenStudio/resources/airflow.rb @@ -725,7 +725,7 @@ def self.create_return_air_duct_zone(model, loop_name, unit_multiplier, adiabati # @param unavailable_periods [HPXML::UnavailablePeriods] Object that defines periods for, e.g., power outages or vacancies # @return [TODO] TODO def self.initialize_cfis(model, vent_fans, airloop_map, unavailable_periods) - cfis_data = { airloop: {}, t_sum_open_damper_var: {}, f_extra_open_damper_var: {} } + cfis_data = { airloop: {}, t_sum_open_damper_var: {}, f_vent_only_mode_var: {} } return cfis_data if vent_fans[:mech].empty? index = 0 @@ -745,11 +745,11 @@ def self.initialize_cfis(model, vent_fans, airloop_map, unavailable_periods) cfis_data[:t_sum_open_damper_var][vent_mech.id] = Model.add_ems_global_var( model, var_name: "#{Constants::ObjectTypeMechanicalVentilation} cfis t sum open damper #{index}" - ) # Sums the time during an hour the CFIS damper has been open - cfis_data[:f_extra_open_damper_var][vent_mech.id] = Model.add_ems_global_var( + ) + cfis_data[:f_vent_only_mode_var][vent_mech.id] = Model.add_ems_global_var( model, - var_name: "#{Constants::ObjectTypeMechanicalVentilation} cfis f open damper #{index}" - ) # Fraction of timestep the CFIS blower is running while hvac is not operating. Used by infiltration and duct leakage programs + var_name: "#{Constants::ObjectTypeMechanicalVentilation} cfis f vent only mode #{index}" + ) # CFIS Initialization Program cfis_program = Model.add_ems_program( @@ -757,7 +757,7 @@ def self.initialize_cfis(model, vent_fans, airloop_map, unavailable_periods) name: "#{Constants::ObjectTypeMechanicalVentilation} cfis init program #{index}" ) cfis_program.addLine("Set #{cfis_data[:t_sum_open_damper_var][vent_mech.id].name} = 0") - cfis_program.addLine("Set #{cfis_data[:f_extra_open_damper_var][vent_mech.id].name} = 0") + cfis_program.addLine("Set #{cfis_data[:f_vent_only_mode_var][vent_mech.id].name} = 0") Model.add_ems_program_calling_manager( model, @@ -1585,12 +1585,12 @@ def self.apply_duct_location(model, spaces, hpxml_bldg, ducts, object, i, duct_l add_cfis_duct_losses = (cfis_fan.cfis_addtl_runtime_operating_mode == HPXML::CFISModeAirHandler) if add_cfis_duct_losses - # Calculate CFIS duct losses when the outdoor air damper is open - f_extra_open_damper_var = cfis_data[:f_extra_open_damper_var][cfis_id] + # Calculate additional CFIS duct losses when the air handler is in ventilation only mode + f_vent_only_mode_var = cfis_data[:f_vent_only_mode_var][cfis_id] - duct_program.addLine("If #{f_extra_open_damper_var.name} > 0") + duct_program.addLine("If #{f_vent_only_mode_var.name} > 0") duct_program.addLine(" Set cfis_m3s = (#{fan_data[:mfr_max_var][object].name} * #{cfis_fan.cfis_vent_mode_airflow_fraction} / 1.16097654)") # Density of 1.16097654 was back calculated using E+ results - duct_program.addLine(" Set #{fan_data[:rtf_var][object].name} = #{f_extra_open_damper_var.name}") # Need to use global vars to sync duct_program and infiltration program of different calling points + duct_program.addLine(" Set #{fan_data[:rtf_var][object].name} = #{f_vent_only_mode_var.name}") # Need to use global vars to sync duct_program and infiltration program of different calling points duct_program.addLine(" Set #{ah_vfr_var.name} = #{fan_data[:rtf_var][object].name}*cfis_m3s") duct_program.addLine(" Set rho_in = (@RhoAirFnPbTdbW #{sensors[:pbar].name} #{sensors[:t_in].name} #{sensors[:w_in].name})") duct_program.addLine(" Set #{ah_mfr_var.name} = #{ah_vfr_var.name} * rho_in") @@ -1978,7 +1978,7 @@ def self.apply_cfis(runner, infil_program, vent_mech_fans, cfis_data, cfis_fan_a end t_sum_open_damper_var = cfis_data[:t_sum_open_damper_var][vent_mech.id] - f_extra_open_damper_var = cfis_data[:f_extra_open_damper_var][vent_mech.id] + f_vent_only_mode_var = cfis_data[:f_vent_only_mode_var][vent_mech.id] infil_program.addLine('If @ABS(Minute - ZoneTimeStep*60) < 0.1') infil_program.addLine(" Set #{t_sum_open_damper_var.name} = 0") # New hour, time on summation re-initializes to 0 @@ -1986,23 +1986,26 @@ def self.apply_cfis(runner, infil_program, vent_mech_fans, cfis_data, cfis_fan_a infil_program.addLine("Set t_min_hr_open = #{[vent_mech.hours_in_operation / 24.0 * 60.0, 59.999].min}") # Minimum CFIS damper open time in minutes infil_program.addLine("Set Q_duct_oa = #{UnitConversions.convert(vent_mech.oa_unit_flow_rate, 'cfm', 'm^3/s')}") - infil_program.addLine('Set f_total_open_damper = 0') # Fraction of the timestep the CFIS damper is open - infil_program.addLine("Set #{f_extra_open_damper_var.name} = 0") + infil_program.addLine('Set f_open_damper = 0') + infil_program.addLine("Set #{f_vent_only_mode_var.name} = 0") infil_program.addLine("Set has_additional_runtime = #{vent_mech.cfis_addtl_runtime_operating_mode == HPXML::CFISModeNone ? 0 : 1}") infil_program.addLine("Set has_outdoor_air_control = #{vent_mech.cfis_has_outdoor_air_control ? 1 : 0}") + if vent_mech.cfis_addtl_runtime_operating_mode == HPXML::CFISModeSupplementalFan + infil_program.addLine("Set suppl_fan_w = #{vent_mech.cfis_supplemental_fan.unit_fan_power}") # W + end infil_program.addLine("If #{t_sum_open_damper_var.name} < t_min_hr_open") # Check whether we've met the minimum hourly runtime infil_program.addLine(" Set t_damper_open = 60 - (t_min_hr_open - #{t_sum_open_damper_var.name})") # Minute of the hour at which the damper must be opened infil_program.addLine(' If ((Minute+0.00001) >= t_damper_open) && (has_additional_runtime == 1)') # Check whether the damper must be opened to achieve target minutes per hour of operation - infil_program.addLine(' Set open_damper_runtime = @Max (@ABS(Minute - t_damper_open)) (fan_rtf_hvac * ZoneTimeStep * 60)') # How many minutes this hour the damper is open + infil_program.addLine(' Set open_damper_runtime = @Max (@ABS(Minute - t_damper_open)) (fan_rtf_hvac * ZoneTimeStep * 60)') # How many minutes this timestep the damper is open infil_program.addLine(" Set open_damper_runtime = @Min open_damper_runtime (t_min_hr_open - #{t_sum_open_damper_var.name})") # Make sure it's not exceeding target ventilation - infil_program.addLine(' Set f_total_open_damper = open_damper_runtime / (60.0 * ZoneTimeStep)') # Fraction of the timestep that the damper is open - infil_program.addLine(" Set #{t_sum_open_damper_var.name} = #{t_sum_open_damper_var.name} + open_damper_runtime") - infil_program.addLine(" Set #{f_extra_open_damper_var.name} = @Max (f_total_open_damper - fan_rtf_hvac) 0.0") # Fraction of the timestep with additional ventilation mode runtime + infil_program.addLine(" Set #{t_sum_open_damper_var.name} = #{t_sum_open_damper_var.name} + open_damper_runtime") # How many minutes this hour the damper is open + infil_program.addLine(' Set f_open_damper = open_damper_runtime / (60.0 * ZoneTimeStep)') # Fraction of the timestep that the damper is open + infil_program.addLine(" Set #{f_vent_only_mode_var.name} = @Max (f_open_damper - fan_rtf_hvac) 0.0") # Fraction of the timestep with ventilation only mode runtime if vent_mech.cfis_addtl_runtime_operating_mode == HPXML::CFISModeAirHandler # Air handler meets additional runtime requirement infil_program.addLine(" Set fan_w = #{vent_mech.unit_fan_power}") # W - infil_program.addLine(" Set #{cfis_fan_actuator.name} = #{cfis_fan_actuator.name} + fan_w * #{f_extra_open_damper_var.name}") + infil_program.addLine(" Set #{cfis_fan_actuator.name} = #{cfis_fan_actuator.name} + fan_w * #{f_vent_only_mode_var.name}") elsif vent_mech.cfis_addtl_runtime_operating_mode == HPXML::CFISModeSupplementalFan # Supplemental fan meets additional runtime requirement if vent_mech.cfis_supplemental_fan.oa_unit_flow_rate < vent_mech.average_unit_flow_rate @@ -2010,12 +2013,11 @@ def self.apply_cfis(runner, infil_program, vent_mech_fans, cfis_data, cfis_fan_a end infil_program.addLine(" Set suppl_Q_oa = #{UnitConversions.convert(vent_mech.cfis_supplemental_fan.oa_unit_flow_rate, 'cfm', 'm^3/s')}") if vent_mech.cfis_supplemental_fan.oa_unit_flow_rate > 0 - infil_program.addLine(" Set suppl_f = #{f_extra_open_damper_var.name} / (suppl_Q_oa / Q_duct_oa)") # Calculate desired runtime for supplemental fan to provide remaining ventilation requirement + infil_program.addLine(" Set suppl_f = #{f_vent_only_mode_var.name} / (suppl_Q_oa / Q_duct_oa)") # Calculate desired runtime for supplemental fan to provide remaining ventilation requirement infil_program.addLine(' Set suppl_f = @Min suppl_f 1.0') # Ensure desired runtime does not exceed 100% (if the supplemental fan is undersized) else infil_program.addLine(' Set suppl_f = 0.0') end - infil_program.addLine(" Set suppl_fan_w = #{vent_mech.cfis_supplemental_fan.unit_fan_power}") # W infil_program.addLine(" Set #{cfis_suppl_fan_actuator.name} = #{cfis_suppl_fan_actuator.name} + suppl_fan_w * suppl_f") if vent_mech.cfis_supplemental_fan.fan_type == HPXML::MechVentTypeSupply infil_program.addLine(' Set QWHV_cfis_suppl_sup = QWHV_cfis_suppl_sup + (suppl_f * suppl_Q_oa)') @@ -2024,21 +2026,39 @@ def self.apply_cfis(runner, infil_program, vent_mech_fans, cfis_data, cfis_fan_a end end infil_program.addLine(' Else') # No additional ventilation mode runtime - infil_program.addLine(' Set open_damper_runtime = fan_rtf_hvac * ZoneTimeStep * 60') # How many minutes this hour the damper is open + infil_program.addLine(' Set open_damper_runtime = fan_rtf_hvac * ZoneTimeStep * 60') # How many minutes this timestep the damper is open infil_program.addLine(" If (#{t_sum_open_damper_var.name} + open_damper_runtime) > t_min_hr_open") # Damper is only open for a portion of this time step to achieve target ventilation infil_program.addLine(" Set open_damper_runtime = t_min_hr_open - #{t_sum_open_damper_var.name}") infil_program.addLine(' EndIf') - infil_program.addLine(' Set f_total_open_damper = open_damper_runtime / (ZoneTimeStep * 60)') # Fraction of the timestep that the damper is open - infil_program.addLine(" Set #{t_sum_open_damper_var.name} = #{t_sum_open_damper_var.name} + open_damper_runtime") + infil_program.addLine(' Set f_open_damper = open_damper_runtime / (ZoneTimeStep * 60)') # Fraction of the timestep that the damper is open + infil_program.addLine(" Set #{t_sum_open_damper_var.name} = #{t_sum_open_damper_var.name} + open_damper_runtime") # How many minutes this hour the damper is open infil_program.addLine(' EndIf') + infil_program.addLine('EndIf') + + # Calculate fraction of the timestep that the damper is open and the air handler fan is running if vent_mech.cfis_addtl_runtime_operating_mode == HPXML::CFISModeSupplementalFan - infil_program.addLine(" Set f_total_open_damper = @Max (f_total_open_damper - #{f_extra_open_damper_var.name}) 0.0") + infil_program.addLine("Set f_open_damper_ah = @Max (f_open_damper - #{f_vent_only_mode_var.name}) 0.0") + else + infil_program.addLine('Set f_open_damper_ah = f_open_damper') end - infil_program.addLine('EndIf') + + # If no outdoor air control, then outdoor air is introduced for at least the entire time the HVAC system is running infil_program.addLine('If has_outdoor_air_control == 0') - infil_program.addLine(' Set f_total_open_damper = @Max f_total_open_damper fan_rtf_hvac') # Outdoor air is introduced for at least the entire time the HVAC system is running + infil_program.addLine(' Set f_open_damper_ah = @Max f_open_damper_ah fan_rtf_hvac') infil_program.addLine('EndIf') - infil_program.addLine('Set QWHV_cfis_sup = QWHV_cfis_sup + (f_total_open_damper * Q_duct_oa)') + + # Airflow brought in through air handler + infil_program.addLine('Set QWHV_cfis_sup = QWHV_cfis_sup + (f_open_damper_ah * Q_duct_oa)') + + next unless vent_mech.cfis_addtl_runtime_operating_mode == HPXML::CFISModeSupplementalFan && vent_mech.cfis_supplemental_fan_runs_with_air_handler_fan + + # Also run supplemental fan when damper is open and HVAC system is running + infil_program.addLine("Set #{cfis_suppl_fan_actuator.name} = #{cfis_suppl_fan_actuator.name} + (suppl_fan_w * f_open_damper_ah)") + if vent_mech.cfis_supplemental_fan.fan_type == HPXML::MechVentTypeSupply + infil_program.addLine('Set QWHV_cfis_suppl_sup = QWHV_cfis_suppl_sup + (f_open_damper_ah * suppl_Q_oa)') + elsif vent_mech.cfis_supplemental_fan.fan_type == HPXML::MechVentTypeExhaust + infil_program.addLine('Set QWHV_cfis_suppl_exh = QWHV_cfis_suppl_exh + (f_open_damper_ah * suppl_Q_oa)') + end end end diff --git a/HPXMLtoOpenStudio/resources/defaults.rb b/HPXMLtoOpenStudio/resources/defaults.rb index df077becff..9f62f339b3 100644 --- a/HPXMLtoOpenStudio/resources/defaults.rb +++ b/HPXMLtoOpenStudio/resources/defaults.rb @@ -2755,6 +2755,10 @@ def self.apply_ventilation_fans(hpxml_bldg, weather, eri_version) vent_fan.cfis_vent_mode_airflow_fraction = 1.0 vent_fan.cfis_vent_mode_airflow_fraction_isdefaulted = true end + if vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan.nil? && (vent_fan.cfis_addtl_runtime_operating_mode == HPXML::CFISModeSupplementalFan) + vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan = false + vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan_isdefaulted = true + end end # Default kitchen fan diff --git a/HPXMLtoOpenStudio/resources/hpxml.rb b/HPXMLtoOpenStudio/resources/hpxml.rb index f536684c1d..537abbc77d 100644 --- a/HPXMLtoOpenStudio/resources/hpxml.rb +++ b/HPXMLtoOpenStudio/resources/hpxml.rb @@ -7993,41 +7993,42 @@ def from_doc(building) # Object for /HPXML/Building/BuildingDetails/Systems/MechanicalVentilation/VentilationFans/VentilationFan. class VentilationFan < BaseElement - ATTRS = [:id, # [String] SystemIdentifier/@id - :count, # [Integer] Count - :fan_type, # [String] FanType (HPXML::MechVentTypeXXX) - :cfis_has_outdoor_air_control, # [Boolean] CFISControls/HasOutdoorAirControl - :cfis_addtl_runtime_operating_mode, # [String] CFISControls/AdditionalRuntimeOperatingMode (HPXML::CFISModeXXX) - :cfis_supplemental_fan_idref, # [String] CFISControls/SupplementalFan/@idref - :rated_flow_rate, # [Double] RatedFlowRate (cfm) - :calculated_flow_rate, # [Double] CalculatedFlowRate (cfm) - :tested_flow_rate, # [Double] TestedFlowRate (cfm) - :hours_in_operation, # [Double] HoursInOperation (hrs/day) - :delivered_ventilation, # [Double] DeliveredVentilation (cfm) - :fan_location, # [String] FanLocation (HPXML::LocationXXX) - :used_for_local_ventilation, # [Boolean] UsedForLocalVentilation - :used_for_whole_building_ventilation, # [Boolean] UsedForWholeBuildingVentilation - :used_for_seasonal_cooling_load_reduction, # [Boolean] UsedForSeasonalCoolingLoadReduction - :used_for_garage_ventilation, # [Boolean] UsedForGarageVentilation - :is_shared_system, # [Boolean] IsSharedSystem - :fraction_recirculation, # [Double] FractionRecirculation (frac) - :total_recovery_efficiency, # [Double] TotalRecoveryEfficiency (frac) - :sensible_recovery_efficiency, # [Double] SensibleRecoveryEfficiency (frac) - :total_recovery_efficiency_adjusted, # [Double] AdjustedTotalRecoveryEfficiency (frac) - :sensible_recovery_efficiency_adjusted, # [Double] AdjustedSensibleRecoveryEfficiency (frac) - :fan_power, # [Double] FanPower (W) - :distribution_system_idref, # [String] AttachedToHVACDistributionSystem/@idref - :start_hour, # [Integer] extension/StartHour - :in_unit_flow_rate, # [Double] extension/InUnitFlowRate (cfm) - :preheating_fuel, # [String] extension/PreHeating/Fuel (HPXML::FuelTypeXXX) - :preheating_efficiency_cop, # [Double] extension/PreHeating/AnnualHeatingEfficiency[Units="COP"]/Value (W/W) - :preheating_fraction_load_served, # [Double] extension/PreHeating/FractionVentilationHeatLoadServed (frac) - :precooling_fuel, # [String] extension/PreCooling/Fuel (HPXML::FuelTypeXXX) - :precooling_efficiency_cop, # [Double] extension/PreCooling/AnnualCoolingEfficiency[Units="COP"]/Value (W/W) - :precooling_fraction_load_served, # [Double] extension/PreCooling/FractionVentilationCoolLoadServed (frac) - :flow_rate_not_tested, # [Boolean] extension/FlowRateNotTested - :fan_power_defaulted, # [Boolean] extension/FanPowerDefaulted - :cfis_vent_mode_airflow_fraction] # [Double] extension/VentilationOnlyModeAirflowFraction (frac) + ATTRS = [:id, # [String] SystemIdentifier/@id + :count, # [Integer] Count + :fan_type, # [String] FanType (HPXML::MechVentTypeXXX) + :cfis_has_outdoor_air_control, # [Boolean] CFISControls/HasOutdoorAirControl + :cfis_addtl_runtime_operating_mode, # [String] CFISControls/AdditionalRuntimeOperatingMode (HPXML::CFISModeXXX) + :cfis_supplemental_fan_idref, # [String] CFISControls/SupplementalFan/@idref + :cfis_supplemental_fan_runs_with_air_handler_fan, # [Boolean] CFISControls/extension/SupplementalFanRunsWithAirHandlerFan + :rated_flow_rate, # [Double] RatedFlowRate (cfm) + :calculated_flow_rate, # [Double] CalculatedFlowRate (cfm) + :tested_flow_rate, # [Double] TestedFlowRate (cfm) + :hours_in_operation, # [Double] HoursInOperation (hrs/day) + :delivered_ventilation, # [Double] DeliveredVentilation (cfm) + :fan_location, # [String] FanLocation (HPXML::LocationXXX) + :used_for_local_ventilation, # [Boolean] UsedForLocalVentilation + :used_for_whole_building_ventilation, # [Boolean] UsedForWholeBuildingVentilation + :used_for_seasonal_cooling_load_reduction, # [Boolean] UsedForSeasonalCoolingLoadReduction + :used_for_garage_ventilation, # [Boolean] UsedForGarageVentilation + :is_shared_system, # [Boolean] IsSharedSystem + :fraction_recirculation, # [Double] FractionRecirculation (frac) + :total_recovery_efficiency, # [Double] TotalRecoveryEfficiency (frac) + :sensible_recovery_efficiency, # [Double] SensibleRecoveryEfficiency (frac) + :total_recovery_efficiency_adjusted, # [Double] AdjustedTotalRecoveryEfficiency (frac) + :sensible_recovery_efficiency_adjusted, # [Double] AdjustedSensibleRecoveryEfficiency (frac) + :fan_power, # [Double] FanPower (W) + :distribution_system_idref, # [String] AttachedToHVACDistributionSystem/@idref + :start_hour, # [Integer] extension/StartHour + :in_unit_flow_rate, # [Double] extension/InUnitFlowRate (cfm) + :preheating_fuel, # [String] extension/PreHeating/Fuel (HPXML::FuelTypeXXX) + :preheating_efficiency_cop, # [Double] extension/PreHeating/AnnualHeatingEfficiency[Units="COP"]/Value (W/W) + :preheating_fraction_load_served, # [Double] extension/PreHeating/FractionVentilationHeatLoadServed (frac) + :precooling_fuel, # [String] extension/PreCooling/Fuel (HPXML::FuelTypeXXX) + :precooling_efficiency_cop, # [Double] extension/PreCooling/AnnualCoolingEfficiency[Units="COP"]/Value (W/W) + :precooling_fraction_load_served, # [Double] extension/PreCooling/FractionVentilationCoolLoadServed (frac) + :flow_rate_not_tested, # [Boolean] extension/FlowRateNotTested + :fan_power_defaulted, # [Boolean] extension/FanPowerDefaulted + :cfis_vent_mode_airflow_fraction] # [Double] extension/VentilationOnlyModeAirflowFraction (frac) attr_accessor(*ATTRS) # Returns the HVAC distribution system for the ventilation fan. @@ -8244,7 +8245,7 @@ def to_doc(building) XMLHelper.add_attribute(sys_id, 'id', @id) XMLHelper.add_element(ventilation_fan, 'Count', @count, :integer, @count_isdefaulted) unless @count.nil? XMLHelper.add_element(ventilation_fan, 'FanType', @fan_type, :string) unless @fan_type.nil? - if (not @cfis_addtl_runtime_operating_mode.nil?) || (not @cfis_supplemental_fan_idref.nil?) || (not @cfis_has_outdoor_air_control.nil?) + if (not @cfis_addtl_runtime_operating_mode.nil?) || (not @cfis_supplemental_fan_idref.nil?) || (not @cfis_has_outdoor_air_control.nil?) || (not @cfis_supplemental_fan_runs_with_air_handler_fan.nil?) cfis_controls = XMLHelper.add_element(ventilation_fan, 'CFISControls') XMLHelper.add_element(cfis_controls, 'HasOutdoorAirControl', @cfis_has_outdoor_air_control, :boolean, @cfis_has_outdoor_air_control_isdefaulted) unless @cfis_has_outdoor_air_control.nil? XMLHelper.add_element(cfis_controls, 'AdditionalRuntimeOperatingMode', @cfis_addtl_runtime_operating_mode, :string, @cfis_addtl_runtime_operating_mode_isdefaulted) unless @cfis_addtl_runtime_operating_mode.nil? @@ -8252,6 +8253,7 @@ def to_doc(building) supplemental_fan = XMLHelper.add_element(cfis_controls, 'SupplementalFan') XMLHelper.add_attribute(supplemental_fan, 'idref', @cfis_supplemental_fan_idref) end + XMLHelper.add_extension(cfis_controls, 'SupplementalFanRunsWithAirHandlerFan', @cfis_supplemental_fan_runs_with_air_handler_fan, :boolean, @cfis_supplemental_fan_runs_with_air_handler_fan_isdefaulted) unless @cfis_supplemental_fan_runs_with_air_handler_fan.nil? end XMLHelper.add_element(ventilation_fan, 'RatedFlowRate', @rated_flow_rate, :float, @rated_flow_rate_isdefaulted) unless @rated_flow_rate.nil? XMLHelper.add_element(ventilation_fan, 'CalculatedFlowRate', @calculated_flow_rate, :float, @calculated_flow_rate_isdefaulted) unless @calculated_flow_rate.nil? @@ -8310,6 +8312,7 @@ def from_doc(ventilation_fan) @cfis_has_outdoor_air_control = XMLHelper.get_value(ventilation_fan, 'CFISControls/HasOutdoorAirControl', :boolean) @cfis_addtl_runtime_operating_mode = XMLHelper.get_value(ventilation_fan, 'CFISControls/AdditionalRuntimeOperatingMode', :string) @cfis_supplemental_fan_idref = HPXML::get_idref(XMLHelper.get_element(ventilation_fan, 'CFISControls/SupplementalFan')) + @cfis_supplemental_fan_runs_with_air_handler_fan = XMLHelper.get_value(ventilation_fan, 'CFISControls/extension/SupplementalFanRunsWithAirHandlerFan', :boolean) @rated_flow_rate = XMLHelper.get_value(ventilation_fan, 'RatedFlowRate', :float) @calculated_flow_rate = XMLHelper.get_value(ventilation_fan, 'CalculatedFlowRate', :float) @tested_flow_rate = XMLHelper.get_value(ventilation_fan, 'TestedFlowRate', :float) diff --git a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml index 8f592c8c44..df22728743 100644 --- a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml +++ b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml @@ -2039,6 +2039,7 @@ [CFISAdditionalRuntimeMode=AirHandlerFan] Expected 0 element(s) for xpath: CFISControls/SupplementalFan + Expected 0 element(s) for xpath: CFISControls/extension/SupplementalFanRunsWithAirHandlerFan Expected 0 or 1 element(s) for xpath: FanPower Expected 0 or 1 element(s) for xpath: extension/VentilationOnlyModeAirflowFraction Expected extension/VentilationOnlyModeAirflowFraction to be greater than or equal to 0 @@ -2050,6 +2051,7 @@ [CFISAdditionalRuntimeMode=SupplementalFan] Expected 1 element(s) for xpath: CFISControls/SupplementalFan + Expected 0 or 1 element(s) for xpath: CFISControls/extension/SupplementalFanRunsWithAirHandlerFan Expected 0 element(s) for xpath: FanPower Expected 0 element(s) for xpath: extension/VentilationOnlyModeAirflowFraction @@ -2059,6 +2061,7 @@ [CFISAdditionalRuntimeMode=None] Expected 0 element(s) for xpath: CFISControls/SupplementalFan + Expected 0 element(s) for xpath: CFISControls/extension/SupplementalFanRunsWithAirHandlerFan Expected 0 element(s) for xpath: FanPower Expected 0 element(s) for xpath: extension/VentilationOnlyModeAirflowFraction diff --git a/HPXMLtoOpenStudio/tests/test_defaults.rb b/HPXMLtoOpenStudio/tests/test_defaults.rb index e1a38bd9d7..e8fcf4d0d4 100644 --- a/HPXMLtoOpenStudio/tests/test_defaults.rb +++ b/HPXMLtoOpenStudio/tests/test_defaults.rb @@ -3039,14 +3039,27 @@ def test_mech_ventilation_fans vent_fan = hpxml_bldg.ventilation_fans.find { |f| f.used_for_whole_building_ventilation && f.fan_type == HPXML::MechVentTypeCFIS } vent_fan.hours_in_operation = 12.0 vent_fan.rated_flow_rate = 222.0 + vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan = true suppl_vent_fan = vent_fan.cfis_supplemental_fan suppl_vent_fan.tested_flow_rate = 79.0 suppl_vent_fan.fan_power = 9.0 XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) _default_hpxml, default_hpxml_bldg = _test_measure() - _test_default_mech_vent_values(default_hpxml_bldg, false, 12.0, nil, 222.0, nil, HPXML::CFISModeSupplementalFan, true) + _test_default_mech_vent_values(default_hpxml_bldg, false, 12.0, nil, 222.0, nil, HPXML::CFISModeSupplementalFan, true, true) _test_default_mech_vent_suppl_values(default_hpxml_bldg, false, nil, 9.0, 79.0) + # Test defaults w/ CFIS & supplemental fan + vent_fan.is_shared_system = nil + vent_fan.hours_in_operation = nil + vent_fan.fan_power = nil + vent_fan.rated_flow_rate = nil + vent_fan.cfis_vent_mode_airflow_fraction = nil + vent_fan.cfis_has_outdoor_air_control = nil + vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan = nil + XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) + _default_hpxml, default_hpxml_bldg = _test_measure() + _test_default_mech_vent_values(default_hpxml_bldg, false, 8.0, nil, 305.4, nil, HPXML::CFISModeSupplementalFan, true, false) + # Test defaults w/ CFIS supplemental fan suppl_vent_fan.tested_flow_rate = nil suppl_vent_fan.is_shared_system = nil @@ -5437,7 +5450,7 @@ def _test_default_hydronic_distribution_values(hpxml_bldg, manualj_hot_water_pip def _test_default_mech_vent_values(hpxml_bldg, is_shared_system, hours_in_operation, fan_power, flow_rate, cfis_vent_mode_airflow_fraction = nil, cfis_addtl_runtime_operating_mode = nil, - cfis_has_outdoor_air_control = nil) + cfis_has_outdoor_air_control = nil, cfis_suppl_fan_runs_with_air_handler = nil) vent_fan = hpxml_bldg.ventilation_fans.find { |f| f.used_for_whole_building_ventilation && !f.is_cfis_supplemental_fan } assert_equal(is_shared_system, vent_fan.is_shared_system) @@ -5463,6 +5476,11 @@ def _test_default_mech_vent_values(hpxml_bldg, is_shared_system, hours_in_operat else assert_equal(cfis_has_outdoor_air_control, vent_fan.cfis_has_outdoor_air_control) end + if cfis_suppl_fan_runs_with_air_handler.nil? + assert_nil(vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan) + else + assert_equal(cfis_suppl_fan_runs_with_air_handler, vent_fan.cfis_supplemental_fan_runs_with_air_handler_fan) + end end def _test_default_mech_vent_suppl_values(hpxml_bldg, is_shared_system, hours_in_operation, fan_power, flow_rate) diff --git a/docs/source/workflow_inputs.rst b/docs/source/workflow_inputs.rst index fcdad049de..722ea85d65 100644 --- a/docs/source/workflow_inputs.rst +++ b/docs/source/workflow_inputs.rst @@ -3780,6 +3780,7 @@ A CFIS system is a supply ventilation system that provides outdoor air to the re ``CFISControls/HasOutdoorAirControl`` boolean No true Presence of controls to block outdoor air when not ventilating [#]_ ``CFISControls/AdditionalRuntimeOperatingMode`` string See [#]_ No air handler fan How additional ventilation is provided (beyond HVAC system operation) ``CFISControls/SupplementalFan`` idref See [#]_ See [#]_ The supplemental fan providing additional ventilation + ``CFISControls/extension/SupplementalFanRunsWithAirHandlerFan`` boolean No [#]_ false Whether the supplemental fan also runs with the air handler fan [#]_ ``RatedFlowRate`` or ``TestedFlowRate`` or ``CalculatedFlowRate`` or ``DeliveredVentilation`` double cfm >= 0 No See [#]_ Flow rate [#]_ ``HoursInOperation`` double hrs/day >= 0, <= 24 false 8 Hours per day of operation [#]_ ``UsedForWholeBuildingVentilation`` boolean true Yes Ventilation fan use case [#]_ @@ -3792,6 +3793,9 @@ A CFIS system is a supply ventilation system that provides outdoor air to the re .. [#] AdditionalRuntimeOperatingMode choices are "air handler fan", "supplemental fan", or "none". .. [#] SupplementalFan must reference another ``VentilationFan`` where UsedForWholeBuildingVentilation=true, IsSharedSystem=false, and FanType="exhaust only" or "supply only". .. [#] SupplementalFan only required if AdditionalRuntimeOperatingMode is "supplemental fan". + .. [#] SupplementalFanRunsWithAirHandlerFan only applies when AdditionalRuntimeOperatingMode="supplemental fan". + .. [#] If SupplementalFanRunsWithAirHandlerFan is true, in addition to its normal operation, the supplemental fan will also run simultaneously with the air handler fan when outdoor air is being brought in. + This is typically used with a supplemental exhaust fan to provide "balanced" (supply + exhaust) airflow. .. [#] If flow rate not provided, defaults to the required mechanical ventilation rate per `ANSI/RESNET/ICC 301-2022 `_: Qfan = required mechanical ventilation rate (cfm) = ((Qtot^2 – 4*Qinf_eff^2 + 2*Qinf_eff*Qtot + Qinf_eff^2)^0.5 + Qtot - Qinf_eff) / 2 diff --git a/tasks.rb b/tasks.rb index 9a3fd0d023..dfa5ba2190 100644 --- a/tasks.rb +++ b/tasks.rb @@ -2280,18 +2280,22 @@ def apply_hpxml_modification_sample_files(hpxml_path, hpxml) elsif ['base-mechvent-cfis-no-outdoor-air-control.xml'].include? hpxml_file hpxml_bldg.ventilation_fans[0].cfis_has_outdoor_air_control = false elsif ['base-mechvent-cfis-supplemental-fan-exhaust.xml', - 'base-mechvent-cfis-supplemental-fan-supply.xml'].include? hpxml_file + 'base-mechvent-cfis-supplemental-fan-supply.xml', + 'base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml'].include? hpxml_file hpxml_bldg.ventilation_fans.add(id: "VentilationFan#{hpxml_bldg.ventilation_fans.size + 1}", tested_flow_rate: 120, fan_power: 30, used_for_whole_building_ventilation: true) - if hpxml_file == 'base-mechvent-cfis-supplemental-fan-exhaust.xml' + if hpxml_file.include? 'exhaust' hpxml_bldg.ventilation_fans[-1].fan_type = HPXML::MechVentTypeExhaust - else + elsif hpxml_file.include? 'supply' hpxml_bldg.ventilation_fans[-1].fan_type = HPXML::MechVentTypeSupply end hpxml_bldg.ventilation_fans[0].cfis_addtl_runtime_operating_mode = HPXML::CFISModeSupplementalFan hpxml_bldg.ventilation_fans[0].cfis_supplemental_fan_idref = hpxml_bldg.ventilation_fans[1].id + if hpxml_file == 'base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml' + hpxml_bldg.ventilation_fans[0].cfis_supplemental_fan_runs_with_air_handler_fan = true + end end # ---------------- # diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json index f12654cfc0..3ed9121fbc 100644 --- a/workflow/hpxml_inputs.json +++ b/workflow/hpxml_inputs.json @@ -3215,6 +3215,9 @@ "parent_hpxml": "sample_files/base-mechvent-cfis.xml", "mech_vent_fan_power": null }, + "sample_files/base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml": { + "parent_hpxml": "sample_files/base-mechvent-cfis-supplemental-fan-exhaust.xml" + }, "sample_files/base-mechvent-cfis-supplemental-fan-supply.xml": { "parent_hpxml": "sample_files/base-mechvent-cfis.xml", "mech_vent_fan_power": null diff --git a/workflow/sample_files/base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml b/workflow/sample_files/base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml new file mode 100644 index 0000000000..50a3ddeae7 --- /dev/null +++ b/workflow/sample_files/base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml @@ -0,0 +1,577 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + + + + natural gas + 36000.0 + + AFUE + 0.92 + + 1.0 + + + + + central air conditioner + electricity + 24000.0 + single stage + 1.0 + + SEER + 13.0 + + 0.73 + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + + central fan integrated supply + + supplemental fan + + + true + + + 330.0 + 8.0 + true + + + + + exhaust only + 120.0 + true + 30.0 + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/tests/base_results/results_simulations_bills.csv b/workflow/tests/base_results/results_simulations_bills.csv index 31c586f6ed..95a14683c4 100644 --- a/workflow/tests/base_results/results_simulations_bills.csv +++ b/workflow/tests/base_results/results_simulations_bills.csv @@ -364,6 +364,7 @@ base-mechvent-cfis-dse.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0 base-mechvent-cfis-evap-cooler-only-ducted.xml,1366.37,144.0,1222.37,0.0,1366.37,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-no-additional-runtime.xml,1928.74,144.0,1312.33,0.0,1456.33,144.0,328.41,472.41,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-no-outdoor-air-control.xml,2106.53,144.0,1377.18,0.0,1521.18,144.0,441.35,585.35,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml,2006.02,144.0,1326.37,0.0,1470.37,144.0,391.65,535.65,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-supplemental-fan-exhaust.xml,1985.8,144.0,1320.96,0.0,1464.96,144.0,376.84,520.84,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-supplemental-fan-supply.xml,2002.27,144.0,1322.53,0.0,1466.53,144.0,391.74,535.74,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis.xml,2051.18,144.0,1367.98,0.0,1511.98,144.0,395.2,539.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/workflow/tests/base_results/results_simulations_energy.csv b/workflow/tests/base_results/results_simulations_energy.csv index 294f10f282..8b9b020e31 100644 --- a/workflow/tests/base_results/results_simulations_energy.csv +++ b/workflow/tests/base_results/results_simulations_energy.csv @@ -364,6 +364,7 @@ base-mechvent-cfis-dse.xml,74.313,74.313,38.621,38.621,35.692,0.0,0.0,0.0,0.0,0. base-mechvent-cfis-evap-cooler-only-ducted.xml,33.582,33.582,33.582,33.582,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.837,9.084,0.0,0.0,4.507,0.0,0.334,2.771,0.0,0.0,0.0,1.824,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-no-additional-runtime.xml,67.426,67.426,36.054,36.054,31.372,0.0,0.0,0.0,0.0,0.0,0.0,0.778,0.0,0.0,4.455,0.669,9.014,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,31.372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-no-outdoor-air-control.xml,79.997,79.997,37.835,37.835,42.161,0.0,0.0,0.0,0.0,0.0,0.0,1.046,0.0,0.0,4.345,0.642,9.018,0.0,0.0,4.507,0.0,0.334,1.661,0.0,0.0,0.0,2.057,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,42.161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml,73.853,73.853,36.439,36.439,37.414,0.0,0.0,0.0,0.0,0.0,0.0,0.928,0.0,0.0,4.166,0.611,9.019,0.0,0.0,4.507,0.0,0.334,0.595,0.0,0.0,0.0,2.055,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,37.414,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-supplemental-fan-exhaust.xml,72.29,72.29,36.291,36.291,35.999,0.0,0.0,0.0,0.0,0.0,0.0,0.893,0.0,0.0,4.174,0.613,9.019,0.0,0.0,4.507,0.0,0.334,0.471,0.0,0.0,0.0,2.055,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,35.999,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis-supplemental-fan-supply.xml,73.756,73.756,36.334,36.334,37.423,0.0,0.0,0.0,0.0,0.0,0.0,0.928,0.0,0.0,4.188,0.615,9.018,0.0,0.0,4.507,0.0,0.334,0.461,0.0,0.0,0.0,2.057,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,37.423,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-mechvent-cfis.xml,75.336,75.336,37.582,37.582,37.753,0.0,0.0,0.0,0.0,0.0,0.0,0.937,0.0,0.0,4.219,0.62,9.018,0.0,0.0,4.507,0.0,0.334,1.665,0.0,0.0,0.0,2.057,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,37.753,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/workflow/tests/base_results/results_simulations_hvac.csv b/workflow/tests/base_results/results_simulations_hvac.csv index 3c3ada84e9..6b094ba7c0 100644 --- a/workflow/tests/base_results/results_simulations_hvac.csv +++ b/workflow/tests/base_results/results_simulations_hvac.csv @@ -364,6 +364,7 @@ base-mechvent-cfis-dse.xml,6.8,91.76,36000.0,24000.0,0.0,25282.0,0.0,7508.0,0.0, base-mechvent-cfis-evap-cooler-only-ducted.xml,6.8,91.76,0.0,24000.0,0.0,25282.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,17555.0,2561.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 base-mechvent-cfis-no-additional-runtime.xml,6.8,91.76,36000.0,24000.0,0.0,33814.0,8531.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,21135.0,6140.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 base-mechvent-cfis-no-outdoor-air-control.xml,6.8,91.76,36000.0,24000.0,0.0,33814.0,8531.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,21135.0,6140.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 +base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml,6.8,91.76,36000.0,24000.0,0.0,33814.0,8531.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,21135.0,6140.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 base-mechvent-cfis-supplemental-fan-exhaust.xml,6.8,91.76,36000.0,24000.0,0.0,33814.0,8531.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,21135.0,6140.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 base-mechvent-cfis-supplemental-fan-supply.xml,6.8,91.76,36000.0,24000.0,0.0,33814.0,8531.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,21135.0,6140.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 base-mechvent-cfis.xml,6.8,91.76,36000.0,24000.0,0.0,33814.0,8531.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,0.0,6372.0,0.0,21135.0,6140.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,0.0,1690.0,3320.0,0.0,0.0,-995.0,0.0,0.0,-1795.0,800.0 diff --git a/workflow/tests/base_results/results_simulations_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv index ca5e0cc750..ca64888e55 100644 --- a/workflow/tests/base_results/results_simulations_loads.csv +++ b/workflow/tests/base_results/results_simulations_loads.csv @@ -364,6 +364,7 @@ base-mechvent-cfis-dse.xml,26.959,0.0,10.124,9.071,0.619,0.0,0.0,0.0,4.221,3.977 base-mechvent-cfis-evap-cooler-only-ducted.xml,0.0,0.0,10.579,9.071,0.69,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.389,0.053,0.019,2.824,0.09,0.196,9.632,0.0,0.0,0.0,-6.055,-0.263,-0.14,-3.152,-1.452,0.0,0.66,6.271,1.619 base-mechvent-cfis-no-additional-runtime.xml,29.643,0.0,13.898,9.071,0.615,0.0,0.0,0.0,3.742,3.883,0.545,7.571,0.682,10.761,-13.574,0.0,0.0,0.0,8.367,-0.116,2.979,0.0,8.67,0.0,6.913,-8.475,-2.662,0.0,0.025,-0.187,-0.014,2.828,0.035,-0.631,10.839,0.0,0.0,0.0,-6.136,-0.112,-0.815,-3.874,-0.103,0.0,3.21,7.106,1.845 base-mechvent-cfis-no-outdoor-air-control.xml,39.835,0.0,13.324,9.071,0.62,0.0,0.0,0.0,3.733,3.996,0.561,7.365,0.703,11.202,-14.382,0.0,0.0,0.0,8.178,-0.265,1.538,0.0,18.718,0.0,10.039,-9.041,-2.826,0.0,0.291,0.02,0.015,2.91,0.08,0.105,10.031,0.0,0.0,0.0,-5.926,-0.261,-0.154,-3.258,-1.454,0.0,2.826,6.53,1.681 +base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml,35.354,0.0,12.647,9.071,0.62,0.0,0.0,0.0,3.813,3.994,0.56,7.388,0.7,11.183,-14.518,0.0,0.0,0.0,8.31,-0.217,2.992,0.0,14.725,0.0,8.074,-9.123,-2.852,0.0,0.267,0.032,0.016,2.977,0.081,0.13,9.895,0.0,0.0,0.0,-5.742,-0.214,-0.157,-3.187,-2.5,0.0,3.027,6.446,1.655 base-mechvent-cfis-supplemental-fan-exhaust.xml,34.018,0.0,12.692,9.071,0.62,0.0,0.0,0.0,3.826,3.994,0.56,7.388,0.7,11.183,-14.518,0.0,0.0,0.0,8.309,-0.217,2.58,0.0,14.066,0.0,7.796,-9.123,-2.852,0.0,0.267,0.032,0.016,2.977,0.081,0.13,9.895,0.0,0.0,0.0,-5.743,-0.214,-0.17,-3.19,-2.437,0.0,3.027,6.446,1.655 base-mechvent-cfis-supplemental-fan-supply.xml,35.363,0.0,12.728,9.071,0.62,0.0,0.0,0.0,3.805,3.988,0.56,7.403,0.702,11.181,-14.404,0.0,0.0,0.0,8.289,-0.227,1.759,0.0,15.823,0.0,8.069,-9.066,-2.834,0.0,0.248,0.014,0.014,2.956,0.079,0.091,10.009,0.0,0.0,0.0,-5.811,-0.223,-0.138,-3.248,-2.393,0.0,3.046,6.504,1.673 base-mechvent-cfis.xml,35.676,0.0,12.838,9.071,0.619,0.0,0.0,0.0,3.77,3.998,0.561,7.37,0.704,11.207,-14.382,0.0,0.0,0.0,8.185,-0.265,1.755,0.0,15.196,0.0,9.133,-9.041,-2.826,0.0,0.296,0.02,0.015,2.911,0.08,0.105,10.031,0.0,0.0,0.0,-5.925,-0.261,-0.145,-3.258,-1.83,0.0,2.701,6.53,1.681 diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv index 3f3e3f4ef5..69c01a2007 100644 --- a/workflow/tests/base_results/results_simulations_misc.csv +++ b/workflow/tests/base_results/results_simulations_misc.csv @@ -364,6 +364,7 @@ base-mechvent-cfis-dse.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,2085.1,2926.2,292 base-mechvent-cfis-evap-cooler-only-ducted.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2018.6,2306.5,2306.5,0.0,16.216,0.0 base-mechvent-cfis-no-additional-runtime.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2135.2,4049.8,4049.8,29.918,20.857,0.0 base-mechvent-cfis-no-outdoor-air-control.xml,49.0,5.0,1354.7,998.0,11171.5,2563.5,2230.6,3773.0,3773.0,37.835,21.601,0.0 +base-mechvent-cfis-supplemental-fan-exhaust-synchronized.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,2150.8,3723.0,3723.0,30.62,20.864,0.0 base-mechvent-cfis-supplemental-fan-exhaust.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,2135.7,3696.2,3696.2,29.918,20.705,0.0 base-mechvent-cfis-supplemental-fan-supply.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,2135.6,3697.7,3697.7,29.918,20.72,0.0 base-mechvent-cfis.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,2127.6,3727.2,3727.2,29.917,20.735,0.0