ents (e.g. only fabric between 2 radial cable). But if I try to simulate a completely whole structure like picture below + if I trying to model a material that has more degree subdivision + adding diagonals (as resistance to shear deformation which causes the creases like Daniel Pikels example of tablecloth drop), then I have huge problem to deal with my hardware.
(I am using Intel Xeon 4 cores, 2.93GHz with 4GB RAM and running in Win7 in 64 bit but with Rhino 32 bit.)
(Roof geometry can be completely asymmetrical, so let’s assuming that we can’t array the resulting geometries!)
There are some discussions about how to increase the processing power of grasshopper:
http://www.grasshopper3d.com/forum/topics/is-there-a-plan-to-suppor...
http://www.grasshopper3d.com/forum/topics/performance-of-grasshopper?
http://www.grasshopper3d.com/forum/topics/grasshopper-cpu-optimization
As I know that the GH is single threaded, we could over clocking the CPU + give lot of RAM.
I am curious if Kangaroo and other Apps are following the same performance-rule (single thread) like Rhino/ G.H? And what would be the key-feature to increase the power of Rhino/GH/Kangaroo in order to process the case I mentioned before (completely retractable roof)?
- Which level of CPU? Or constraint of CPU over clocking when necessary and capacity of RAM)
- How fine tuning my PC for best performance? (Parallel computing, c-flex…)
- is GPU a matter? (E.g. in Animation standard: Nvidia CUDA Quadro 4000+)
Or probably just a suggestion of workstation ;-)
Sorry I am not expertise of computer technical…
Thanks!…
w elements (e.g. only fabric between 2 radial cable). But if I try to simulate a completely whole structure like picture below + if I trying to model a material that has more degree subdivision + adding diagonals (as resistance to shear deformation which causes the creases like your example of tablecloth drop), then I have huge problem to deal with my hardware.
(I am using Intel Xeon 4 cores, 2.93GHz with 4GB RAM and running in Win7 in 64 bit but with Rhino 32 bit.)
(Roof geometry can be completely asymmetrical, so let’s assuming that we can’t array the resulting geometries!)
There are some discussions about how to increase the processing power of grasshopper:
http://www.grasshopper3d.com/forum/topics/is-there-a-plan-to-support-multicore-in-the-future
http://www.grasshopper3d.com/forum/topics/performance-of-grasshopper?
http://www.grasshopper3d.com/forum/topics/grasshopper-cpu-optimization
As I read that the GH is single threaded, we could over clocking the CPU + give lot of RAM.
I am curious if Kangaroo and other Apps are following the same performance-rule (single thread) like Rhino/ G.H? And what would be the key-feature to increase the power of Rhino/GH/Kangaroo in order to process the case I mentioned before (completely retractable roof)?
- Which level of CPU? Or constraint of CPU over clocking when necessary and capacity of RAM)
- How fine tuning my PC for best performance? (Parallel computing, c-flex…)
- is GPU a matter? (E.g. in Animation standard: Nvidia CUDA Quadro 4000+)
Or probably just a suggestion of workstation ;-)
Sorry I am not expertise of computer technical…
Thanks!
…
Added by Jon to Kangaroo at 3:31am on June 27, 2014
ople in the forums about their experiences and troubles in some other threads but I though we can somehow bring us all together. After all, when we are talking about parametric tools and parametric design, practical application seems to be the grey area.
How do I use it? Why do I use it? I know I have many difficulties in the actual generation and manipulation of patterns in my parametric designs. Most of the examples I've run are usually manipulating massing orientation, WWR, heights and lengths, mainly simple parameters. I guess it is a good thing to be at a point where the above are considered normal. Means that HB/LB is a really powerful tool.
Anyways I wondered if we can share these kind of things here. The actual practices of our parametric models and designs, maybe creative ideas to manipulate shapes and relationships, or even ideas of generative design.
As a constructive pessimist I will start with an issue I have. Memory.
It seems that high iteration models make me run out of memory. I am not sure why that is. It happens in most types of simulation I've tried so far. I wonder if it is what Chris and Mostapha mentioned on occasion, the peculiar way GH deals and stores things in the computer's memory.
Is it constantly adding each iteration to the memory? Or is it the way I structure the data flow. For example I have a few number, average, etc., native components before the data recorder which might multiply things saved in memory. Or is it a limitation of the external simulation tools (E+, radiance, etc.)? For me it's the most important issue so far, mainly due I'm used from my CFD studies to leave the work pc simulating for a few days and I'd love to do that in HB/LB!
I'm adding a simple example. It calculates solar radiation for a simple configuration that changes across spatial and temporal parameters (angles and months). This one has around 3900 iterations (that's because my boolean check will not work with multiple meshes but that's a discussion for later) and it stops around 2300.
Okay, enough about my problems! How is everyone doing?…
is's tutorial on energy simulation, I have this questions:
Rule of thumb for HB_solveadjacences is to create a sort of hierarchy among this component especially when you make some changes: eg If I want to add new properties in a specific zone (for example a new EPconstruction between two zone) I will plug this component setting to true "remove current adjacences" (if needed) before running the simulation. So I have the 1st HB_solveadj that controls the zones without changes and it is followed by other HB_solveadj for the modified ones. Is it correct?
HB_generateEPoutput: Does surfacetempanalysis/surfaceenergyanalysis refer to surface baricenter?
Are E+ schedules related to Openstudiostandards.json?
In the future are there any possibility to show a completion bar (for example in % like ecotect) for energy simulations? Or at least the percentage of completion similar to Radiance simulation Cmd panel, in order to manage my time because sometimes my pc is completely destined for this type of tasks.
Currently I am using LB_meshtohatch to export my results directly into illustrator (as vectors), and finally I use "export selected" in Rhino saving it as pdf, but this lead to a file with more mb than the ordinary. Due to this component my laptop becomes very slow. Are there any other component to obtain the same results?
(for example in ecotect you could export as metafile without having this heavy 3dm file.)
How does Github work? Many times I have red in the forum that chris and mostapha fixed some bugs and, without creating a new release, they always have newer version of some components. In the image below I have found this new version of captureview: so by using HB/LB_update might I have new updated component everytime they are online on github?
Last one: Yesterday I ran my first image-based daylighting simulation, unfortunately this morning I decide to rerun the same simulation and it gives me this error (first .gif) that i don't know how to fix (I've also tried to delete simulation folder and re launch it). On the contrary when I run glare analysis provided by mostapha everything goes well with HB_rundaylightsimulation component.
I am very sorry for asking you all this questions at the same time, but I didn't find anything on this forum for some of my questions.
Thank you in advance
…
dy for a wall where we want to analyze its openings. I made a parametric wall that then get's analyzed with different geometries and the idea was just to leave it there for the weekend as it morphed through different iterations. However, after successfully running a test simulation on my pc (just with one iteration), it fails to run the same test on the workplace computer. Any help would be greatly apprecated! Here is the following error:
Sorry! But the number of available CPUs on your machine is 4.
Honeybee set the number of CPUs to 4.
Grid-based Radiance simulation
The component is checking ad, as, ar and aa values. This is just to make sure that the results are accurate enough.
Good to go!
Current working directory is set to: C:\ladybug\Parametric_Shading_Wall\psw_z0.25_t.025_y.2_r90_m3_lux\gridBasedSimulation\
Failed to read the results!
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
Runtime error (PythonException): Failed to read the results!
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
rtrace: fatal - (psw_z0.25_t.025_y.2_r90_m3_lux_RAD.oct): truncated octree
PS. It says to see line 336…
ed file and code below:
Color ColorAt(Mesh mesh, int faceIndex, double t0, double t1, double t2, double t3) { // int rc = -1; var color = Rhino.Display.Color4f.Black;
if( mesh.VertexColors.Count != 0) { // test to see if face exists if( faceIndex >= 0 && faceIndex < mesh.Faces.Count ) { /// Barycentric quad coordinates for the point on the mesh /// face mesh.Faces[FaceIndex].
/// If the face is a triangle /// disregard T[3] (it should be set to 0.0).
/// If the face is /// a quad and is split between vertexes 0 and 2, then T[3] /// will be 0.0 when point is on the triangle defined by vi[0], /// vi[1], vi[2]
/// T[1] will be 0.0 when point is on the /// triangle defined by vi[0], vi[2], vi[3].
/// If the face is a /// quad and is split between vertexes 1 and 3, then T[2] will /// be -1 when point is on the triangle defined by vi[0], /// vi[1], vi[3]
/// and m_t[0] will be -1 when point is on the /// triangle defined by vi[1], vi[2], vi[3].
MeshFace face = mesh.Faces[faceIndex];
// Collect data for barycentric evaluation. Color p0, p1, p2;
if(face.IsTriangle) { p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.C]; } else { if( t3 == 0 ) { // point is on subtriangle {0,1,2} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.C]; } else if( t1 == 0 ) { // point is on subtriangle {0,2,3} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.C]; p2 = mesh.VertexColors[face.D]; //t0 = t0; t1 = t2; t2 = t3; } else if( t2 == -1 ) { // point is on subtriangle {0,1,3} p0 = mesh.VertexColors[face.A]; p1 = mesh.VertexColors[face.B]; p2 = mesh.VertexColors[face.D]; //t0 = t0; //t1 = t1; t2 = t3; } else { // point must be on remaining subtriangle {1,2,3} p0 = mesh.VertexColors[face.B]; p1 = mesh.VertexColors[face.C]; p2 = mesh.VertexColors[face.D]; t0 = t1; t1 = t2; t2 = t3; } }
/** double r = t0 * p0.FractionRed() + t1 * p1.FractionRed() + t2 * p2.FractionRed(); double g = t0 * p0.FractionGreen() + t1 * p1.FractionGreen() + t2 * p2.FractionGreen(); double b = t0 * p0.FractionBlue() + t1 * p1.FractionBlue() + t2 * p2.FractionBlue();
ON_Color color; color.SetFractionalRGB(r, g, b);
unsigned int abgr = (unsigned int)color; rc = (int) ABGR_to_ARGB(abgr); **/ var c0 = new Rhino.Display.Color4f(p0); var c1 = new Rhino.Display.Color4f(p1); var c2 = new Rhino.Display.Color4f(p2); float s0 = (float) t0; float s1 = (float) t1; float s2 = (float) t2;
float R = s0 * c0.R + s1 * c1.R + s2 * c2.R; float G = s0 * c0.G + s1 * c1.G + s2 * c2.G; float B = s0 * c0.B + s1 * c1.B + s2 * c2.B; color = new Rhino.Display.Color4f(R, G, B, 1); } } return color.AsSystemColor(); }
…
ss lots of questions,Hope guys show me some more different ways to figure out thoes kinds of problems,Thanks.
That is a construction project,the balconies should be overhang between 1 to 3 meters.
Program A is a patten consist of increasing balconies as the floors get upper.(In the picture is 29 at the first floor and ended with 2 more balconies for each floor, )Each part for a different floor,the twelfth floor have 29+(12-1)*2=51 balconies.
Questions From A,
A1:How to use the {(series)} to creat this atrium,As the floors increase the number of the balconies change by arithmetic progression.
A2:How to control the angle of the balconies,both the angle with floor and the balconies ending part.
Program B is use line to shape the commercial atrium,program A is more small pieces of rectangles.The {(TweenCrv)} command.
Questions From B,
B1:How to draw random points between the 1 to 3 meters region of the balcony,And those point form a shape also belongs to that region.
B2:Use a curve or other ways to control the changing speed of each floors' balcony.Right now the balcony is a Linear change.
Thanks for your Help.
Q1:Is there a way in Grasshopper to control the model to Modulus,less different unit parts to build such a Atrium.(For Exanple,only use 900mm and 600mm two different width of the Glass railings to bulid the model A OR B)…
you post a screenshot of what the message coming from its readMe! output looks like?2) Close your Grasshopper and Rhino.3) Download "Revo Uninstaller Pro" from here. It is free for first 30 days, which is what we need.4) Right click on the RevoUninProSetup.exe and check if the file is blocked. If it is, unblock it.5) Run the RevoUninProSetup.exe file and install "Revo Uninstaller Pro".6) Uninstall "MapWinGIS" with "Revo Uninstaller Pro". It is important that "Revo Uninstaller Pro" deletes not only files from MapWinGIS installation folder, but also all other leftovers (as registry inputs). Here is a small tutorial on how to do that. Watch it from 6:10 till the end.7) Restart your PC8) When your Windows boots up, make sure that you are logged in as Administrator!9) In your Start menu's search box type: "UAC", which will find your User Account Control Settings. Click on it, and a new window will open. Set the bar on the left to "Never notify".10) Turn off your Windows Firewall.11) Then turn off your custom Firewall (in case you have another one, besides standard Windows Firewall).12) Completely turn off your Antivirus.13) Download again the MapWinGIS-only-v4.9.4.2-x64.exe.exe file from here.14) Right click on the MapWinGIS-only-v4.9.4.2-x64.exe file and see if it is blocked. If it is, unblock it.15) Right click on MapWinGIS-only-v4.9.4.2-x64.exe file and choose: "Run as"... Administrator.16) One the installation preparation steps start, choose "Full installation". Wait for the MapWinGIS installation to finish.17) Right-click on "Rhino 5" icon and then choose: "Run as administrator".18) Open the the ironpython_admin.gh file again, and again post a screenshot of the message coming from its readMe! output.19) Drop the "Gismo Gismo" component to Grasshopper canvas. Post a screenshot of the message coming out from its readMe! output.
So we will need in total three screenshots of the readMe! output messages.
Thank you once again for being patient, and sorry for the large number of steps.…
Added by djordje to Gismo at 1:52am on April 9, 2017
ay how many valid permutations exist.
But allow me to guesstimate a number for 20 components (no more, no less). Here are my starting assumptions:
Let's say the average input and output parameter count of any component is 2. So we have 20 components, each with 2 inputs and 2 outputs.
There are roughly 35 types of parameter, so the odds of connecting two parameters at random that have the same type are roughly 3%. However there are many conversions defined and often you want a parameter of type A to seed a parameter of type B. So let's say that 10% of random connections are in fact valid. (This assumption ignores the obvious fact that certain parameters (number, point, vector) are far more common than others, so the odds of connecting identical types are actually much higher than 3%)
Now even when data can be shared between two parameters, that doesn't mean that hooking them up will result in a valid operation (let's ignore for the time being that the far majority of combinations that are valid are also bullshit). So let's say that even when we manage to pick two parameters that can communicate, the odds of us ending up with a valid component combo are still only 1 in 2.
We will limit ourselves to only single connections between parameters. At no point will a single parameter seed more than one recipient and at no point will any parameter have more than one source. We do allow for parameters which do not share or receive data.
So let's start by creating the total number of permutations that are possible simply by positioning all 20 components from left to right. This is important because we're not allowed to make wires go from right to left. The left most component can be any one of 20. So we have 20 possible permutations for the first one. Then for each of those we have 19 options to fill the second-left-most slot. 20×19×18×17×...×3×2×1 = 20! ~2.5×1018.
We can now start drawing wires from the output of component #1 to the inputs of any of the other components. We can choose to share no outputs, output #1, output #2 or both with any of the downstream components (19 of them, with two inputs each). That's 2×(19×2) + (19×2)×(19×2-1) ~ 1500 possible connections we can make for the outputs of the first component. The second component is very similar, but it only has 18 possible targets and some of the inputs will already have been used. So now we have 2×(18×2-1) + (18×2-1)×(18×2-1) ~1300. If we very roughly (not to mention very incorrectly, but I'm too tired to do the math properly) extrapolate to the other 18 components where the number of possible connections decreases in a similar fashion thoughout, we end up with a total number of 1500×1300×1140×1007×891×789×697×...×83×51×24×1 which is roughly 6.5×1050. However note that only 10% of these wires connect compatible parameters and only 50% of those will connect compatible components. So the number of valid connections we can make is roughly 3×1049.
All we have to do now is multiply the total number of valid connection per permutation with the total number of possible permutations; 20! × 3×1049 which comes to 7×1067 or 72 unvigintillion as Wolfram|Alpha tells me.
Impressive as these numbers sound, remember that by far the most of these permutations result in utter nonsense. Nonsense that produces a result, but not a meaningful one.
EDIT: This computation is way off, see this response for an improved estimate.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 12:06pm on March 15, 2013