# Glass transmittance

Hi Guys,

I am fairly new to Radiance and am trying to test one of the CIE Technical
Report test 5.10 "Sky Component under a roof glazed opening".
There is only one window that is a 1m x 1m opening with 6mm clear glass
that serves a 4m x 4m x 3m room.
The formula for directional transmittance is defined in the report as the
one in this webpage:
http://naturalfrequency.com/Tregenza_Sharples/Daylight_Algorithms/algorithm_2_34.htm

The Sky Component value for the opening(assuming no glazing is used)
matches the report results but on introducing the glazing, Radiance gives
slightly lower results.
I am testing this test case against our own software too. Multiplying the
above directional transmittance to the radiance value along each ray gives
the correct result which is inline with the report.
But for some reasons I cannot get same from Radiance. I have set the
transmissivity
of the glass to 1 but am not sure what value should I use here?
In other words if I want to scale the radiance along a ray by the above
formula only, how should I define the glazing?

The window rectangle is defined as two triangles

void brightfunc bf
2 val gtrans.cal
0
0
void glass Glass1
0
0
3 1 1 1

Glass1 polygon triangle1
0
0
9 (3 coordinates here..)
Glass1 polygon triangle2
0
0
9 (3 coordinates here..)

The "gtrans.cal" file is defined as below based on the formula given on the
cosine = Dx * Nx + Dy * Ny + Dz * Nz;
val = -.028378 + (3.156075 * cosine) - (3.058376 * cosine * cosine) -
(1.428919 * cosine * cosine * cosine) + (4.014235 * cosine * cosine *
cosine * cosine) - (1.775827 * cosine * cosine * cosine * cosine * cosine);

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

*62 High Street*

*SteyningWest SussexBN44 3RD*

*T +44 (0)1903 879323M +44(0)7830751409*
ali@surveymbs.com

Helo Ali,

If you have the formula that accounts for the presence of the window in your opening, you should not apply it to a "glass" surface. The Radiance "glass" type does an exact calculation of transmission and reflection as a function of incident angle, which your polynomial approximates. If you want or need to use the formula, then switch out your glass for:

void brightfunc bf
2 val gtrans.cal
0
0

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

Note that you need to use "bf" as the modifier to your trans material to see its effect. (Your original model used "void" which ignores the brightfunc entirely.)

You should also use "cosine=Rdot;" in your cal file, or change the sign of your calculation, which will always produce a negative cosine value in this case.

Finally, you should feel free to try using the "glass" type with the correct transmission value, which you can calculate from your formula, which yields 0.87881 as the transmittance at normal incidence, and the trans.cal file, which says transmission should be 0.95712, assuming an index of refraction of 1.52:

void glass Glass1
0
0
3 0.95712 0.95712 0.95712

I'm hoping the results should be the same between the two descriptions.

Cheers,
-Greg

···

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 6, 2017 8:18:00 AM PST

Hi Guys,

I am fairly new to Radiance and am trying to test one of the CIE Technical Report test 5.10 "Sky Component under a roof glazed opening".
There is only one window that is a 1m x 1m opening with 6mm clear glass that serves a 4m x 4m x 3m room.
The formula for directional transmittance is defined in the report as the one in this webpage:
http://naturalfrequency.com/Tregenza_Sharples/Daylight_Algorithms/algorithm_2_34.htm

The Sky Component value for the opening(assuming no glazing is used) matches the report results but on introducing the glazing, Radiance gives slightly lower results.
I am testing this test case against our own software too. Multiplying the above directional transmittance to the radiance value along each ray gives the correct result which is inline with the report.
But for some reasons I cannot get same from Radiance. I have set the transmissivity of the glass to 1 but am not sure what value should I use here?
In other words if I want to scale the radiance along a ray by the above formula only, how should I define the glazing?

The window rectangle is defined as two triangles

void brightfunc bf
2 val gtrans.cal
0
0
void glass Glass1
0
0
3 1 1 1

Glass1 polygon triangle1
0
0
9 (3 coordinates here..)
Glass1 polygon triangle2
0
0
9 (3 coordinates here..)

The "gtrans.cal" file is defined as below based on the formula given on the above link:
cosine = Dx * Nx + Dy * Ny + Dz * Nz;
val = -.028378 + (3.156075 * cosine) - (3.058376 * cosine * cosine) - (1.428919 * cosine * cosine * cosine) + (4.014235 * cosine * cosine * cosine * cosine) - (1.775827 * cosine * cosine * cosine * cosine * cosine);

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

Many thanks for the prompt reply Greg,

I appreciate the glass material perhaps describes the glazing more
accurately.

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

So defining trans material as above means only the specular transmittance
is left and diffuse part(transmittance/reflectance) is zero[?] This seems
to be what I am looking for, but I am not sure what I've done wrong
as the values don't agree(Radiance gives 3.20, CIE report(and our software)
3.77). Modifying bf function to return 1 treats the material just as an
opening(no coefficient applied) which is expected I guess.

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

*62 High Street*

*SteyningWest SussexBN44 3RD*

*T +44 (0)1903 879323M +44(0)7830751409 <+44%207830%20751409>*
ali@surveymbs.com

···

On Mon, Mar 6, 2017 at 8:45 PM, Greg Ward <gregoryjward@gmail.com> wrote:

Helo Ali,

If you have the formula that accounts for the presence of the window in
your opening, you should not apply it to a "glass" surface. The Radiance
"glass" type does an exact calculation of transmission and reflection as a
function of incident angle, which your polynomial approximates. If you
want or need to use the formula, then switch out your glass for:

void brightfunc bf
2 val gtrans.cal
0
0

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

Note that you need to use "bf" as the modifier to your trans material to
see its effect. (Your original model used "void" which ignores the
brightfunc entirely.)

You should also use "cosine=Rdot;" in your cal file, or change the sign of
your calculation, which will always produce a negative cosine value in this
case.

Finally, you should feel free to try using the "glass" type with the
correct transmission value, which you can calculate from your formula,
which yields 0.87881 as the transmittance at normal incidence, and the
trans.cal file, which says transmission should be 0.95712, assuming an
index of refraction of 1.52:

void glass Glass1
0
0
3 0.95712 0.95712 0.95712

I'm hoping the results should be the same between the two descriptions.

Cheers,
-Greg

*From: *Ali Fatoorechi <ali@surveymbs.com>

*Date: *March 6, 2017 8:18:00 AM PST

Hi Guys,

I am fairly new to Radiance and am trying to test one of the CIE Technical
Report test 5.10 "Sky Component under a roof glazed opening".
There is only one window that is a 1m x 1m opening with 6mm clear glass
that serves a 4m x 4m x 3m room.
The formula for directional transmittance is defined in the report as the
one in this webpage:
http://naturalfrequency.com/Tregenza_Sharples/Daylight_Algor
ithms/algorithm_2_34.htm

The Sky Component value for the opening(assuming no glazing is used)
matches the report results but on introducing the glazing, Radiance gives
slightly lower results.
I am testing this test case against our own software too. Multiplying the
above directional transmittance to the radiance value along each ray gives
the correct result which is inline with the report.
But for some reasons I cannot get same from Radiance. I have set the transmissivity
of the glass to 1 but am not sure what value should I use here?
In other words if I want to scale the radiance along a ray by the above
formula only, how should I define the glazing?

The window rectangle is defined as two triangles

void brightfunc bf
2 val gtrans.cal
0
0
void glass Glass1
0
0
3 1 1 1

Glass1 polygon triangle1
0
0
9 (3 coordinates here..)
Glass1 polygon triangle2
0
0
9 (3 coordinates here..)

The "gtrans.cal" file is defined as below based on the formula given on
cosine = Dx * Nx + Dy * Ny + Dz * Nz;
val = -.028378 + (3.156075 * cosine) - (3.058376 * cosine * cosine) -
(1.428919 * cosine * cosine * cosine) + (4.014235 * cosine * cosine *
cosine * cosine) - (1.775827 * cosine * cosine * cosine * cosine * cosine);

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

_______________________________________________

Did you remember to change your gtrans.cal file to set "cosine=Rdot" instead of your formula, which gives negative cosines?

-Greg

···

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 7, 2017 6:20:43 AM PST

Many thanks for the prompt reply Greg,

I appreciate the glass material perhaps describes the glazing more accurately.

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

So defining trans material as above means only the specular transmittance is left and diffuse part(transmittance/reflectance) is zero[?] This seems to be what I am looking for, but I am not sure what I've done wrong
as the values don't agree(Radiance gives 3.20, CIE report(and our software) 3.77). Modifying bf function to return 1 treats the material just as an opening(no coefficient applied) which is expected I guess.

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

On Mon, Mar 6, 2017 at 8:45 PM, Greg Ward <gregoryjward@gmail.com> wrote:
Helo Ali,

If you have the formula that accounts for the presence of the window in your opening, you should not apply it to a "glass" surface. The Radiance "glass" type does an exact calculation of transmission and reflection as a function of incident angle, which your polynomial approximates. If you want or need to use the formula, then switch out your glass for:

void brightfunc bf
2 val gtrans.cal
0
0

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

Note that you need to use "bf" as the modifier to your trans material to see its effect. (Your original model used "void" which ignores the brightfunc entirely.)

You should also use "cosine=Rdot;" in your cal file, or change the sign of your calculation, which will always produce a negative cosine value in this case.

Finally, you should feel free to try using the "glass" type with the correct transmission value, which you can calculate from your formula, which yields 0.87881 as the transmittance at normal incidence, and the trans.cal file, which says transmission should be 0.95712, assuming an index of refraction of 1.52:

void glass Glass1
0
0
3 0.95712 0.95712 0.95712

I'm hoping the results should be the same between the two descriptions.

Cheers,
-Greg

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 6, 2017 8:18:00 AM PST

Hi Guys,

I am fairly new to Radiance and am trying to test one of the CIE Technical Report test 5.10 "Sky Component under a roof glazed opening".
There is only one window that is a 1m x 1m opening with 6mm clear glass that serves a 4m x 4m x 3m room.
The formula for directional transmittance is defined in the report as the one in this webpage:
http://naturalfrequency.com/Tregenza_Sharples/Daylight_Algorithms/algorithm_2_34.htm

The Sky Component value for the opening(assuming no glazing is used) matches the report results but on introducing the glazing, Radiance gives slightly lower results.
I am testing this test case against our own software too. Multiplying the above directional transmittance to the radiance value along each ray gives the correct result which is inline with the report.
But for some reasons I cannot get same from Radiance. I have set the transmissivity of the glass to 1 but am not sure what value should I use here?
In other words if I want to scale the radiance along a ray by the above formula only, how should I define the glazing?

The window rectangle is defined as two triangles

void brightfunc bf
2 val gtrans.cal
0
0
void glass Glass1
0
0
3 1 1 1

Glass1 polygon triangle1
0
0
9 (3 coordinates here..)
Glass1 polygon triangle2
0
0
9 (3 coordinates here..)

The "gtrans.cal" file is defined as below based on the formula given on the above link:
cosine = Dx * Nx + Dy * Ny + Dz * Nz;
val = -.028378 + (3.156075 * cosine) - (3.058376 * cosine * cosine) - (1.428919 * cosine * cosine * cosine) + (4.014235 * cosine * cosine * cosine * cosine) - (1.775827 * cosine * cosine * cosine * cosine * cosine);

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

_______________________________________________

_______________________________________________

Yes I did change the cosine=Rdot.
Not sure you get a chance to look at this but I couldn't understand the
reason for the difference between the results.

Best wishes,

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

*62 High Street*

*SteyningWest SussexBN44 3RD*

*T +44 (0)1903 879323M +44(0)7830751409 <+44%207830%20751409>*
ali@surveymbs.com

···

On Tue, Mar 7, 2017 at 4:35 PM, Greg Ward <gregoryjward@gmail.com> wrote:

Did you remember to change your gtrans.cal file to set "cosine=Rdot"

-Greg

*From: *Ali Fatoorechi <ali@surveymbs.com>

*Date: *March 7, 2017 6:20:43 AM PST

Many thanks for the prompt reply Greg,

I appreciate the glass material perhaps describes the glazing more
accurately.

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

So defining trans material as above means only the specular transmittance
is left and diffuse part(transmittance/reflectance) is zero[?] This seems
to be what I am looking for, but I am not sure what I've done wrong
as the values don't agree(Radiance gives 3.20, CIE report(and our
software) 3.77). Modifying bf function to return 1 treats the material just
as an opening(no coefficient applied) which is expected I guess.

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

On Mon, Mar 6, 2017 at 8:45 PM, Greg Ward <gregoryjward@gmail.com> wrote:

Helo Ali,

If you have the formula that accounts for the presence of the window in
your opening, you should not apply it to a "glass" surface. The Radiance
"glass" type does an exact calculation of transmission and reflection as a
function of incident angle, which your polynomial approximates. If you
want or need to use the formula, then switch out your glass for:

void brightfunc bf
2 val gtrans.cal
0
0

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

Note that you need to use "bf" as the modifier to your trans material to
see its effect. (Your original model used "void" which ignores the
brightfunc entirely.)

You should also use "cosine=Rdot;" in your cal file, or change the sign
of your calculation, which will always produce a negative cosine value in
this case.

Finally, you should feel free to try using the "glass" type with the
correct transmission value, which you can calculate from your formula,
which yields 0.87881 as the transmittance at normal incidence, and the
trans.cal file, which says transmission should be 0.95712, assuming an
index of refraction of 1.52:

void glass Glass1
0
0
3 0.95712 0.95712 0.95712

I'm hoping the results should be the same between the two descriptions.

Cheers,
-Greg

*From: *Ali Fatoorechi <ali@surveymbs.com>

*Date: *March 6, 2017 8:18:00 AM PST

Hi Guys,

I am fairly new to Radiance and am trying to test one of the CIE
Technical Report test 5.10 "Sky Component under a roof glazed opening".
There is only one window that is a 1m x 1m opening with 6mm clear glass
that serves a 4m x 4m x 3m room.
The formula for directional transmittance is defined in the report as the
one in this webpage:
http://naturalfrequency.com/Tregenza_Sharples/Daylight_Algor
ithms/algorithm_2_34.htm

The Sky Component value for the opening(assuming no glazing is used)
matches the report results but on introducing the glazing, Radiance gives
slightly lower results.
I am testing this test case against our own software too. Multiplying
the above directional transmittance to the radiance value along each ray
gives the correct result which is inline with the report.
But for some reasons I cannot get same from Radiance. I have set the transmissivity
of the glass to 1 but am not sure what value should I use here?
In other words if I want to scale the radiance along a ray by the above
formula only, how should I define the glazing?

The window rectangle is defined as two triangles

void brightfunc bf
2 val gtrans.cal
0
0
void glass Glass1
0
0
3 1 1 1

Glass1 polygon triangle1
0
0
9 (3 coordinates here..)
Glass1 polygon triangle2
0
0
9 (3 coordinates here..)

The "gtrans.cal" file is defined as below based on the formula given on
cosine = Dx * Nx + Dy * Ny + Dz * Nz;
val = -.028378 + (3.156075 * cosine) - (3.058376 * cosine * cosine) -
(1.428919 * cosine * cosine * cosine) + (4.014235 * cosine * cosine *
cosine * cosine) - (1.775827 * cosine * cosine * cosine * cosine * cosine);

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

_______________________________________________

_______________________________________________

_______________________________________________

Hi Ali,

If it makes you feel any better, this had me stumped as well. I thought that Rdot was guaranteed to be positive for the trans material, forgetting that I had changed this behavior long ago to make behavior more consistent. A better fix to the problem is to set:

cosine = abs(Rdot);

Cheers,
-Greg

···

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 7, 2017 10:29:48 AM PST

My mistake Greg,

Apology for wasting your time, I had the window facing the other way around. After rotating the window polyline the values match.

The sky is overcast.

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

On Tue, Mar 7, 2017 at 6:04 PM, Greg Ward <gregoryjward@gmail.com> wrote:

Is the sky for this test supposed to be uniform or overcast? I don't have access to the CIE document.

-Greg

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 7, 2017 9:46:40 AM PST

Yes I did change the cosine=Rdot.
I have uploaded the radiance oct/rad/script files in this link. Not sure you get a chance to look at this but I couldn't understand the reason for the difference between the results.

Best wishes,

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

On Tue, Mar 7, 2017 at 4:35 PM, Greg Ward <gregoryjward@gmail.com> wrote:
Did you remember to change your gtrans.cal file to set "cosine=Rdot" instead of your formula, which gives negative cosines?

-Greg

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 7, 2017 6:20:43 AM PST

Many thanks for the prompt reply Greg,

I appreciate the glass material perhaps describes the glazing more accurately.

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

So defining trans material as above means only the specular transmittance is left and diffuse part(transmittance/reflectance) is zero[?] This seems to be what I am looking for, but I am not sure what I've done wrong
as the values don't agree(Radiance gives 3.20, CIE report(and our software) 3.77). Modifying bf function to return 1 treats the material just as an opening(no coefficient applied) which is expected I guess.

Regards,

Ali Fatoorechi
MBS Survey Software Ltd

On Mon, Mar 6, 2017 at 8:45 PM, Greg Ward <gregoryjward@gmail.com> wrote:
Helo Ali,

If you have the formula that accounts for the presence of the window in your opening, you should not apply it to a "glass" surface. The Radiance "glass" type does an exact calculation of transmission and reflection as a function of incident angle, which your polynomial approximates. If you want or need to use the formula, then switch out your glass for:

void brightfunc bf
2 val gtrans.cal
0
0

bf trans Glass1
0
0
7 1 1 1 0 0 1 1

Note that you need to use "bf" as the modifier to your trans material to see its effect. (Your original model used "void" which ignores the brightfunc entirely.)

You should also use "cosine=Rdot;" in your cal file, or change the sign of your calculation, which will always produce a negative cosine value in this case.

Finally, you should feel free to try using the "glass" type with the correct transmission value, which you can calculate from your formula, which yields 0.87881 as the transmittance at normal incidence, and the trans.cal file, which says transmission should be 0.95712, assuming an index of refraction of 1.52:

void glass Glass1
0
0
3 0.95712 0.95712 0.95712

I'm hoping the results should be the same between the two descriptions.

Cheers,
-Greg

From: Ali Fatoorechi <ali@surveymbs.com>
Date: March 6, 2017 8:18:00 AM PST

Hi Guys,

I am fairly new to Radiance and am trying to test one of the CIE Technical Report test 5.10 "Sky Component under a roof glazed opening".
There is only one window that is a 1m x 1m opening with 6mm clear glass that serves a 4m x 4m x 3m room.
The formula for directional transmittance is defined in the report as the one in this webpage:
http://naturalfrequency.com/Tregenza_Sharples/Daylight_Algorithms/algorithm_2_34.htm

The Sky Component value for the opening(assuming no glazing is used) matches the report results but on introducing the glazing, Radiance gives slightly lower results.
I am testing this test case against our own software too. Multiplying the above directional transmittance to the radiance value along each ray gives the correct result which is inline with the report.
But for some reasons I cannot get same from Radiance. I have set the transmissivity of the glass to 1 but am not sure what value should I use here?
In other words if I want to scale the radiance along a ray by the above formula only, how should I define the glazing?

The window rectangle is defined as two triangles

void brightfunc bf
2 val gtrans.cal
0
0
void glass Glass1
0
0
3 1 1 1

Glass1 polygon triangle1
0
0
9 (3 coordinates here..)
Glass1 polygon triangle2
0
0
9 (3 coordinates here..)

The "gtrans.cal" file is defined as below based on the formula given on the above link:
cosine = Dx * Nx + Dy * Ny + Dz * Nz;
val = -.028378 + (3.156075 * cosine) - (3.058376 * cosine * cosine) - (1.428919 * cosine * cosine * cosine) + (4.014235 * cosine * cosine * cosine * cosine) - (1.775827 * cosine * cosine * cosine * cosine * cosine);

Regards,

Ali Fatoorechi
MBS Survey Software Ltd