luminaire modeling Was: set overflow in addobject

Hi Krzysztof, I'm interested to learn if you are successful at using Radiance to model parabolic reflectors. I presume you are trying to get an accurate distribution of the light fixture. When I have used Radiance to model light tubes such as tubular skylights, the ray-tracing method of Radiance breaks down after about 20 reflections--with only 7 surfaces! This means that light will not emit from the tubular skylight at angles between 180 degrees from nadir (grazing the ceiling) to 160 degrees. If many of your mirror polygons can "see" each other, then you may have the same problem. If you limit the number of reflections, then there is a certain amount of error introduced into the calculation for those rays that get "trapped". What is really needed is a forward ray-tracer. Have you tried the product called "Raydirect" that Georg Mischler and friends is providing? Georg, would it work for this application? -Chas

···

From: "Krzysztof Wandachowicz"
To:
Date: Fri, 18 Apr 2003 18:09:50 +0200
Subject: [Radiance-general] set overflow in addobject
Reply-To: [email protected]

Dear Radiance users,

I have made calculation of luminance and illuminance distribution of specular reflectors using Radiance. My parabolic reflector is made with 15750 very small polygons. All polygons are mirror material. The problem is that when I make oconv process I get the following error:

oconv: internal - set overflow in addobject
(parabola-0-004-R_63E0.6350.1)

6350 is the number of polygon.

The same error I have on different computers and no matter if it is Radiance 3.1 under LINUX or Desktop Radiance.

Regards,

Krzysztof Wandachowicz

------------------------------------------------
Krzysztof Wandachowicz
Politechnika Pozna=F1ska, Instytut Elektrotechniki Przemys=B3owej
Zak=B3ad Techniki =A6wietlnej
http://lumen.iee.put.poznan.pl/kw/
-----------------------------------------------

Hi Chas,
You are right, I try to calculate light distribution of luminaires. I can do
it for diffuse luminaires using Radiance. It works for luminaires with
diffuse reflectors and luminaires with diffusers (thanks Greg fur such
wonderful stuff). You can see Desktop Radiance Tutorial How to Calculate
Luminaires Using Radiance (only in Polish):
http://lumen.iee.put.poznan.pl/kw/oprawy/p-opr.html

This tutorial is for my students. They have exercise at fifth year of study
and make project of luminaire using Radiance. Now three of them try to take
Master of Science and their subjects are connected with calculation of
luminaires using Radiance. One of them try to calculate light distribution
of specular reflectors. It is possible to do it with Radiance. When we want
to use backward ray tracing method we look for Figure of Bright Points at
the surface of reflector. This is area where we can see image of lamp (light
source). This is very simple to calculate but the problem is that when we
use Radiance we have to divide reflector's surface into very small
elementary surfaces. Each of these elementary surfaces should be smaller
than dimension of lamp (light source). This is the reason why I build my
reflector with 15750 pieces.
Parabolic mirror reflector produces parallel beam (with point source placed
at focus) and none of polygons can see each other. Generally most of mirror
reflectors are build in such way.

Unfortunately I can't make my calculation with 15750 polygons. Greg, thanks
for your advise. I can start oconv process only at -r 389376 but after 3
hours I get:

Out of memory in emalloc (when I use Desktop Radiance)

oconv: system - out of octree space (when I use Radiance)

Best regards,
Krzysztof Wandachowicz

···

------------------------------------------------
Politechnika Poznanska, Instytut Elektrotechniki Przemyslowej
Zaklad Techniki Swietlnej
http://lumen.iee.put.poznan.pl/kw/
-----------------------------------------------

----- Original Message -----
From: Charles Ehrlich
To: [email protected]
Sent: Sunday, April 20, 2003 11:20 AM
Subject: [Radiance-general] Re: luminaire modeling Was: set overflow in
addobject

Hi Krzysztof,

I'm interested to learn if you are successful at using Radiance to model
parabolic reflectors. I presume you are trying to get an accurate
distribution of the light fixture. When I have used Radiance to model light
tubes such as tubular skylights, the ray-tracing method of Radiance breaks
down after about 20 reflections--with only 7 surfaces! This means that
light will not emit from the tubular skylight at angles between 180 degrees
from nadir (grazing the ceiling) to 160 degrees.

If many of your mirror polygons can "see" each other, then you may have the
same problem. If you limit the number of reflections, then there is a
certain amount of error introduced into the calculation for those rays that
get "trapped".

What is really needed is a forward ray-tracer. Have you tried the product
called "Raydirect" that Georg Mischler and friends is providing? Georg,
would it work for this application?

-Chas

Hi Kryzysztof,

Is it possible that there is some error causing all of your polygons to lie on top of each other? Try viewing them with "objline" -- you can use "objline model.rad | meta2tga -x 1024 -y 1024 > model.tga" then view the output with an image viewer that recognizes Targa files, or convert the Targa image to Radiance with "ra_t8 -r model.tga > model.pic". This will show you what your model looks like without having to run it through oconv, first.

-Greg

···

From: "Krzysztof Wandachowicz" <[email protected]>
...

Unfortunately I can't make my calculation with 15750 polygons. Greg, thanks
for your advise. I can start oconv process only at -r 389376 but after 3
hours I get:

Out of memory in emalloc (when I use Desktop Radiance)

oconv: system - out of octree space (when I use Radiance)

Hi Greg,
I have just made everything what you advised me. My model looks well (I
think), see:

I will try to build my reflector once again and maybe with fewer polygons.

Best regards,
Krzysztof Wandachowicz

···

------------------------------------------------
Politechnika Poznanska, Instytut Elektrotechniki Przemyslowej
Zaklad Techniki Swietlnej
http://lumen.iee.put.poznan.pl/kw/
-----------------------------------------------

From: "Greg Ward" <[email protected]>
Hi Kryzysztof,

Is it possible that there is some error causing all of your polygons to
lie on top of each other? Try viewing them with "objline" -- you can
use "objline model.rad | meta2tga -x 1024 -y 1024 > model.tga" then
view the output with an image viewer that recognizes Targa files, or
convert the Targa image to Radiance with "ra_t8 -r model.tga >
model.pic". This will show you what your model looks like without
having to run it through oconv, first.

-Greg

This is informative -- it looks to me like the density of polygons goes up dramatically near the center, and I suspect this is why oconv is unable to resolve your model. Oconv has an upper limit to the number of polygons it will put in an octree voxel, and you are running into this limit with lower values of -r and running out of memory as it tries to resolve the mesh with larger values of -r. The best solution would be to reduce the number of polygons you have in the center of your reflector, perhaps by going to a more sophisticated grid arrangement that what you have, which appears to be a uniform division of the polar coordinates.

-Greg

···

From: "Krzysztof Wandachowicz" <[email protected]>

I have just made everything what you advised me. My model looks well (I
think), see:
http://lumen.iee.put.poznan.pl/pliki/model.gif

I will try to build my reflector once again and maybe with fewer polygons.

Hi Greg,

I've just made oconv process with success. First I tried to reduce number of
polygons without success. There is no way. The most important problem are
polygons in the center of my reflector. There are 360 triangles with common
vertex in optical axis which make a part of sphere with very small diameter
(1 cm). When I delete only these 360 triangles I can make oconv process.

The second notice is that there is no way to make oconv process with -r
bigger than 262144. I tried to make calculation with -r 393216 when I got
"set overflow in addobject" but then I've got "out of memory in emalloc" or
"system out of octree space". I the other words if it was not possible to
make calculation with -r 262144 it would no way to do it at all.

Best regards,

Krzysztof.

···

--
Krzysztof Wandachowicz
http://lumen.iee.put.poznan.pl/kw/

From: "Greg Ward" <[email protected]>

This is informative -- it looks to me like the density of polygons goes
up dramatically near the center, and I suspect this is why oconv is
unable to resolve your model. Oconv has an upper limit to the number
of polygons it will put in an octree voxel, and you are running into
this limit with lower values of -r and running out of memory as it
tries to resolve the mesh with larger values of -r. The best solution
would be to reduce the number of polygons you have in the center of
your reflector, perhaps by going to a more sophisticated grid
arrangement that what you have, which appears to be a uniform division
of the polar coordinates.

-Greg