-
Notifications
You must be signed in to change notification settings - Fork 389
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
Enhancement for Heat Exchanger for Variable-Speed Heat Recovery Ventilation #10277
Conversation
@@ -0,0 +1,278 @@ | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no problem with increasing the accuracy of the HX model. The manufacturers contacted during this model's development said that the HX should not be operated outside the 50% - 130% air flow range, where the effectiveness is roughly linear. If there are curves available for better accuracy then that is a good thing. The curve above is shown for a 10C delta T. Does HX eff vary at other delta Ts or is air flow the driving factor? are there other delta T curves available? or equations of effectiveness that describe performance at other delta T? and/or detla w? where these curves could be created as bi-quadratic/bivariate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
John McHugh provided some more examples on the heat recovery curves.
The effectiveness curve from [this paper] (https://research.chalmers.se/publication/526453/file/526453_Fulltext.pdf) shows the following curve, where the effectiveness is a function of both air flow rate and liquid capacity flow ratio (the minimum capacity flow rate of all streams in a heat exchanger divided by the maximum). The airflow rate ranges from 0.3 to 1.5 m^3/2, where the lowest air flow rate is 20% of the highest. If the capacity flow ratio is fixed at some value, say 1.0, then the distances between the curves for different air flow rates are not even. This indicates the non-linear relationship between the airflow and the effectiveness. The air-flow-and-effectiveness relationship could be non-monotonic as well for certain values of capacity flow ratio.
This other product does show linear efficiency changes with air flow rate changes.
Let me investigate some more on the ranges of the heat exchanger air flow ratio and form of the curves.
I know it will cause some fairly complex transition rules, but this might be an opportunity to clean up this object and get rid of the overly-specific 100% and 75% flow inputs. With the curve inputs, a user could also put in a table with values at 100% and 75%. I understand that 100% and 75% come from AHRI ratings, but that AHRI has replaced the ratings with certified software. |
Improving this model is a good idea. As @rraustad indicates, could be useful here to allow either single-independent-variable curves or two-independent-variable curves. As a practical matter when used in an interface, I have had to customize the model a bit to decrease the severity of the flow imbalance error message and to not extrapolate effectiveness beyond the 75% and 100% flows.
|
@nealkruis have you used the HX certification software? or have access to it? It might be a good idea to review the inputs required for certification. E+ does cooling coil ratings now and maybe other objects could show standard ratings? |
I also debated whether to just replace the existing fields with the four table/curve objects. Curves are more flexible to use and it can stop the extrapolation if users don't want it to, like in @EnergyArchmage 's case. I'll bring it up in technicality and see what everybody thinks. |
@rraustad, each manufacturer develops their own software that is then certified by AHRI to generate ratings at a wider range of conditions. It appears that there is actually a mix of both approaches still used for certified products. Some use the certified software approach, while others use the individual rating point approach (see screenshot below). I believe the intention is to get away from individual rating points eventually. FWIW, ASHRAE SSPC 205 has an HRV working group that is proposing a schema for performance maps that can be generated from the manufacturers certified software and subsequently fed into simulation programs. |
Rather than eliminate the existing inputs, how about making them optional? If curves are input, then the fixed values would be ignored. |
Currently, the curves are optional fields at the end. Would the users rather have both the specific points and curves? Or would they be okay with using just the curves? How serious would the backward compatibility issue be? I guess to transition from older versions, there will need some effort to create curves from the 100% and 75% points. |
Sorry, my suggestion is exactly what you proposed in the NFP, as long as you add notes to the existing fields that they will be ignored (and may be left blank) if curves are input. It lets existing files produce the same results, and lets someone specify an HX without the need for curves. And it lets those who have curve data model that. And then there's no transition requirement. |
Sorry, I might have miscommunicated. I was just wondering which way is better for users (optional curve fields vs using the curve to replace fixed points). If it's much better to use curves to replace the fixed points, then it might be worth a transition. In that case, I can try to learn how to do that. |
@nealkruis, thinking about this more, I presume that AHRI has requirements for the inputs and outputs from that software that the manufacturer provides. What those requirements are should probably guide the input or curves. Do you know, are they simply sensible and latent effectiveness at different airflows? |
remove the fields for effectiveness at 75% airflow
\note if this field has value, then the latent effectiveness for cooling | ||
\note will be the value in N5 multiplied this curve value | ||
\type object-list | ||
\object-list UnivariateFunctions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Does there really need to be curves for cooling and heating? isn't it just effectiveness versus air flow? and 2) what happens when these curves are not used?, the effectiveness is constant? I don't recall the conference call discussion on this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The notes are updated in the newer commits. The curves are multipliers to the 100% airflow effectiveness value. The multiplier will be a function of airflow. If the curve is not there the value will be 0. There are four curves as sensible and latent effectiveness for both heating and cooling will need to be specified.
@JasonGlazer, I'm haven't looked at the AHRI standard yet, but we just had a call with the ASHRAE 205 heat recovery working group today. They are planning a multi-dimensional performance map that includes:
This list is still being revised, but my understanding is that this captures the range of inputs that the certified software can use to provide performance (sensible/latent effectiveness). For this NFP, it won't be possible to handle all these independent variables with the current curve forms. |
this is for testing the function of ExpandObject could be reverted before merging
Hi, @mjwitte I have updated the regression diff section in the PR description and added some description about the transition and expand object. Could you please take another look? Thanks. |
This PR did not have the IDDChange label attached, and I was ignoring it. I added that label now so it gets reviewed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yujiex The expandobjects changes all look correct. I ran the full testfiles suite as annual simulations with daily output and only got small diffs in csv and mtr, so that's good.
@Myoldmopar Handing this off to you for final review/merge.
Thanks @mjwitte. @Myoldmopar there are a bunch of new test idfs for examining the diffs due to the ExpandObject changes (this commit: add idfs to test ExpandObject. Please let me know if you want me to revert it. |
@yujiex We probably don't need to include those in the release package. We can either revert this or add "_" to the names so they stay and run in CI but don't get included in the package. |
🚩 If this is expected to make IO freeze (today), then the extraneous IDFs need to be cut out. @yujiex 🚩 |
🚨 @yujiex this will either get pushed until 24.2 or I may just go in and delete all the newly added test files. 🚨 |
|
Hi @Myoldmopar I just reverted the two commits with testing idfs. Sorry for the delay. |
Thanks @Myoldmopar =) |
I saw some odd results locally, and CI is showing diffs, so I pulled develop in and will get good results overnight. |
OK, the extraneous diffs from being behind develop appear gone and were back to what is described in the top comment above. I think I will merge this and that will (likely) do it for IO freeze. Anyone have comments speak up soon! 🕒 🕑 🕐 |
OK, calling it. Thanks @yujiex. If anything else pops up, we'll do it with a follow-up. Merging. |
Thanks @Myoldmopar |
Pull request overview
introduction
For lab buildings, the heating-cooling air flow rate could vary substantially depending on the occupancy, the type of experiment, and the operation protocol. Correctly capturing its HVAC energy consumption and heat recovery performance requires accurate information on heat exchangers' sensible and latent effectiveness at various flow conditions. However, in EnergyPlus, the heat exchanger object, HeatExchanger:AirToAir:SensibleAndLatent, describes the sensible and latent effectiveness at only two reference points (100% and 75% airflow) for either heating or cooling. This feature will add four new optional fields at the end of the HeatExchanger:AirToAir:SensibleAndLatent object. These new fields will specify four performance curves to more flexibly express the relationship between sensible and latent effectiveness at different relative airflow (the percentage of the actual airflow relative to the nominal supply airflow). Being able to characterize the efficiency at low-flow-rate conditions can allow more accurate modeling of the heat recovery system and justify the adoption of high-potential energy-saving strategies like using variable speed fans in the exhaust air heat recovery systems in laboratories.
NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE
Transition
The following folder contains the example files I tested for transition. They all run through successfully except for the "SingleFamilyHouse_HP_Slab.idf" and "SingleFamilyHouse_HP_Slab_Dehumidification.idf" which had some error about BuildingSurface:Detailed="FLOOR_UNIT1", invalid Outside Boundary. This seems to also be present in the develop branch?
testTransition.zip
ExpandObject
Two helper functions are implemented to add the heat exchanger effectiveness curves (Table:Lookup):
AddSenEffectCurve
andAddSenLatEffectCurve
. The former corresponds to the case where "Heat Recovery Type" is "Sensible" in the HVACTemplate objects and the latter corresponds to when it is "Enthalpy". The following excel file summarizes where the AddSenEffectCurve and AddSenLatEffectCurve functions are called. I have added some example files to test them. These files are also put on Github, in the commit "add idfs to test ExpandObject". Once we're sure the ExpandObject works, we can revert this commit.expandObjectTest.xlsx
Regression diffs
number of default fields
The following files have regression diffs in the number of "Fields with Defaults". This is due to the removal of four effectiveness fields for 75% airflow. These fields have defaults. The removal of them will cause the reduction in the number of fields with defaults.
For example, ASHRAE901_Hospital_STD2019_Denver has 3 HeatExchanger:AirToAir:SensibleAndLatent object, so it has 12 fewer default fields after the modification.
For the following files, the change in the number of default fields is reflected in table diffs
other differences in audit, eio, math, tbl, etc.
The following files have such regression diffs
The magnitude of the sensible/latent effectiveness difference
Most of them have very small differences in the sensible and latent effectiveness
Updated table for the set of idfs with heat exchanger sensible and latent effectiveness output
Updated table for the set of idfs without HX effectiveness output
example
Using the 5ZoneFanCoilDOASCool.idf as an example, according to the eplusout.csv.absdiff.csv (after adding Heat Exchanger Sensible Effectiveness and Heat Exchanger Latent Effectiveness output variables), there is a maximum of 4.86E-10 absolute difference (7.00E-10 and 7.55E-10 relative difference) in sensible and latent effectiveness.
The numeric differences in the eso, mtr, table, etc. are caused by switching from the old 2-reference-point method to the curve-multiply-100%-reference-point method when specifying the sensible and latent effectiveness. To justify this, I overwrote the new curve-based method with hard-coded effectiveness calculation using the old 2-reference-point method.
We can see that after this overwritten step, most of the regression diffs are gone.
The remaining table and audit diffs are due to the addition of new table:lookup objects and the change of the number of default fields.
audit diffs
These diffs are also related to the fields. The following example is from the 5ZoneFanCoilDOASCool.idf.
It's caused by the added two curves for the sensible and latent effectiveness (SenEffectivenessTable and LatEffectivenessTable)
some (e.g. ASHRAE901_ApartmentHighRise_STD2019_Denver) are related to the number of EMS actuators
This is related to the added table/curve due to the removal of the effectiveness reference points at 75% airflow
Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.