EP Custom Materials

Hello again Mostapha!

When I attempt to make a custom glazing material it isn’t able to run through the ep sim component. The simulation works just fine with default materials, and I believe I’ve added my glazing to the ep library correctly so I’m not sure what’s wrong. The reported fatal error is that it can’t “GetSurfaceData”

If you have a free moment would you mind taking a look at my file to see what I’m not doing right?

Very much appreciated in advance, thank you!




The problem is becouse the window material you choose for the construction. In E+ you can define a simplified window material based on 3 definitions (U, SHGC and VT). This type can’t be used as an individual material in a construction composite. For this type you need to define a glass material (or draw one from the library). See the attached. In red group wath is to delete from your definitions. In yellow group what i added and works.

Recheck your weather files inputs since i changed the connections a bit.


FurtherTesting2_A.gh (253 KB)

Thank you for the quick response Abraham. I too was able to use existing ep materials from the ep library to run the simulation with success. However, I’d like to be more specific and manipulate the glass properties. I was under the impression that I could create my own glazing material and glazing construction and then save it into the library. Then simulate using the saved material and construction. Are you saying that even by using the “add to energyplus library” component, I won’t be able to run a simulation with custom materials? If so is there any way to manipulate the three definitions (U, SHGC and VT) of the “Theoretical Glass (167)” that you’ve used? How else do I define my own custom glass material?

I recently watched chris mackey’s tutorial -> https://www.youtube.com/watch?v=GTnwMuadjyE&list=UUc6HWbF4UtdKd…

From this I thought I could use custom materials in a simulation.

Your response is much appreciated in advance,


Hi Aaron,

You can use custom materials. What Abraham mentioned above is in EnergyPlus you need to create a construction using the material and then apply it to your window. You cannot apply the material directly.

What parameters of Glass do you want to play with which is not available here? You can manipulate all the 3 parameters that you mentioned above. I didn’t include an interface for full glazing definition as I wasn’t sure if anyone would ever use it but you can just create it as a string and change the properties with sliders.


Will add that you can have your own customized material, constructions, schedues (and probably more parameters) in the userCustomEPLibrary.idf file (located at c:\ladybug - normally).

Attached one example for ilustration. You need to reload the HB_HB component to update the library with the custom definitions (just remember to delete from the name file the word “Test”).

I personally agree with Mostapha that the detailed glazing definitions, as E+ request, will almost be an impossible task.


userCustomEPLibrary_Test.idf (518 Bytes)

I guess I’m still confused, I never applied the material directly. I made my construction using two layers of glass and a layer of air in between and plugged into the EPConstruction component and then added it to the ep_library using the “AddtoEnergyplus Library” component.

The only parameters of glass I want to manipulate are the three (U, SHGC and VT). The amount of parameters is not my problem.

I just want to simply take the construction I made and plug it into the windowEPConstruction slot of the modifiedHBZone component and then run a simulation. However when I do so energyplus reports that it can’t get surface data for the material.

From your response Abraham, I’m gathering that this is not possible to do this in honeybee and that I have to make my custom materials in energyplus itself first?

Unfortunately I also have to keep manually downloading the master zip files from github and plug it into the update honeybee/ladybug components respectively as well. The automatic update isn’t working as it reports an issue that the remote party has closed the transport stream. This was a separate issue I thought but could it have something to do with why the simulation isn’t reading my custom construction?

Apologies for any of my misunderstandings, your time and patience is extremely appreciated as always.


Attached a simple example using both cases: Simple glazing material and construction, and composed.

Try to follow. The simple one (U, SHGC, VT) defines the window properties. So if you have a double glazed window those 3 parameters weight the type (BTW the values include also the influence of the frames).

Mostapha can answer more precisely, but i can say that the updates don’t have nothing to do with the issue at all.

Hope this helps for a better understanding.


setGlassMaterials.gh (139 KB)

Thank you Abraham for putting the example together.

Aaron, can you run the example that Abraham put together with no issue? As you can see on the top part of the script you can set the properties parametrically. Just be aware that some of the combinations that you may ended up using won’t be real (e.g. VT 0.9 and SHGC .10).


Sorry that I didn’t open your file before the reply. I can see that you are using construction in the right way, and Abraham file is running fine on my system. Do you want to upload the latest version of the file that you have problem with and I will be happy to take a look if still need help. -Mostapha

After messing around with it I found that if I only use one layer of glass in my construction the simulation runs smooth and works perfect. It’s after adding an air gap and a second layer of glass that energyplus doesn’t like it. Take a look, and thank you!


Further Testing3.gh (335 KB)

This is the file that works using just one layer of construction for the glass

Further Testing3_1.gh (330 KB)


Sorry for coming into the discussion so late. I feel partly responsible as my video showed a method for making a custom window construction but we currently have no component to make a custom glass material (only a component to make a custom window material). Your second file uses the custom window material correctly since the window material is meant to represent an entire window element (including all panes of glass and the frame). Right now, if you want a custom glass material, which you could use in layered constructions and would work with your first file, you have to input a text string in IDF language (as you see in the attached file here). Now that I see the demand for it, I think I will write a component this weekend that produces this string for you automatically and allows you to make a custom glass material. I will post here once I have done so.


FurtherTesting3_CWM.gh (343 KB)

Chris, thank you so much!

I’ve been able to manipulate my glazing in the EP IDF editor to get the results I want but the ability to do so right within honeybee would be fantastic!


Hi Aaron,

I have finished making a glass material component and you can see it implemented in the attached GH file. This should allow you to make very customizable window constructions with different glass properties in different layers, etc. You can also adjust the thickness of the air layer between the panes of glass to get better or worse insulation. The only real limitation now is that you cannot yet put in gasses other than air between the glass. I can try to build in this functionality if there is a lot of demand for it but, realistically, it seems many of the window manufacturers don’t certify the lifetime of the exotic gases like Argon and Krypton beyond 20 years (due to inevitable leaking) so my initial reaction is to just stick to the air layers.

In any case, I also took the opportunity to re-write the descriptions for all of the material component inputs (including the units of the inputs) so this should hopefully make things easier in the future. You can get these new material components by syncing with the github.

Let me know if there are any other requests.


FurtherTesting3_CWM2.gh (347 KB)