Annual analysis calculation time


#1

Dear all,

After many years of working with the great LB HB plugins, I am testing extensively HB+ 0.0.05 in order to apply it soon on Revit at work.
I have run few tests on Rhino with DF and Solar Access components and I am amazed how fast and responsive they are!
On the other hand, I am running annual analysis (both solar and daylight); I know the huge amount of output produced but I am worried about calculation times, quite long and resources demanding if compared to LB/HB Legacy. I feel this critical especially in the concept phase when usually many volumetric options are going to be evaluted.

I performed a solar annual analysis on a simple building envelope within an urban context (attached) with the following inputs
2 surface analyzed
1440 test points
1532 obstruction meshes


With complexity setting to 0 (low), calculations lasts 12 minutes on my laptop, while the same on LB takes few seconds.
My laptop is
i7-7500U,
16 GB SDRAM DDR4-2133,
NVIDIA® GeForce® 940MX 4 GB
DDR3 SSD M.2 da 256 GB
Rhino 6.1 SR1

I am wondering if it is possible to speed the calculations. Any hints?
Will parallel CPU option (as for the legacy plugins) be available in the near future?
Here you’ll find my model and code. 3D_test twin towers_190203_AB.3dm (509.1 KB)
test_H _Solar annual analysis_190203_AB.gh (449.7 KB)

Your help and suggestions will be very appreciated!
Many thanks in advance!
Regards from Italy,
Alberto


#2

I haven’t got the right software here to view your scripts but it seems that you are using Honeybee[+] to compute solar radiation. If you run an Annual Radiation study in :honeybee: HB[+] you are using Radiance to compute radiation values for every hour of the year. If you run an Annual Radiation study using :ladybug: Ladybug Legacy you are using Rhino Vectors landing on your surface based on a Cummulative Sky. These are two very different methods as they use different software to generate results. If you try running Annual Radiation using Honeybee Legacy you will also notice it is quite slow.

To resume:

  • :honeybee:[+] & :honeybee:[Legacy]: Uses Radiance for daylight/radiation modelling and is slow
  • :ladybug:[Legacy]: Generates a Cummulative Sky in Rhino and uses Rhino vector math to calculate cummultive radiation over a given time period. This is very quick.

I would recommend sticking to ladybug for external cumulative radiation studies as using Honeybee[+]/Radiance is equivalent to breaking a wall with a toothpick (you’ll get there eventually but you might as well use a sledgehammer :smile: )

Hope this helps.


#3

Dear @AntoineDao,
You are right.
At work, I am going to perform analysis on Revit, so I’d like to implement fully LB/HB+ plugins to perform analysis on Revit including annual solar studies.
It would be great to include Ladybug Legacy annual radiation studies on the next release of Ladybug+.
Would it be possible in a near future @mostapha ?

Last but not least a big thank you to all the HB LB team for your impressive work!
And to make life of architects easier!
Alberto


#4

Yes. I already have made a quick test on how to generate a cumulative sky from the output of gendaymtx but I haven’t tested/validated the results. If you want to give it a try yourself here is the code which as I said has not been validated.


#5

Dear Musthapha,
Thanks a lot to share the py file.
I’m not used to python but I’ll be happy to contribute!
In the last years I get a lot from your wonderful job, and it is time to pay back!

Just to start, if I understood correctly this python:

  1. translates a H+ SkyMatrix into a CumulativeSkymtx. Am I right?
  2. cumulativeSkymtx should be compatible with H+ recipes?
  3. May I apply both in Grasshopper and Dynamo environment, right?
    Thanks for your feedback,
    Alberto

#6

Hi @alberto.bruno, Thank you for the kind words and your willing to help. I’m afraid that this problem might not be the best fit for the first time contribution but in any case these are the steps that one needs to take to include cumulative radiation studies in Honeybee[+].

  1. Subclass SkyMatrix class and overwrite execute method to add post-processing that I shared in the previous post.
  2. Write a new recipe to run the cumulative study or update the Annual Radiation recipe to handle the new sky as a sky-matrix with a single hour.
  3. Validates the outcome against the existing methods in Honeybee legacy and Ladybug.

#7

Dear @mostapha
I spent few hours trying to understand the steps, but with no knowledge of python, I am not able to follow you.

By the way, I was able to transform original.smx to cumulative smx.
Then I tried to load cumulative.smx into the Honeybee Plus_Annual radiation recipe then I get the following error message ’ 1. Solution exception:<type ‘str’> is not a valid Honeybee sky.

I am still willing to help. In case you can provide me some components I’d be happy to test them extensively on my projects.
Let me know and thanks for your understanding,
Alberto