Calculating transfer matrix for measurement points with luminaires in a room

Hello Radiance community,

I have a room with a few luminaires (no daylight) and given measurement points, and want to have the transfer matrix (influence of each luminaire on each measurement point) for this room.

Since a few days I am trying around with rfluxmtx but got stuck in an error message: "missing receiver surface!"

I'm using radiance on windows with no gui.
I made a batch file to call:
oconv szene.rad lights.rad > szene.oct
rfluxmtx -I+ szene.oct @szene.opt - lights.rad < messpunkte.xyz > koeffizientenmatrix.mtx

in szene.rad I used #@rfluxmtx h=u before some polygons where the measurement points (messpunkte.xyz) are.

Szene.opt is: -I+ -h -dp 512 -ar 128 -ds .15 -dj .7 -dt .05 -dc .5 -dr 3 -ss .7 -st .1 -ab 0 -aa .1 -ad 512 -as 256 -lr 10 -lw .002 -av 0 0 0

Lights.rad positions the luminaires with xform and calls #@rfluxmtx h=u before each.
#@rfluxmtx h=u
!xform -n L1_direkt -t 1.21 2.6 2.6 k_direkt.rad
#@rfluxmtx h=u
!xform -n L2_direkt -t 3 2.6 2.6 k_direkt.rad
...

I also tried to write #@rfluxmtx h=u inside the k_direkt.rad luminaire file, no difference.

Feels like I tried every combination I can imagine for the luminaires and polygons but it just won't work.
I have attached the files.

Does anyone have an idea or has a working example I could learn from?

Thanks,
Berat

lights.rad (432 Bytes)

messpunkte.xyz (1.42 KB)

szene.oct (545 Bytes)

szene.opt (127 Bytes)

szene.rad (2.23 KB)

k_direkt.dat (1.46 KB)

k_direkt.rad (885 Bytes)

Aktuna,

You need to change the modifier of each light, not the name as follows
(note that I'm using -m instead of -n):

#@rfluxmtx h=u
!xform -m L1_direkt -t 1.21 2.6 2.6 k_direkt.rad
#@rfluxmtx h=u
!xform -m L2_direkt -t 3 2.6 2.6 k_direkt.rad

And you need to define all these new modifiers in k_direkt.rad:

void brightdata k_direkt_dist
5 flatcorr k_direkt.dat source.cal src_phi4 src_theta
0
1 22.7273

k_direkt_dist light L1_direkt
0
0
3 1 1 1

k_direkt_dist light L2_direkt
0
0
3 1 1 1

And you need to delete the top polygon of your light fixture, you can't do
hemispherical sampling for two polygons that have opposite surface normals.

Then finally here is the proper command syntax:
rfluxmtx -V+ -I+ @szene.opt - lights.rad < messpunkte.xyz szene.rad >
koeffizientenmatrix.mtx

If the top polygon is important (ie it contributes significant light) then
you can either calculate separate contributions from up vs. down, or you
can use rcontrib:
rcontrib -V+ -I+ @szene.opt -m L1_direkt -m L2_direkt -m L3_direkt -m
L4_direkt -m L5_direkt -m L6_direkt szene.oct <messpunkte.xyz >
koeffizientenmatrix.mtx

Best,
Andy

···

On Mon, May 11, 2015 at 8:51 AM, Aktuna, Berat < [email protected]> wrote:

Hello Radiance community,

I have a room with a few luminaires (no daylight) and given measurement
points, and want to have the transfer matrix (influence of each luminaire
on each measurement point) for this room.

Since a few days I am trying around with rfluxmtx but got stuck in an
error message: "missing receiver surface!"

I'm using radiance on windows with no gui.

I made a batch file to call:

oconv szene.rad lights.rad > szene.oct

rfluxmtx -I+ szene.oct @szene.opt - lights.rad < messpunkte.xyz >
koeffizientenmatrix.mtx

in szene.rad I used #@rfluxmtx h=u before some polygons where the
measurement points (messpunkte.xyz) are.

Szene.opt is: -I+ -h -dp 512 -ar 128 -ds .15 -dj .7 -dt .05 -dc .5 -dr 3
-ss .7 -st .1 -ab 0 -aa .1 -ad 512 -as 256 -lr 10 -lw .002 -av 0 0 0

Lights.rad positions the luminaires with xform and calls #@rfluxmtx h=u
before each.

#@rfluxmtx h=u

!xform -n L1_direkt -t 1.21 2.6 2.6 k_direkt.rad

#@rfluxmtx h=u

!xform -n L2_direkt -t 3 2.6 2.6
k_direkt.rad

...

I also tried to write #@rfluxmtx h=u inside the k_direkt.rad luminaire
file, no difference.

Feels like I tried every combination I can imagine for the luminaires and
polygons but it just won't work.

I have attached the files.

Does anyone have an idea or has a working example I could learn from?

Thanks,

Berat

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Andy,

that helped a lot, thanks!
I get results now, a rgb triple for each luminaire.
(koeffizientenmatrix_rgb.mtx)

I tried to use the -c 0 option to sum up the rgb values of rtcontrib but 0 seems to be unsupported
So I use rcalc and sum up the values afterwards.

Since we used "-I+" I don't have to multiply them with "$1=179*($1*.265+$2*.67+$3*.065)" but just add them together, right?
If I just add them, I got a tenth of the value it should be. (koeffizientenmatrix_lux2.mtx)
If I use the conversion formula, it's much higher as it should be. (koeffizientenmatrix_lux.mtx)

Do you have an hint for me?

Best ragards and thanks,
Berat

koeffizientenmatrix_rgb.mtx (16.4 KB)

koeffizientenmatrix_lux.mtx (0 Bytes)

koeffizientenmatrix_lux2.mtx (0 Bytes)

···

Von: Andrew McNeil [mailto:[email protected]]
Gesendet: Montag, 11. Mai 2015 20:16
An: Radiance general discussion
Betreff: Re: [Radiance-general] Calculating transfer matrix for measurement points with luminaires in a room

Aktuna,

You need to change the modifier of each light, not the name as follows (note that I'm using -m instead of -n):
#@rfluxmtx h=u
!xform -m L1_direkt -t 1.21 2.6 2.6 k_direkt.rad
#@rfluxmtx h=u
!xform -m L2_direkt -t 3 2.6 2.6 k_direkt.rad

And you need to define all these new modifiers in k_direkt.rad:
void brightdata k_direkt_dist
5 flatcorr k_direkt.dat source.cal src_phi4 src_theta
0
1 22.7273

k_direkt_dist light L1_direkt
0
0
3 1 1 1

k_direkt_dist light L2_direkt
0
0
3 1 1 1

And you need to delete the top polygon of your light fixture, you can't do hemispherical sampling for two polygons that have opposite surface normals.

Then finally here is the proper command syntax:
rfluxmtx -V+ -I+ @szene.opt - lights.rad < messpunkte.xyz szene.rad > koeffizientenmatrix.mtx

If the top polygon is important (ie it contributes significant light) then you can either calculate separate contributions from up vs. down, or you can use rcontrib:
rcontrib -V+ -I+ @szene.opt -m L1_direkt -m L2_direkt -m L3_direkt -m L4_direkt -m L5_direkt -m L6_direkt szene.oct <messpunkte.xyz > koeffizientenmatrix.mtx

Best,
Andy

On Mon, May 11, 2015 at 8:51 AM, Aktuna, Berat <[email protected]<mailto:[email protected]>> wrote:
Hello Radiance community,

I have a room with a few luminaires (no daylight) and given measurement points, and want to have the transfer matrix (influence of each luminaire on each measurement point) for this room.

Since a few days I am trying around with rfluxmtx but got stuck in an error message: "missing receiver surface!"

I'm using radiance on windows with no gui.
I made a batch file to call:
oconv szene.rad lights.rad > szene.oct
rfluxmtx -I+ szene.oct @szene.opt - lights.rad < messpunkte.xyz > koeffizientenmatrix.mtx

in szene.rad I used #@rfluxmtx h=u before some polygons where the measurement points (messpunkte.xyz) are.

Szene.opt is: -I+ -h -dp 512 -ar 128 -ds .15 -dj .7 -dt .05 -dc .5 -dr 3 -ss .7 -st .1 -ab 0 -aa .1 -ad 512 -as 256 -lr 10 -lw .002 -av 0 0 0

Lights.rad positions the luminaires with xform and calls #@rfluxmtx h=u before each.
#@rfluxmtx h=u
!xform -n L1_direkt -t 1.21 2.6 2.6 k_direkt.rad
#@rfluxmtx h=u
!xform -n L2_direkt -t 3 2.6 2.6 k_direkt.rad
...

I also tried to write #@rfluxmtx h=u inside the k_direkt.rad luminaire file, no difference.

Feels like I tried every combination I can imagine for the luminaires and polygons but it just won't work.
I have attached the files.

Does anyone have an idea or has a working example I could learn from?

Thanks,
Berat

_______________________________________________
Radiance-general mailing list
[email protected]<mailto:[email protected]>
http://www.radiance-online.org/mailman/listinfo/radiance-general

You need to use the formula (179*....).

If your values are 10 times higher than you expect, you should look at your
ies2rad conversion process to make sure that units are consistent and that
any multipliers you use make sense.

Best,
Andy

···

On Tue, May 12, 2015 at 8:01 AM, Aktuna, Berat < [email protected]> wrote:

Hi Andy,

that helped a lot, thanks!

I get results now, a rgb triple for each luminaire.

(koeffizientenmatrix_rgb.mtx)

I tried to use the -c 0 option to sum up the rgb values of rtcontrib but 0
seems to be unsupported

So I use rcalc and sum up the values afterwards.

Since we used "-I+" I don't have to multiply them with
"$1=179*($1*.265+$2*.67+$3*.065)" but just add them together, right?

If I just add them, I got a tenth of the value it should be.
(koeffizientenmatrix_lux2.mtx)

If I use the conversion formula, it's much higher as it should be.
(koeffizientenmatrix_lux.mtx)

Do you have an hint for me?

Best ragards and thanks,

Berat

*Von:* Andrew McNeil [mailto:[email protected]]
*Gesendet:* Montag, 11. Mai 2015 20:16
*An:* Radiance general discussion
*Betreff:* Re: [Radiance-general] Calculating transfer matrix for
measurement points with luminaires in a room

Aktuna,

You need to change the modifier of each light, not the name as follows
(note that I'm using -m instead of -n):

#@rfluxmtx h=u

!xform -m L1_direkt -t 1.21 2.6 2.6 k_direkt.rad

#@rfluxmtx h=u

!xform -m L2_direkt -t 3 2.6 2.6 k_direkt.rad

And you need to define all these new modifiers in k_direkt.rad:

void brightdata k_direkt_dist

5 flatcorr k_direkt.dat source.cal src_phi4 src_theta

0

1 22.7273

k_direkt_dist light L1_direkt

0

0

3 1 1 1

k_direkt_dist light L2_direkt

0

0

3 1 1 1

And you need to delete the top polygon of your light fixture, you can't do
hemispherical sampling for two polygons that have opposite surface normals.

Then finally here is the proper command syntax:

rfluxmtx -V+ -I+ @szene.opt - lights.rad < messpunkte.xyz szene.rad >
koeffizientenmatrix.mtx

If the top polygon is important (ie it contributes significant light) then
you can either calculate separate contributions from up vs. down, or you
can use rcontrib:

rcontrib -V+ -I+ @szene.opt -m L1_direkt -m L2_direkt -m L3_direkt -m
L4_direkt -m L5_direkt -m L6_direkt szene.oct <messpunkte.xyz >
koeffizientenmatrix.mtx

Best,

Andy

On Mon, May 11, 2015 at 8:51 AM, Aktuna, Berat < > [email protected]> wrote:

Hello Radiance community,

I have a room with a few luminaires (no daylight) and given measurement
points, and want to have the transfer matrix (influence of each luminaire
on each measurement point) for this room.

Since a few days I am trying around with rfluxmtx but got stuck in an
error message: "missing receiver surface!"

I'm using radiance on windows with no gui.

I made a batch file to call:

oconv szene.rad lights.rad > szene.oct

rfluxmtx -I+ szene.oct @szene.opt - lights.rad < messpunkte.xyz >
koeffizientenmatrix.mtx

in szene.rad I used #@rfluxmtx h=u before some polygons where the
measurement points (messpunkte.xyz) are.

Szene.opt is: -I+ -h -dp 512 -ar 128 -ds .15 -dj .7 -dt .05 -dc .5 -dr 3
-ss .7 -st .1 -ab 0 -aa .1 -ad 512 -as 256 -lr 10 -lw .002 -av 0 0 0

Lights.rad positions the luminaires with xform and calls #@rfluxmtx h=u
before each.

#@rfluxmtx h=u

!xform -n L1_direkt -t 1.21 2.6 2.6 k_direkt.rad

#@rfluxmtx h=u

!xform -n L2_direkt -t 3 2.6 2.6
k_direkt.rad

...

I also tried to write #@rfluxmtx h=u inside the k_direkt.rad luminaire
file, no difference.

Feels like I tried every combination I can imagine for the luminaires and
polygons but it just won't work.

I have attached the files.

Does anyone have an idea or has a working example I could learn from?

Thanks,

Berat

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general