Active Bending - Columns Buckling

I want to simulate bending very thin straight columns under the weight of a slab(like in the image). I have already tried it out in Karamba, but Karamba is more for static simulation, while Kangaroo is, I guess, more suitable for this dynamic movement.

My present script simulates something very chaotically, when the columns are not vertical. But when they are straight, Kangaroo just pushes the columns down. How to simulate properly what I have described?


Karamba solution: (34.5 KB)

Your definition had the tops of the columns anchored, as well as the base, so they weren’t deforming properly.
You need to include in your system the connection between the tops of the rods formed by the block on top, where they keep their positions relative to each other, but can also move and rotate as a whole to allow the load to be applied. Here I’ve done this with a rigid body- (18.8 KB)


Hey Daniel,
thanks so much for the great script !!!

Two more questions:

  1. I scaled the model up, and it didn’t bend so nicely at a bigger scale. It just collapsed. Which parameters should I increase to still have this nice simulation in that bigger scale.

  2. I tried to script it in Kangaroo2Engineering. However, when I connected the rigid body to the solver it didn’t work properly. The rigid body just felt down. Nevertheless, just by putting vertical forces on the rods the script simulates buckling. Do you think it is properly scripted? (48.9 KB)

For the first simulation, you need to increase the strength of the bending goal a lot.
Note that if you are scaling your geometry by a factor of 1000, that means the cross section areas are scaling by a factor of 1,000,000.
For your model the bending strength here probably needs to be in the region of 1e+8
(If you want to use known section and material stiffness, the value you have to input to Strength for the Bending goal is EI, where E is the Young’s modulus, and I is the second moment of area)

For the K2E model, you have your beams anchored at the top. So they are actually hanging and what you see is them sagging under their own weight, not buckling under the load of the object on top.

In order to change it, do I have to only add load from mesh? or something more complex? I am trying to do the first option : add load from mesh, but the solver won’t work that way. (46.3 KB)