[Radiance-general] Modeling reflective glazing and glazing with ceramic frit

Gregory J. Ward gregoryjward at gmail.com
Thu Dec 28 22:14:31 CET 2006


Hi Arvinder,

I haven't read through this post thoroughly or Rob's reply, but just  
wanted to mention the optics2rad script that's included in Radiance  
3.8.  That takes your Optics5 output and produces:

# Output generated by /usr/local/ray/optics2rad from /tmp/t.mat
# Product Name= Heat Mirror™ HPR 18 Suspended Film
# NFRC ID= 1507
# Manufacturer Name= Southwall Technologies, Inc.
# Glazing Type= Coated
# Coated Side= Front
# Transmittance= 0.189
# Front Reflectance= 0.649
# Back Reflectance= 0.116
# Thickness(mm)= 0.076
# Appearance= Reflective
#

void BRTDfunc HMHPR18
10
         rR_bronze rG_bronze rB_bronze
         0.131*tR_bronze   0.197*tG_bronze   0.341*tB_bronze
      0 0 0
      window.cal
0
15 0 0 0 0 0 0 0 0 0
         0.745       0.636      0.4
         0.163         0.1    0.092
-----------

Obviously, you need the new window.cal file as well, which is  
corrected from the original glazing.cal.  I have attached it here  
just in case you don't have vers. 3.8:

{ RCSid $Id: window.cal,v 2.1 2006/05/19 03:50:13 greg Exp $ }
{
         The following calculation uses the BRTDfunc type to  
reproduce the
         calculation used by LBL's Optics 5 program for the  
transmittance
         and reflectance of coated glazings.  This calculation is based
         on fits for the angular dependence for clear and bronze-coated
         glazing, and is not terribly accurate.  The variables ??_clear
         below should be replaced by ??_bronze in the case of the bronze
         glazing model.  Used with optics2rad script.

         5/18/2006       Greg Ward

         Arguments used for this material should look like:

         mod BRTDfunc my_glazing
         10      rR_clear        rG_clear        rB_clear
                 RTAU*tR_clear   GTAU*tG_clear   BTAU*tB_clear
                 0       0       0
                 window.cal
         0
         15      0       0       0
                 0       0       0
                 0       0       0
                 FRRHO   FGRHO   FBRHO
                 BRRHO   BGRHO   BBRHO

         where:
                 FRRHO   FGRHO   FBRHO   is front normal spectral  
reflectance
                 BRRHO   BGRHO   BBRHO   is back normal spectral  
reflectance
                 RTAU    GTAU    BTAU    is normal spectral  
transmittance
}
                                 { get normal reflectance }
rbase = if(Rdot,10,13);                 { different front and back }
Rred = arg(rbase)*CrP;
Rgrn = arg(rbase+1)*CgP;
Rblu = arg(rbase+2)*CbP;
                                 { transmittance coefficients }
Tclear = clip(-.0015 + RdotP*(3.355 + RdotP*(-3.840 +
                         RdotP*(1.460 + RdotP*.0288))));

Tbronze = clip(-.002 + RdotP*(2.813 + RdotP*(-2.341 +
                         RdotP*(-.05725 + RdotP*.599))));

                                 { reflectance coefficients }
Rclear = clip(.999 + RdotP*(-.563 + RdotP*(2.043 +
                         RdotP*(-2.532 + RdotP*1.054))) - Tclear);

Rbronze = clip(.997 + RdotP*(-1.868 + RdotP*(6.513 +
                         RdotP*(-7.862 + RdotP*3.225))) - Tbronze);

                                 { returned spectral transmittance }
tR_clear = CrP*Tclear;
tG_clear = CgP*Tclear;
tB_clear = CbP*Tclear;

tR_bronze = CrP*Tbronze;
tG_bronze = CgP*Tbronze;
tB_bronze = CbP*Tbronze;
                                 { returned spectral reflectance }
rR_clear = Rred*(1 - Rclear) + Rclear;
rG_clear = Rgrn*(1 - Rclear) + Rclear;
rB_clear = Rblu*(1 - Rclear) + Rclear;

rR_bronze = Rred*(1 - Rbronze) + Rbronze;
rG_bronze = Rgrn*(1 - Rbronze) + Rbronze;
rB_bronze = Rblu*(1 - Rbronze) + Rbronze;
-------------------------

Hope this helps.
-Greg


More information about the Radiance-general mailing list