Simulate light diffusing materials


Hi Chris,

I’m running a daylight’s simulation of an office and i would like to try the performance of light diffusing materials. I know that honeybee can import the .xml files and if i remember well Okalux has shared this files. Where can i find the files?

Thanks in advance,


BSDF material_light pipe

@angelo.figliola ,

The BSDF files that Okalux was kind enough to share with use can be downloaded here:

Okalux kaipane
Okalux okapane

If you are planning on actually using Okalux on a project, I recommend you contact a sales rep directly since I don’t know if they are still selling those specific products.

If you are just looking for a generic light diffusing material, it might be safer to use another file. The reason why I recommended you ask your question on this forum is because there are a number of others here who know good sources for BSDF materials. In particular, I know @sarith knows of some good sources to obtain some generic types of BSDF materials. He’s also the best source for running annual daylight simulations with BSDF materials, which is only possible in Honeybee[+] and not legacy Honeybee.



Thanks @chris.

Actually, I’m looking for a generic light diffusing material but I know that the only xml files available are from Okalux. If @sarith has a good suggestion on generic types of BSDF materials it will be good to explore and try it out.

I’m also following the discussion on annual daylight simulations with BSDF materials but seems to be a complex topic for now. I have to go into that.

  • Angelo


Hi @angelo.figliola and @chris,

For getting XML files that were generated from empirically measured data using a photogoniometerat LBNL, use the Window 7.4 database. That has 1000s of XML files. The process for generating them is covered in the Three Phase Tutorial (see section 3.2.1). The instruction manual for Window 7.4 also discusses the process for generating XMLs by combining multiple XML files (for example, combining the XMLs for a glazing and venetian blinds).

One of our HB repositories has several XMLs that were downloaded from the Building Components Library database.

You can also make your own XML files using the Radiance genBSDF program. This tutorial explains how.

Finally, a very quick (albeit hacky) way to check if an XML is specular or not is to visualize it’s matrix as an hdr. Specular XMLs usually have a clear diagonal line across them while diffused ones show scattered patterns. Something which is both specular and diffusing will produce an intermediate pattern. Here are a few examples:

The xml files for the above (521.8 KB)

The command for generating those files will be something like:
rmtxop -fc clear.xml|pfilt -x 300 -y 300 |ra_tiff - clear.tiff


I wanted to add that I just finished understanding the full workflow to get HB[+] simulate-able BSDFs using LBNL WINDOW 7.6 and it is really empowering. Now I can model any glazing product on the market with any number of glass layers as a BSDF using the International Glazing Data Database (IGDB). I can also model any of the shade systems in the Complex Glazing Database (CGDB), which includes a few light diffusing materials. Using this, I have generated a complete BSDF for a double-pane IGU with a light diffusing insert called Solera:

You can see some product info described here:

Here’s the BSDF file for those interested in using it:
Solera.xml (1.6 MB)

For others who are interested in using WINDOW 7.6 in a similar way, You just want to make sure that you have the following preferences checked under File > Preferences:

Then, you will get the BSDF XML written out to the following path, which you can then plug into Honeybee:

The world of 3-phase is opening before my eyes and it is beautiful. @sarith and @mostapha , you two are visionaries!

Failed to load from empty file

in some toturial i have seen that the “solar band” must be checked…is it right?


@Davood ,
It depends on what you need the BSDF for. In this thread, we were only discussing what is needed to simulate materials for a daylight simulation (with illuminance), in which case you only need to have the visible band checked. If you are running a solar radiation simulation or you plan to use the BSDF with an EnergyPlus simulation, you are right that you should have the solar band checked.


Hey @chris, have you ever tried to use BSDF in energyPlus?


@MingboPeng ,
I haven’t and the HB components aren’t particulalry set up to run BSDFs with E+ but you can probably run them using additionalStrings input. Also, you can do everything just short of BSDFs (including bringing in all the window spectral data) with the Honeybee_Import WINDOW IDF Report.
My recommendation is that using BSDFs for E+ simulations is probably a bit overkill for everything except certain types of thermal comfort mapping. However the legacy comfort maps aren’t really set up to account for this so I would wait until we put comfort maps in the plus plugins if you really want to make use of this workflow.


@chris, I have a question relating to your second post in this thread:

I am curious as to why you state that Honeybee legacy can’t run daylight simulations from a BSDF file - maybe you can ellaborate?

The reason I ask is, from what I understand, the Honeybee Legacy componenent “Honeybee_Radianace BSDF Material” enables excatly that (and I have no problem running an .XML with that component) but maybe I am missing something




@chris’s comment is about using BSDF for energy simulation:

For daylight simulation: If you’re running point-in-time analysis then you can use BSDF files with Honeybee legacy. However, if you’re running an annual daylight analysis with Honeybee legacy then you can’t use BSDF materials. This is a limitation that Honeybee inherits from Daysim and we can’t do much about it. The good news is you can use a BSDF material for an annual daylight analysis in Honeybee[+] which uses Radiance instead of Daysim.


Hi Mostapha - thank you for your reply

I was refering to this statement, from Chris’ second post:

I was able to run the point-in time analysis and was wondering why, but you explained it perfectly - thanks again


Thanks for sharing @chris I can see that angular basis needs to be set to " W6 standard basis" for a full klem file! sweet!