Karamba: cross section optimization with vertical displacement of beams


Using Karamba3D I want to optimize the cross sections of beams considering only maximum vertical displacement or ideally the local vertical deformation (limited by L/300 under SLS load case conditions).

Karamba’s “Optimize Cross Section” has a maximum displacement node but it only considers global displacement rather than vertical displacement.

My plan is to somehow “filter” the displacement of the beams to only vertical displacement and feed this into Optimize Cross Section and define the limit for maximum vertical deformation here.

Does this plan make any sense? Any other ideas?

Hi @peternell.julian,

yes at the moment the only method would be to extract the vertical displacement with the nodal displacements component and then check this value. You can set up an optimisation loop which takes this information into account.

Thank you for the reply!

I am not sure how to create such an optimisation loop. Could you maybe expand on how I could go about doing this? Thank you!

I think I sort of solved the issue:

I created a fictional subsystem of my 3D global model. In this fictional model there are no horizontal loads and instead of columns I used appropriate supports as a model. In this way the Cross Section Optimization tool is appropriate in optimizing the cross sections in regards to maximum displacement as there is zero to none horizontal displacement.

It would be a great feature for the Cross Section Optimizer if there was an option where one could directly filter the displacement direction and also another option where one could define by ID, which beam’s displacement one wants to limit.
Also if it could be set for multiple load combinations it would be great.
All of this would make the Cross Section Optimizer an even more powerful tool!

Thank you!

1 Like

Hi @peternell.julian, its good that you have found a workaround. This is something we are taking into account for the next version of Karamba, where vectors could be used to define the maximum displacement as well as a reference point too. Something for us to investigate further.

That’s awesome! Looking forward to it.