[Radiance-general] window glass modeling

Lars O. Grobe grobe at gmx.net
Tue Dec 28 10:53:14 PST 2010


Hi Milan!

Welcome onboard!

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

Hm, a lot of work. A first hint, think about how to organize that, so
that you can later repeat the renderings when you have to change
something. People have been using Makefiles, bash scripts, rad as a
specialized tool, ...

> I am not interested in for image rendering, just for the illuminance
> calculation.

It will still be useful to render some views (plan view, perspectives) 
to understand what is going on. Artefacts due to ambient settings not 
adapted to e.g. you fenestration become evident when you look at a 
splotchy image, but may be difficult to understand from some few 
illuminances.

> stuck with window glass modeling. This 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

As far as I understand, for clear glass this is all you need.

> 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?

You need the transmissivity for a material definition of a glass 
modifier. Calculating the transmissivity from visual light transmittance 
is discussed in Axel's Radiance tutorial, p. 47. The material properties 
of you glass pane are not depending on the shading system or incident light.

> 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. 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. For example: Istead: void light
> solar 0 0 3 2.72e+06 2.72e+06 2.72e+06, I put: void light solar 0 0 3
> 2.72e+06*0.725 2.72e+06*0.770 2.72e+06*0.748, i.e.: void light solar
> 0 0 3 1.972e+06 2.094e+06 2.035e+06 I compile a scene with changed
> .mat file, and then I calculate lux level on working plane with
> rtrace. Of course, I will try to calculate this, but I'm definitely
> interested in the opinion of experts.

The glass object is not only affecting the transmission through the 
window opening by simply multiplying, it is also reflective and depends 
on the angle of incidence. The sun close to the zenith would lead to 
large portions of irradiance on the glass pane be reflected for example.

> Question 4. How can I scale the material of sky, if it is defined
> with:

You can (if it makes sense) scale the brightness of the sky either by 
changing the return value or the glow material that is modified by the 
brightfunc. Scaling the zenith and ground plane brightnesses should 
work, but is little transparent (and in fact you change the input values 
here for the skybright.cal script). Instead, it would be better to scale 
the glow. Of course, if you scale by smaller then 1, you will find 
0.265*R + 0.670*G + 0.065*B < 1 . Still I think you will need a glass 
pane in your model to care for angular dependance and reflection.

> 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.

You need only one glass pane. Same as in real. The only pitfall is that, 
without mkillum, you would get a lot of noise at acceptable ambient 
settings, or never ending rendering times. So just use a mkillum surface 
at your glass pane, and on the inner side of the blinds.

> Case 3. No venetian blinds - just window glass.
>
> Let us assume that octree (scene) includes 3 light sources (sun, sky
> and ground), and sun incidence angle is 70 degrees. If I make a model
> of window glass with RGB transmissivity: 0.725  0.770  0.748
> (transmittance=0.695), the model will be correct for sky and ground,
> but not for sun, because of transmittance for angle of 70 degrees is
> 0.521. Thus, whatever value that I take for RGB transmissivity, I
> make a some mistake, when I calculate illumination.

No. Radiance uses a built-in material model for glass. There is a file 
called materials.pdf as part of the Radiance distribution explaining how 
materials are modeled in Radiance.

> Question 6. Does this problem can be solved in one of two ways:
>
> 1. I scale values for sun, sky and ground, in the manner described in
> questions 3.2 and 4. 2.

You do not need all that. Try to model the scene as the real world is - 
and avoid scaling the universe just as you would not have this option in 
real life neither ;-) The only cheat here is that you can use a single 
surface in place of the window glass, which in fact consists of two 
glass bodies separated by air. This is the only optimization you need, 
together with helping out Radiance by pre-calculating the distribution 
behind the shading using mkillum.

I'd propose that you just start with a simple case, e.g. the glazing 
without blinds, set up the rendering procedure (e.g. a script or 
Makefile), render illuminance on a work plane (maybe you put a desk 
surface into your model) using rpict -i and get the sensor points' 
illuminances using rtrace -I. Once you have completed that, there will 
be a better understanding of the more complicated tasks, and you will 
know how Radiance works in your case. It is difficult to solve all 
questions in advance, better get the hands on this nice simulation 
toolbox and your model :-)

And always feel free to ask if you face unexpected behaviour by the 
software.

Cheers, Lars.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3740 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://www.radiance-online.org/pipermail/radiance-general/attachments/20101228/08a67d57/attachment.bin>


More information about the Radiance-general mailing list