-
Notifications
You must be signed in to change notification settings - Fork 460
Correction of Fanger PMV to Align with ASHRAE Standard 55/ISO 7730 #11119
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
Conversation
Corrected some equations where ASHRAE Standard 55/ISO 7730 have changed since the original implementation of thermal comfort in E+. Also updated some of the unit tests to reflect the fact that the PMV and/or PPD has changed slightly as a result of the updated equations. Might see some diffs in results, but these should be fairly minor and limited to files that report Fanger results.
This commit includes a unit test to verify that the updated version of the Fanger PMV calculation is working properly. In addition, a statement was added to the Engineering Reference to clearly state that the method used to calculate clothing surface temperature matches the current version of ASHRAE Standard 55/ISO 7730.
|
|
Initial output results show that the only differences (over 50% of diff files checked) were in PMV except in the case of a file that uses Comfort Controls. In the one file that has comfort controls that was looked at, the differences are reasonable given that controls were impacted directly by the change in PMV. All in all, the differences seem reasonable in my opinion given the changes to the PMV calculation. |
| if (stdICL < 0.078) { | ||
| state.dataThermalComforts->CloBodyRat = 1.0 + 1.29 * stdICL; | ||
| } else { | ||
| state.dataThermalComforts->CloBodyRat = 1.05 + 0.645 * stdICL; |
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 previous method used an older standard? If so, would there be any reason to allow the user to choose either method?
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.
In the case of the CloBodyRat calculated here, I am not 100% sure where the "old" formulation came from since it's more of a change. I'm guessing since I implemented this module 20+ years ago that it was based on an older version of ASHRAE Standard 55. In the case of the other equation, it looks like there were typos in the formulation that got corrected in the standard. I personally don't think there is any value in keeping either old formulation. Users want to know that the calculation is in line with the current standard. If a researcher wants to make a comparison, I wouldn't even mess with E+. I'd program a separate little program to see what the impact was. In results that I saw, there wasn't a huge difference in PMV before and after the change. But again, this got flagged because a user saw that the code didn't match the current standard. So, I felt like the best way forward was to get this up to the standard and not worry about the past. Thoughts?
mjwitte
left a comment
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.
Ran DynamicClothing with debug build, no problems. Unit tests all succeed. A couple of quick cleanups then this will be ready to go.
| \label{eq:FangerQr} | ||
| \end{equation} | ||
|
|
||
| It should be noted that the calculation of the clothing surface temperature in the previous two equations is based on the current version of ASHRAE Standard 55/ISO 7730. The equations and iterative algorithm used by EnergyPlus to calculate the clothing surface temperature variables are equivalent to ASHRAE Standard 55/ISO 7730. |
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.
Please state specific years rather than "current".
ANSI/ASHRAE Standard 55-2020 and ISO 7730:2005 ?
https://www.ashrae.org/technical-resources/standards-and-guidelines/titles-purposes-and-scopes
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.
Fixed in the latest commit.
| // Compute the Corresponding Clothed Body Ratio | ||
| state.dataThermalComforts->CloBodyRat = 1.05 + 0.1 * CloUnit; // The ratio of the surface area of the clothed body | ||
| // to the surface area of nude body | ||
| Real64 stdICL = 0.155 * CloUnit; |
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.
Add a comment somewhere in this function that references the specific standards with years.
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.
Also fixed in the latest commit.
Modified the documentation and added a comment to the code to properly note which standard (rather than "current") EnergyPlus is using as its basis. This is in response to comments received during review.
Clang complained about a couple of extra spaces that Xcode threw into a file.
|
|
mjwitte
left a comment
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.
@RKStrand Thanks for adding the years for the standards. One last question: the equations in the engineering ref are ok as-is?
|
@mjwitte That's a good question. Interestingly, the Engineering Reference does not cover the equations that were updated because it does not talk about the process for iterating to find the clothing surface temperature. So, as it currently stands, the Engineering Reference does not need to be modified unless there is a need for adding information on this process. It appears that the current documentation focuses on the "big picture" equations but avoids getting "too deep in the weeds". If you feel like this is important enough to cover, I can definitely add additional text/equations. |
|
@RKStrand Thanks for the explanation. Merging. |
Pull request overview
Description of the purpose of this PR
A user noted that there are some differences between the current EnergyPlus code and ASHRAE Standard 55/ISO 7730 in the calculation of the clothing factor and the clothing surface temperature. It appears that there have been some updates in how the standard calculates these two parameters since this was implemented in EnergyPlus. Changes were made to the code to bring the EnergyPlus algorithm back into alignment with the current version of ASHRAE Standard 55/ISO 7730. A unit test was also created to test the Fanger PMV calculation function as well as a minor addition to the Engineering Reference documentation. Small differences differences in the PMV/PPD output are anticipated for any IDF that reports these values for the Fanger Thermal Comfort Model. There should be no differences in the other simulation variable results or in files that do not include these two key outputs of the Fanger model.
Pull Request Author
Reviewer