Structural analysis

3 min read

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.

Units

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

Workflow

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).

Grasshopper_Karamba

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

Conclusion

For more information about Karamba, you can download the manual here.

Leave a Reply

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

Renumber Viewports
Premium

Renumber viewports

Use Dynamo to automatically renumber the detail number parameter of viewports placed on sheets, streamlining documentation.

Axonometric Crop Region
Premium

Axonometric crop region

Learn how to use Dynamo to batch update the crop region of axonometric views with a consistent buffer offset.

Create multi-category schedules
Premium

Create multi-category schedules

Learn how to use Dynamo to automate the batch creation of multi-category schedules for use in a room data sheet.

Copyright​

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

Discover more from Parametric Monkey

Subscribe now to keep reading and get access to the full archive.

Continue reading

Subscribe

Gain full access to tutorials and newsletter updates.

CONTACT US

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

BOOM!

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

WORKSHOP APPLICATION

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.