-
Notifications
You must be signed in to change notification settings - Fork 418
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
addressed low surface temperatures for WindowEquivalentLayer with interior blind #7370
Conversation
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.
It looks like at a minimum there is an indentation problem to be addressed. Functionally it seems reasonable. I'm building and running locally.
@@ -301,6 +301,11 @@ namespace HeatBalanceIntRadExchange { | |||
(ShadeFlagPrev != IntBlindOn && ShadeFlag == IntBlindOn) || | |||
(ShadeFlagPrev == IntShadeOn && ShadeFlag != IntShadeOn) || (ShadeFlagPrev == IntBlindOn && ShadeFlag != IntBlindOn)) | |||
IntShadeOrBlindStatusChanged = true; | |||
if (SurfaceWindow(SurfNum).WindowModelType == WindowEQLModel && |
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.
Is there something funny about the indentation here? I'll have to check it locally because on GitHub it looks like it is off.
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 do not see the issue after merging.
if (surface_window.WindowModelType == WindowEQLModel && | ||
DataWindowEquivalentLayer::CFS(Construct(ConstrNum).EQLConsPtr).ISControlled) { | ||
zone_info.Emissivity(ZoneSurfNum) = EQLWindowInsideEffectiveEmiss(ConstrNum); | ||
} |
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.
OK, so setting the emissivity was just completely skipped for the equivalent layer window. Yikes. And OK.
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.
Correct.
Material(MaterNum).TausThermal = MaterialProps(19); | ||
} |
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 agree with splitting this out, makes good sense. How about the thermal front and back emissivity though? Does this same problem happen if just one of them is provided in input and the other is blank?
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.
Split the check for front and back thermal emissivity.
@@ -444,6 +444,9 @@ namespace WindowEquivalentLayer { | |||
CalcEQLWindowStandardRatings(ConstrNum); | |||
|
|||
if (CFSHasControlledShade(CFS(EQLNum)) > 0) CFS(EQLNum).ISControlled = true; // is controlled | |||
|
|||
// set internal face emissivity | |||
Construct(ConstrNum).InsideAbsorpThermal = EffectiveEPSLB(CFS(EQLNum)); |
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.
Yes, I can see this would be important...
This is showing even more drastic differences in window surface temperature. While I understand that this was a blatant error in the code, and this fixes it, we'll need to see more detailed comparisons to ensure this is a step in the right direction. These changes may need to be combined with the other equivalent layer window PR to ensure the results are expected once they are both merged down. |
Resolved merge conflict and split thermal emissivity get input check. Successfully built locally. |
I'm going to test locally where I pull in this branch as well as #7363 and compare the combination of them against develop. I want to see the combined effects of these two changes to the equivalent layer model. |
I ran that little experiment of pulling both branches in and looking at the diffs. As expected, the equivalent layer file is the only one with diffs. However, those diffs are really really big now. I'm really uncomfortable with this much difference. I understand the code is making it better, but it would be really great to have some more justification. @Nigusse can you pull the two branches together and run the equivalent layer file and do some deeper analysis of the surface temperature? It's going from 6 degrees to 16 degrees overnight. Is it more physical of a temperature given the heat rates and other surface temperatures and boundary conditions? I really want to get this in, but I need to be confident it's the right set of changes. |
@Myoldmopar Sure will look into it. |
OK, I pulled in both branches (Issues #7345 and #7367) locally, fixed merge conflict and investigated the defect file deeply. My finding is summarized as follows: I looked at the WIN3 inside face temperature for winter and summer design days. Note that WIN3 has six solid layers. The plot below shows inside face temperature before and after the fix including the outside air and zone air temperatures. Justifications for the fix:
|
@Myoldmopar Again I looked at the WIN3 inside face temperature for ZERO SOLAR summer design day. The plot below shows inside face temperature before and after the fix including the outside air and zone air temperatures. Justifications for the fix:
|
@Myoldmopar This branch includes the fix for issue #7367 as well. |
That's a great explanation and shows it's working correctly. It would be nice to see inside and outside face temps on that last plot (both before and after). |
@Myoldmopar @rraustad WIN3 outside and inside faces temperature for winter and ZERO SOLAR summer design days. The plot below shows the OUTSIDE and INSIDE face temperatures before and after the fix including the outside air, zone air and sky temperatures. Justifications for the fix:
|
This investigation is so good. Thank you for pushing that through @Nigusse. I feel very confident in these changes now and will merge these equivalent layer window changes in directly. |
I also compared EquivalentLayer and Winkelmann (BuiltInWindowsModel) window models for two pane clear glazing. I modified the Zn001:Wall001:Win001 of the defect file to create Winkelmann windows equivalent model. The after fix equivalent window model and the Winkelmann window model show good match for outside and inside face temperatures. The before fix inside face temperature for some hours during summer is slightly lower (this the kind of defect stated in issue #7367). The plot below shows the various temperatures for zero solar input test case. |
Pull request overview
Fixes #7367. The low surface temperature is caused by zero thermal emissivity value set when the thermal transmittance input field of a blind is left blank. Furthermore, the effective thermal emissivity calculated is not properly updated for use in the fenestration assembly layer by layer heat balance calculation. Diffs are expected/justified based on this change.
Work Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Review Checklist
This will not be exhaustively relevant to every PR.