{ The following calculation uses the BRTDfunc type to reproduce the calculation used by LBL's Window 4 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. 5/20/93 Greg Ward Arguments used for this material should look like: mod BRTDfunc my_glazing 10 rrho grho brho rtau gtau btau 0 0 0 glazing.cal 0 18 0 0 0 0 0 0 0 0 0 FRRHO FGRHO FBRHO BRRHO BGRHO BBRHO RTAU GTAU BTAU 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; { get normal transmittance } Tred = arg(16)*CrP; Tgrn = arg(17)*CgP; Tblu = arg(18)*CbP; { reflectance coefficients } Rclear = .999 + RdotP*(-.563 + RdotP*(2.043 + RdotP*(-2.532 + RdotP*1.054))); Rbronze = .997 + RdotP*(-1.868 + RdotP*(6.513 + RdotP*(-7.862 + RdotP*3.225))); { transmittance coefficients } Tclear = -.0015 + RdotP*(3.355 + RdotP*(-3.840 + RdotP*(1.460 + RdotP*.0288))); Tbronze = -.002 + RdotP*(2.813 + RdotP*(-2.341 + RdotP*(-.05725 + RdotP*.599))); Tcutoff : .645; { transmittance cutoff constant } { returned spectral reflectance } rrho = Rred*if(Tred-Tcutoff, Rclear, Rbronze); grho = Rgrn*if(Tgrn-Tcutoff, Rclear, Rbronze); brho = Rblu*if(Tblu-Tcutoff, Rclear, Rbronze); { returned spectral transmittance } rtau = Tred*if(Tred-Tcutoff, Tclear, Tbronze); gtau = Tgrn*if(Tgrn-Tcutoff, Tclear, Tbronze); btau = Tblu*if(Tblu-Tcutoff, Tclear, Tbronze);