[Radiance-general] window glass modeling

Thomas Bleicher tbleicher at googlemail.com
Tue Dec 28 11:03:28 PST 2010


Merry Christmas Milan.

Please find answers to your questions below.

On Tue, Dec 28, 2010 at 12:17 PM, Milan Cakanovic
<milan.cakanovic at hotmail.com> wrote:
> For the purposes of my work, I need to calculate illuminance level in one point
> of working plane in a simple office (for clear sky and sunny day), for different
> luminaires output levels, different slat angles of exterior venetian blinds, and
> for different times of the day (i.e. for different solar angles). I am not
> interested in for image rendering, just for the illuminance calculation.

Just a comment here: You should calculate the illuminance
at a few points around your actual sample point and then
average the results, especially when you want to use blinds.
This will avoid peak values due to direct sunlight passing
between the slates and hitting your single measurement point.

> I am stuck with window glass modeling.
> his is what I got from Optics5 for 2 layers glazing system
> (1. clear glass 6mm ; AIR gap 12mm ; 2. clear glass 4mm):
>
> void  glass       GlzSys1_glass
> 0
> 0
> 3     0.832     0.884     0.859
>
> void  BRTDfunc    GlzSys1_front
> 10
>      0.136     0.147     0.146
>      0.764     0.811     0.789
>      0 0 0
>      .
> 0
> 9 0 0 0 0 0 0 0 0 0
>
> void  BRTDfunc    GlzSys1_back
> 10
>      0.139     0.148     0.148
>      0.764     0.811     0.789
>      0 0 0
>      .
> 0
> 9 0 0 0 0 0 0 0 0 0

These are definitions you can use directly in Radiance. The first
four lines define the base glass material the second and third
group define separate materials for the front and back of the
sandwich which are different due to the glass pane thickness
and coatings (if there are any).

I have not used a BRTDfunc material so far, but I think you would
pick the right definition for your scene (GlzSys1_back probably)
and use it to define the window polygon. It is a very crude approach
and does not account for a number of effects. There have been
a couple of discussions on this here on the list which you can
research if you want.

> And this is what I got from Window6 for the same glazing system :
>
> Angle      0    10    20    30    40    50    60    70    80    90 Hemis
>
> Vtc  : 0.798 0.798 0.796 0.791 0.779 0.748 0.675 0.521 0.261 0.000 0.695
> Rf   : 0.144 0.144 0.144 0.147 0.157 0.185 0.255 0.405 0.664 1.000 0.230
> Rb   : 0.146 0.146 0.146 0.149 0.159 0.188 0.258 0.411 0.674 1.000 0.233

This is just a general representation of the angular dependent
transmission/reflection of the glazing. You would have to convert
this to a format Radiance can understand (but you already have
the description above).

> When I make a model of complex fenestration system with exterior
> venetian blinds, I have two different cases :
>
> Case 1. When sun rays don't pass directly between the venetian
>        blind slats, just indirectly from slats (reflected from slats).
>
> Question 1. Because sun rays don't pass directly trough window glass,
> I suppose that all the light that reaches the window glass is diffuse
> (light is reflected from ground, sky and slats). If this is so, which is
> the correct value for the definition of window glass material?

To define a basic glass material you would use the Vtc (visual
transmittance) for a 0 degree angle (orthogonal to surface). Some
of the angular dependence is accounted for in the material primitive
"glass" so we don't have to fuzz about with all the angles. It's not
very accurate but for a scene that includes blinds and artificial
lighting an accurate glazing representation is probably less important.
You have to decide about this of course.

The transmittance(Tn) has to be converted to transmissivity(tn) via
this formula:

tn = (sqrt(.8402528435+.0072522239*Tn*Tn)-.9166530661)/.0036261119/Tn

With a base transmittance of 0.798 we get a transmissivity of 0.869 and
could define a simple glass material as

void glass GlzSys1_simple
0
0
3 0.869 0.869 0.869

This is not that far of from the GlzSys1_glass above.


> Question 2. Let us assume that correct Vtc (transmittance) value is 0.695. Is
>            this the right way to calculate RGB transmissivity for glass:
>            0.832*(0.695/0.798)   0.884*(0.695/0.798)   0.859*(0.695/0.798),
> which is equal to:
>            0.725                 0.770                 0.748

No. See above. If you only have one value for the transmittance and
no information on the spectral distribution you can use the same Tn
for the red, green and blue values. Using different R, G and B will
only give the glass a slight colour tint.

> Question 3. This may be a stupid question. Theoretically, if I should get the
>            same results in the following two cases:
> 1. I create the distribution for the window with mkillum; window glass is
>   defined with transmissivity values:
>   0.725   0.770   0.748
> I compile a new scene octree that includes the old one and adds the new illum
> window (new .rad file) to it. Then, I calculate lux level on working plane with
> rtrace.

If you use mkillum you have to replace the window material with
the definition created by mkillum. You also have to make sure that
the polygon normal points inwards or you won't get any light.

> 2. I don't create window polygon (there's nothing, i.e. there is air). But
> instead, I can scale RGB values for light solar with the glass transmissivity
> values.

That is a reasonable approach but only accounts for the light
contributed by the sun. (See below about the sky).

> Question 4. How can I scale the material of sky, if it is defined with:
>
>   void brightfunc skyfunc
>   2 skybr skybright.cal
>   0
>   7 1 3.76e+00 3.72e+00 2.98e-01 -0.489041 -0.851114 0.190903
>   skyfunc glow skyglow
>   0
>   0
>   4  .85 1.04 1.2  0
>
> I guess that is not allowed to scale the RGB values .85 1.04 1.2, because of
> the equation:   1 = 0.265*R + 0.670*G + 0.065*B.

You can scale the values of the glow material. It only needs
average to 1 because the actual brightness of this particular
sky is already defined in the definition of "skyfunc". But you
want to reduce that brightness by 1/4 so you can apply the
transmittance values directly to the RGB values as above.

However, this will not take into account the specific angular
dependent transmission of glass for the light from the sky.
Therefore, light that hits the glass from the sides will be
equally reduced as the light from in front of the window.
This introduces some difference into the two calculation
results you have to be aware of.


> Case 2. When one part of the sun rays pass directly between the venetian blind
>        slats, and the second part indirectly from slats.
>
> This is perhaps the worst case for modeling. Let us assume that exterior
> venetian blinds have 35 slats. If I want to make a proper model of window glass
> polygon, I suppose that I need to replace one glass polygon with 69 glass
> polygons. 34 are directly exposed to the sun and have some values for RGB
> transmissivity (which depend from sun angle). Other 35 are in shade and have
> some other values for RGB transmissivity (transmissivity for diffuse light). Of
> course, I need to do some trigonometry calculations. This model of window glass
> is valid only for one light source (solar source sun), but not for
> skyglow source sky. This seems very complicated, and because of that would be
> great if I could do what I asked in questions 3.2 and 4.
>
> Queation 5. I just need a short comment of paragraph above.

Sounds incredibly complicated and is not at all necessary.
There is no difference in the definition for glass for sunlight and
glass for skylight. The various transmission values you have
in your Window6 output are approximated/accounted for in the
base primitive "glass" or the BRTDfunc definition.

I think this also deals with Case 3 and Question 6.

If you want to split you calculation into sun, sky and ground
you can do so in the scene definition and later add the individual
results. However, your scenario is not a good candidate for
that because the problem you see does not really exist.


Regards and enjoy the holidays/in-between-days.

Thomas



More information about the Radiance-general mailing list