Structural analysis

3 min read
Share on twitter
Share on linkedin
Share on facebook
Share on email

Karamba is an interactive, parametric finite element program that lets you analyse the response of 3-dimensional beam and shell structures under arbitrary loads within Grasshopper. Clemens Preisinger is developing Karamba in cooperation with Bollinger-Grohmann-Schneider ZTGmbH Vienna.


Karamba has a fixed set of units – either SI or Imperial. For SI units it expects the model geometry to be in metres (m), the structural member dimensions in centimetres (cm) and loads in kilonewton (kN). Displacement is returned in meters (m). This mixing of units can be confusing. The kind of physical units that Karamba components expect to receive show up in the tool-tip which appears when the mouse pointer hovers over an input-plug. 

Karamba_Tool tip


There are six basic steps in using Karamba:

  1. Create wire-frame geometry
  2. Convert wire-frame geometry to Karamba beams
  3. Define which points are supports and which receive loads
  4. Assemble the structural model with points, elements, supports and loads
  5. Analyse the structural model
  6. View the analysed model

Lateral displacement example

In this example, we were interested in optimising the size and rotation of the ‘structural tubes’ based on minimising the lateral displacement. (For more information on the geometric setup of the diagrid structure, refer to this tutorial).


Computational logic

  • The centre line geometry of the diagrid is first fed into the ‘LineToBeam’ component. 
  • The bottom points of the diagrid are extracted and used as the supports. 
  • The loads are then calculated. Since this script is only interested in lateral displacement and not say gravity, a wind load of 2750kN is applied evenly over the analytical points/nodes. This force is a vector in the Y-axis.
  • The cross-sections and material properties of the structural tubes are defined. In this instance, we are using a 35.5 CHS with 1.2cm thickness. Attention is required to ensure the correct units are entered into the ‘MatProps’ component.
  • The structural model is then assembled and visualised.
  • The maximum lateral displacement is then extracted and analysed to determine the fitness of the solution.  
Karamba_Structural tubes3

Note that with the ‘ModelView’ component, the display scales can be modified. In the example below, the deformation scale is set to 4.0 to exaggerate the displacement for clarity.

Karamba_Structural tubes1


For more information about Karamba, you can download the manual here. The Grasshopper script for this example can also be download below. Note that the script requires both Karamba and Elefront plug-ins to be installed.

Share on twitter
Share on linkedin
Share on facebook
Share on email

Leave a Reply

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

Balcony Area and Depth with Dynamo

Min balcony area and depth

Verify a balcony’s minimum area and depth with Dynamo for compliance with the NSW Apartment Design Guide and SEPP65 requirements.

Renumber Balconies

Renumber balconies

A Dynamo workflow to renumber balconies based on their associated apartment room to assist in documentation and compliance checking.


© 2021 Parametric Monkey
Parametric Monkey and the Parametric Monkey logo are trademarks of Parametric Monkey Pty Ltd.


Drop us a message and someone from our team will be in touch with you shortly.


Thank you for your interest. Someone from our team will be in touch soon.


To find out about upcoming public workshops or to organise a private workshop, please submit the following contact form and we’ll be in touch soon.