Strange results for the first test point in rcontrib with -dr 1 or higher

I’m working on a workflow to use rcontrib for modeling direct reflection and I think there is a bug in rcontrib when dr is set higher than 0.

To describe the issue I made a simple model for a room with four test point in the center. There is a surface in front of the room facing towards the room which has a has mirror material with %100 reflection to create a secondary source. I’m using the solar positions as modifiers.

Now when I run rcontrib with -dr set to 1 the results for points 2-4 are reasonable but it returns unexpected results for the first point. Interestingly enough if I copy the same point twice the results for the second point looks fine.

Here are the commands:

rcontrib -y 4 -dr 1 -as 128 -st 0.85 -lw 0.05 -M sky\analemma.mod -dc 1.0 -ar 16 -ss 0.0 -I -dp 64 -ab 0 -dt 0.0 -ds 0.5 -aa 0.25 -lr 4 -ad 50000 -dj 0.0 reflection.oct < reflection.pts > result\total..reflection.dc
rmtxop -c 47.4 119.9 11.6 -fa result\total..reflection.dc > result\total..reflection.ill

and here is the results:

#?RADIANCE
rmtxop -c 47.4 119.9 11.6 -fa result\total..reflection.dc
NROWS=4
NCOLS=24
NCOMP=1
FORMAT=ascii

 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	 1.170006000000000e+005	
 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 9.161318724000001e-003	 9.416367509000000e-003	 9.511395611000000e-003	 9.444757150000000e-003	 9.217575618000001e-003	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	
 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	
 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 9.161318724000001e-003	 9.416367509000000e-003	 9.511395611000000e-003	 9.444757150000000e-003	 9.217575618000001e-003	 8.833733145000000e-003	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	 0.000000000000000e+000	

Here is the folder with all the input files. I’m using Radiance version 5.0.a.12 on Windows.

As far as I can tell, your test points are shadowed by the roof at this solar declination. Also, you have set -ab 0, so you won’t get any interreflections. The -lw setting is also suspiciously low. Try:
-lw 1e-5 -ab 2
with your other options and see if that doesn’t improve matters.

Hi Greg, Thanks.

The scene except for the reflective surface is black and I’m only interested direct and direct reflected calculation for the mirror surfaces. That’s why ab is set to 0. I changed the value for lw but it didn’t change the results.

To clarify, I get the expected results for the other points and the sun is reflected during the hours that it should. The issue is that the first point always sees all the modifiers. It is also covered with the roof and the walls. As I said if I copy the same x, y, z point twice the second one generates the results as expected.

That is super-suspicious. I’ll have a closer look and see if I can determine what’s going on.

This was indeed a bug, heretofore unnoticed by me (or anyone). I was accidentally including the direct relay (virtual source) pretests in my modifier sums. It was easy enough to fix once I figured out what was going wrong. This has been checked into CVS, but will of course take time to make its way into the Windows builds. Meanwhile, putting a “dummy point” at the beginning of your input file is a reasonable workaround. Subsequent values should be correct.

1 Like

Seems like a good reason to make up a fresh set of packages. =) I’ll make sure the tests all ran fine later, and will try to make a new set of installers tomorrow.

1 Like