Form-finding – Comparison between Karamba and Kangaroo

A simple NURBS surfaces has been divided in a 10×10 grid, and then used as the reference geometry for a form-finding test. The four points at the corners have been constrained, and the simulation of an hanging model has been set up in both Karamba and Kangaroo. (Karamba, for instance, uses an incremental approach to handle geometrical non-linearity, and therefore to simulate hanging models).

The results of the two processes are shown below. (Karamba generated the fixed hanging model while the Kangaroo mesh has been overlapped later on). The two final geometries are almost coincident, and both tools can be used when a quick form-finding procedure is needed in conceptual design.

You can download the Grasshopper file here.






0 10936


  1. Hi Alberto,
    very nice post (as the entire blog, after all!!). have you tried to compare these risults with a real-world scaled model? are these software enough precise?
    just one other question: how does karamba large deformation anlysis work? in a gridshell such as this, the laths, tell me if i’m wrong, are pinned together allowing only rotations in the joint-tangent plane: in this case the deformation of the whole structure is the sum of the bending of the laths and the “scissor” behaviour of the grid. why does the karamba component simulate the final shape “breaking” the laths?!

    thank you very much!

  2. Hello Francesco,
    (1) I haven’t tried to compare these results with a real-world scaled model. However, I find it a difficult test. The model should be accurately made, as well as the analysis (that simulates the model properties).
    (2) the large deformation component of Karamba follows an incremental approach. It means that the loads are applied in different steps (you can select them as input). You can refer to the manual at page 49 for further information.
    (3) I am not sure if I understand your question about the laths. All the bars in the model are defined as beam elements in Karamba using the component LineToBeam. Like in most of the FE solvers, two beams that meet in a common point/node are connected in a rigid way. This is what happens also with this model. You are allowed to insert hinges if needed releasing some degrees of constraint. There is one component for that and it is called Beam Joint. Let me know if I got your point.
    Thank you for reading,

  3. thanks for the very quick reply!!
    about point (3) I thought, making a mistake, that this model was about a gridshell like this: in wich there isn’t a rigid connection between the laths but a connection as i described in the previous post.

    so, “large deformation” component applies the loads on the deformed structure step by step as the position of the elements changes. ok, i think i’ve got it but please tell me if i’m wrong.

    in the second part of the definition you put a “normal static analysis”: in what way does it simulate the deflections on the found shape? in a quantitative or a qualitative way?

    thanks again.

    PS: I can’t find the compontent “beam joint”. Is there only in the pro/student version?

    PPS: Sorry if these questions should seem trivial!!! 🙂

  4. Hello,
    The structural model is simulating a specific behaviour. In this case I would like to generate a hanging model without using physical chains. Then you can recreate a mesh or a surface from the results of the large deformation component and work on it again (with a different discretization for instance). If you consider this tools as a fast way to produce shapes during conceptual design, these kind of approximations are acceptable because they are conceptually correct.

    After large deformation I am placing an analysis component because I would like to see how the shape reacts under self-weight and gravity load. You can remove that part, it is not essential. But I don’t understand what do you mean for quantitative or qualitative. Karamba is running a static analysis resulting in numerical values of displacements and elastic energy. Problems related to results I think are generally related to modelling problems (the way you create the structural model). Try to model some simple shells with Karamba and GSA, or Robot for instance, and see if the results are comparable. I guess so.

    The Beam-Joints component is under the cross-section menu. However, I don’t know if it exists just in some Karamba versions. My feeling is that it’s there. Usually these programs are just limited in the amount of beam or shell elements you can use. But I could be wrong.


    • Perfect!! very clear!! i thought that analysis was there to recreate the internal stresses in the elements because of their lost in the non-linear anlalysis.

      thanks again for your support! I hope that this discussion will be helpful also to others.
      i’ll stay tuned on this blog for further intersting posts.

      have a nice week-end,

  5. Thanks, let me know whether you have comments or ideas. I am happy to discuss them.

  6. Dear all,
    I have found your discussion very interesting. Sincere thanks.
    I am a new entry in this world so I need just an explanation. The indeformed structure has its self-weight that we can call P0. During form-finding, lenghts of bars change continually, so they have self-weight higher then P0. I would like to say if during form-finding, these plug-in are able to change the load continually or the load is always P0. Many thanks.

    • Hey Leonardo,
      I am not sure I got your point. However, Karamba is simulating form-finding using an incremental approach, and there is no change in load during the process.

  7. Thomas TRINELLE

    Hi Alberto,

    I’m very new in the field of structure optimization. However, I’m working on a school project of a dome in which the goal is to try to supress the bending moment in the constitutive beams of the mesh. Logically, I have focused on using form-finding techniques with hanging models because ropes and chains work only in tension while constrained under there own weight. I have been implementing my models in Karamba and Kangaroo, evaluating the differences. Yet, I couldn’t manage to proof in a static analysis that the bending moment clearly reduces after a dynamic relaxation process.

    This leads me eventually to my questions on your model which I studied with great interest :
    – You are making a static analysis of your hanging model still using the gravity force with a -1.0 factor. Doesn’t it simply account for one more iteration of the Karamba Large Deformation process ?
    – Shouldn’t we be applying the force in the other direction and then do the static analysis ? (we most of the time use form-finding technique to conceive domes which work in compression)

    If you could enlighten me on this bits, I’ll be really grateful.

    Thanks in advance,


  8. Hi Thomas,

    the force with (-) direction for form-finding has to be changed to (+). In that way, you get the inverted hanging model from the LargeDeformation component, and then it makes sense to apply further load on it and run a FEM analysis. For the post here, I thought it was more understandable with the hanging form, rather than with the inverted one.


    • Thomas TRINELLE

      Hi Alberto,
      I had indeed built my own model with a force in the (+) direction for the form-finding process and then (-) for the static part. I was just wondering, looking at your model, if they were a particular reason why both strengh in your model (for the form-finding and the static analysis) where in the (-) direction.
      Lastly, do you know why I can’t get the bending moment close to 0 ?
      Thanks though !

  9. Hi Thomas,
    I wrote you it was just a visual question. I thought it was easier to see a hanging model rather than its inverted form. Simple as it is.
    Bending moment will then depend on several other parameters, such as beam length, cross section, material, applied loading, bracing system, etc. It’s hard to say it with no further information which relates the shape to a specific project.
    Good luck,

  10. Iria

    Hi, Thank you very much, your blog and tutorials are amazing. I’m student form finding and optimization of tensile structures and comparing Kangaroo and Karamba… What ‘s the best way to do it? Does it apply to tensile structures and membranes for form finding ? I wonder what kind of joints should I use for cable-strut tensegrity roof in Karamba. Thank you for your time and consideration. Kind regards

    • Thanks for your kind words.
      Kangaroo2 is now available and, in my opinion, it wouldn’t make much sense to compare Kangaroo and Karamba on this topic at this stage. You could do it though, with Kangaroo2. Having said that, wouldn’t you prefer comparing Karamba with a more powerful software, such as Oasys GSA, Rhino Membrane, etc.?
      Regarding tensegrity structures, I’m not familiar with simulations and analyses on this type of structures with Karamba.

  11. Iria Heitel

    I’m studying form finding and optimisation of tensile structures, particularly the Force density Method.
    Since Karamba is based on FEA I wonder if I could use it for tensile structures and how to treat the prestress of the cables. any idea? Kind regards

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.