nts for Ladybug too. They are based on PVWatts v1 online calculator, supporting crystalline silicon fixed tilt photovoltaics.
You can download them from here, or use the Update Ladbybug component instead. If you take the first option, after downloading check if .ghuser files are blocked (right click -> "Properties" and select "Unblock").
You can download the example files from here.
Video tutorials will follow in the coming period.
In the very essence these components help you answer the question: "How much energy can my roof, building facade, solar parking... generate if I would populate them with PV panels"?
They allow definition of different types of losses (snow, age, shading...) which may affect your PV system:
And can find its optimal tilt and orientation:
Or analyse its performance, energy value, consumption, emissions...
By Djordje Spasic and Jason Sensibaugh, with invaluable support of Dr. Frank Vignola, Dr. Jason M. Keith, Paul Gilman, Chris Mackey, Mostapha Sadeghipour Roudsari, Niraj Palsule, Joseph Cunningham and Christopher Weiss.
Thank you for reading, and hope you will enjoy using the components!
EDIT: From march 27 2017, Ladybug Photovoltaics components support thin-film modules as well.
References:
1) System losses:
PVWatts v5 Manual, Dobos, NREL, 2014
2) Sun postion equations by Michalsky (1988):
SAM Photovoltaic Model Technical Reference, Gilman, NREL, 2014
edited by Jason Sensibaugh
3) Angle of incidence for fixed arrays:
PVWatts Version 1 Technical Reference, Dobos, NREL, 2013
4) Plane-of-Array diffuse irradiance by Perez 1990 algorithm:
PVPMC Sandia National Laboratories
SAM Photovoltaic Model Technical Reference, Gilman, NREL, 2014
5) Sandia PV Array Performance Module Cover:
PVWatts Version 1 Technical Reference, Dobos, NREL, 2013
6) Sandia Thermal Model, Module Temperature and Cell Temperature Models:
Photovoltaic Array Performance Model, King, Boys, Kratochvill, Sandia National Laboratories, 2004
7) CEC Module Model: Maximum power voltage and Maximum power current from:
Exact analytical solutions of the parameters of real solar cells using Lambert W-function, Jain, Kapoor, Solar Energy Materials and Solar Cells, V81 2004, P269–277
8) PVFORM version 3.3 adapted Module and Inverter Models:
PVWatts Version 1 Technical Reference, Dobos, NREL, 2013
9) Sunpath diagram shading:
Using sun path charts to estimate the effects of shading on PV arrays, Frank Vignola, University of Oregon, 2004
Instruction manual for the Solar Pathfinder, Solar Pathfinder TM, 2008
10) Tilt and orientation factor:
Application for Purchased Systems Oregon Department of Energy
solmetric.com
11) Photovoltaics performance metrics:
Solar PV system performance assessment guideline, Honda, Lechner, Raju, Tolich, Mokri, San Jose state university, 2012
CACHE Modules on Energy in the Curriculum Solar Energy, Keith, Palsule, Mississippi State University
Inventory of Carbon & Energy (ICE) Version 2.0, Hammond, Jones, SERT University of Bath, 2011
The Energy Return on Energy Investment (EROI) of Photovoltaics: Methodology and Comparisons with Fossil Fuel Life Cycles, Raugei, Fullana-i-Palmer, Fthenakis, Elsevier Vol 45, Jun 2012
12) Calculating albedo: Metenorm 6 Handbook part II: Theory, Meteotest 2007
13) Magnetic declination:
Geomag 0.9.2015, Christopher Weiss…
rst option is the type of Point Grasshopper will display in the Rhino Viewport.
Dot
Point
Cross
Dot is a small dot of single colour.
Point is a slightly larger dot with a white center.
Cross an X-shaped cross. (Default)
Preview Plane Size
The option to change the size of the Plane appears as a fly out menu where an input box allows you to enter a value in Rhino Document Units to set the size of the Plane. (You must press Enter to accept the change)
Preview Mesh Edges
The option to hide/show mesh edges catches a few users out, thinking that the Meshing of the Object has failed.
And without...
There is a handy Shortcut of Ctrl+M to toggle between the two options.
Gumballs
As of version 0.9.0064, Grasshopper allows the user to move individual points that are Persistent[3a] by means of a Gumball in the Rhino Document. Volatile[3b] points can be made persistent by way of the Internalising feature found on the Context Menu of Components and Parameters
[3] Glossary:
Volatile - "liable to change rapidly and unpredictably". Referenced objects in Rhino are considered volatile.
Persistent - "continuing to exist or endure over a prolonged period". Internalised objects are considered persistent.
…
ust assume this is really what is being imported with the standard import line I see in all the examples:
# scriptcontext moduleimport RhinoPython.Host as __host'''The Active Rhino document (Rhino.RhinoDoc in RhinoCommon) while a scriptis executing. This variable is set by Rhino before the exection of every script.'''doc = None'''Identifies how the script is currently executing1 = running as standard python script2 = running inside grasshopper component3... potential other locations where script could be running'''id = 1'''A dictionary of values that can be reused between execution of scripts'''sticky = dict()def escape_test( throw_exception=True, reset=False ): "Tests to see if the user has pressed the escape key" rc = __host.EscapePressed(reset) if rc and throw_exception: raise Exception('escape key pressed') return rc def errorhandler(): ''' The default error handler called by functions in the rhinoscript package. If you want to have your own predefined function called instead of errorhandler, replace the scriptcontext.errorhandler value ''' return None…
Added by Nik Willmore at 7:47pm on October 10, 2015
eather data so it cannot be easily compared to Archsim. My account of the differences between Honeybee and Archsim will be far from complete but here are the key ones that I am aware of:
1) This difference is a bit of a superficial one but points to a deeper thinking about how the software should be used. Honeybee has many more components than Archsim, which means that Honeybee has a steeper learning curve than Archsim and will take longer to master. Along with this, you may also encounter a general mentality in the Honeybee community that "you should not be running a certain type of simulation unless you know how it works" whereas I know that Archsim is a bit more amenable to making things fast and easy to set up even when you are not sure what is going on under the hood. However, as a result of the large number of components in Honeybee, it is more open-ended, customizable, and includes more freedom in terms of cases that you can run and the parameters of the energy simulation that you can change than Archsim. You will also notice that, while there is a general ethos in the Honeybee community that you should not be running certain simulations unless you know what you are doing, we try to provide you with many resources to educate yourself if you are motivated. For example, we have long component descriptions that we assemble into documentation books like this (https://www.gitbook.com/book/mostapharoudsari/honeybee-primer/details), hours of video tutorial playlist like this one (https://www.youtube.com/playlist?list=PLruLh1AdY-SgW4uDtNSMLeiUmA8YXEHT_), and many GH example files on a github-based file sharing system (https://hydrashare.github.io/hydra/index.html). Not to mention a community of people who would respond to discussions like this one.
2) Archsim as a standalone application will soon be no more and will be instead distributed with the DIVA daylight analysis tool (http://diva4rhino.com/). While I am unclear on the exact trajectory of DIVA, it currently has a price tag attached to it and so I would assume that the future of Archsim will also carry this price tag. On the other hand, Honeybee and any derivative software will forever be free and open source under the GPL licence (https://github.com/mostaphaRoudsari/Honeybee/blob/master/License_Honeybee_GPL.txt).
3) This third point is a bit of a reiteration of the last one but Honeybee is open source, meaning that, if you need a feature of EnergyPlus that is not yet implemented on either interface, you can usually add it in yourself with a few lines of python code in Honeybee. This type of workflow is not possible with Archsim since it is closed source and requires you to use EnergyPlus's text editor interface after Archsim has exported an IDF in order to implement any additional EnerygPlus features.
4) The libraries and templates for Honeybee come from OpenStudio - the open source interface for EnergyPlus (https://www.openstudio.net/), which is supported by the US Department of Energy (just like EnergyPlus). Since Honeybee is open source, it is able to make use of the large database of building type schedules/loads and constructions that have been assembled by the OpenStudio team over the last several years as well as OpenStudio's SDK. I can also say that almost all of the development efforts of the Honeybee team are now focused now on integrating efforts with OpenStudio, including an exporter from Honeybee to OpenStudio that should be fully functional for the next stable release. I am not certain of the current extent of Archsim's libraries but, last I had checked, the creator was pulling them from his own experience and, as such, only had a few libraries to choose from. For all of my knowledge, through, this may be changing with the integration of Archsim with DIVA.
Let me know if this is helpful and, if anyone has more up-to-date knowledge on Archsim than I, please post there.
-Chris…
ave pointed out, if the older version of Honeybee EPZone does not have the recirculatedAirPerArea proprety, then it must be the cause of the error as I am using the Honeybee_Export to OpenStudio component (VER 0.0.58 Nov_07_2015). Given the discrepancy between the version of the Honeybee components used to setup everything in the file all the way prior to the point feeding the zones' data into the Export to Open Studio component, I can see different options/questions to tackle this issue:
1- I have the OpenStudio 1.9.0 that works with EnergyPlusV8-3-0 installed on my computer and the reason that I had to use the newer version of the Honeybee_Export to OpenStudio component (VER 0.0.58 Nov_07_2015) is that I had initially received an error message using the component of the same version as consistent with the rest of the project (VER 0.0.57 Jul_15_2015) with the following content:
"Cannot find OpenStudio libraries. You can download the libraries from the link below. Unzip the file and copy it to C:\Users\Alireza\AppData\Roaming\Ladybug\OpenStudio and try again. Click on the link to copy the address.https://app.box.com/s/y2sx16k98g1lfd3r47zi"
The download link provided in the error message appears to be not active and thereby, I could not follow the instructions on the error message and make the Hoenybee_Export to OpenStudio component (VER 0.0.57 Jul_15_2015) work.
Therefore, if there is a way to make this version (VER 0.0.57 Jul_15_2015) of the Hoenybee_Export to OpenStudio component work by downloading the OpenStudio libraries or switching to a legacy version of the OpenStudio application prior to 1-9-0, then probably this would be one option to solve this issue.
2- When I realized I could not download the OpenStudio libraries as described in section 1 (see above) and make the Honeybee_Export to OpenStudio Component (VER 0.0.57 Jul_15_2015) work with the installed OpenStudio application (V1-9-0), I updated the entire installation of Ladybug + Honeybee User Object files to the new version (Ladybug_0_0_61 and Honeybee_0_0_58). This time the Honeybee_Export to OpenStudio component (VER 0.0.58 Nov_07_2015) seemed to be working with the installed OpenStudio application (V1-9-0) as I did not receive any error messages about missing OS libraries. However, I could not make things work since all other components in my project (eg. Creat HB Zones,Creat HB Surface) have been setup with the 0.0.57 version and obviously, the updated version of the Honeybee User Objects (V0.0.58) could not recognize my HB component of the previous version in the file.
If there is a way to make 'in-place' updates of HB components, for example updating the Honeybee_Create HB Zones in the file without having to re-wire everything from scratch, then it probably would work as the updated version will include the 'recirculatedAirPerArea' property. Otherwise, given the complexity of the scene, it appears to be impossible for me to start everything from scratch and setup the entire scene with the new version of HB components.
3- If none of the options in the last two sections (see above) would be possible, I was wondering if there is a way to open the zones' data as the outcome of the Honeybee_Solve Adjacency component (prior to feeding this data to the Honeybee_Open Studio Systems component and subsequently, to the the Hoenybee_Export to Open Studio) in a text-editor and manually add the missing recirculatedAirPerArea property to the zones' data; then probably I could do that and then eventually feed it to the Hoenybee_Export to Open Studio component.
These are the three options that I could think of in order to tackle this issue of mine. I apologize for the extended reply but I figured it would be better to give a more comprehensive description of my problem and previous attempts to solve it.
Any helps is most appreciated.
Please let me know if you need further information about the described issues in each section or the simulation scene setup in general.
Thank you,
Alireza
…
n the z axis I can not, here's the problem, because the movement is not only on the z axis, I can't do a serie with this vector. I tried to do it by differents columns or rows but its impossible for me.
2. Another problem. How I can fill a surface like this with tetrahedrons? What about change the size of this tetrahedrons? Is it possible like a fractal? :Si'm still working...
Thank you!
Finally I have completed the cloud!! I am a little bit fool. With the help of some sketches it was not so difficult! :).
I found the movement pattern of my tetrahedrons
Then I found the points inside my surface!
But now I cant create lines between points like in the begining of the process, with the pattern with points 1, 2, 3, 4. What I have to do?
??????????
Bye!!!…
er). With the command "End Bulge" I noticed that G2 moves perpendicular to G1! But with an increase which is not equal... and is different, every time, depending on the angle between G0 and G1 and G2. How do I predict the position of G2 compared to G1 simulating the "End Bulge" command? Thank you for your professional answers.
^___^
Below you can see an example with a curve crimson ... If I move G1 of 1 unit G2 moves of 0.42 units (perpendicular) .. If I move of 2 units the next step is 0.46 unit... 3 units --> step 0,50 units... etc.
And each time changes depending on the initial conditions (G0/G1/G2 angle).
…
Added by Lucius Santo at 4:21pm on September 20, 2012
.com/forum/topics/use-pythoneditor-to-run?commentId=2985220%3AComment%3A138538
For now I am considering a simple test case in which a set of sliders are added together into a GH_number component called "output":
I am finding that from the Rhino Python Editor it is definitely possible to change the slider values and retrieve results in a loop. Below I copied the code that runs from the Rhino Python Editor, where I simply change the slider value of the slider with Nickname "Number Slider1" from 0 to 2. (note that grasshopper and the testfile are already open in this example)
This script prints out the following results as expected:
Slider value: 0.0Result value: 1.154Slider value: 1.0Result value: 2.154Slider value: 2.0Result value: 3.154
However using the exact same code in a GHPython component within Grasshopper the Grasshopper Python Script Editor's console reads:
Slider value: 2.0Result value: 3.154Slider value: 2.0Result value: 3.154Slider value: 2.0Result value: 3.154
It seems that the solver doesn't recompute during each iteration but just retrieves the final state of my script.
So basically I have been trying to trigger a 'runsolver' command inside my loop. I tried using the methods available trough the RhinoScript interface, as David describes here.
http://www.grasshopper3d.com/forum/topics/open-a-gh-automatically
I could create a loop looking like this:
But running this in the Grasshopper Component crashes Rhino. I have also tried this by Disabling the solver first using the DisableSolver() method. This does disable the solver but still Rhino crashes. Also I used the ExpireSolution(True) method on the slider object like:
However in this case I don't get any different results.
So I guess my question is simple:
Is there a way to recompute the solver after a slider change inside a GHPython script component during a loop?
Any suggestions, or references would be greatly appreciated!
(FYI: I am using Rhino5x64 and Grasshopper Version 0.9.0014, attached is the script I used both in the Rhino Python Editor and the GHPython component and the grasshopper file)…
y using the Honeybee_Update Honeybee component.
The video below (best viewed in full-screen mode) provides an idea of what these components are capable of being used for:
The video below shows how these components can be used in an existing Honeybee project (for additional links please open this video in youtube):
I have uploaded two examples as Hydra files that show how these components can be used for grid-point and image-based simulations:
Example1 : Grid Point Calculations
Example2: Image based simulation
Finally, a more esoteric application is demonstrated in this video:
These components are still in the beta-testing stage. Some of the limitations of the components are:
1. Only Type C photometry IES files are supported at present.
2. Rhino is likely to get sluggish if there are too many luminaires (i.e. light fixtures) present in a scene.
3. Due to the spectral limitations of the ray-tracing software (RADIANCE), simulations involving color mixing might not be physically realizable.
Additional details about photometric and spectral calculations are probably an overkill for this forum. However, I'd be glad to answer any related questions. Please report any bugs or request new features either on this forum or on Github.
Mostapha, Leland Curtis, Reinhardt Swart and Dr. Richard Mistrick provided valuable inputs during the development of these components.
Thanks,
Sarith
Update 16th January 2017:
An example with some new components and bug fixes since the initial release announcement can be found here
…