HB+_some ill results are negative when "ab" is set as 0

Okay, I hope this can clarify things a bit:

For, a normal daylighting simulation Honeybee[+] does three calculations:

  • Step1: Diffuse calculation with Monte-carlo raytracing where the user can control the number of bounces.

  • Step2: A direct diffuse calculation also with Monte-carlo ray tracing with exactly one bounce. This is to get the contribution from direct sun. The user cannot control this and it happens under the hood.

  • Step3: Finally, a direct-only calculation involving accurate sun. Which again, the user cannot control. Direct calculation does not depend on bounces as it is just shadow testing.

Now, the question is why is it that one can get negative values. So, lets examine the scenario for just one point:
Lets say you set the ambient bounces in Step 1 to 0. So you get 0 lux in from the diffuse calculation. Now you have no control over step 2, so whether you want to or not, you are going to get a value for direct sun which (lets assume) is 500 lux. So, from the first two steps, the resultant lux so far is -500 lux. Now, in the third step, lets say the accurate value of direct sun is 300 lux. Then your result will be -200 lux.

So, what should be done?
First of all, if this is a normal daylighting simulation dont set the ambient bounces to zero. Under any circumstance. Because your results will be wrong. @mostapha, I hope there is a way that users can calculate ASE directly without -ab 0. If that is the case, we have to fix the source code.

2 Likes