I think there is a bug in either sunShine or shootAtAngle functions (PhotonSolver2D.java). Specifically, the number of photons shot in shootAtAngle is not taking into account changes of lx or ly.
For example, if sunAngle is 90 degrees then
in sunShine, spacing = lx/1/rayCount
in shootAtAngle, dx = lx/rayCount and m=rayCount
This means that the number of photons shot is constant. On the other hand, rayPower does not depend on the grid size either. Therefore, the greater the grid size the lower the effect of the same amount of solar power density, which is not reasonable.
I think there is a bug in either sunShine or shootAtAngle functions (PhotonSolver2D.java). Specifically, the number of photons shot in shootAtAngle is not taking into account changes of lx or ly.
For example, if sunAngle is 90 degrees then in sunShine, spacing = lx/1/rayCount in shootAtAngle, dx = lx/rayCount and m=rayCount
This means that the number of photons shot is constant. On the other hand, rayPower does not depend on the grid size either. Therefore, the greater the grid size the lower the effect of the same amount of solar power density, which is not reasonable.