-
Notifications
You must be signed in to change notification settings - Fork 394
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
Resolve warnings/errors for unreasonable DHW temperatures in Example Files #9078
Conversation
@@ -1058,6 +1058,7 @@ namespace WaterUse { | |||
// Calculate desired hot and cold water flow rates | |||
|
|||
Real64 const EPSILON(1.e-3); | |||
Real64 TempDiff; |
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.
You can declare and define all three diffs separately here, that way you don't have to calculate them once for the if statements and again within them.
src/EnergyPlus/WaterUse.cc
Outdated
this->CWHWTempErrIndex, | ||
TempDiff, | ||
TempDiff); | ||
} | ||
} | ||
} else if ((this->TargetTemp - this->HotTemp) > EPSILON) { |
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 wonder if these should be separate if statements. It strikes me that they aren't mutually exclusive. i.e., you could have a target temperature that is colder than the hot water temperature that is colder than the cold water temperature. The question is if we want to show all three warnings in this scenario.
@@ -1942,13 +1942,6 @@ | |||
For: AllDays, !- Field 2 | |||
Until: 24:00,0.2; !- Field 3 | |||
|
|||
Schedule:Compact, |
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 believe these are models provided by PNNL. They might want to make sure that they are making the same changes for their other prototype models too. @lymereJ do you know who to contact?
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.
Thanks! I'll let @jiangithub and @yanchenpnnl know.
@matthew-larson @lgentile it has been 28 days since this pull request was last updated. |
@nealkruis you previously requested changes on this, could you take a look at whether you still request changes after the last commit? Thanks! |
I think this is ready to review. The only outstanding task is creating an issue for water heaters unable to meet its setpoint despite having plenty of heating capacity (@matthew-larson can you handle writing that up?). Note: Our assumptions for these example files is that the intention when the target temperature was the same as the setpoint temperature was for 100% hot water (not necessarily at the set point). This interpretation does not change results, but some of these files (and some users) may want to show when the models are not able to deliver the target temperature, especially if these are supposed to represent prototypical energy use. |
@matthew-larson @nealkruis Have you considered the situation where a solar water heating system is present? If we remove the Target Temperature Schedule Name from the WaterUse:Equipment objects, we can end up delivering mixed water temperatures above the desired setpoint at times, which is not a good result. But if we include the Target Temperature Schedule Name to limit the mixed water temperatures to our desired setpoint, we can still get these target temperature warnings at certain times. (Although in my quick test file below, it only occurred warmup? But I assume that it could happen during the simulation period too, especially if say the beginning of the simulation period is cloudy.) Some IDFs to help:
|
@shorowit we can look into this, but it looks like you are not using a tempering valve with your water heating system. I would think this would resolve the issue. |
Interesting, thanks for the info @nealkruis. We've never used that object before as we've historically used the Target Temperature Schedule to essentially provide tempering -- but have moved away from it to avoid these new E+ warnings (except for WaterUse:Equipment objects that represent hot water fixtures that typically use water at temperatures (e.g., 105F) below the water heater setpoint (e.g., 125F)). Maybe the TemperingValve is indeed the solution. Unfortunately I don't have time right now to understand the nuances of how the TemperingValve object differs from using the Target Temperature Schedule. |
I believe most solar hot water systems need a tempering valve to prevent scalding. This is on the supply side whereas the target temperatures are applied to the demand side. I do think that there is likely a new feature that would help provide greater flexibility in EnergyPlus which would be allowing each water use to specify a fraction of hot water instead of a target temperature. There are a lot of appliances that don't really use a target temperature but define settings based on different amounts of hot vs. cold water. |
@matthew-larson @lgentile it has been 28 days since this pull request was last updated. |
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.
This all seems fine. Looks like there is still maybe an outstanding task but beyond the scope of this PR. The IDF changes here look like nice cleanups, and deferring the warnings until not warmup is reasonable. I'll pull develop in here and let it run.
This is looking good. ERR diffs show warnings getting removed, as expected. Other diffs are related to the IDF cleanups. @nealkruis you are still showing as "requesting changes" on this PR. Could you confirm that or clear that if you are satisfied? I think this is otherwise ready to go. |
Tested locally and I think this is all good to go. Merging. |
Resolve warnings/errors for unreasonable DHW temperatures in Example Files
Pull request overview
state.dataGlobal->WarmupFlag
and the warnings are now only generated if the unreasonable DHW temperatures occur outside of the warmup period.60C Water Heater Setpoint Temperature
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.