Thoughts on the Rhino Plugin Materials Manager and Constructions Manager

Hi Pollination team,

Sorry for bombarding with forum, but really enjoying getting to know the Rhino plugin and have lots of thoughts!

I have some thoughts on Materials Manager and Construction manager as follows:

  1. Material properties
    I note that currently the manager allows you to specify a material with it’s various properties and a thickness. The issue with this is that you then need a new material for every instance of its thickness. Some projects could have varying thicknesses of wall insulation, for example. So you would then need to create a material for each. You would also then need to create a construction for each.
    My suggestion is that thickness is removed from this materials database, and is instead entered into the construction manager (see 2)

It would then be good to have the material thermal conductivity displayed as column- and its density and SHC would be useful too.

I appreciate this doesn’t work for simplified windows, but I would assume these would still use the U-value/R-value columns and have a blank in conductivity.

  1. Construction Manager: U-factor calculations

The Construction Manager allows the various constructions to be built up, by bringing in materials.
Noting 1) above, this is the place we would expect to see the thickness of each material layer applied, i.e., the resistance of each layer is calculated here, rather than in the materials library.

I also wondered- how are the surface resistances applied here? For most U-value* calculators include selection of the element’s orientation e.g., External wall, Roof, Floor, ventilated cavity etc, then apply a corresponding surface resistance (varying between 0.04 to 0.17).

*in the UK we only talk about “U-values”, which I think are the equivalent of your “U-factors”, i.e., they include surface resistances.

Hope this is helpful, would be interested to know your thoughts!


1 Like

Hi @chriss,

This is one of those feature requests that makes so much sense but will be challenging to implement without making major changes to how things work right now. Because of how the libraries are set, we can’t be as dynamic.

The closest that we can get to this is probably to allow you to create new materials or modify the existing materials from inside the construction tab. That will feel very close to your suggestion without breaking the current implementation.

Can you give me a broader context of what are you trying to do in this case? Are you trying to run a parametric study and try different constructions by increasing the isolation thickness? Or do you have different variations of the construction in the same building and you want an easier way to create them?

This is a question for @mingbo or @chriswmackey.

That’s also my understanding but I need @mingbo or @chriswmackey to confirm that.

Hey @chriss . I second what @mostapha said there.

This is a good question since it involved us picking some default assumptions just to give a reasonable value that’s “accurate enough” for what people need. When you see the U-factor listed in the table there, it is the U-factor of a vertical version of the window construction that is 1 square meter by 1 square meter. We simulate the steady state behavior of the window construction under wintertime NFRC conditions (roughly -18 C outdoor temperature and 6 m/s wind speed) and together, all of these factors determine the convection of gasses in the gaps of the window.

Our Python libraries have the ability to compute U-factors under a wide range of conditions and arrangements. I have had plans to expose this a some point but you’re one of the first to bring it up and we might sooner focus on things like window frame definitions before we get around to this.

As far as I can tell, there’s no official definition for whether a U-Value or U-Factor includes the indoor/outdoor surface resistance but we have stuck to a particular convention in Pollination/Ladybug Tools. That is, when you see the words “U-Factor”, it will include surface resistance and, when you see the word “U-Value,” it will exclude surface resistances. More often than not, you are looking at “U-Factor” which will include the surface resistance.

This is purely about the ease of which constructions can be set up. Applying thicknesses to materials in the material library doesn’t really make sense, because you will need a new instance of the material every time you have a different construction (and I’m thinking between different projects, but it could also occur in the same building).

We use standard resistance values depending on whether the element is a wall, roof or floor (and also depending on the adjacent condition- ground, cavity, air). This all comes from BS EN ISO 6946:2017 - I guess you must have something equivalent.

It would be great if the construction library had more of a U-value calculator interface, a bit like:

It might be that you’d want two options here:

  1. early stage interface- select a standard construction which is a close fit
  2. detailed design interface- full U-value calculations, including repeating thermal bridges
1 Like

Hey @chriss ,

We’ll definitely keep this in mind. As I said, you’re one of the first people to ask for this so, particularly if other people say that they really want this, maybe we can do it soon after we implement window frame objects.

FYi, have you checked out LBNL WINDOW? I know a lot of our users will use that to get a detailed understanding of their window constructions and then export them to IDF to drop them into their personal user standards folder at:


This workflow is already pretty functional and a lot of our users follow it. So this is likely to be embellished a little more before you see a dedicated Pollination interface for it.

1 Like

Hi @chriswmackey, thanks- I’m sure I can make the current arrangement work for me.
Re LBNL Window- ironically, windows are something we don’t model in detail. We would only want to capture the main characters- g-value, U_glass, U_frame, spacer thermal bridge, and frame widths to give an overall U-value and g-value for the unit. Or simplified down- just specify U_window, g-value and frame %.