Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heat pump controls #1547

Closed
wants to merge 41 commits into from
Closed

Heat pump controls #1547

wants to merge 41 commits into from

Conversation

joseph-robertson
Copy link
Collaborator

@joseph-robertson joseph-robertson commented Nov 9, 2023

Pull Request Description

Closes #1530. Closes #1556.

Adds optional arguments to BuildResidentialHPXML:

  • hvac_distribution_fan_watts_per_cfm
  • hvac_distribution_adjust_blower_fan_efficiency
  • hvac_distribution_heating_airflow_cfm
  • hvac_distribution_cooling_airflow_cfm
  • hvac_distribution_use_maximum_airflow_rates

Serves two purposes:

  • to make an adjustment to the blower fan W/cfm efficiency value
  • to define maximum allowed airflow rates for HVAC sizing control

Questions:

  • should we only allow both to be true? meaning, if switching max allowed airflow rate to true, then automatically do the blower fan efficiency? then we'd just need one input that does both.
  • need to make sure that if we don't flag using maximum airflow rates, then the specified rates actually override the design rates? sounds like yes. might seem weird to ignore the specified airflow rates and instead use design rates.
  • change boolean flag to LimitMaximumAirflowRates? introduce "ducts" in the name? ExistingDuctworkRestriction?
  • we should throw error if flag is true but airflow rates not provided.

image

image
image

Checklist

PR Author: Check these when they're done. Not all may apply. strikethrough and check any that do not apply.

PR Reviewer: Verify each has been completed.

  • Schematron validator (EPvalidator.xml) has been updated
  • Sample files have been added/updated (openstudio tasks.rb update_hpxmls)
  • Tests have been added/updated (e.g., HPXMLtoOpenStudio/tests/test*.rb and/or workflow/tests/test*.rb)
  • Documentation has been updated
  • Changelog has been updated
  • openstudio tasks.rb update_measures has been run
  • No unexpected changes to simulation results of sample files

@joseph-robertson joseph-robertson added the enhancement New feature or request label Nov 9, 2023
@joseph-robertson joseph-robertson self-assigned this Nov 9, 2023
@joseph-robertson joseph-robertson linked an issue Nov 20, 2023 that may be closed by this pull request
apply_hvac_equipment_adjustments(hvac_sizing_values, weather, hvac_heating, hvac_cooling, hvac_system)
apply_hvac_installation_quality(hvac_sizing_values, hvac_heating, hvac_cooling)
apply_hvac_equipment_adjustments(hvac_sizing_values, weather, hvac_heating, hvac_cooling, hvac_system) # FIXME: this is hvac_sizing_values.Heat_Airflow = xxx, etc.
apply_hvac_installation_quality(hvac_sizing_values, hvac_heating, hvac_cooling) # FIXME: airflow cfm override should occur after this?
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need help/guidance on where to implement the airflow cfm override.

@jonwinkler @yzhou601

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need help/guidance on where to implement the airflow cfm override.

@jonwinkler @yzhou601

Just confirm, you're talking about the maximum allowed airflow rate, right? If so, I think the answer depends on if a fixed capacity input should take priority over the max airflow input. Meaning, what if the fixed capacity input results in an airflow greater than the maximum allowed, should the fixed capacity be reduced? Or should the maximum allowed airflow rate be ignored?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'm talking about the maximum allowed airflow rate.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. Any thoughts on whether the max airflow rate or fixed capacity should take priority?

Copy link
Collaborator Author

@joseph-robertson joseph-robertson Nov 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a good question. Seems like the fixed capacity input should be used when provided. (Otherwise if the resulting airflow is greater than the maximum allowed, we'd need to find/calculate the fixed capacity such that the airflow rate equals the maximum allowed?)

I suppose this means the maximum allowed airflow rate, when also provided, should be either ignored or should throw an error. Probably OK to ignore it. This means that the maximum allowed airflow rate is only used when defaulting the capacity to an autosized value?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good points. I agree. Maybe we name it maximum_autosized_airflow to make it clear how it's used.

I'll take another look at hvac_sizing.rb to see where this fits.

Copy link
Collaborator Author

@joseph-robertson joseph-robertson Nov 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, that said, it does look like autosized airflow rates get adjusted (proportionally) when fixed capacity is provided. So perhaps this is somewhat analogous (e.g., apply_hvac_maximum_airflows) to that? Meaning, we could (proportionally) adjust fixed capacity for a "fixed" (i.e., potentially adjusted) airflow rate?

Maybe that would mean this fits directly following the apply_hvac_fixed_capacities method? Or do we need to first adjust airflow rates for defect ratios in apply_hvac_finalize_airflows?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the maximum airflow rate should be applied in a very similar way that fixed capacities are handled. I think the new apply_hvac_maximum_airflows should be called immediately prior to apply_hvac_fixed_capacities. This will ensure the entered fixed capacity (if provided) will take priority. However, I wonder if the airflow degradation factor for the installation quality inputs (used in apply_hvac_finalize_airflows) need to be considered before adjusting for the maximum allowed airflow.

@joseph-robertson joseph-robertson changed the base branch from watts-per-cfm-args to master November 30, 2023 15:10
@joseph-robertson joseph-robertson changed the title BuildResidentialHPXML: expose airflow rates Heat pump controls Nov 30, 2023
@joseph-robertson joseph-robertson mentioned this pull request Jan 4, 2024
7 tasks
@joseph-robertson
Copy link
Collaborator Author

Superseded by #1584.

@joseph-robertson joseph-robertson deleted the max-airflow-args branch January 18, 2024 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Sizing control option to specify max allowed airflow Expose blower W/cfm
2 participants