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…
, Engineer and Researcher from France with broad programming experience. He is the author of the City in 3D Rhinoceros plugin for creation of buildings according to geojson file and with real elevation. Guillaume already created a new component: "Address to Location". It enables getting latitude and longitude values for the given address:
2) Support of Bathymetry data: automatic creation of underwater (sea/river/lake floor) terrain. This feature is now available through new source_ input of the "Terrain generator" component. Here is an example of terrain of the Loihi underwater volcano, of the coast of Hawaii:
3) A new terrain source has been added: ALOS World 3D 30m. ALOS is a Japanese global terrain data. Gismo "Terrain Generator" component has been using SRTM 30m terrain data, which hasn't been global and was limited to -56 to +60 latitude range. With this addition, it is possible to switch between SRTM and ALOS World 3D 30m models with the use of source_ input.
4) 9 new components have been added:
"Address To Location" - finds latitude and longitude coordinates for the given address.
"XY To Location" - finds latitude and longitude coordinates for the given Rhino XY coordinates. "Location To XY" - vice versa from the previous component: finds Rhino XY coordinates for the given latitude longitude coordinates. "Z To Elevation" - finds elevation for particular Rhino point. "Rhino text to number" - convert numeric text from Rhino to grasshopper number. "Rhino unit to meters" - convert Rhino units to meters. "Deconstruct location" - deconstructs .epw location. "New Component Example" - this component explains how to make a new Gismo component, in case you are interested to make one. We welcome new developers, even if you contribute a single component to Gismo! "Support Gismo" - gives some suggestions on how to make Gismo better, how to improve it and support it.
5) Ladybug "Terrain Generator" component now supports all units, not only Meters. So any Gismo example file which uses this component, can now use Rhino units other than Meters as well. Thank you Antonello Di Nunzio for making this happen!!
Basically just forget about this yellow panel:
This panel is not valid anymore, so just use any unit you want.
6) A number of bugs have been fixed, reported in topics for the last couple of weeks. We would like to thank members in the community who invested their time in testing, finding these bugs and reporting them: Rafat Ahmed, Peter Zatko, Mathieu Venot, Abraham Yezioro, Rafael Alonso. Thank you guys!!! Apologies if we forgot to mention someone.
The version 0.0.2 can be downloaded from here:
https://github.com/stgeorges/gismo/zipball/master
And example files from here:
https://github.com/stgeorges/gismo/tree/master/examples
Any new suggestions, testing and bug reports are welcome!!…
Added by djordje to Gismo at 5:13pm on March 1, 2017
test version of Elefront, but used an earlier version when I started. I dont get the "old" label over it though. Hmm..
Well I have a large collection of items which I group together because they get transformed together. There is a few thousand of them. Inside this group is another group of 6 polyline curves. So if I ungroup it, I cannot filter by polyline curve any longer, as there are 2 other polyline curves in each branch. I filter by type because each type gets baked to a different layer. If I could filter by group, it would be perfectly easy to filter everything in the way I want.
I am surprised that its not in there or as you say not possible to know what is a group, but yet a group is its own data type in GH, which to me seems no different than any of the others. Ok, but then you also dont have the more generic ones like Geometry for example. I noticed that Human's Sort Objects By Type has an output for "other", so maybe you could include that, so that I can select "Other" and it will filter out everything that ISNT one of the ones in your list of options.
Could that be an option?…
cube and moving along an axis (purple in jpg attached). Also, a cylinder (green - see jpg) affects the horizontal planes (floors of the building) like an "atrium" while crossing them.
In a further step I want to use Galapagos in order to specify the optimum summed floor area, let's say 4600m2. The sliders which Galapagos uses as a gene pool are the ones controlling the movement of the 2 planes and the radius of the cylinder, therefore affecting the floors area.
I managed to make it work in a way but I'm not sure whether the "smaller than" relation is the proper one for Galapagos (see jpg).. How can I specify a relation which is proper for it? That's my main question. Because I am not really sure if it works right!
I am attaching both Rhino file and GH definition (don't get scared by its chaotic appearance, its rather repetitive..) and a jpg showing a printscreen of the model and a part of grasshopper definition where galapagos is entered in the game.
If anyone is willing to help, please contact me!…
ve Intermediate Insight of Computational Design Strategies While Exploring Rangoli Art form in 2 Dimension and 3Dimesion in which Participants will not only be trained to Digitally Design using Parametric software's but they will also be trained to Fabricate them in reality.
This Course will be explored in manner where Participants will understand inter-dependency of Rhinoceros3D & Grasshoper3D through a unique Hybrid Teaching Method While Exploring Rangoli Geometry .
The course will also take participants through Topics such as - Computational Thinking, - Computational / Parametric Design, - Computational Rangoli Exploration, - Digital Fabrication, - 3D Visualization ( Rhino3D 6), - Making Info-graphics & Design Diagrams ( Rhino3d 6 ).
Participants will also be doing a Project at the last Leg of Workshop in which they will implement the skill they gained in first Few Weeks.
{ Tutor } Nitant Pixelkar (Computational Artist / Designer, Mumbai)
Nitant Hirlekar A.k.a. Pixelkar, is a Computational Artist. He graduated from Rachana Sansad school of Interior Design 2011, Mumbai. In Academics He Bagged Two Gold and One Silver Medal on National Level.
In his post academic days, he came across the Emerging Computational Techniques in Design industry in which Algorithm serves as a main Functional part. He uses Algorithms to Deconstruct the Captured images in Pixelated form using the Grid of the Desired Indian Art Forms.
He Heads Collective Group Named "Mutation Lab” which is a multidisciplinary Design & Art Cell. Where they Explore Computational Approach while Designing Various Scales Spatial Installation, Digital Fabrication, Interactive Installations and Computational Consultancy for Various Architects.
He has exhibited his first artwork in Kalaghoda Arts Festival for in 2014 And further in 2016 and 2017.In 2015 he exhibited in Dharavi Biennale” organized by Wellcome Trust,London & Sneha Organisation, Mumbai Which was internationally acclaimed. In 2016 he got Featured on a TV show - The Creative Indian's as an Absolut Creative Indian of the Week.
Academically he is been involved in Many Computational Design Workshops / Elective Studios for School of Interior Design (Rachna Sansad), LS Raheja College of Architecture & Rat-Lab (Delhi).
{ Participants } The Course is aimed at Architecture, Interior Design, Product Design,Furniture Design & Fashion Design Students and Professionals. However we would be thrilled to have any Interdisciplinary Artist / Creator/ Maker to join the Course as well.
{ Level }
Intermediate
{ Timing } Monday To Friday - 6:00 PM to 9:00 PM (15 Hours/ Week = 5 Week X 15 Hours = 75 Hours )
{ Dates } Registration Ends - 24th April 2020 **Subejct to Availablity
{ Workshop Dates } 4th May 2020 To 5th June 2020
{ Venue } Lower Parel,Mumbai ( Details To Be Announced )
{ Schedule }
{Registration Form}…
stributes structural supports for a uniformly loaded domain using e.g. the internal energy of the loaded domain as fitness. Here the uniformly loaded domain is represented by the trimmed surface. My genomes are the support positions (green crosses), which are restricted to a set of predefined grid points. I’m currently using an (i,j)-coordinate indexing for these grid points (illustrated in the viewport just below) as opposed to a sequential , “one-dimensional” numbering (illustrated in the viewport further down).
(i,j)-indexing systemAltenative, sequential indexing system
The support positions are computed by two gene pools; one governing the i-index, Gene List {i}, and one governing the j-index, Gene List {j}, of each support. The value of slider 0 in Gene List {i} is paired with the value of slider 0 in Gene List {j} etc. and the amount of sliders corresponds to the amount of supports. The screen shot below depicts the slider constellation corresponding to the support distribution depicted above. Unfortunately the j-index represented in the sliders needs remapping as the number of j-indices vary for each i-index (horizontal row of grid points). With the current setup I have 12^6 x 9^6 = 1,6 x 10^12 different genomes. If I were to use the sequential, “one-dimensional” numbering, I would only use one gene pool with sliders ranging from 0 to 76 meaning that remapping could be avoided and thereby having only 76^6 = 1,9 x 10^11 different genomes.
So, my current genome setup causes a bunch of issues related to the Evolutionary Solver: Remapping Changing one of the j-index sliders, will not necessarily change the related support position but it will still facilitate another genome to be calculated by the solver. (This problem could be eliminated by using the sequential, “one-dimensional” numbering)
Switching slider values around If the values of e.g. slider 0 were to be switched around with the values of slider 5, this again would yield a new genome but an identical solution. (This problem cannot be eliminated by using the sequential, “one-dimensional” numbering)
Coincident support positions Two or more supports may be located in the same position. (This problem cannot be eliminated by using the sequential, “one-dimensional” numbering)
I find it impossible to imagine the fictive “fitness landscape” of this problem and not only because of the multidimensional genome characteristic but just as much because of these listed, intertwined peculiarities. I’ve tried running the Simulated Annealing Solver as well, but my experience is that the Evolutionary Solver yields better results. To my awareness, the solver uses some kind of topographical proximity searcher. This is why, I think that the solving process itself benefits more from analysing the (i,j)-index system, in which neighbouring grid points hold more uniform topographical information than the sequential, “one-dimensional” numbering, which might have big ID-numbering gaps between neighbours. Have I understood this correctly?
Cheers…
o make sure you already went through the tutorials and sample files provided, specially the ones that touch on panel functions and Ladybug+SkinDesigner workflows. See links below:
Panel Functions video and example file
https://youtu.be/Jx-SKJmC1iE
http://hydrashare.github.io/hydra/viewer?owner=santiagogaray&fo...
Ladybug + SkinDesigner video and example file
https://www.youtube.com/watch?v=SY2VUBE6SgA&t=0s&list=PL4Mb...
http://hydrashare.github.io/hydra/viewer?owner=chriswmackey&for...
Hope this helps for now until Chris gets back. Feel free also to try adapting the sample files if you can to tailor them to your needs. Having specific questions with a GH file showing the issue generally gives us a better idea on how to help you.
Best,
Santiago
…
ces are distorted (second). What is going on?
Surfaces in the second are a rhino cage edit of the surfaces in the first image. They were originally all closed polysrfs exploded just to input into grasshopper.
In the definition attached, each surface is compared to an original (its the small box in the far left of the top image) The point there is the ability to select for more than just the 6 faces of a cube, but find the closest match to more complicated inputs. In the second image, distorted surfaces are being compared to a distorted original.
If I have my math right, two parallel unitized normal vectors should have a dot product of 1, and the further away from 1 their dot product the further away from parallel, no? Why does it fail when I leave the comfy land of 90 degrees?…
Added by Peter Stone at 2:39pm on January 28, 2015
ollection of 6 inverse conic membranes (the new Birdair stuff with that wonder mysterious insulation) that host an exhibition facility in some Middle East country.
For the moment, the "idea" (a bit silly) is to design some parametric metal truss that supports the membrane ("roof") and some custom planar glazing system that supports the exterior skin ("walls"). The "plan" (so to speak) is to outline the generic stuff in Microstation and then use Grasshopper for some "intelligent" portions of the metal structure (214 STEP format used for export/import)...and then transfer the whole thing to Catia for completing the study in nuts and bolts level of detail. Anyway..that's the theory...kinda like the third marriage: triumph of hope VS experience, he he.
As you'll discover soon...the "intelligent" parametric truss is the 1/100th of the whole challenge. Why so? Well...let's say that the client requires an accurate cost estimation of the whole envelope system BEFORE signing the dotted line (an almost impossible task, but let's pretend that's doable,
More in a while...…
yes, making the SDK more accessible could engage more people in developing plug-ins, facilitating a broader covering of formats to import/export (plug-in developers probably have this already in mind…).
Thanks also to Marc for pushing this threat. Actually, points 3 to 6 where to address Marc’s questions on plug-in gaps to fill.
David, what do you mean with:
(...) I'd very much like to 'hide' this from the users. In my mind, extrusions are just a more memory efficient way to store certain breps and they shouldn't be 'on the surface'.
I think that if we bake the geometry output of an Extrude component, and turns out to be an extrusion element in Rhino, this geometry type shouldn’t be hidden for us in GH. Having this functionality on bake time, but reading the output in GH as brep will be confusing. Why not having an extrusion parameter, as we have the box parameter? After all, you could manage the internal conversion to brep if we connect an extrusion to a brep input, like for example, in Brep|Plane Intersection. You do that for boxes already. I don’t know if it’s easy to implement, but I think this would be a good improvement, which would be consistent with both Rhino capabilities and GH conversion logics already implemented.
--Ernesto…