algorithmic modeling for Rhino

Hello everyone,

Integrate Photovoltaic and Wind generators into your Honeybee models and make the design and financial analysis of renewable energy systems easier with the Beta release of Honeybee generation!

See an example work flow for designing, simulating and analysing a Photovoltaic system below.

Download a Grasshopper and Rhino example file:

See a quick introduction and tutorial videos here:

1. Select a building to mount a photovoltaic generator on (seen in Rhino in green). 

2. Select a surface within that building to mount a photovoltaic generator on (seen in Rhino in green).

3. Create a Honeybee context surface from that surface.

4. Place a photovoltaic generator on that Honeybee context surface by using the Honeybee generation component. Honeybee_Generator_PV and connecting the context surface to it's input _HBSurfaces. Then you can specify both the performance and the financial data of the photovoltaic generator.

5. Create a Honeybee generation system which consists of the photovoltaic generator in 4. By using the component Honeybee_generationsystem and connecting 4 to its input PVHBSurfaces_. Then you can specify the annual maintenance cost of this system.

6. Run the simulation in Energy Plus by connecting 5. to the input HBGenerators_.

7. Read the results of the simulation:

- The electricity produced by the Honeybee generation system in 5.

- The net purchased electricity of the facility (the Honeybee zone) to which the Honeybee generation system is attached to. This is the electricity consumed by the facility less the electricity generated by the Honeybee generation system.

- The financial costs of the Honeybee generation system; capital, maintenance and replacement costs.

8. Calculate the net present cost of the Honeybee generation system in 5 assuming a 25 year lifetime.

9. Visualise the net present cost.

Views: 3260

Replies are closed for this discussion.

Replies to This Discussion


This is the file. I found that it actually does work when only one surface is input, it still does not work with multiple surfaces. Hope it reproduces the same error for you and that i internalized all relevant surfaces.

In continuation i´d like to test each surface for production
and cull away the surfaces that dont produce a set amount.

Btw, do you think i should do this culling procedure just
based on irradiation instead of pv output?

This is the panel im trying to reproduce right now.


Hi Ludvig,

I've actually made an update to the PV generator component to make the warning more clear. Please find it in the attached file.

The issue here is your geometry. Before we go any further can you simply your geometry so that you are not using 266 surfaces? e.g geometry of the same size can be merged into one.

Basically one of the geometry pieces is too small to mount a panel of that size (300 W) on. Therefore the surface area is greater than one and it doesn't work - see the new error in the component.


I created a new topic on this question since it isnt related to PV-components..
Thanks!Well, I realize that it is indeed the geometry. However it is because HB_context surfaces component splits some of the panels in two, increasing the number of panels - which have half the area - and thus creating the errors in the e+ simulation.When i merge everything into 43 surfaces going into the context surfaces component it still splits some of them this a bug?Will i loose e+ information associated with each surface if i merge them together again after the context geometry component?

Issue resolved.

It was the context shading component causing problems. If anyone else encounters this problem there is an update to the component in this thrread.

Hello Anton,

Thanks for the interesting model, i am currently working on a PV optimization project, but i need to work with a different Energy Plus calculation model other than the simple. How can i change the iterations to be using the Sandia or Equivalent one diode model?


Hi Mohamed

I am simply using the simple model I haven't implemented those models. Your best bet is to modify my code . The code is spread over Honeybee_Honeybee, the PV gen component and the Run Energy Plus component. Let me know if you need any help.

Thanks Anton, 

so in order to work this out, i will have to modify the code?, where do i find the code lines for this?. This is important, since Sandia, model is the one able to calculate the efficiency of the module's output based on its temperature which is extremely crucial for detailed studies. Another thing based on this the PV generation component would change significantly, would that happen automatically with the code change?

Hi Mohamed

Good point about the Sandia model. I'll see if I can find some time tomorrow to look at the code if not I'll see if I can implement this functionality on the weekend.

I'll let you know how I go.


Ahh that sounds very promising for all of us Anton thanks!

May I suggest no work on the weekends though :)

Hi guys,

I got started hoping to have something functional for Sandria by the end of the work week.

Thanks a lot Anton,

This will be a masterpiece, all other Parametric solar generation models are non temperature dependent so far, and this could produce over/under estimated results by up to 30% according to latest publications.

Hello Mohamed, was wondering about a couple of things.

Do you have any idea of commercial software that is using Sandia  (or equivalent algorithm that takes into account module temperature)? I mean is it something common? I've been trying to google Sandia around but not much info.

Finally, are you aware if such a calculation is included in the NREL algorithm? I seem to remember smth related but its been a while I used it.

Kind regards,







  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service