Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

I'm not sure there's currently a preferred method for combining BSDFs, unless you have WINDOW 6. The advantage there is that this tool is: (a) fast, and (b) considers interreflections between layers. In comparison, combining matrices using either the F-matrix method I described at the workshop or (equivalently) rmtxop to multiply them together considers only the transmitted components. This may be close enough to correct for most systems, especially if one of the layers is a glass surface with typical low reflectance (less than 8%). However, in cases where interreflection should not be neglected, either combining the BSDFs with WINDOW 6 or using genBSDF to combine them is a better approach, WINDOW 6 being a bit faster, and genBSDF accepting tensor trees as well as Klems matrix representations.

I do not recommend rendering with two BSDF surfaces back-to-back, as getting an accurate result out of that would be very challenging due to sampling issues. On the other hand, it would be fine to have one BSDF (for blinds or whatever) and an explicit glass surface in Radiance in front of or behind it, but that isn't what you asked.

If you are OK with neglecting the interreflected component and want to combine two Klems matrices into one matrix to simplify your workflow, you can re-wrap the output of rmtxop like so:

rmtxop -fa -c .27 .67 .06 interior_layer.xml -c .27 .67 .06 exterior_layer.xml | getinfo - | wrapBSDF -W -c -a kf -tf - -f "m=Maker;n=Name;t=10" -u centimeter -C "Combined from interior_layer and exterior_layer" > combined.xml

This should be easier, but at least it can be done. The two -c options are needed to specify Y-channel output from rmtxop. (You can do color, but it's more complicated still.) The "getinfo -" command is needed to strip the header out of rmtxop. The options to wrapBSDF in particular are a bit odd. The -W option says make sure the result can be read by WINDOW 6. The -c option is needed to divide the flux transfer coefficients by the projected solid angles to get back to BTDF values. The -a option says the input is a "Klems full" matrix. The "-tf -" setting says to read the forward transmission ("Transmission Front") data from the standard input. The -f parameters are required for a valid WINDOW 6 file (as mentioned in the wrapBSDF man page) and I've set the combined thickness to 10 cm just for this example. The comment line goes at the beginning of the final XML file as a record of where it came from.

I hope this works. Let me know if you try the rmtxop command above with wrapBSDF, as I haven't tried it before.