U-factor inconsistencies when overriding construction set

Trying to override a window construction with a historic single pane window with U-factor 1.64 (IP). While previewing the construction, the U-factor seems to be off by a certain factor. The display preview should be showing the U-factor as 9.31 (SI) as opposed to 5.244. When I deconstruct the HB Subface subset, the u_fac_si shows 5.244. But when I deconstruct the construction set after applying the subface_set, the u-factor is correct. The issue persists when I try other values for double/triple pane as well but the factors by which they are off is lower. For example, when I input 0.38 (IP) as u-factor, the preview display shows 3.438 (SI) as opposed to 2.1577 (SI).

The HB preview also shows the U-factor as 5.244 as opposed to 9.31

However, the same setup works with the HB default construction set. Is there something I’m missing or incorrectly assigning? Appreciate any help here. Thanks!
Testfile.gh (69.3 KB)

Hey @suryakiran ,

I see that, in your use of the “HB Label Faces” component, you are observing the U Value (without air film resistance) instead of the U Factor (with air film resistance). As long as you consistently check the U Factor and not the U Value, the result is always 2.17 W/m2-K.

Testfile_CWM.gh (66.1 KB)

Hi @chris

Thanks for your explaination about U-Value and U-Factor. However, it seems, that the U-Factor output of sub face is 2.177 W/m2-K, which is not identical to the input with 2.158 W/m2-K. Is the difference based on the window frames or other reasons? Thank you!

I see your question now, @YZZhang and it mostly comes down to the fact that the simple glazing system material is not a real multi-layered window construction but a very abstract way of defining a window. So there isn’t a universally agreed upon definition for interpreting how much of the window’s thermal resistance is the result of the air films vs. this abstracted single-layer window construction.

EnergyPlus has it’s own way of removing the air film resistance from your input U-Factor, which you can see here:

Window Calculation Module: Engineering Reference — EnergyPlus 8.9.

And you see is implemented into Honeybee here:

However, this is different than the standard film coefficient resistances we use for all WindowConstruction U-factors in Honeybee, which come from EN673 / ISO10292, which you see implemented here:

To make matters even more confusing, there are other other standards beyond ISO10292 that give recommendations about film coefficient resistances. But, the important thing to realize is that difference in U-value of 0.02 W/m2-K is not really significant in terms of the energy performance. Also, the “real” thermal resistance of the glazing construction is going to change with different environmental conditions in which it is placed, meaning it’s not constant over the EnergyPlus simulation.

So, most of the time, you can just get the U-factor close enough and this gives you energy simulation results you can trust. Or, if you really care about splitting hairs and accounting for the thermal resistance down to decimals, the solution is to use a detailed multi-layered window construction instead of this abstracted simple glazing system.

1 Like

Thanks for your detailed explanation! :grinning:

Thanks for the follow-up and the explanations! A difference of 0.02 W/m2-K is probably not significant but it still surprises me that the if we were account for surface air film then a single pane U-factor would reduce from 9.6 to 5.3 W/m2-K (U 1.7). I also read your thread where you explained the difference between U-value and U-factor which was very helpful. If the input U-factors (already accounts for surface films) and E+ strips that out, then can we preview the U-value assumed in the simulation?

Also, according to the thread if we strip out the air film resistance to calculate actual U-value used in the E+ simulation, I get a negative value as shown below. What can accurately represent the U-value assumed in the E+ simulation?

Testfile_SP.gh (80.6 KB)

You should read the EnergyPlus Documentation link that I posted above if you want to know how exactly EnergyPlus strips out the air films from the input U-Factor of the simple glazing system component. But I can tell you it is not using the formula that you have in the expression in your Grasshopper definition and I can assure you that we have done a faithful interpretation of what EnergyPlus does in honeybee-energy (so the R-value that you are getting out of the component is the R-Value without air films as understood by EnergyPlus).

There are a some extra checks that EnergyPlus does when you plug in U-Factors that are really only possible for horizontally-oriented windows and cannot be assigned to vertical glazing (the U-Factor of 9.6 W/m2-K is one example of this).

1 Like

Thanks @chris and I appreciate your patience here. I looked through the E+ documentation and might have figured the source of error. For U > 5.85, the formula in E+ requires us to subtract 2.886625. The HB script you shared adds the constant.

The attached GH file shows the differences when a U-factor of 6.81 is given. The HB simulation assumes the r_val_si to be 0.04. The r_value of glass to glass resistance according to E+ formula comes up to 0.005109 which is very less and probably represents a single pane glazing.

I am not sure if this would still fix the cause of error in my energy simulation. My guess is that the single pane window (U-6.81 W/m2-K ) was performing better than double/triple pane windows because the assumed r_val_si had a really high air film resistance applied to the window.

And yes you are right about the highest U-values that we can assign, anything above 10 triggers a negative r_value which is also mentioned in E+ documentation.
Testfile_SP_corrected.gh (21.9 KB).

:man_facepalming:
Ahhhhhh, you’re right. This is a typo in my code. Thank you for finding it and letting me know. I just pushed a fix:

After running the LB Versioner, the U-Values that you are getting out of Honeybee should be a good representation of what EnergyPlus understands the U-Value to be.

I guess we hadn’t caught this issue before because people typically use detailed multi-layered window constructions when trying to be really accurate about the U-value instead of the simple glazing system. This is also what I would recommend for your case here if you’re planning to get deeper into an accurate representation of the window construction.

But thanks again for finding the issue in the code. You’re an official bug-catcher now!

2 Likes