Week 5: Testing Karamba

Montanna Green
code3100
Published in
5 min readMar 31, 2017

I started to complete tutorials on Karamba as I wanted to try and work out what aspects I would need to know before receiving the finalized model.

Karamba has a lot more tutorials since the last time I looked (May 2016), which will be really useful. It’s amazing to see how quickly people have taken on this structural analysis tool.

Firstly, I looked at making a ‘complex beam structure’ from watching tutorials. These tutorial also looked at taking the geometry from Karamba>Geometry Gym +IFC > Revit, however, I was only interested in the first aspect at this time.

INPUTS

To create a structural beam in Karamba, you import your geometry through points and lines. There are multiple ways to do this, but for this tutorial it was imported through points.

From here, you need to ‘assemble the model’ (highlighted green).

Inputs for assemble model include:

  • Line to Beam
  • Support
  • Load (Gravity + Wind + People pushing etc)
  • Cross Section (of the beam)

*Materials and Joints can also be added, but they were not for this tutorial.

Before receiving any outputs, you should optimize the cross section. The warning on this node states ‘7 cross sections need to be bigger than their biggest family member.’ From my understanding, this means that 7 of the cross sections are smaller than the element I am trying to optimize, in this case, the beams. Right now this is not an issue, as I have 150+ cross sections that can be optimized.

OUTPUTS

From these inputs, you will receive an analysis on the structure.

Shown is the amount of displacement. The pink means more stress on the beam. The displacement in this model is pretty high, therefore, I will now use Galapagos to minimize the amount of displacement.

For this pavilion project, we will aim to get the highest displacement below 0.1.

GALAPAGOS

I connected the Generic Inputs to the seed number, number of points and number of neighbors. These slides will adjust when Galapagos is running the optimization to create the smallest amount of displacement.

I originally thought I needed to connect the fitness(Galapagos will try to either maximize or minimize this fitness value) to the assemble model (highlighted green). After some research I found out it needed to be connected to a number (der), which would be an output of the Maximum Displacement.

The lowest displacement Galapagos could find in 30 minutes is 0.43.

After viewing the results, I feel like I have done something wrong because the displacement is really high and this is apparently the best iteration found.

Second Best Iteration — 0.47

I noticed as the optimization was running, the ‘optimize cross section’ would completely work. I now know the reasoning for this partial error and that it can be fix through changing the parameters.

I believe the displacement would be much less if I had more beams. The reasoning that I don’t is because I am using a trial version of Karamba, and only allow a maximum of 20 beams to be tests.

I will need to download the free version of Karamba in order to test more or purchase the student version. The free version has components missing, so I will download it and see if there is anything I need missing before buying the student version.

Is something wrong?

I wanted to know whether I was doing something wrong in my testing in relation to displacement or whether it just has a really high displacement.

I asked Harris how he worked with Karamba in a previous assignment, and he offered to look over my script quickly. He found the following issues:

  • The size of the cross section was tiny in relation to the size of my beams
  • No material applied my also be effecting the result

With this found, He adjusted my script to what it should be (thank you harris).

He adjusted the cross section to have a specific size (200mm) and applied a material to the beams (wood). Due to adding the type and size of the cross section, nodes such as ‘optimize cross section’ were no longer needed.

These issues were major that I completely missed. It was great to have someone look over my script to pick up on these major yet common errors.

I ran Galapagos again with the updated script and achieved great results.

The best iteration achieved a maximum displacement result of 0.01. Which is a huge improvement.

The second best iteration achieved a result of 0.02.

The results have improved dramatically! I’m hoping this script can be adjusted to suit whatever the final design is, I understand that it may not, but I’m pleased with my experimentation and research and believe I have learnt a lot that will benefit the overall pavilion.

--

--