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); |