genBSDF.pl - Is this how to run?

Hello,

I’m pretty new to the type of Radiance workflow that involves generating BSDF files. Previously, I’ve ran Radiance within Rhino/Grasshopper for shade analysis. My organization has some precedent project files available and I have read the “genBSDF Tutorial” document. Just want to check with the experts here that I’m on the right track.

The goal is to import a fritted IGU consisting of 2 laminates and an air gap into a Rhino/Grasshopper script to run glare analysis. As I understand, the steps are as follow:

  1. Build the 2 laminates in Optics
  2. Write 2 *.rad files describing the solar and visible properties of the frit
  3. Run genBSDF to combine these 2 *.rad files into a single *.xml file
  4. Edit the *.xml file to add other properties if necessary
  5. Construct the glazing system in WINDOW with the 2 laminates and the frit *.xml as a shade
  6. Import the WINDOW-generated BSDF *.xml into the Grasshopper script as a RADMaterial
  7. This Script then uses the standard Honeybee Radiance components to run simulations

Focusing on Step #3 - I have at my disposal the “genBSDF.pl” script, as well as something called “genBSDFscript.BAT”. As I’m not proficient in any programming language or much experience working in command lines, I’m pretty much wading in the dark here.

My understanding is that “genBSDF.pl” seems to be THE official script to run to generate BSDFs from *.rad files. I’ve installed Strawberry Perl in order to run “genBSDF.pl” and saved the 2 frit *.rad files along with “genBSDF.pl” in the same folder. I then ran “genBSDF.pl” in PowerShell and 2 *.xml files are generated - but they are both empty. I also tried running a program called “genBSDFscript.BAT” which seems to do the same thing as “genBSDF.pl”. But the output *.xml files are 0kb again.

So … is the 7-step workflow what seasoned users would follow given the project goal? And if so, I’d appreciate any advice on what I’m doing wrong running the “genBSDF.pl” script. Thank you!

Welcome to the forum!

Given the complexity of your example system, or rather its lack of complexity, I might recommend using the “glaze” script, instead. It takes one- or two-paned systems with frits and computes a single surface that efficiently accounts for the system’s combined behavior.

Unfortunately, the glaze script is written for the C-shell, which is not commonly available under Windows. You might find a Linux machine to run it on, or install the WSL environment (Windows Subsystem for Linux) on your computer. This should also enable you to do useful things like run Radiance programs in multi-processing mode, something not well-supported under standard Windows.

These are just my suggestions. Others may have more concrete ideas on what might be going wrong with your Perl environment. This is beyond my ken, I’m afraid.

Cheers,
-Greg

P.S. I recommend using the forum search function to find posts mentioning “glaze.csh” if you want more information on this topic. See this post, for example.

1 Like