| 1 |
greg |
1.1 |
{
|
| 2 |
|
|
The following calculation uses the BRTDfunc type to reproduce the
|
| 3 |
|
|
calculation used by LBL's Window 4 program for the transmittance
|
| 4 |
|
|
and reflectance of coated glazings. This calculation is based
|
| 5 |
|
|
on fits for the angular dependence for clear and bronze-coated
|
| 6 |
|
|
glazing, and is not terribly accurate.
|
| 7 |
|
|
|
| 8 |
|
|
5/20/93 Greg Ward
|
| 9 |
|
|
|
| 10 |
|
|
Arguments used for this material should look like:
|
| 11 |
|
|
|
| 12 |
|
|
mod BRTDfunc my_glazing
|
| 13 |
|
|
10 rrho grho brho
|
| 14 |
|
|
rtau gtau btau
|
| 15 |
|
|
0 0 0
|
| 16 |
|
|
glazing.cal
|
| 17 |
|
|
0
|
| 18 |
|
|
18 0 0 0
|
| 19 |
|
|
0 0 0
|
| 20 |
|
|
0 0 0
|
| 21 |
|
|
FRRHO FGRHO FBRHO
|
| 22 |
|
|
BRRHO BGRHO BBRHO
|
| 23 |
|
|
RTAU GTAU BTAU
|
| 24 |
|
|
|
| 25 |
|
|
where:
|
| 26 |
|
|
FRRHO FGRHO FBRHO is front normal spectral reflectance
|
| 27 |
|
|
BRRHO BGRHO BBRHO is back normal spectral reflectance
|
| 28 |
|
|
RTAU GTAU BTAU is normal spectral transmittance
|
| 29 |
|
|
}
|
| 30 |
|
|
{ get normal reflectance }
|
| 31 |
|
|
rbase = if(Rdot,10,13); { different front and back }
|
| 32 |
|
|
Rred = arg(rbase)*CrP;
|
| 33 |
|
|
Rgrn = arg(rbase+1)*CgP;
|
| 34 |
|
|
Rblu = arg(rbase+2)*CbP;
|
| 35 |
|
|
{ get normal transmittance }
|
| 36 |
|
|
Tred = arg(16)*CrP;
|
| 37 |
|
|
Tgrn = arg(17)*CgP;
|
| 38 |
|
|
Tblu = arg(18)*CbP;
|
| 39 |
|
|
{ reflectance coefficients }
|
| 40 |
|
|
Rclear = .999 + RdotP*(-.563 + RdotP*(2.043 + RdotP*(-2.532 + RdotP*1.054)));
|
| 41 |
|
|
Rbronze = .997 + RdotP*(-1.868 + RdotP*(6.513 + RdotP*(-7.862 + RdotP*3.225)));
|
| 42 |
|
|
|
| 43 |
|
|
{ transmittance coefficients }
|
| 44 |
|
|
Tclear = -.0015 + RdotP*(3.355 + RdotP*(-3.840 + RdotP*(1.460 + RdotP*.0288)));
|
| 45 |
|
|
Tbronze = -.002 + RdotP*(2.813 + RdotP*(-2.341 + RdotP*(-.05725 + RdotP*.599)));
|
| 46 |
|
|
|
| 47 |
|
|
Tcutoff : .645; { transmittance cutoff constant }
|
| 48 |
|
|
{ returned spectral reflectance }
|
| 49 |
|
|
rrho = Rred*if(Tred-Tcutoff, Rclear, Rbronze);
|
| 50 |
|
|
grho = Rgrn*if(Tgrn-Tcutoff, Rclear, Rbronze);
|
| 51 |
|
|
brho = Rblu*if(Tblu-Tcutoff, Rclear, Rbronze);
|
| 52 |
|
|
{ returned spectral transmittance }
|
| 53 |
|
|
rtau = Tred*if(Tred-Tcutoff, Tclear, Tbronze);
|
| 54 |
|
|
gtau = Tgrn*if(Tgrn-Tcutoff, Tclear, Tbronze);
|
| 55 |
|
|
btau = Tblu*if(Tblu-Tcutoff, Tclear, Tbronze);
|