algorithmic modeling for Rhino
Hi,
I have just created a GH file that serves 2 purposes:
1) Carry out form-finding on a gridshell structure (using the Springs and UForce components together with the Kangaroo solver).
2) In the form-found gridshell, make the lengths of families of elements equal (using the EqualLength component together with the Kangaroo2 solver).
I am experiencing 2 issues:
1) After the form-finding part, the number of elements in the gridshell (which are lines running from node to node) is multiplied by 4. The resulting shape is as expected, but for some reason all elements have been duplicated 3 times (in other words there are 4 coincident elements everywhere).
2) I have previously used the EqualLength component on the similar structures, with the difference that they were existing structures modelled in Rhino (similar to the Baked output of the form-finding process described in step 1)).
In my previous experiences the Kangaroo2 solver converged impressively quickly, but now it appears a lot slower.
I am wondering whether this is related to both the Kangaroo and Kangaroo2 solvers running simultaneously (although the form-finding part only lasts for a few seconds, which I would have thought means the Kangaroo solver has finished running after that time so all my PC's ressource can be dedicated to the Kangaroo2 solver).
Does anyone have an explanation (and a remedy) for the above issues?
Tags:
Hi Eric,
I'm not understanding why you are using both solvers - the same effect as with Springs and UForces in K1 can be achieved in K2 with Length + Load goals.
Even if there is a good reason to use K1 and K2 together, it would work best if the K1 simulation is stopped before running K2. While K2 does stop calculating once reaching equilibrium, K1 was less sophisticated, and keeps repeatedly calculating and applying forces, even when the movement has stopped, unless you pause it/stop the timer.
Hi Both,
Many thanks for your good answers.
I have tried the suggested methods (Zombie or K2 solver) and can confirm they both work!
Still I have a few questions:
1) I find the Zombie solver actually more practical than the 'Live' K1 solver (as advertised, it stops running after converging, and conveniently doesn't crash when input parametrers are changed, but resets automatically instead, which the 'Live' K1 solver doesn't do withouth being told).
How come this is is not the default solver - or in what instances is the 'Live' K1 solver more suitable?
2) Regardless whether Zombie or 'Live', the K1 solver always runs 4 times, as a result of which all input objets are multiplied by 4 (or duplicated 3 times). Do you have any idea why this may be happening?
3) If I try to carry out both operations (form-finding and length-equalising) using only one instance of the K2 solver (which I would prefer to do) the result is some kind of helter-skelter gridshell. If instead I run the form-finding first, then the length-equalizing, the result is way more satisfactory, i.e. the length-equalized gridshell looks very similar to the original form-found shape which itself has the nice catenary shape one would imagine. Is this something you would expect?
I would check what the structure of the list you are inputing into Kangaroo's geometry. If those lines are duplicated, then the output geometry will be duplicated as well. Kangaroo has a "remove duplicate lines" component I would use that before inputing into geometry. The key for you here is how are you creating the initial network of lines.
I would also look into using Zombie Kangaro for your first part. If both solvers are running at the same time that would slow things down. However, with zombie kangaroo, you would run the simulation 2in the background2 until a certain number of steps/iterations or kinetic energy threshold is reached. It works as a static component.
Also, you say that you are baking your geometry after step 1 and then running step 2. If you are baking, why are you still running the kangaroo solver from step 1? If you already have your relaxed network, then you probably should disable kangaroo for subsequent processes.
Cheers!
Hi Rodrigo,
hanks for your response.
I have done a combined answer to you and Daniel, it would be great if you could have a look!
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by