LBT 1 Window Construction U-Factor or U-Value?

Hi all,

I wonder if someone can explain the difference between the construction ‘u_value’ parameter and the ‘u_factor’ parameter when creating a simple Window Construction (‘WindowConstr’) in the new LBT 1.0 ?

If I just use a simplified ‘WindowMat’ with an input ‘_u_factor’ of 2.0 W/m2k, I seem to get a u-value result of 3.188 and a u-factor of 2.07 (I assume that is the effect of surface films being added someplace?) ?

I would not have predicted that and had been using the ‘u-value’ attribute for a while before I realized they were actually different? Perhaps I don’t understand the difference between the two terms though? I always thought they were basically interchangeable terms in North America? Can anyone explain how the ‘U-Value’ is being calculated in this case and what that value refers to?

any thoughts are always appreciated!


Hi @edpmay ,

Good question and you are right that the only difference between u_value and u_factor is the resistance of the interior and exterior air films. You’ll see that the same convention is followed with r_value and r_factor if you read through the SDK docs like those here for WindowConstruction:

Admittedly, there’s no strict definition of a “factor” vs. a “value” that I’m able to point to in order to justify my vocabulary decision here. But hopefully you would agree with me that the currently informal way that the practice in North America uses these terms results in a lot of unhelpful ambiguity. Especially when air films are often not included for R but they are for U but there’s no easy way to tell whether the air film resistance is included or not.

So, for the sake of trying to be clear, honeybee_energy calls all numbers that have the air film resistance a “factor” and all numbers that lack the air films a “value”.

FYI, in case you are interested, you’ll see that the LBT SDK also has methods for computing R-factors and U-factors under different indoor/outdoor temperatures and orientations of the construction:

You can use this to get the “summer” vs. “winter” numbers if that’s important to you. As you would see in the source code there, all of the R and U values/factors are for NFRC winter conditions assuming a 1mx1m vertically-oriented window construction.
1 Like

Hi @chris. After going through the conversation i just wanted to know if it is possible to input U value rather than U factor ( many a times we have u values for glazings )

You are going to have to explain what you mean here, @Asisnath . You want to create a construction with a certain U-value? If so, use the “HB Window Material” component and make sure it’s the only layer in the construction.

Yes i wanted to creat a window material with U value rather a U factor.

Ah. In that case the math is extremely simple to convert between the U-factor (with film coefficients) that you input for an EnergyPlus SimpleGlazingSys and the U-value (without the films) that EnergyPlus actually uses in the simulation. I say “actually” because E+ dynamically computes the resistance of the air films at each timestep of the simulation and so it strips out a standard resistance of the U-factor before the simulation to find the U-Value. You can see the math right here:

And here is the standard value that EnergyPlus assumes for the _film_resistance of the simple glazing system material:

1 Like

Oh well explained. Thanks @chris

Thanks @chris, that is all super helpful.

And yes totally: seems to me that the terms are used in all sorts of ways by folks, so I don’t disagree with your usage here so long as its clear in the SDK (which it is: thank you).

The one part I still don’t think I understand though is why the U-Factor coming out of the ‘DecnstrConstr’ would be different than the U-Factor input in the ‘WindowConstr’? It appears to be picking up + 0.074 W/m2k somewhere along the way?

do you have an idea why that U-Factor would be changing in this case?


Very good observation, @edpmay , and I think you found a bug in my assumption that EnergyPlus used 1/7 for the interior film resistance of the simple glazing system. I originally based this on the fact that 7.0 W/m2-K is the maximum U-value that you can input for the simple glazing system u-factor:

So I naturally thought that 1/7 must be the R-value of only the air films and the window at that point is like a sheet of paper. But, thinking this over, an actual R-value of 0 is probably going to result in infinities popping up in the E+ calculation so there must be some very small resistance of the window itself for this case.

While I couldn’t find any documentation for exactly what E+ is using, I have reason to believe that it comes from ISO10292, which you can see described on page 53 of the LBNL WINDOW reference:

According to those formulas, the indoor air film resistance should be 1/8 instead of 1/7 and it’s this discrepancy that was causing the extra 0.074 in the example you posted. So I am changing the assumption about what E+ uses for the interior air film resistance to be in line with ISO10292. At the least, this will make the whole honeybee-energy package internally consistent and it’s consistent with no infinites popping up in the E+ calculation:

This also means that you should change the 1/7 in your example screenshot there to be 1/8.

1 Like

Hi @chris and @edpmay,

Do you know whether, in general, manufacturers specify their glazing performances in U-values or U-factors?

For example, on this page, could I plug those values directly into the SimpleGlazing component, or would I need to do a conversion first?

Another point of confusion: the above website appears to be specifying performance metrics for the window system, i.e. glazing+frame (I assume that’s what Whole of Window means), but this would clearly depend on the size of the window (which would affect the ratio of frame to glazing).

Would love to hear your thoughts on this!

Yes, I know that the values that you get from glazing manufacturers are almost always U-factors and NOT U-values. U-Values and R-Values are typically only used to describe opaque constructions.

Also, the recommended way to use the SimpleGlazing material is to plug the “Whole System” U-Factor rather than the “Center of Glass” U-Factor. While it’s true that different window geometries have different amounts of frame and therefore should technically have different constructions, this tends to be at a level of detail that’s beyond what is needed to get decent estimates of energy use. That is, unless you have very different types of framing materials across your windows or you have very different types of window frame geometries.

In the future, we will add detailed frame objects to honeybee-energy WindowConstructions, which will make it easier to just specify the frame material and EnergyPlus will take care of computing the effect of the frame for the different window geometries:


Hi @MaxMarschall

In my experience, what you’ll get from the supplier depends a bit on where they are based. In the US, most folks will supply NFRC-100 test results for the U-Factor of the window which, as you point out, is based on a single standard size.

When we import products, specifically from Europe, we will most often get ISO 10077 test reports which are different than the NFRC, but similar. There are two types of ISO test reports you might see, the 10077-1, which reports the ‘whole-window’ U-Factor, similar to the NFRC-100, and the ISO 10077-2, which reports just the Frame-U-Value (no glass, JUST the frame). Then the center-of-glass will come from an EN673 report.

In Passive House-land, where I mostly work, they want us to get the U-frame, the U-center-of-glass and then calc the Uw (U-of the whole window) for each window uniquely, in order to deal with the issue you raise above. They will also include the effect of the Spacer in the IGU (the ‘Psi-Spacer’), as well as the thermal-bridge that occurs where the window is installed (the ‘Psi-Install’). So you end up calculating a very specific U-w-installed for each window, based on all those inputs using the following:

\ HeatLoss_{Frame} = (U_{Frame} \times Area_{Frame})
\ HeatLoss_{Glass} = (U_{Glass} \times Area_{Glass})
\ HeatLoss_{Spacer} = (\psi_{Spacer} \times Length_{Spacer})
\ HeatLoss_{Install} = (\psi_{Install} \times Length_{Install})

\ TotalHeatLoss = ( HeatLoss_{Frame} + HeatLoss_{Glass} + HeatLoss_{Spacer} + HeatLoss_{Install} )
\ U_{w-installed} = \frac {TotalHeatLoss}{Window Area}

That whole process doesn’t have an exact corollary on the E+ side, but I’ve tried to implement at least a rough solution for calcing U-w-installed values in the LBT-2-PH package:

which calculates the U-w-installed which can then be used in a normal HB E+ simulation, and also output to the PHPP.

But I’d also say that lot of the inputs will be driven by who you are doing the simulation for. For LEED / ASHRAE 90.1 in the US, you’ll want to input NRFC values. For Passive House, you’ll want to input ISO values. Etc.

all the best


Great insights @edpmay, thanks for sharing!

Yes I’ve been using LBT2PH recently together with Pablo who I think you met recently - great tool!