Radiation analysis – improving speed

I am investigating different methods for running radiation analyses, focusing primarily on speed. I have run test with a simple model of just one 10x10 m square surface with 25 test points.

  1. Ladybug_Radiation Analysis in GH, inluding genCumulativeSkyMtx and selectSkyMtx, takes around 18 seconds on my computer (with parallel_ set to true). The radiation analysis itself runs in under a second.

  2. honeybee.radiance.recipes.radiation.gridbased in python (without Rhino/GH) runs in about 59 seconds.

  3. honeybee.radiance.recipes.annual.gridbased with simulation_type=1 (without Rhino/GH) runs in about 78 seconds.

I’m interested in any insights in this and in what can be done to improve speed. Can the method from Ladubug legacy be used without Rhino/GH? Can the generated skies be saved and reused (I will use a bunch of different weather files)?

I am looking for a solution without Rhino/GH that could be run in a few seconds for a simple model.

@mostapha is the best person to answer this one.

@mostapha, any input?

This is based on the concept of creating a single radiation dome for the entire year and then tracing rays to it from the grid points, or alternatively generating an image by tracing rays from pixels of a view definition. The celestial hemisphere is split into a dome consisting of 145 patches and then the annual radiation is cumulatively applied to individual patches. The calculation takes less time as this is a single ray-trace calculation to a hemispherical dome.

This is based on the concept of daylight coefficients. The annual result is sum of parts (i.e 8760 hours). The calculation takes more time as we simultaneously, and independently, trace rays to 145 sky patches and then follow it up with some matrix calculations.


The two methods aren’t really comparable even though you can arrive at same results as #1 from #2 (or #3). The reverse isn’t possible.

What @sarith said!

The difference between 2 and 3 is because in 2 we calculate diffuse sky + direct solar and in 3 we calculate total sky - direct sky + direct solar.

To answer your other question we need to know first if you need the cumulative radiation results or the results for every hour?

Thanks @sarith and @mostapha! I only need annual results, so genCumulativeSky seems to be the right path. Is that only implemented in Ladybug legacy right now?

yes it is @Daniel568

hi @Daniel568

note that for 3 with daylight coefficients you can use multiple cpus to run it faster.
In the commands of rfluxmtx and rcontrib you can specify the -n parameter followed by the number of cpus: rfluxmtx - n 5 …

For strictly outdoor solar radiation Ladybug legacy is really quick. For indoor solar radiation through glazed surfaces (with solar factors instead of visible transmittance) you can use 2 or 3.

What @OlivierDambron says is right. The LB option doesn’t take into account the influence of the surroundings/context. Just the sky.
-A.