Hi,
Checking the values of the int_mtx output of the IncidentRadiation component i get that for each sensor i get 290 values instead of the expected 145 (as Tragenza number of patches), like this:

Each sub-list of the matrix (aka. branch of the Data Tree) represents one of the points used for analysis. The length of each sub-list matches the number of sky patches in the input sky matrix (145 for the default Tregenza sky and 577 for the high_density Reinhart sky).

This is not a critical question but will be nice to understand if iâ€™m missing something or there is a bug in the output.

Hi @charlie.brooker ,
Thanks for answering. I donâ€™t believe the second results relates to ground. At least, for some sample results, they all look the same. Iâ€™m wondering â€¦
-A.

My python isnâ€™t the best, but from what I can tell all_vecs is a list 290 long made up of sky and ground vectors.

int_mtx is then generated from int_mtx_init taking all_vecs as an input, so I assume the length of int_mtx should be based on the sky and ground vectors.

Hereâ€™s a snippet from

for vec in lb_vecs)
all_vecs = [from_vector3d(vec) for vec in lb_vecs + lb_grnd_vecs]
# intersect the rays with the mesh
normals = [from_vector3d(vec) for vec in study_mesh.face_normals]
int_matrix_init, angles = intersect_mesh_rays(
shade_mesh, points, all_vecs, normals, cpu_count=workers)
# compute the results
results = []
int_matrix = []
for int_vals, angles in zip(int_matrix_init, angles):
pt_rel = [ival * math.cos(ang) for ival, ang in zip(int_vals, angles)]
int_matrix.append(pt_rel)

Hi @charlie.brooker ,
You are right. Checked the code and the sun vectors are duplicated and their direction reversed. Iâ€™m assuming here that some diffused radiation is included in the calculation (the one from the ground).

What confused me at the beginning is the hint explanation of int_max output. I believe it is not correct.